diff options
author | Stefan Metzmacher <metze@samba.org> | 2012-08-03 08:44:39 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2012-08-04 14:28:04 +0200 |
commit | 401860cab6ab3d88659361bd333f6667da071d7b (patch) | |
tree | ef68a112b9e1fd6c4430a3d7d85122d341a298db /source3 | |
parent | ff75fd9eda805d0d937b442f8221be89504131eb (diff) | |
download | samba-401860cab6ab3d88659361bd333f6667da071d7b.tar.gz samba-401860cab6ab3d88659361bd333f6667da071d7b.tar.bz2 samba-401860cab6ab3d88659361bd333f6667da071d7b.zip |
s3:smbd: add support for SMB_EXTENDED_SIGNATURES in SMBtconX
metze
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Sat Aug 4 14:28:04 CEST 2012 on sn-devel-104
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/reply.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 94c18b0c65..1b4a1620d6 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -42,6 +42,7 @@ #include "smbprofile.h" #include "../lib/tsocket/tsocket.h" #include "lib/tevent_wait.h" +#include "libcli/smb/smb_signing.h" /**************************************************************************** Ensure we check the path in *exactly* the same way as W2K for a findfirst/findnext @@ -725,6 +726,7 @@ void reply_tcon_and_X(struct smb_request *req) struct smbXsrv_session *session = NULL; NTTIME now = timeval_to_nttime(&req->request_time); bool session_key_updated = false; + uint16_t optional_support = 0; struct smbd_server_connection *sconn = req->sconn; START_PROFILE(SMBtconX); @@ -874,6 +876,13 @@ void reply_tcon_and_X(struct smb_request *req) return; } + if (tcon_flags & TCONX_FLAG_EXTENDED_SIGNATURES) { + smb_key_derivation(x->global->application_key.data, + x->global->application_key.length, + x->global->application_key.data); + optional_support |= SMB_EXTENDED_SIGNATURES; + } + /* * Place the application key into the session_info */ @@ -924,7 +933,6 @@ void reply_tcon_and_X(struct smb_request *req) } else { /* NT sets the fstype of IPC$ to the null string */ const char *fstype = IS_IPC(conn) ? "" : lp_fstype(ctx, SNUM(conn)); - uint16_t optional_support = 0; if (tcon_flags & TCONX_FLAG_EXTENDED_RESPONSE) { /* Return permissions. */ |