CVS update: samba/source/rpc_server

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


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

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

Modified Files:
      Tag: APPLIANCE_HEAD
	srv_spoolss_nt.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:
srv_spoolss_nt.c		1.95.2.158 => 1.95.2.159
	http://www.samba.org/cgi-bin/cvsweb/samba/source/rpc_server/srv_spoolss_nt.c?r1=1.95.2.158&r2=1.95.2.159




More information about the samba-cvs mailing list