From krb5-bugs-incoming-bounces@PCH.MIT.EDU Thu Apr 17 22:11:57 2008
Received: from pch.mit.edu (PCH.MIT.EDU [18.7.21.90]) by krbdev.mit.edu (8.12.9) with ESMTP
id m3I2BuHW029393; Thu, 17 Apr 2008 22:11:57 -0400 (EDT)
Received: from pch.mit.edu (pch.mit.edu [127.0.0.1])
by pch.mit.edu (8.13.6/8.12.8) with ESMTP id m3I2Bpxg024194;
Thu, 17 Apr 2008 22:11:51 -0400
Received: from pacific-carrier-annex.mit.edu (PACIFIC-CARRIER-ANNEX.MIT.EDU
[18.7.21.83])
by pch.mit.edu (8.13.6/8.12.8) with ESMTP id m3GIhMkA008723
for <krb5-bugs-incoming@PCH.mit.edu>; Wed, 16 Apr 2008 14:43:22 -0400
Received: from mit.edu (W92-130-BARRACUDA-1.MIT.EDU [18.7.21.220])
by pacific-carrier-annex.mit.edu (8.13.6/8.9.2) with ESMTP id
m3GIhBS6000868
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:43:12 -0400 (EDT)
Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31])
by mit.edu (Spam Firewall) with ESMTP id EC13986F0FB
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:42:50 -0400 (EDT)
Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com
[172.16.52.254])
by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id m3GIgonn011902
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:42:50 -0400
Received: from blade.boston.redhat.com (blade.boston.redhat.com [172.16.80.50])
by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m3GIgn5x026591
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:42:49 -0400
Received: from blade.boston.redhat.com (localhost.localdomain [127.0.0.1])
by blade.boston.redhat.com (8.14.2/8.14.2) with ESMTP id m3GIgn8G031314
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:42:49 -0400
Received: (from nalin@localhost)
by blade.boston.redhat.com (8.14.2/8.14.2/Submit) id m3GIgn2s031312;
Wed, 16 Apr 2008 14:42:49 -0400
Date: Wed, 16 Apr 2008 14:42:49 -0400
Message-Id: <200804161842.m3GIgn2s031312@blade.boston.redhat.com>
To: krb5-bugs@mit.edu
Subject: ftp client doesn't always get filenames right during mget with 'case'
enabled
From: nalin@redhat.com
X-send-pr-version: 3.99
X-Scanned-By: MIMEDefang 2.42
X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254
X-Spam-Score: 0.67
X-Spam-Flag: NO
X-Mailman-Approved-At: Thu, 17 Apr 2008 22:11:50 -0400
X-BeenThere: krb5-bugs-incoming@mailman.mit.edu
X-Mailman-Version: 2.1.6
Precedence: list
Reply-To: nalin@redhat.com
Sender: krb5-bugs-incoming-bounces@PCH.MIT.EDU
Errors-To: krb5-bugs-incoming-bounces@PCH.MIT.EDU
System: Linux blade.boston.redhat.com 2.6.23-6.fc8 #1 SMP Thu Oct 11 13:36:39 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
Architecture: x86_64
the client can attempt to store a file's data in the wrong
local file.
In cases where the client determines that the local file's name
doesn't need to be changed from the remote name, the client has
been setting the target filename pointer to the buffer in which
it would store the lower-cased version of the name, even if it
ended up not generating a lower-cased version of the name,
causing the incoming data to be stored in whichever file whose
name was last generated. (This is in our bug tracking system at
http://bugzilla.redhat.com/442713.)
Test1.out1
TEST2.OUT2
tesT3.Out3
TEST4.OUT4
Connect with a client, turning prompting off, case mapping on,
and use an mget command with a glob to retrieve all of the
files ("mget *"). Absent any specific locale information, the
order of files sent to the client will be this:
TEST2.OUT2
TEST4.OUT4
Test1.out1
tesT3.Out3
The client will store the contents of the first file in a local
file named "test2.out2", and the contents of the last three
files in a local file named "test4.out4".
mentioned above, but it has a similar effect.
diff -up src/appl/gssftp/ftp/cmds.c src/appl/gssftp/ftp/cmds.c
--- src/appl/gssftp/ftp/cmds.c 2008-04-16 10:36:13.000000000 -0400
+++ src/appl/gssftp/ftp/cmds.c 2008-04-16 10:36:16.000000000 -0400
@@ -1013,8 +1013,10 @@ void mget(argc, argv)
tp++;
tp2++;
}
+ tp = tmpbuf;
+ } else {
+ tp = cp;
}
- tp = tmpbuf;
}
if (ntflag) {
tp = dotrans(tp);
Received: from pch.mit.edu (PCH.MIT.EDU [18.7.21.90]) by krbdev.mit.edu (8.12.9) with ESMTP
id m3I2BuHW029393; Thu, 17 Apr 2008 22:11:57 -0400 (EDT)
Received: from pch.mit.edu (pch.mit.edu [127.0.0.1])
by pch.mit.edu (8.13.6/8.12.8) with ESMTP id m3I2Bpxg024194;
Thu, 17 Apr 2008 22:11:51 -0400
Received: from pacific-carrier-annex.mit.edu (PACIFIC-CARRIER-ANNEX.MIT.EDU
[18.7.21.83])
by pch.mit.edu (8.13.6/8.12.8) with ESMTP id m3GIhMkA008723
for <krb5-bugs-incoming@PCH.mit.edu>; Wed, 16 Apr 2008 14:43:22 -0400
Received: from mit.edu (W92-130-BARRACUDA-1.MIT.EDU [18.7.21.220])
by pacific-carrier-annex.mit.edu (8.13.6/8.9.2) with ESMTP id
m3GIhBS6000868
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:43:12 -0400 (EDT)
Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31])
by mit.edu (Spam Firewall) with ESMTP id EC13986F0FB
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:42:50 -0400 (EDT)
Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com
[172.16.52.254])
by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id m3GIgonn011902
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:42:50 -0400
Received: from blade.boston.redhat.com (blade.boston.redhat.com [172.16.80.50])
by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m3GIgn5x026591
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:42:49 -0400
Received: from blade.boston.redhat.com (localhost.localdomain [127.0.0.1])
by blade.boston.redhat.com (8.14.2/8.14.2) with ESMTP id m3GIgn8G031314
for <krb5-bugs@mit.edu>; Wed, 16 Apr 2008 14:42:49 -0400
Received: (from nalin@localhost)
by blade.boston.redhat.com (8.14.2/8.14.2/Submit) id m3GIgn2s031312;
Wed, 16 Apr 2008 14:42:49 -0400
Date: Wed, 16 Apr 2008 14:42:49 -0400
Message-Id: <200804161842.m3GIgn2s031312@blade.boston.redhat.com>
To: krb5-bugs@mit.edu
Subject: ftp client doesn't always get filenames right during mget with 'case'
enabled
From: nalin@redhat.com
X-send-pr-version: 3.99
X-Scanned-By: MIMEDefang 2.42
X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254
X-Spam-Score: 0.67
X-Spam-Flag: NO
X-Mailman-Approved-At: Thu, 17 Apr 2008 22:11:50 -0400
X-BeenThere: krb5-bugs-incoming@mailman.mit.edu
X-Mailman-Version: 2.1.6
Precedence: list
Reply-To: nalin@redhat.com
Sender: krb5-bugs-incoming-bounces@PCH.MIT.EDU
Errors-To: krb5-bugs-incoming-bounces@PCH.MIT.EDU
Show quoted text
>Submitter-Id: net
>Originator: Nalin Dahyabhai
>Organization: Red Hat
>Confidential: no
>Synopsis: when the 'case' option is enabled, mget can miscompute the destination filename
>Severity: non-critical
>Priority: medium
>Category: krb5-appl
>Class: sw-bug
>Release: 1.6.3
>Environment:
>Originator: Nalin Dahyabhai
>Organization: Red Hat
>Confidential: no
>Synopsis: when the 'case' option is enabled, mget can miscompute the destination filename
>Severity: non-critical
>Priority: medium
>Category: krb5-appl
>Class: sw-bug
>Release: 1.6.3
>Environment:
System: Linux blade.boston.redhat.com 2.6.23-6.fc8 #1 SMP Thu Oct 11 13:36:39 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
Architecture: x86_64
Show quoted text
>Description:
While processing an "mget" command with case mapping enabled,the client can attempt to store a file's data in the wrong
local file.
In cases where the client determines that the local file's name
doesn't need to be changed from the remote name, the client has
been setting the target filename pointer to the buffer in which
it would store the lower-cased version of the name, even if it
ended up not generating a lower-cased version of the name,
causing the incoming data to be stored in whichever file whose
name was last generated. (This is in our bug tracking system at
http://bugzilla.redhat.com/442713.)
Show quoted text
>How-To-Repeat:
Create files in a directory with these names:Test1.out1
TEST2.OUT2
tesT3.Out3
TEST4.OUT4
Connect with a client, turning prompting off, case mapping on,
and use an mget command with a glob to retrieve all of the
files ("mget *"). Absent any specific locale information, the
order of files sent to the client will be this:
TEST2.OUT2
TEST4.OUT4
Test1.out1
tesT3.Out3
The client will store the contents of the first file in a local
file named "test2.out2", and the contents of the last three
files in a local file named "test4.out4".
Show quoted text
>Fix:
This patch differs a bit from the one attached to the bug reportmentioned above, but it has a similar effect.
diff -up src/appl/gssftp/ftp/cmds.c src/appl/gssftp/ftp/cmds.c
--- src/appl/gssftp/ftp/cmds.c 2008-04-16 10:36:13.000000000 -0400
+++ src/appl/gssftp/ftp/cmds.c 2008-04-16 10:36:16.000000000 -0400
@@ -1013,8 +1013,10 @@ void mget(argc, argv)
tp++;
tp2++;
}
+ tp = tmpbuf;
+ } else {
+ tp = cp;
}
- tp = tmpbuf;
}
if (ntflag) {
tp = dotrans(tp);