mirror of
https://github.com/samba-team/samba.git
synced 2025-02-23 09:57:40 +03:00
Add krb5 support for the testbrowse example.
Signed-off-by: Andreas Schneider <anschneider@suse.de> Signed-off-by: Derrell Lipman <derrell.lipman@unwireduniverse.com> (This used to be commit 84b1ea39a4f27ebcf06a2bafed78396c7353df0e)
This commit is contained in:
parent
1ef07a6686
commit
ef0a7b0b94
@ -1,3 +1,5 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
static void
|
||||
get_auth_data_fn(const char * pServer,
|
||||
const char * pShare,
|
||||
@ -15,6 +17,8 @@ get_auth_data_fn(const char * pServer,
|
||||
char username[256] = { '\0' };
|
||||
char password[256] = { '\0' };
|
||||
|
||||
static int krb5_set = 1;
|
||||
|
||||
if (strcmp(server, pServer) == 0 &&
|
||||
strcmp(share, pShare) == 0 &&
|
||||
*workgroup != '\0' &&
|
||||
@ -25,7 +29,12 @@ get_auth_data_fn(const char * pServer,
|
||||
strncpy(pPassword, password, maxLenPassword - 1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (krb5_set && getenv("KRB5CCNAME")) {
|
||||
krb5_set = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
fprintf(stdout, "Workgroup: [%s] ", pWorkgroup);
|
||||
fgets(temp, sizeof(temp), stdin);
|
||||
|
||||
@ -68,4 +77,6 @@ get_auth_data_fn(const char * pServer,
|
||||
strncpy(workgroup, pWorkgroup, sizeof(workgroup) - 1);
|
||||
strncpy(username, pUsername, sizeof(username) - 1);
|
||||
strncpy(password, pPassword, sizeof(password) - 1);
|
||||
|
||||
krb5_set = 1;
|
||||
}
|
||||
|
@ -117,6 +117,9 @@ main(int argc, char * argv[])
|
||||
smbc_setFunctionAuthData(context, get_auth_data_fn);
|
||||
}
|
||||
|
||||
smbc_setOptionUseKerberos(context, 1);
|
||||
smbc_setOptionFallbackAfterKerberos(context, 1);
|
||||
|
||||
/* If we've been asked to log to stderr instead of stdout, ... */
|
||||
if (debug_stderr) {
|
||||
/* ... then set the option to do so */
|
||||
|
Loading…
x
Reference in New Issue
Block a user