diff options
author | Andrew Bartlett <abartlet@samba.org> | 2005-08-29 04:30:22 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:34:54 -0500 |
commit | 24186a80eb4887b5fb3e72e4b877b456cbe8e35f (patch) | |
tree | 4f5b7d9147ec0b450ca0da5023113c8c5aad2182 /source4/include/credentials.h | |
parent | 1a316fd8c50e501b5d69bb47ff5d1d483b02b04e (diff) | |
download | samba-24186a80eb4887b5fb3e72e4b877b456cbe8e35f.tar.gz samba-24186a80eb4887b5fb3e72e4b877b456cbe8e35f.tar.bz2 samba-24186a80eb4887b5fb3e72e4b877b456cbe8e35f.zip |
r9728: A *major* update to the credentials system, to incorporate the
Kerberos CCACHE into the system.
This again allows the use of the system ccache when no username is
specified, and brings more code in common between gensec_krb5 and
gensec_gssapi.
It also has a side-effect that may (or may not) be expected: If there
is a ccache, even if it is not used (perhaps the remote server didn't
want kerberos), it will change the default username.
Andrew Bartlett
(This used to be commit 6202267f6ec1446d6bd11d1d37d05a977bc8d315)
Diffstat (limited to 'source4/include/credentials.h')
-rw-r--r-- | source4/include/credentials.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source4/include/credentials.h b/source4/include/credentials.h index 58cc4767ad..5dadbbd1c5 100644 --- a/source4/include/credentials.h +++ b/source4/include/credentials.h @@ -24,8 +24,9 @@ /* In order of priority */ enum credentials_obtained { CRED_UNINITIALISED = 0, /* We don't even have a guess yet */ - CRED_GUESSED, /* Current value should be used, which was guessed */ + CRED_GUESS_ENV, /* Current value should be used, which was guessed */ CRED_CALLBACK, /* Callback should be used to obtain value */ + CRED_GUESS_FILE, /* A guess from a file (or file pointed at in env variable) */ CRED_SPECIFIED /* Was explicitly specified on the command-line */ }; @@ -38,20 +39,26 @@ struct cli_credentials { enum credentials_obtained password_obtained; enum credentials_obtained domain_obtained; enum credentials_obtained realm_obtained; + enum credentials_obtained ccache_obtained; + enum credentials_obtained principal_obtained; const char *workstation; const char *username; const char *password; const char *domain; const char *realm; + const char *principal; struct samr_Password *nt_hash; + struct ccache_container *ccache; + const char *(*workstation_cb) (struct cli_credentials *); const char *(*password_cb) (struct cli_credentials *); const char *(*username_cb) (struct cli_credentials *); const char *(*domain_cb) (struct cli_credentials *); const char *(*realm_cb) (struct cli_credentials *); + const char *(*principal_cb) (struct cli_credentials *); /* Private handle for the callback routines to use */ void *priv_data; @@ -65,4 +72,3 @@ struct cli_credentials { BOOL machine_account_pending; }; - |