browselist bug in Multibyte environment

Hiroshi MIURA miura at samba.gr.jp
Wed Jul 5 16:46:43 GMT 2000


I've reciept a bug report in samba 2.0.6 and later.
The problem as follows:

He, the reporter, use a multibyte netbios name. In MS specification,
it is ok that we use multibyte netbios name on the NT and the 95/98.
In this case, coding system=euc and client code page =932.

But, now, he saw a MOJI BAKE (unintelligible sequence of characters)
on his 'Netowork Computer' on the Windows desktop.
I am starting read nmbd soruces, but I cannot understand the logic, yet.
I am trying to reappear it, and I get it. For investigating, 
I look into  the browse.dat, so it has two same name with diferrent
codes. When I set up coding sysmtem to EUC, so in the browse.dat
there are EUC(unix code) name and SJIS(windows native code) name.

That , I think, is because that some function in nmbd 
forget a transform function call which convert sjis to euc
(unix_to_dos() or dos_to_unix()).

for example, I assume that 

windows NT -------------->      Samba(nmbd)
            annouce by unicode    uni->codepage code(sjis)
                                  |
                             sjis to euc(depend coding system param.)
                                  |
                                  v
                              /var/samba/browse.dat(euc)

but in reverse data flow(for example),

windows NT <--------------      Samba(nmbd)
          annouce by unicode    uni <- codepage code(sjis)
           but  broken data       ^                ^^^^^^ mis-match
                                  | through (oh,bad) 
                                  |
                              /var/samba/browse.dat(euc)

then

windows NT -------------->      Samba(nmbd)
          annouce by unicode    uni->codepage code(sjis)
          about broken name       |    but broken sjis
                             sjis to euc(depend coding system param.)
                                  |    much worse.
                                  v
                              /var/samba/browse.dat(euc)

I think that the problem is like this.

Do you have any idea?

-- 
SAMBA User Group Japan, devel. staff    http://www.samba.gr.jp/
Linux Kernel Hack Japan, ProjectBLUE	http://www.blue.gr.jp/
--- MIURA, Hiroshi   			http://www.momokuri.org/





More information about the samba-technical mailing list