summaryrefslogtreecommitdiff
path: root/source/libsmb/clientgen.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2003-04-21 13:00:39 +0000
committerAndrew Bartlett <abartlet@samba.org>2003-04-21 13:00:39 +0000
commitc6c4f69b8ddc500890a65829e1b9fb7a3e9839e9 (patch)
treedbf826d37ff79b086cbfb21d9dbe109d4e141405 /source/libsmb/clientgen.c
parentdfbd2a2e7a5f0f2713bc48daa24d43b07f187d14 (diff)
downloadsamba-c6c4f69b8ddc500890a65829e1b9fb7a3e9839e9.tar.gz
Merge SMB signing, cli buffer clobber and NTLMSSP signing tweaks from HEAD.
Diffstat (limited to 'source/libsmb/clientgen.c')
-rw-r--r--source/libsmb/clientgen.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/source/libsmb/clientgen.c b/source/libsmb/clientgen.c
index 81b3bbcab55..81cb61d757c 100644
--- a/source/libsmb/clientgen.c
+++ b/source/libsmb/clientgen.c
@@ -118,7 +118,10 @@ BOOL cli_receive_smb(struct cli_state *cli)
}
if (!cli_check_sign_mac(cli)) {
- DEBUG(0, ("SMB Signiture verification failed on incoming packet!\n"));
+ DEBUG(0, ("SMB Signature verification failed on incoming packet!\n"));
+ cli->smb_rw_error = READ_BAD_SIG;
+ close(cli->fd);
+ cli->fd = -1;
return False;
};
return True;
@@ -259,9 +262,6 @@ struct cli_state *cli_initialise(struct cli_state *cli)
if (getenv("CLI_FORCE_DOSERR"))
cli->force_dos_errors = True;
- /* initialise signing */
- cli_null_set_signing(cli);
-
if (lp_client_signing())
cli->sign_info.allow_smb_signing = True;
@@ -274,6 +274,13 @@ struct cli_state *cli_initialise(struct cli_state *cli)
memset(cli->outbuf, 0, cli->bufsize);
memset(cli->inbuf, 0, cli->bufsize);
+ /* just becouse we over-allocate, doesn't mean it's right to use it */
+ clobber_region(FUNCTION_MACRO, __LINE__, cli->outbuf+cli->bufsize, SAFETY_MARGIN);
+ clobber_region(FUNCTION_MACRO, __LINE__, cli->inbuf+cli->bufsize, SAFETY_MARGIN);
+
+ /* initialise signing */
+ cli_null_set_signing(cli);
+
cli->nt_pipe_fnum = 0;
cli->saved_netlogon_pipe_fnum = 0;