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

metze at samba.org metze at samba.org
Wed Jul 12 14:15:06 GMT 2006


Author: metze
Date: 2006-07-12 14:15:06 +0000 (Wed, 12 Jul 2006)
New Revision: 16979

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

Log:
- ntcancel should compare TID,UID,MID and PID
- don't return ntcancel error, as we don't know how signing works
  for them

metze
Modified:
   branches/SAMBA_4_0/source/smb_server/smb/reply.c


Changeset:
Modified: branches/SAMBA_4_0/source/smb_server/smb/reply.c
===================================================================
--- branches/SAMBA_4_0/source/smb_server/smb/reply.c	2006-07-12 11:17:20 UTC (rev 16978)
+++ branches/SAMBA_4_0/source/smb_server/smb/reply.c	2006-07-12 14:15:06 UTC (rev 16979)
@@ -2197,12 +2197,15 @@
 void smbsrv_reply_ntcancel(struct smbsrv_request *req)
 {
 	struct smbsrv_request *r;
+	uint16_t tid = SVAL(req->in.hdr,HDR_TID);
+	uint16_t uid = SVAL(req->in.hdr,HDR_UID);
 	uint16_t mid = SVAL(req->in.hdr,HDR_MID);
 	uint16_t pid = SVAL(req->in.hdr,HDR_PID);
 
 	for (r = req->smb_conn->requests; r; r = r->next) {
+		if (tid != SVAL(r->in.hdr,HDR_TID)) continue;
+		if (uid != SVAL(r->in.hdr,HDR_UID)) continue;
 		if (mid != SVAL(r->in.hdr,HDR_MID)) continue;
-		/* do we really need to check the PID? */
 		if (pid != SVAL(r->in.hdr,HDR_PID)) continue;
 
 		SMBSRV_CHECK(ntvfs_cancel(r->ntvfs));
@@ -2212,8 +2215,12 @@
 		return;
 	}
 
-	/* TODO: workout the correct error code */
-	smbsrv_send_error(req, NT_STATUS_FOOBAR);
+	/* TODO: workout the correct error code,
+	 *       until we know how the smb signing works
+	 *       for ntcancel replies, don't send an error
+	 */
+	/*smbsrv_send_error(req, NT_STATUS_FOOBAR);*/
+	talloc_free(req);
 }
 
 /*



More information about the samba-cvs mailing list