+open(my $p, '<', '/var/lib/extrausers/passwd');
+while(<$p>) {
+ chomp;
+
+ my ( $login, undef, $uid, $gid, $email, $path, $shell ) = split(/:/,$_,7);
+
+ if ( -d $path && -f "$path/.secrets" && ! -e "$path/.meta/secrets" ) {
+ $store->api->mkbasepath( "$path/.meta/secrets" );
+ rename "$path/.secrets", "$path/.meta/secrets";
+ warn "UPGRADE $login rsync secrets location\n";
+ }
+
+ if ( -d $path && -f "$path/.meta/secrets" ) {
+ my @secrets = map { chomp; $_ } read_file "$path/.meta/secrets";
+ my $auth_users = join(', ', map { s/:.+$//; $_ } @secrets );
+
+ $rsync_config .= <<__RSYNC_MODULE__;
+
+[$login]
+ path = $path
+ auth users = $auth_users
+ secrets file = $path/.meta/secrets
+ read only = false
+ uid = $uid
+ gid = $gid
+ filter = - /.meta
+# refuse options = c delete
+# dont compress = *
+ incoming chmod = u=rwX,g+rX,o+rX
+
+
+__RSYNC_MODULE__
+
+ print "INFO: added $login = $auth_users\n";
+
+ } else {
+ warn "skipped $login: $!";
+ }
+
+}
+