[linux-cifs-client] RE: [Fwd: POSIX pathnames]

Conrad Minshall csm at apple.com
Thu May 26 22:28:41 GMT 2005


I see three approaches possible:

1) Jeremy suggests sending capability info with a query.  That turns a "query" into a "set", *sigh*

2) Byron suggests using trans2_set_fs_info.  Since that has no info level range reserved for unix, I imagine clients must negotiate CAP_UNIX first.  Future MS use of trans2_set_fs_info w/ 0x200 could raise a compatibility issue.

3) TRANS2_SET_PATH_INFO, with a new SMB_SET_FILE_UNIX_PATHNAMES info level in the 0x200-0x2ff range.  Since this would be setting a capability for the entire fs I expect it'd be allowed only with some "special" path, or perhaps just "\".

Conrad M

At 10:24 AM -0700 5/26/05, Byron Deadwiler wrote:
>Jeremy
>
>I think that adding a new info level (0x200 SMB_SET_CIFS_UNIX_INFO) 
>to the trans2_set_fs_info smb is best solution to
>enable the UNIX CIFS client to pass it capabilities information to 
>the CIFS Server.  This solution is backward with version of the 
>client  and server
>that won't support this new enhancement.    Client who don't support 
>won't send it an server who don't support will reply with an error.
>
>That only issue is that the trans2_set_fs_info smb is not described 
>in the SNIA TR document or in Leach's document, you have to go back 
>to the X/OPEN
>Spec to find the description.   Some assistance will probably be 
>needed on the correct format of the request and response packets for 
>this smb.
>
>Byron
>
>
>-------- Original Message --------
>Subject:
>POSIX pathnames
>Date:
>Fri, 6 May 2005 04:28:16 -0700
>From:
>Jeremy Allison <mailto:jra at samba.org><jra at samba.org>

>Steve, Conrad, Eric and other client maintainers
>who might care,
>
>        I'm looking at making the server support
>direct Posix pathnames from POSIX clients. This would
>remove any problems with names containing the
>evil (tm) set :
>
>*\/?<>":
>
>as the server would treat them as ordinary characters,
>not mangle on CON: PRT: etc. allow names ending in ".",
>essentially be full POSIX semantics. Path separators
>will change so that only "/" is valid. This is not a
>difficult change for the Samba server, and quite
>unobtrusive for Windows clients, but I've run into
>a snag.
>
>The problem is before switching the name parsing
>and mangling functions to allow these names I need
>to know if the client is going to be using POSIX name
>semantics (ie. the client will send me names with a '/'
>path separator, not a '\\'). I'm intending to do no
>examination of the incoming pathname at all other than
>parsing out the '/' separators. What I could do with is
>getting capabilities info from the client when it sends
>the 0x200 SMB_QUERY_CIFS_UNIX_INFO call to tell me it is going
>to do this.
>
>What is the best way to extend the 0x200 call that will
>be compatible with the published standard ? Add a new
>"set posix capabilities" call ? Add a 8 byte data portion
>containing POSIX capabilities in the 0x200 call ?
>
>Please give me your thoughts.
>
>Jeremy.

-- 
Conrad Minshall ... conrad at apple.com ... 408 974-2749


More information about the linux-cifs-client mailing list