diff options
author | Derrell Lipman <derrell.lipman@unwireduniverse.com> | 2008-07-08 20:44:39 -0400 |
---|---|---|
committer | Derrell Lipman <derrell.lipman@unwireduniverse.com> | 2008-07-08 20:44:39 -0400 |
commit | 31262a59bcf1cb04631c2efca169e417ef597bec (patch) | |
tree | 937c6d99f02f8b0287cca6b9eb8dd753d68fea1e /source3/include | |
parent | 70d8e57c174d2dddf8d05ab81cf2edf31d10aebd (diff) | |
download | samba-31262a59bcf1cb04631c2efca169e417ef597bec.tar.gz samba-31262a59bcf1cb04631c2efca169e417ef597bec.tar.bz2 samba-31262a59bcf1cb04631c2efca169e417ef597bec.zip |
[BUG 5580] Allow access to DFS shares via libsmbclient
Brian Sheehan provided a nice patch intended for the 3.0 code base. This
commit applies a similar patch for the 3.3 code base. It adds a new public
function to libsmbclient -- smbc_set_credentials() -- that may be called from
the authentication callback when DFS referrals are in use.
Derrell
(This used to be commit 888f922bd0d1c84a687d404e95ae314a9dd0aee1)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/libsmbclient.h | 27 | ||||
-rw-r--r-- | source3/include/proto.h | 1 |
2 files changed, 28 insertions, 0 deletions
diff --git a/source3/include/libsmbclient.h b/source3/include/libsmbclient.h index 74d0d5c9dd..2828e9e780 100644 --- a/source3/include/libsmbclient.h +++ b/source3/include/libsmbclient.h @@ -2561,6 +2561,33 @@ smbc_version(void); } #endif +/**@ingroup misc + * Set the users credentials globally so they can be used for DFS + * referrals. Probably best to use this function in the smbc_get_auth_data_fn + * callback. + * + * @param workgroup Workgroup of the user. + * + * @param user Username of user. + * + * @param password Password of user. + * + * @param use_kerberos Whether to use Kerberos + * + * @param signing_state One of these strings (all equivalents on same line): + * "off", "no", "false" + * "on", "yes", "true", "auto" + * "force", "required", "forced" + */ + +void +smbc_set_credentials(char *workgroup, + char *user, + char *password, + bool use_kerberos, + char *signing_state); + + /** * @ingroup structure * Structure that contains a client context information diff --git a/source3/include/proto.h b/source3/include/proto.h index 2a954f4efe..665a86d2c8 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1271,6 +1271,7 @@ const char *get_cmdline_auth_info_password(void); void set_cmdline_auth_info_password(const char *password); bool set_cmdline_auth_info_signing_state(const char *arg); int get_cmdline_auth_info_signing_state(void); +void set_cmdline_auth_info_use_kerberos(bool b); bool get_cmdline_auth_info_use_kerberos(void); void set_cmdline_auth_info_use_krb5_ticket(void); void set_cmdline_auth_info_smb_encrypt(void); |