Problems handling chain offsets with OS/2's WriteAndX/ReadAndX

Volker Lendecke Volker.Lendecke at SerNet.DE
Sat Aug 6 09:06:52 MDT 2011


On Sat, Aug 06, 2011 at 03:49:06AM +0200, samba.10.maazl at spamgourmet.com wrote:
> I have problems with client errors and file corruptions with OS/2
> clients. They are triggered by writex commands that fail.
> 
> In fact the implementation of smbd/reply.c reply_write_and_X
> significantly changed since samba 3.2.something. And since that I
> have problems with OS/2 and eComStation clients.
> 
> This time MP3 files get corrupted when invoking an ID3 tag editor.
> The "chained or invalid word length" check in is_valid_writeX_buffer
> triggers. Obviously this check ist contradictory to
> reply_and_write_X, which accepts 14 and *12* in word count
> (req->wct). I disabled the check, but this only raised further
> length check problems in process.c chain_reply.
> I think samba can no longer handle WriteAndX with word count 12.
> 
> Samba version is 3.5.6
> 
> Level 10 log available at home.arcor.de/temp/log.mm2.gz
> The interesting part starts at line 2065.

$ wget http://home.arcor.de/temp/log.mm2.gz
--2011-08-06 17:06:19--
http://home.arcor.de/temp/log.mm2.gz
Verbindungsaufbau zu 127.0.0.1:3128... verbunden.
Proxy-Anforderung gesendet, warte auf Antwort... 404 Not
Found
2011-08-06 17:06:20 FEHLER 404: Not Found.


> 
> The same test case on a Windows server (XP) succeeds.
> tshark log available at home.arcor.de/temp/tlog.txt.gz
> 
> Thie first difference is the returned offset in the WriteAndX reply.
> Windows returns 47 while samba returns 48 - whatever this means.
> I disabled all checks in process.c chain_reply to get that far.
> 
> 
> Any ideas how to get things working again?
> 
> 
> Marcel
> 

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen


More information about the samba-technical mailing list