summaryrefslogtreecommitdiffstats
path: root/source/smbd/password.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/smbd/password.c')
-rw-r--r--source/smbd/password.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/source/smbd/password.c b/source/smbd/password.c
index 1d90af3066c..75934ec2946 100644
--- a/source/smbd/password.c
+++ b/source/smbd/password.c
@@ -29,6 +29,7 @@ BOOL global_machine_pasword_needs_changing;
/* users from session setup */
static pstring session_users="";
+extern pstring scope;
extern pstring global_myname;
extern fstring global_myworkgroup;
@@ -929,6 +930,7 @@ struct cli_state *server_cryptkey(void)
extern fstring local_machine;
char *p;
BOOL connected_ok = False;
+ struct nmb_name calling, called;
if (!cli_initialise(&pw_cli))
return NULL;
@@ -961,7 +963,11 @@ struct cli_state *server_cryptkey(void)
return NULL;
}
- if (!cli_session_request(&pw_cli, desthost, 0x20, local_machine)) {
+ make_nmb_name(&calling, local_machine, 0x0 , scope);
+ make_nmb_name(&called , desthost , 0x20, scope);
+
+ if (!cli_session_request(&pw_cli, &calling, &called))
+ {
DEBUG(1,("%s rejected the session\n",desthost));
cli_shutdown(&pw_cli);
return NULL;
@@ -1124,6 +1130,7 @@ BOOL domain_client_validate( char *user, char *domain,
struct cli_state cli;
uint32 smb_uid_low;
BOOL connected_ok = False;
+ struct nmb_name calling, called;
/*
* Check that the requested domain is not our own machine name.
@@ -1236,7 +1243,11 @@ machine %s. Error was : %s.\n", remote_machine, cli_errstr(&cli) ));
continue;
}
- if (!cli_session_request(&cli, remote_machine, 0x20, global_myname)) {
+ make_nmb_name(&calling, global_myname , 0x0 , scope);
+ make_nmb_name(&called , remote_machine, 0x20, scope);
+
+ if (!cli_session_request(&pw_cli, &calling, &called))
+ {
DEBUG(0,("domain_client_validate: machine %s rejected the session setup. \
Error was : %s.\n", remote_machine, cli_errstr(&cli) ));
cli_shutdown(&cli);