]> git.pld-linux.org Git - projects/distfiles.git/commitdiff
- handle per-user upload directories
authorMichal Moskal <michal@moskal.me>
Sun, 1 Jun 2003 14:44:49 +0000 (14:44 +0000)
committercvs2git <feedback@pld-linux.org>
Thu, 29 Nov 2012 22:58:15 +0000 (22:58 +0000)
Changed files:
    file-fetcher.pl -> 1.19

file-fetcher.pl

index 7e8914f7f200836202e094c3f365dfb97f092193..551f8ce20a406e1115724c4ccc6a5c91b1dc7f82 100644 (file)
@@ -16,6 +16,7 @@ $requester = "";
 $file = "";
 $fetched_count = 0;
 $force_reply = 0;
+$req_login = "nobody";
 @files = ();
 
 # try lookup some file in spool, exit if it cannot be done
@@ -44,6 +45,9 @@ sub read_spool_file()
   chomp $requester;
   $requester =~ /^[a-zA-Z_\-0-9\@\.]+$/ 
        or die "$file: evil requester: $requester";
+  $req_login = "";
+  $requester =~ /^([^@]+)\@/ and $req_login = $1;
+  $req_login =~ /^[a-z0-9A-Z_]+$/ or die "$file: evil requester $requester";
   my $flags = <F>;
   $force_reply++ if ($flags =~ /force-reply/);
        
@@ -167,7 +171,7 @@ sub handle_no_url($$)
   
   $url =~ m|://([^/]+)| or die "corrupted! (no-url)";
   my $basename = $1;
-  my $file = "$no_url_dir/$basename";
+  my $file = "$no_url_dir/$req_login/$basename";
 
   if (-f $file) {
     my $computed_md5 = md5($file);
@@ -178,7 +182,7 @@ sub handle_no_url($$)
       make_src_symlink($md5, $url);
     }
   } else {
-    $problems .= "FATAL: $file was not scp'ed\n";
+    $problems .= "FATAL: $file was not uploaded\n";
   }
 }
 
This page took 0.110198 seconds and 4 git commands to generate.