Package: dupload Version: 2.6.3 Followup-For: Bug #225400 Hi,
The patch from Al doesn't behave nice if $nick->{identity} is not defined. I propose this line instead: $identity = $nick->{identity} ? "-i $nick->{identity}" : ''; Corrected patch attached. Many thanks, dam -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (101, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.10+dam.1 Locale: LANG=bg_BG.UTF-8, LC_CTYPE=bg_BG.UTF-8 (charmap=UTF-8) Versions of packages dupload depends on: ii libnet-perl 1:1.19-1 Implementation of Internet protoco ii perl 5.8.4-5 Larry Wall's Practical Extraction ii perl-modules [libnet-perl] 5.8.4-5 Core Perl modules -- no debconf information
--- /usr/bin/dupload Thu Apr 11 21:30:38 2002 +++ dupload Mon Dec 29 18:14:13 2003 @@ -40,6 +40,7 @@ my $method = "ftp"; # transfer method my $login = "anonymous"; # default login my $passwd = "[EMAIL PROTECTED]"; # ... +my $identity = undef; my $sendmail = "/usr/sbin/sendmail"; @@ -177,6 +178,7 @@ $visibleuser = $nick->{visibleuser} || $user; chomp($visibleuser); $visiblename = $nick->{visiblename} || ''; chomp($visiblename); $fullname = $nick->{fullname} || ''; + $identity = $nick->{identity} ? "-i $nick->{identity}" : ''; # Do not accept passwords in configuration file, # except for anonymous logins. undef $passwd unless $login =~ /^anonymous|ftp$/; @@ -495,18 +497,18 @@ } elsif ($method eq "scp") { $mode = (stat($file))[2]; unless ($dry) { - system("scp -p -q $file [EMAIL PROTECTED]:$incoming"); + system("scp $identity -p -q $file [EMAIL PROTECTED]:$incoming"); fatal("scp $file failed\n") if $?; $t = time() - $t; # Small optimization if ($mode != 33188) { # rw-r--r-- aka 0644 - system("ssh -x -l $login $fqdn chmod 0644 $incoming/$file"); + system("ssh $identity -x -l $login $fqdn chmod 0644 $incoming/$file"); fatal("ssh ... chmod 0644 failed\n") if $?; } } else { - p "\n+ scp -p -q $file [EMAIL PROTECTED]:$incoming"; + p "\n+ scp $identity -p -q $file [EMAIL PROTECTED]:$incoming"; if ($mode != 33188) { # rw-r--r-- aka 0644 - p "\n+ ssh -x -l $login $fqdn chmod 0644 $incoming/$file"; + p "\n+ ssh $identity -x -l $login $fqdn chmod 0644 $incoming/$file"; } $t = 1; } @@ -544,10 +546,10 @@ } } elsif ($method eq "scp") { unless ($dry) { - system("ssh -x -l $login $fqdn \"mv $incoming$file $queuedir$file\""); + system("ssh $identity -x -l $login $fqdn \"mv $incoming$file $queuedir$file\""); fatal("ssh -x -l $login $fqdn: mv failed\n") if $?; } else { - p "\n+ ssh -x -l $login $fqdn \"mv $incoming$file $queuedir$file\""; + p "\n+ ssh $identity -x -l $login $fqdn \"mv $incoming$file $queuedir$file\""; } } } @@ -568,12 +570,12 @@ } # and now the batch mode uploads if ($method eq "scpb") { - my $cmd = "ssh -x -l $login $fqdn 'cd $incoming;chmod 0644 $scpfiles;". + my $cmd = "ssh $identity -x -l $login $fqdn 'cd $incoming;chmod 0644 $scpfiles;". ($queuedir ? "mv $scpfiles $queuedir" : ""). "'"; unless ($dry) { p "\n"; - system("scp $scpfiles [EMAIL PROTECTED]:$incoming"); + system("scp $identity $scpfiles [EMAIL PROTECTED]:$incoming"); if ($?) { unlink $log{$job}; fatal("scp $scpfiles failed\n"); @@ -590,12 +592,12 @@ } if ($method eq "rsync") { - my $cmd = "ssh -x -l $login $fqdn 'cd $incoming;chmod 0644 $rsyncfiles". + my $cmd = "ssh $identity -x -l $login $fqdn 'cd $incoming;chmod 0644 $rsyncfiles". ($queuedir ? ";mv $rsyncfiles $queuedir" : ""). "'"; unless ($dry) { p "\n"; - system("rsync --partial -zave ssh -x $rsyncfiles $login" . "@" . "$fqdn:$incoming"); + system("rsync --partial -zave ssh $identity -x $rsyncfiles $login" . "@" . "$fqdn:$incoming"); if ($?) { unlink $log{$job}; fatal("rsync $rsyncfiles failed\n"); @@ -605,7 +607,7 @@ } fatal("$cmd failed\n") if $?; } else { - p "\n+ rsync --partial -zave ssh -x $rsyncfiles $login" . "@" . "$fqdn:$incoming"; + p "\n+ rsync --partial -zave ssh $identity -x $rsyncfiles $login" . "@" . "$fqdn:$incoming"; p "\n+ $cmd"; } $allfiles = $rsyncfiles;