diff options
author | Jeremy Allison <jra@samba.org> | 2010-11-29 12:36:05 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2010-11-29 22:24:01 +0100 |
commit | d38cd9b671dcd0b607e2ba265c6578dc78903386 (patch) | |
tree | 93b884d830e98525f39c307ad769205c332b3ab7 /source3/smbd | |
parent | 53712fbb4fa1988480467e73b3b1ea88f9584abb (diff) | |
download | samba-d38cd9b671dcd0b607e2ba265c6578dc78903386.tar.gz samba-d38cd9b671dcd0b607e2ba265c6578dc78903386.tar.bz2 samba-d38cd9b671dcd0b607e2ba265c6578dc78903386.zip |
Fix bug discovered with "encryped passwords = no".
message_push_string() and message_push_blob() both update
the bcc value, so we don't need the old code that tries to
do it manually.
Jeremy.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Mon Nov 29 22:24:01 CET 2010 on sn-devel-104
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/negprot.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/source3/smbd/negprot.c b/source3/smbd/negprot.c index 51f2d0c1de..a0c1d2594f 100644 --- a/source3/smbd/negprot.c +++ b/source3/smbd/negprot.c @@ -265,7 +265,6 @@ static void reply_nt1(struct smb_request *req, uint16 choice) CAP_LEVEL_II_OPLOCKS; int secword=0; - char *p, *q; bool negotiate_spnego = False; struct timespec ts; ssize_t ret; @@ -363,7 +362,6 @@ static void reply_nt1(struct smb_request *req, uint16 choice) put_long_date_timespec(TIMESTAMP_SET_NT_OR_BETTER,(char *)req->outbuf+smb_vwv11+1,ts); SSVALS(req->outbuf,smb_vwv15+1,set_server_zone_offset(ts.tv_sec)/60); - p = q = smb_buf(req->outbuf); if (!negotiate_spnego) { /* Create a token value and add it to the outgoing packet. */ if (sconn->smb1.negprot.encrypted_passwords) { @@ -379,13 +377,12 @@ static void reply_nt1(struct smb_request *req, uint16 choice) return; } SCVAL(req->outbuf, smb_vwv16+1, ret); - p += ret; } ret = message_push_string(&req->outbuf, lp_workgroup(), STR_UNICODE|STR_TERMINATE |STR_NOALIGN); if (ret == -1) { - DEBUG(0, ("Could not push challenge\n")); + DEBUG(0, ("Could not push workgroup string\n")); reply_nterror(req, NT_STATUS_NO_MEMORY); return; } @@ -404,15 +401,11 @@ static void reply_nt1(struct smb_request *req, uint16 choice) reply_nterror(req, NT_STATUS_NO_MEMORY); return; } - p += ret; data_blob_free(&spnego_blob); SCVAL(req->outbuf,smb_vwv16+1, 0); DEBUG(3,("using SPNEGO\n")); } - - SSVAL(req->outbuf,smb_vwv17, p - q); /* length of challenge+domain - * strings */ return; } |