[linux-cifs-client] POSIX pathnames and the '\' character.

Wagner, Chris (GE Infra, Non-GE, US) chris.wagner at ge.com
Fri Mar 9 20:45:42 GMT 2007


I think this needs some clarification.  I'm not a samba/cifs developer but I would be in the "implementor" category.  Can u give some examples of the backslash occuring in an ambiguous place?  I'm assuming ur talking about the situation where some obnoxious user puts a backslash in a file name or directory name. Like /home/userluser/eLItE\haXor/ which creates a parsing ambiguity.  A windows user would access that as \\server\share\userluser\eLItE\haXor\ which would be a problem. U wrote two backslashes in the text but put one in the example path.  Did u mean to escape the backslash for the benefit of ur/our email client?  If ur talking about when to interpret a backslash as a path seperator or as a literal then I think escaping the backslash with a second backslash would be the way to go. So my example would be required to be \\server\share\userluser\eLItE\\haXor\ or //server/share/userluser/eLItE\\haXor/.  Am I reading ur question right and does my example make sense?


-----Original Message-----
From: linux-cifs-client-bounces+chris.wagner=ae.ge.com at lists.samba.org on behalf of Jeremy Allison
Sent: Fri 3/9/07 2:25 PM
To: Steve French
Cc: cifs-protocol at lists.samba.org; lam at synplicity.com; linux-cifs-client at lists.samba.org
Subject: [linux-cifs-client] POSIX pathnames and the '\' character.
 
Currently the Samba server parsing code
treats '\\' as a directory separator even
when posix pathnames is set to true.

This means currently that we're not 100%
POSIX as '\\' is valid in a POSIX pathname,
the only banned characters are '/' and '\0'.

How much of a problem is this ? And how
much effort (if any) should I put into
fixing this ?

This includes all currently released
servers up to 3.0.24 that support the
POSIX pathnames extension.

The issue becomes a problem with DFS
pathnames, which are defined are :

\server\share\<pathname>.

'\\' is mandatory as a separator in the
first 2 path components. Do we want to
enforce a DFS name as :

\server\share\path/is/now/posix,

or as :

\server\share/path/is/now/posix,

or can we live with '\\' always being
a directory separator ?






More information about the linux-cifs-client mailing list