diff options
author | Stefan Metzmacher <metze@samba.org> | 2012-08-17 09:42:27 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2012-08-17 14:51:57 +0200 |
commit | 9f1dfd8facaa59370afd93e89cc729de5cc3d9ba (patch) | |
tree | baf1f747dc2e9e7a2f8c5086156ec539e85ddbf6 /source3/smbd/process.c | |
parent | e5d4e8df6b8186b71aa72dd7817f5579b44fee2f (diff) | |
download | samba-9f1dfd8facaa59370afd93e89cc729de5cc3d9ba.tar.gz samba-9f1dfd8facaa59370afd93e89cc729de5cc3d9ba.tar.bz2 samba-9f1dfd8facaa59370afd93e89cc729de5cc3d9ba.zip |
s3:smbd: don't disconnect the client when a share has "smb encrypt = required"
It's not the client fault, if he doesn't know that encryption is required.
We should just return ACCESS_DENIED and let the client work on other
shares and open files on the current SMB connection.
metze
Diffstat (limited to 'source3/smbd/process.c')
-rw-r--r-- | source3/smbd/process.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c index f412f7b4cf..fd2c6a4b4a 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -1495,8 +1495,12 @@ static connection_struct *switch_message(uint8 type, struct smb_request *req) conn->encrypt_level = SMB_SIGNING_REQUIRED; } else if (ENCRYPTION_REQUIRED(conn)) { if (req->cmd != SMBtrans2 && req->cmd != SMBtranss2) { - exit_server_cleanly("encryption required " - "on connection"); + DEBUG(1,("service[%s] requires encryption" + "%s ACCESS_DENIED. mid=%llu\n", + lp_servicename(talloc_tos(), SNUM(conn)), + smb_fn_name(type), + (unsigned long long)req->mid)); + reply_nterror(req, NT_STATUS_ACCESS_DENIED); return conn; } } |