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); } /*