svn commit: samba r3529 - in branches/SAMBA_4_0/source/smb_server: .

tridge at samba.org tridge at samba.org
Thu Nov 4 11:38:44 GMT 2004


Author: tridge
Date: 2004-11-04 11:38:44 +0000 (Thu, 04 Nov 2004)
New Revision: 3529

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=3529

Log:
fixed signing support for SMBntcancel requests (no reply means seq
number rises by 1, not 2)


Modified:
   branches/SAMBA_4_0/source/smb_server/reply.c
   branches/SAMBA_4_0/source/smb_server/signing.c


Changeset:
Modified: branches/SAMBA_4_0/source/smb_server/reply.c
===================================================================
--- branches/SAMBA_4_0/source/smb_server/reply.c	2004-11-04 11:28:38 UTC (rev 3528)
+++ branches/SAMBA_4_0/source/smb_server/reply.c	2004-11-04 11:38:44 UTC (rev 3529)
@@ -2320,6 +2320,7 @@
 void reply_ntcancel(struct smbsrv_request *req)
 {
 	/* NOTE: this request does not generate a reply */
+	req_signing_no_reply(req);
 	ntvfs_cancel(req);
 	req_destroy(req);
 }

Modified: branches/SAMBA_4_0/source/smb_server/signing.c
===================================================================
--- branches/SAMBA_4_0/source/smb_server/signing.c	2004-11-04 11:28:38 UTC (rev 3528)
+++ branches/SAMBA_4_0/source/smb_server/signing.c	2004-11-04 11:38:44 UTC (rev 3529)
@@ -130,13 +130,21 @@
 {
 	req->seq_num = req->smb_conn->signing.next_seq_num;
 
-	/* TODO: we need to handle one-way requests like NTcancel, which 
-	   only increment the sequence number by 1 */
 	if (req->smb_conn->signing.signing_state != SMB_SIGNING_OFF) {
 		req->smb_conn->signing.next_seq_num += 2;
 	}
 }
 
+/*
+  called for requests that do not produce a reply of their own
+*/
+void req_signing_no_reply(struct smbsrv_request *req)
+{
+	if (req->smb_conn->signing.signing_state != SMB_SIGNING_OFF) {
+		req->smb_conn->signing.next_seq_num--;
+	}
+}
+
 /***********************************************************
  SMB signing - Simple implementation - check a MAC sent by client
 ************************************************************/



More information about the samba-cvs mailing list