Bug 8380 - Samba needs to preserve casename on user/group/host to be MS-compat (all versions)
Samba needs to preserve casename on user/group/host to be MS-compat (all vers...
Product: Samba 3.5
Classification: Unclassified
Component: libsmbclient
All Windows 7
: P5 major
: ---
Assigned To: Derrell Lipman
Samba QA Contact
Depends on:
  Show dependency treegraph
Reported: 2011-08-17 22:01 UTC by Linda Walsh
Modified: 2011-08-18 06:43 UTC (History)
0 users

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Linda Walsh 2011-08-17 22:01:27 UTC
I noticed in Win7, I've had Upper-lower casename on my system, domain, and usernames.  

Never noticed a problem -- maybe when I stopped running nscd -- 
as it looked at /etc/resolv.conf, and read 'files winbind'...and read them 
in that order.

apparently winbind looks in it's own cache first, before looking in files (does it ever do that?)

Now, Smbd looks in lmhosts first, if told to, ... and in lmhosts I had names matching what I have in DNS, -- "First Letter Of Word Initial Cap".

Depending on how your names are looked up some things will return mixed case,
others will return a modified value.   NTLM seems to upcase everything,
and smb? seems to want to downcase user and group names.

But MS, preserves them (it ignores them, but preserves them).

I would argue that to be compat with today's MS -- all samba versions 
should move to case-preserving, but ignoring.

The effect of it NOT doing this -- is disastrous -- in multiple ways...

a few that I an remember:
1) ssh from win->server started failing because user 'Bliss\law' wasn't defined, -- needed to be changed to 'BLISS\law'.

Home directory/path used to be /home/Bliss/<user>...that started failing
went to /home/BLISS/<user>...

The smb server became unable to contact itself reliably.

I could ask what domain I was in, worked: but pingDC failed... (in wbinfo).

Also! -- I didn't know it (because I had my sys setup to serve my login
when I didn't have a domain which it defaulted to using) but I'd been
kicked out of the domain.  but not it's SID.  The Win7 machine could do
some lookup info by sid, but anything using a name failed.  

At first I thought it was limited to users, but it affected my 
"Machine2$" names as well...I got TONS of messages about problems with the
schannel -- but it wasn't consistent.   Logins were slow, but eventually stuff would complete *after* I had logged in.

I could go on and on ...but people don't like that.

Do NOT say "don't do that".

As I look on the MS site, and follow their user name conventions -- which
WORK on Windows macines - most likely as they can lookup things directly from DNS where they are also mixed case.  Some of MS's examples have mixed case -- which they started using as soon as they implemented ADNS -- which was years
ago...?8?  they've been 'case preserving' ever since.

Just recently I discovered to resync my login with the server (had been unsync'ed for 2 months -- not the profile, but "something else" -- I coudn't
look me up in the DB, and it couldn't find 'BLISS' because ...
had to unjoin/rejoin machine and override the domainname (typing it in manually)....

Anyway -- it causes alot of problems that samba doesn't preserve case -- but
instead *modifies* it....   As if you change any little thing in your config,
the case of things may change, and the fallout isn't pretty.

This is probably in multiple components -- libsmbclient (for user/groupname lookups) and nmbd for host/domain upcasing.

It also applieas to all samba version in the present.
Comment 1 Volker Lendecke 2011-08-18 06:43:44 UTC
Closing this bug as INVALID, as it contains a much too broad topic to be handled in a single bug report. Closing it does not mean we don't accept the things you point out as issues, but they are issues that need to be handled individually.

Please open individual bug reports for the topics you found, ideally with a much better description what exactly failed.