diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2005-03-21 02:08:38 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:11:08 -0500 |
commit | 02075be0bbc2095073f8898350fded64a7c97c79 (patch) | |
tree | 28ea2820f79dfc766b745515848c840bf98b2a88 /source4/include | |
parent | 105660d3f9b537fa47fe6e33c0418a1d8f85e0e9 (diff) | |
download | samba-02075be0bbc2095073f8898350fded64a7c97c79.tar.gz samba-02075be0bbc2095073f8898350fded64a7c97c79.tar.bz2 samba-02075be0bbc2095073f8898350fded64a7c97c79.zip |
r5917: First step in using the new cli_credentials structure. This patch
puts support for it into popt_common, adds a few utility functions
(in lib/credentials.c) and the callback functions for the command-line
(lib/cmdline/credentials.c). Comments are welcome :-)
(This used to be commit 1d49b57c50fe8c2683ea23e9df41ce8ad774db98)
Diffstat (limited to 'source4/include')
-rw-r--r-- | source4/include/credentials.h | 19 | ||||
-rw-r--r-- | source4/include/includes.h | 1 |
2 files changed, 18 insertions, 2 deletions
diff --git a/source4/include/credentials.h b/source4/include/credentials.h index 0e81615878..7b223dad5a 100644 --- a/source4/include/credentials.h +++ b/source4/include/credentials.h @@ -3,7 +3,7 @@ Client credentials structure - Copyright (C) 2004 Jelmer Vernooij <jelmer@samba.org> + Copyright (C) Jelmer Vernooij 2004-2005 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 @@ -20,17 +20,32 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +/* In order of priority */ +enum credentials_obtained { + CRED_GUESSED = 0, /* Current value should be used, which was guessed */ + CRED_CALLBACK, /* Callback should be used to obtain value */ + CRED_SPECIFIED /* Was explicitly specified on the command-line */ +}; + struct cli_credentials { /* Preferred methods, NULL means default */ const char **preferred_methods; + enum credentials_obtained workstation_obtained; + enum credentials_obtained username_obtained; + enum credentials_obtained password_obtained; + enum credentials_obtained domain_obtained; + enum credentials_obtained realm_obtained; + + const char *workstation; const char *username; const char *password; const char *domain; const char *realm; - const char *(*username_cb) (struct cli_credentials *); + 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 *); diff --git a/source4/include/includes.h b/source4/include/includes.h index 9a802aebd0..ce78e14d7d 100644 --- a/source4/include/includes.h +++ b/source4/include/includes.h @@ -123,6 +123,7 @@ extern int errno; #include "smb.h" #include "byteorder.h" #include "module.h" +#include "credentials.h" #include "librpc/ndr/libndr.h" #include "librpc/gen_ndr/ndr_misc.h" #include "librpc/gen_ndr/ndr_dcerpc.h" |