Bug 8417 - Samba needs to not mess with case of domain and host names
Samba needs to not mess with case of domain and host names
Status: NEW
Product: Samba 3.5
Classification: Unclassified
Component: Winbind
3.5.11
All All
: P5 critical
: ---
Assigned To: Michael Adam
Samba QA Contact
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-08-29 00:07 UTC by Linda Walsh
Modified: 2011-09-06 05:58 UTC (History)
0 users

See Also:


Attachments
picture of win7 dialogue accessed from permissions tab in file properites (12.74 KB, image/png)
2011-09-06 05:58 UTC, Linda Walsh
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Linda Walsh 2011-08-29 00:07:26 UTC
Samba mangles case and is, in that way, windows incompatible.

Windows ignores case, but preserves it.

That   samba doesn't do this gets it into trouble.

Example.  

In one place, (system messages, I see this:

Aug 28 04:16:22 Ishtar winbindd[30640]:   initialize_winbindd_cache: clearing cache and re-creating with version number 1
Aug 28 04:16:22 Ishtar nmbd[30638]: [2011/08/28 04:16:22,  0] nmbd/nmbd_nameregister.c:137(register_name_response)
Aug 28 04:16:22 Ishtar nmbd[30638]:   register_name_response: WINS server at IP 127.0.0.1 rejected our name registration of BLISS<00> IP 192.168.3.1 with error code 5.
Aug 28 04:16:22 Ishtar nmbd[30638]: [2011/08/28 04:16:22,  0] nmbd/nmbd_mynames.c:35(my_name_register_failed)
Aug 28 04:16:22 Ishtar nmbd[30638]:   my_name_register_failed: Failed to register my name BLISS<00> on subnet UNICAST_SUBNET.
Aug 28 04:16:22 Ishtar nmbd[30638]: [2011/08/28 04:16:22,  0] nmbd/nmbd_namelistdb.c:307(standard_fail_register)
Aug 28 04:16:22 Ishtar nmbd[30638]:   standard_fail_register: Failed to register/refresh name BLISS<00> on subnet UNICAST_SUBNET

----
Note, My Domain name is 'Bliss', not all caps.
...
In pdbedit, I see for however:
Unix username:        bliss$
NT username:          
Account Flags:        [W          ]
User SID:             S-1-5-21-33333-77777-33333-1029
pdb_get_group_sid: Failed to find Unix account for bliss$
Primary Group SID:    (NULL SID)
Full Name:            
Home Directory:       \\BLISS\bliss_
HomeDir Drive:        i:
Logon Script:         
Profile Path:         \\BLISS\bliss_\profile
Domain:               Bliss
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 07:06:39 PST
Kickoff time:         Wed, 06 Feb 2036 07:06:39 PST
Password last set:    Tue, 16 Aug 2011 20:20:46 PDT
Password can change:  Tue, 16 Aug 2011 20:20:46 PDT
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
---
which is why I think I keep seeing queries for SID S-0-0 in the wb log.

Well, that's because /etc/passwd has:
Bliss$:x:....same as it has had for the past 10 years.

---
Windows is confused again.  It used to think it was 'Athenae in domain Bliss'

now it is ATHENAE.sc.tlinx.org in domain BLISS,


With a hostname lookup -- not so important, but with pathname and username lookups, case matters, and changing to other than what the user entered, causes a mis match.

-----
Part of the cause on this is Win's migration to DNS where case is preserved,

But some parts of SW either within Samba, or that samba uses (directly or 
indirectly -- probably all on the unix side) doesn't ignore case.

So as mixed case names start to percolate from Win->linux/unix env, the fact
that samba in the middle of parts of it, messes with the case, causes
random and unpredictable behavior.


---
One place where I have seen case flipfloping occur is whe going from 
host resolution order
lmhosts host winbind -> winbind followed by host then lmhosts...

lmhosts had mixed case, but winbind altered the case --- that's when
it affected login from windows-> linix via 'ssh',

(I was no longer Bliss\law, but now BLISS\law -- my /etc/passwd entry
name had to change to match the new case!).


Of course this also altered my domain's /home path which was
/home/%D -- i.e. /home/Bliss, under the new name became /home/BLISS --
linux pathnames don't ignore case.


So, this is about the need for samba not to alter the case of host and
domain names but simply ignore case, and preserve it.

(hopefully this is more specific, as my first bug in this area mentioned the problem in user names as well, -- THOUGH, they are related, since
hostnames are stored as 'usernames'

So to completely fix non-magling of host/domain names you'll have to not
mangle them in 'usernames' like 'bliss$' as well.

This is also a bug in 3.6.

As a result of this bug, my server has problems contacting itself for 
various operations, depending on the name resolution order...
Comment 1 Linda Walsh 2011-09-06 05:58:32 UTC
Created attachment 6856 [details]
picture of win7 dialogue accessed from permissions tab in file properites

This is a perfect example of what I am talking about -- in that Win7 doesn't regard Bliss == BLISS, and that Samba mangling case names of host and domain (and user) names can create havoc under newer editions of windows (yes, they likely changed the standards again....what else is new!?  They did get away from upper case only file names back around the time FAT32 was introduced.  So it makes sense that they might start recognizing case in user and hostnames.

But who knows?..it's microsoft...

Now how am I supposed to know what to pick here?

.. ... weird...