[krbdev.mit.edu #5961] ftp client breaks when case-mapping is enabled

The RT System itself via RT rt-comment at krbdev.mit.edu
Mon May 12 15:33:10 EDT 2008


>From krb5-bugs-incoming-bounces at PCH.MIT.EDU  Mon May 12 15:33:04 2008
Received: from pch.mit.edu (PCH.MIT.EDU [18.7.21.90]) by krbdev.mit.edu (8.12.9) with ESMTP
	id m4CJX2HW002428; Mon, 12 May 2008 15:33:02 -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 m4CJWv85027421;
	Mon, 12 May 2008 15:32:57 -0400
Received: from fort-point-station.mit.edu (FORT-POINT-STATION.MIT.EDU
	[18.7.7.76])
	by pch.mit.edu (8.13.6/8.12.8) with ESMTP id m4CIJ697007560
	for <krb5-bugs-incoming at PCH.mit.edu>; Mon, 12 May 2008 14:19:06 -0400
Received: from mit.edu (M24-004-BARRACUDA-2.MIT.EDU [18.7.7.112])
	by fort-point-station.mit.edu (8.13.6/8.9.2) with ESMTP id
	m4CIIwma028347
	for <krb5-bugs at mit.edu>; Mon, 12 May 2008 14:18:59 -0400 (EDT)
X-ASG-Whitelist: Barracuda Reputation
Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31])
	by mit.edu (Spam Firewall) with ESMTP id B8D9810F00EC
	for <krb5-bugs at mit.edu>; Mon, 12 May 2008 14:18:58 -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 m4CIIwKi028453
	for <krb5-bugs at mit.edu>; Mon, 12 May 2008 14:18:58 -0400
Received: from blade.bos.redhat.com (blade.bos.redhat.com [10.16.0.23])
	by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m4CIIvK8012101
	for <krb5-bugs at mit.edu>; Mon, 12 May 2008 14:18:57 -0400
Received: from blade.bos.redhat.com (localhost.localdomain [127.0.0.1])
	by blade.bos.redhat.com (8.14.2/8.14.2) with ESMTP id m4CIIvaG027328
	for <krb5-bugs at mit.edu>; Mon, 12 May 2008 14:18:57 -0400
Received: (from nalin at localhost)
	by blade.bos.redhat.com (8.14.2/8.14.2/Submit) id m4CIIv9S027326;
	Mon, 12 May 2008 14:18:57 -0400
Date: Mon, 12 May 2008 14:18:57 -0400
Message-Id: <200805121818.m4CIIv9S027326 at blade.bos.redhat.com>
To: krb5-bugs at mit.edu
From: nalin at 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: 6.278
X-Spam-Level: ****** (6.278)
X-Spam-Flag: NO
X-Mailman-Approved-At: Mon, 12 May 2008 15:32:56 -0400
X-BeenThere: krb5-bugs-incoming at mailman.mit.edu
X-Mailman-Version: 2.1.6
Precedence: list
Reply-To: nalin at redhat.com
Sender: krb5-bugs-incoming-bounces at PCH.MIT.EDU
Errors-To: krb5-bugs-incoming-bounces at PCH.MIT.EDU


>Submitter-Id:	net
>Originator:	Nalin Dahyabhai
>Organization:
>Confidential:	no
>Synopsis:	ftp client breaks when case-mapping is enabled
>Severity:	non-critical
>Priority:	medium
>Category:	krb5-appl
>Class:		sw-bug
>Release:	1.6.3
>Environment:
	
System: Linux blade.bos.redhat.com 2.6.25-14.fc9.x86_64 #1 SMP Thu May 1 06:06:21 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
Architecture: x86_64

>Description:
	When "case" is enabled, the FTP client sets the local (target) filename
	to the buffer in which it stores the generated lower-cased version of
	the file's name, even it ended up not generating a lower-cased version
	of the name, causing the client to store the incoming data in whichever
	file whose name it had last generated.
	
>How-To-Repeat:
	Create these files in a space you can get to using the FTP client:
	  Test1.out1
	  TEST2.OUT2
	  tesT3.Out3
	  TEST4.OUT4
	Now ftp in, switch on case-mapping (with the "case" command), and
	attempt to retrieve the three files using "mget".  You may end up with
	files named "test2.out2" and "test4.out4", if the server sends them in
	this order:
	  (remote)      (local)
	  TEST2.OUT2 -> test2.out2
	  TEST4.OUT4 -> test4.out4
	  Test1.out1 -> test4.out4
	  tesT3.Out3 -> test4.out4

>Fix:
	This patch fixes it for me:

diff -up src/appl/gssftp/ftp/cmds.c src/appl/gssftp/ftp/cmds.c
--- src/appl/gssftp/ftp/cmds.c
+++ src/appl/gssftp/ftp/cmds.c
@@ -1013,8 +1013,10 @@ void mget(argc, argv)
 						tp++;
 						tp2++;
 					}
+					tp = tmpbuf;
+				} else {
+					tp = cp;
 				}
-				tp = tmpbuf;
 			}
 			if (ntflag) {
 				tp = dotrans(tp);




More information about the krb5-bugs mailing list