Windows spooler sends SMB blocks with non-sequential order.

Jeremy Allison jra at samba.org
Wed May 18 00:17:06 GMT 2005


On Wed, May 18, 2005 at 09:04:13AM +1000, Andrew Tridgell wrote:

> if you look at the interface for the original SMBsplwrite call:
> 
> 	/* SMBsplwrite interface */
> 	struct {
> 		enum smb_write_level level;
> 
> 		struct {
> 			uint16_t fnum;
> 			uint16_t count;
> 			const uint8_t *data;
> 		} in;
> 	} splwrite;
> 
> notice it doesn't take an offset? So I suspect our code was just
> carried over from the earliest days when clients used SMBsplwrite
> instead of SMBwrite or SMBwritex for print files. That would be the
> earliest DOS clients I think. Certainly WfWg used normal write calls.

Yep. Seems right to me. Don't you just love legacy code :-).
I've coded up the fix and I'm going to check the RPC spoolss
interface to see if it passes offsets (unless Jerry does it
first :-).

Jeremy.


More information about the samba-technical mailing list