Practicality of fixing samba's case mangling problems?

Christopher R. Hertel crh at ubiqx.mn.org
Tue Dec 27 12:02:11 MST 2011


Linda,

How are you at digging into the code?  If you have filed a bugzilla report,
and can identify the code that needs review, that would help.  Patches are
even better.  The more specific details that you can provide the better able
one of us will be to work with you on resolving the problems you are seeing.

Chris -)-----

Linda Walsh wrote:
>   Samba has multiple areas of case mangling problems that cause
> incompatibilities
> when used with windows or linux clients.
> 
> How viable is the idea of fixing the problems?  Would the sky fall in if
> it preserved case, but
> either 'ignored it', or gave preference to matches that included the
> case as typed (vs. alternate case
> matches).
> The first would be fairly compatible with current Win implementation,
> but the 2nd would be
> more compatible when it comes to looking for Domain (and _likely_,
> machine names).
> 
> I've looked at the traffic in an attempted join of workstation 'Athenae'
> into 'Bliss',
> which has had it's case mangled by samba3.
> 
> Dialogue goes something like:
> 
> Workstation 'Athenae' broacasts:  I want a login user="" to domain Bliss.
> (a query for a login server, I would gather.
> 
> 
> PDC 'Ishtar' (samba3 on *nix), responds this login request, "there is no
> user "" here.
> Athenae then responses with login request for Athenae to 'Bliss' with
> marked
> as a machine /domain trust account.
> 
> It doesnt' send a username, but a unicodename, as domain names can be
> unicode
> and upper/lowercase.  Response from Bliss is 'Accepted/ok'.
> 
> Athenae now asks for the PDC so it can create a secure channel.  It gets
> back
> ISHTAR/BLISS.  Win7 doesn't like that.
> It asked for Bliss, a Domain name, and got back BLISS, a WORKGROUP name.
> 
> So it issues a weird error message in the middle of it all and fails.
> 
> Similar problems happen in serving up a user's profile. under the Domain
> name.
> 
> On linux, a path /home/BLISS, doesn't give you the same path as
> /home/Bliss,
> nor does 'x'/Domain Admins get take on linux for 'x/domain admins'... so
> logins
> don't work unless the case matches.
> I've tried many kludge arounds, including symlinks for the differently
> cased options,
> as well as multiple entries for the same user in /etc/passwd --
> something that
> causes random behavior depending on how many items are in a cache, it's
> size and
> who referenced which varient when.
> 
> As near as I can tell, this change started with Win2000, and use of port
> 445 when
> names larger than the Netbios len of 15 chars were allowed (beause names
> passed over
> 445, aren't required to be netbios compatible.
> 
> 
> 
> FWIW, I've seen both BLISS and Bliss on my local net as a workgroup and
> a Domain
> and they have different icons.  Since Samba started supporting port 445
> speak, it seems
> like it also, perhaps unwittingly undertaken to support case preservation.
> The alternative is to keep case mangling but only speak on ports
> 138/139...etc,
> but to, which I think would work as samba was originally designed, but
> as soon as
> features of NT5 were grafted on, samba ran the risk of incompats.
> 
> 
> How can we move forward and get this fixed?
> 
> 
> 
> 
> Thanks,
> Linda
> 

-- 
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org


More information about the samba-technical mailing list