Date: Tue, 23 Sep 2003 11:51:19 +0100 From: "Coucher, Paul" <paul.coucher@demon.net> To: "'FreeBSD-gnats-submit@freebsd.org'" <FreeBSD-gnats-submit@FreeBSD.org> Subject: kern/57123: send-pr:SMBFS incorrect LFN & 8.3 bad character handling. Message-ID: <6FE6459486ECD411A7FE00508BEF02400AB2EFE0@sos-mailstore1> Resent-Message-ID: <200309231050.h8NAo96e031663@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 57123 >Category: kern >Synopsis: SMBFS incorrect LFN & 8.3 bad character handling. >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Sep 23 03:50:08 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Paul Coucher - pcoucher@demon.net >Release: FreeBSD 4.8-RELEASE-p7 i386 >Organization: Computacenter >Environment: System: FreeBSD isdevel.support.demon.net 4.8-RELEASE-p7 FreeBSD 4.8-RELEASE-p7 #0: Thu Sep 18 12:43:36 BST 2003 root@isdevel.support.demon.net:/usr/src/sys/compile/MYKERNEL i386 >Description: When a Windows SMBFS drive is mounted using mount_smbfs files of the form: username@foo.bar.com[1].txt are not handled correctly. This can be tracked down to them containing "[]" characters amongst other things. I can see them, tab complete them under various shells, ls -l them by name, but *not* rm them. When I try to rm them I get: # rm username\@foo.bar.com\[1].txt rm: username@foo.bar.com[1].txt : No such file or directory # vi username\@foo.bar.com\[1].txt shows the contents of the file, but gives: error: username@foo.bar.com[1].txt: No such file or directory when it is asked to update the file. >How-To-Repeat: Mount a Windows SMBFS share that contains Internet Explorer cookies. ls will function correctly, but rm or anything that tries to update them won't. >Fix: I originally raised this in 2002 about 4.5, & Boris Popov sent me a patch, but it didn't make the cvs repository despite a few prods. I attach the relevant bits of a diff: 1080,1081c1075,1076 < static const char *badchars = "*/\[]:<>=;?"; < static const char *badchars83 = " +|,"; --- > static const char *badchars = "*/\:<>;?"; > static const char *badchars83 = " +|,[]="; 1237,1238c1232 The other characters should be verified too for sanity in LFNs & 8.3s. Regards, -- Paul Coucher >Release-Note: >Audit-Trail: >Unformatted: X-send-pr-version: 3.113 X-GNATS-Notify:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6FE6459486ECD411A7FE00508BEF02400AB2EFE0>