Windows spooler sends SMB blocks with non-sequential order.

Andrew Tridgell tridge at osdl.org
Tue May 17 22:16:39 GMT 2005


Arcady,

I'm guessing that what you are referring to is the print_job_write()
call in smbd/fileio.c. If the file is a print file then write_file()
discards the position argument and calls print_job_write(), which
always writes to the end of the file, regardless of the specified
offset.

Jeremy, do you remember why this was done? Maybe very early windows
clients used bogus or zero offsets in writes to printer shares?

Unless there is some reason to think that some clients do give bogus
offsets, I don't see why we shouldn't honor the offset given in the
write request.

Jeremy, maybe we should troll back through cvs and see if we can find
the commit comment where we originally chose to discard the offset in
writes to print files? It's probably pretty ancient stuff, but perhaps
we commented on what client needs this.

Cheers, Tridge


More information about the samba-technical mailing list