CVS update: samba/source/rpc_parse

Tim Potter tpot at samba.org
Thu Jun 27 11:46:36 EST 2002


Date:	Wed Jun 26 18:46:36 2002
Author:	tpot

Update of /data/cvs/samba/source/rpc_parse
In directory va:/tmp/cvs-serv12180/rpc_parse

Modified Files:
      Tag: APPLIANCE_HEAD
	parse_spoolss.c 
Log Message:
Changed the marshalling of printer notification to make things a bit
clearer and to fix some bugs.

Notification data used to be of two types - values or pointers.  A
value (such as pages printed, or printer status) was stored in the
two notify_info_data fields.  Pointers had a buffer length and a
pointer to a buffer which was stored in notify_info_data_strings.
Pointers that are strings contain an extra length field marshalled
within the buffer.  Non-string pointers (such as security descriptors
or job submission time) do not contain the extra length field.  

Some notify related functions in srv_spoolss_nt.c were cleaned up a
bit.

An interesting point to note is the usage of the FCPN packet by a
Windows client.  If a Samba server sends some bad notification
information in a rfncpnex reply, the Windows client will send a FCPN,
Samba will close the notification back-channel with a
ReplyClosePrinter and the Windows client will reconnect with rffpcnex
but with an empty options field and non-zero flags.  We don't handle
this type of printer notify so things get out of sync and notification
breaks.  If we send well-formed rfnpcnex replies then we never see the
FCPN and everyone is happy.  The data in question was a job submission
time notify with the word count set to 2 when win2k sends 4.


Revisions:
parse_spoolss.c		1.81.2.45 => 1.81.2.46
	http://www.samba.org/cgi-bin/cvsweb/samba/source/rpc_parse/parse_spoolss.c?r1=1.81.2.45&r2=1.81.2.46




More information about the samba-cvs mailing list