summaryrefslogtreecommitdiff
path: root/source/libsmb
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>2000-03-27 05:17:48 +0000
committerLuke Leighton <lkcl@samba.org>2000-03-27 05:17:48 +0000
commitd772390b24cc9e2cb3959a494e964f403fd23500 (patch)
tree99ed6e76f6ebfe58c2610562360e73eddb06de3e /source/libsmb
parent23ec2e367f0cd296c5665ced7765b113c1389226 (diff)
downloadsamba-d772390b24cc9e2cb3959a494e964f403fd23500.tar.gz
removed client's server name from cli_session_setup, it can be set to
global_myname
Diffstat (limited to 'source/libsmb')
-rw-r--r--source/libsmb/clientgen.c7
-rw-r--r--source/libsmb/passchange.c2
-rw-r--r--source/libsmb/smbencrypt.c12
3 files changed, 17 insertions, 4 deletions
diff --git a/source/libsmb/clientgen.c b/source/libsmb/clientgen.c
index f3a53a61e52..fc6da1391bd 100644
--- a/source/libsmb/clientgen.c
+++ b/source/libsmb/clientgen.c
@@ -1024,12 +1024,13 @@ static BOOL cli_calc_session_pwds(struct cli_state *cli,
send a session setup
****************************************************************************/
BOOL cli_session_setup(struct cli_state *cli,
- char *myhostname, char *user,
+ char *user,
char *pass, int passlen,
char *ntpass, int ntpasslen,
char *user_domain)
{
fstring pword, ntpword;
+ extern pstring global_myname;
if (passlen > sizeof(pword)-1 || ntpasslen > sizeof(ntpword)-1)
{
@@ -1038,7 +1039,7 @@ BOOL cli_session_setup(struct cli_state *cli,
fstrcpy(cli->usr.user_name, user);
- return cli_calc_session_pwds(cli, myhostname, pword, ntpword,
+ return cli_calc_session_pwds(cli, global_myname, pword, ntpword,
pass, &passlen,
ntpass, &ntpasslen, cli->nt.usr_sess_key,
cli->use_ntlmv2) &&
@@ -3356,7 +3357,7 @@ BOOL cli_establish_connection(struct cli_state *cli,
}
/* attempt clear-text session */
- if (!cli_session_setup(cli, calling->name,
+ if (!cli_session_setup(cli,
cli->usr.user_name,
passwd, pass_len,
ntpasswd, ntpass_len,
diff --git a/source/libsmb/passchange.c b/source/libsmb/passchange.c
index b5552d4cea1..4cca1927fa0 100644
--- a/source/libsmb/passchange.c
+++ b/source/libsmb/passchange.c
@@ -75,7 +75,7 @@ BOOL remote_password_change(const char *remote_machine, const char *user_name,
* Thanks to <Nicholas.S.Jenkins@cdc.com> for this fix.
*/
- if (!cli_session_setup(&cli, global_myname, "", "", 0, "", 0, "")) {
+ if (!cli_session_setup(&cli, "", "", 0, "", 0, "")) {
slprintf(err_str, err_str_len-1, "machine %s rejected the session setup. Error was : %s.\n",
remote_machine, cli_errstr(&cli) );
cli_shutdown(&cli);
diff --git a/source/libsmb/smbencrypt.c b/source/libsmb/smbencrypt.c
index 34a8f55cfb1..b99956d4e9c 100644
--- a/source/libsmb/smbencrypt.c
+++ b/source/libsmb/smbencrypt.c
@@ -305,6 +305,9 @@ void SMBsesskeygen_ntv1(const uchar kr[16],
#endif
}
+/***************************************************************************
+ tests showed that the nt challenge can be total random-length garbage!
+ ***************************************************************************/
void SMBgenclientchals(char *lm_cli_chal,
char *nt_cli_chal, int *nt_cli_chal_len,
const char *srv, const char *dom)
@@ -319,6 +322,15 @@ void SMBgenclientchals(char *lm_cli_chal,
strupper(server);
strupper(domain);
+#if 0 EXPERIMENTATION_THIS_ACTUALLY_WORKS
+ generate_random_buffer(nt_cli_chal, 64, False);
+ (*nt_cli_chal_len) = 64;
+ memcpy(lm_cli_chal, nt_cli_chal + 16, 8);
+ generate_random_buffer(lm_cli_chal, 8, False);
+
+ return;
+#endif
+
generate_random_buffer(lm_cli_chal, 8, False);
unix_to_nt_time(&nt_time, time(NULL));