mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
Don't duplicate pulling the 'IPC' username from secrets.tdb, instead
just use one function for both places.
Andrew Bartlett
(This used to be commit 85da181e8a
)
This commit is contained in:
parent
a0fb9600d5
commit
43a4e1dbf9
@ -909,14 +909,14 @@ static void wbinfo_get_auth_user(void)
|
||||
char *user, *domain, *password;
|
||||
|
||||
/* Lift data from secrets file */
|
||||
|
||||
secrets_fetch_ipc_userpass(&user, &domain, &password);
|
||||
|
||||
secrets_init();
|
||||
if ((!user || !*user) && (!domain || !*domain ) && (!password || !*password)){
|
||||
|
||||
user = secrets_fetch(SECRETS_AUTH_USER, NULL);
|
||||
domain = secrets_fetch(SECRETS_AUTH_DOMAIN, NULL);
|
||||
password = secrets_fetch(SECRETS_AUTH_PASSWORD, NULL);
|
||||
|
||||
if (!user && !domain && !password) {
|
||||
SAFE_FREE(user);
|
||||
SAFE_FREE(domain);
|
||||
SAFE_FREE(password);
|
||||
d_printf("No authorised user configured\n");
|
||||
return;
|
||||
}
|
||||
|
@ -3,7 +3,8 @@
|
||||
Copyright (C) Andrew Tridgell 1992-2001
|
||||
Copyright (C) Andrew Bartlett 2002
|
||||
Copyright (C) Rafal Szczesniak 2002
|
||||
|
||||
Copyright (C) Tim Potter 2001
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
@ -791,3 +792,40 @@ BOOL secrets_fetch_afs_key(const char *cell, struct afs_key *result)
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
When kerberos is not available, choose between anonymous or
|
||||
authenticated connections.
|
||||
|
||||
We need to use an authenticated connection if DCs have the
|
||||
RestrictAnonymous registry entry set > 0, or the "Additional
|
||||
restrictions for anonymous connections" set in the win2k Local
|
||||
Security Policy.
|
||||
|
||||
Caller to free() result in domain, username, password
|
||||
*******************************************************************************/
|
||||
void secrets_fetch_ipc_userpass(char **username, char **domain, char **password)
|
||||
{
|
||||
*username = secrets_fetch(SECRETS_AUTH_USER, NULL);
|
||||
*domain = secrets_fetch(SECRETS_AUTH_DOMAIN, NULL);
|
||||
*password = secrets_fetch(SECRETS_AUTH_PASSWORD, NULL);
|
||||
|
||||
if (*username && **username) {
|
||||
|
||||
if (!*domain || !**domain)
|
||||
*domain = smb_xstrdup(lp_workgroup());
|
||||
|
||||
if (!*password || !**password)
|
||||
*password = smb_xstrdup("");
|
||||
|
||||
DEBUG(3, ("IPC$ connections done by user %s\\%s\n",
|
||||
*domain, *username));
|
||||
|
||||
} else {
|
||||
DEBUG(3, ("IPC$ connections done anonymously\n"));
|
||||
*username = smb_xstrdup("");
|
||||
*domain = smb_xstrdup("");
|
||||
*password = smb_xstrdup("");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user