smbclient -M: charset conversion?
David Lee
t.d.lee at durham.ac.uk
Tue Jun 3 19:00:54 GMT 2003
You may recall a few weeks ago that I mentioned and fixed a bug in
"libsmb/climessage.c". In creating its SMDsend* messages, it was allowing
the endpoint names to be converted into arbitrary multibyte UNICODE
charsets when it should have been forcing a much more conservative
ASCII-like charset.
But this set a further nagging doubt in my mind: what about the text of
such message themselves? Similarly what about our processing of it in
"client/client.c" (i.e. in "smbclient -M")?
Is it legal to have UNICODE in the text of SMBsend* messages?
If it is legal, then haven't we got a potential problem with packet
size? As I understand it, the packets-on-the-wire in SMBsend sequences
can carry no more than about 127 bytes of data. But smbclient splits the
potentially large message (in client/client.c) *before* the charset
translation is done (in libsmb/climessage.c).
Now suppose a nice simple byte-per-character ASCII message gets translated
into a multibyte-per-character UNICODE charset? Then the 127(-ish)-byte
ASCII chunks are going to become too big for the SMBsend packets, aren't
they?
[ As you can tell, my knowledge of charsets is minimal! Hopefully someone
out there who know charsets will be able quickly to confirm or refute my
concerns about this. ]
--
: David Lee I.T. Service :
: Systems Programmer Computer Centre :
: University of Durham :
: http://www.dur.ac.uk/t.d.lee/ South Road :
: Durham :
: Phone: +44 191 334 2752 U.K. :
More information about the samba-technical
mailing list