summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-11-29 12:36:05 -0800
committerJeremy Allison <jra@samba.org>2010-11-29 22:24:01 +0100
commitd38cd9b671dcd0b607e2ba265c6578dc78903386 (patch)
tree93b884d830e98525f39c307ad769205c332b3ab7
parent53712fbb4fa1988480467e73b3b1ea88f9584abb (diff)
downloadsamba-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
-rw-r--r--source3/smbd/negprot.c9
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;
}