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;