test login return from create_user
[cloudstore.git] / migrate-md5-attr.pl
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4
5 use TokyoCabinet;
6 use Data::Dump qw(dump);
7 use autodie qw(:all);
8
9 open(my $passwd, '<', '/var/lib/extrausers/passwd');
10 while(<$passwd>) {
11         chomp;
12         my ($login,undef,$uid,$gid,undef,$dir,undef) = split(/:/,$_,7);
13         warn "# $login $uid $gid $dir";
14
15         my $md5 = "$dir/.md5";
16         if ( ! -e $md5 ) {
17                 warn "ERROR: $login doesn't have $md5: $!";
18                 next;
19         }
20
21         my %h;
22         tie %h, "TokyoCabinet::HDB", $md5 || die "ERROR $md5: $!";
23
24         while( my($k,$v) = each(%h) ) {
25                 #print "$v  $k\n";
26                 if ( -e "$dir/$k" ) {
27                         system 'attr', '-s', 'md5', '-V', $v, "$dir/$k";
28                 } else {
29                         warn "SKIP $dir/$k\n";
30                 }
31         }
32
33         untie %h;
34
35         unlink $md5;
36 }