use LWP::Simple;
use Carp qw(confess);
+use WarnColor;
+
my $buckets = {
users => 5800,
files => 5801,
my $port = $buckets->{$bucket};
my $server = new Cache::Memcached {
'servers' => [ "127.0.0.1:$port" ],
- 'debug' => $ENV{DEBUG} > 3,
+ 'debug' => defined $ENV{DEBUG} && $ENV{DEBUG} > 3,
# 'compress_threshold' => 10_000,
};
#$server->set_servers($array_ref);
my $file = readlink $path;
warn "## $path -> $file";
if ( $file =~ s{^\Q/rsyncd-munged/../../\E}{$dir} ) {
+
+ while ( $file =~ s{/[^/]+/../}{/} ) {
+ warn "cleanup parent dir /../ $file";
+ }
+
warn "SEND To:$to Name:$name File:$file\n";
my $s = "users/$data->{login}/blob/$file";
my $d = "users/$to/blob";
die "no user $to" unless -e $d;
$d .= "/$name";
- # since $name can contain directories we must create them
+ # $name can contain directories so we must create them
my $to_dir = $d;
$to_dir =~ s{/[^/]+$}{};
make_path $to_dir if ! -e $to_dir;
warn "link $s -> $d\n";
link $s, $d;
+
+ my $origin = $self->file_get({
+ login => $data->{login},
+ file => $file,
+ });
+ $self->new_file($origin);
+ warn "INFO: sent file ",dump($origin);
+
} else {
warn "ERROR: can't SEND To:$to Name:$name File:$file";
}
size => -s $new,
};
$self->new_file($fake);
- warn "fake ",dump($fake);
+ warn "import from $path ",dump($fake);
} else {
md5pool $new => $md5;
}