diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2005-03-21 21:22:07 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:11:08 -0500 |
commit | 05bc2d7b2c11a3583a6d1221cfbd618eb6730518 (patch) | |
tree | f0c2966e0a67c381ae1a94cd5c33c59ea8d33f14 /source4/lib/credentials.c | |
parent | 34cde065139fdc76f6aa529426cfc1f68a394d54 (diff) | |
download | samba-05bc2d7b2c11a3583a6d1221cfbd618eb6730518.tar.gz samba-05bc2d7b2c11a3583a6d1221cfbd618eb6730518.tar.bz2 samba-05bc2d7b2c11a3583a6d1221cfbd618eb6730518.zip |
r5928: Use cli_credentials in:
- gtk+ (returned by GtkHostBindingDialog as well now)
- torture/
- librpc/
- lib/com/dcom/
(This used to be commit ccefd782335e01e8e6ecb2bcd28a4f999c53b1a6)
Diffstat (limited to 'source4/lib/credentials.c')
-rw-r--r-- | source4/lib/credentials.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/source4/lib/credentials.c b/source4/lib/credentials.c index 5c78d2b2e6..1c65bd2aff 100644 --- a/source4/lib/credentials.c +++ b/source4/lib/credentials.c @@ -24,6 +24,10 @@ const char *cli_credentials_get_username(struct cli_credentials *cred) { + if (cred == NULL) { + return NULL; + } + if (cred->username_obtained == CRED_CALLBACK) { cred->username = cred->username_cb(cred); cred->username_obtained = CRED_SPECIFIED; @@ -45,6 +49,10 @@ BOOL cli_credentials_set_username(struct cli_credentials *cred, const char *val, const char *cli_credentials_get_password(struct cli_credentials *cred) { + if (cred == NULL) { + return NULL; + } + if (cred->password_obtained == CRED_CALLBACK) { cred->password = cred->password_cb(cred); cred->password_obtained = CRED_SPECIFIED; @@ -66,6 +74,10 @@ BOOL cli_credentials_set_password(struct cli_credentials *cred, const char *val, const char *cli_credentials_get_domain(struct cli_credentials *cred) { + if (cred == NULL) { + return NULL; + } + if (cred->domain_obtained == CRED_CALLBACK) { cred->domain = cred->domain_cb(cred); cred->domain_obtained = CRED_SPECIFIED; @@ -87,7 +99,11 @@ BOOL cli_credentials_set_domain(struct cli_credentials *cred, const char *val, e } const char *cli_credentials_get_realm(struct cli_credentials *cred) -{ +{ + if (cred == NULL) { + return NULL; + } + if (cred->realm_obtained == CRED_CALLBACK) { cred->realm = cred->realm_cb(cred); cred->realm_obtained = CRED_SPECIFIED; @@ -109,6 +125,10 @@ BOOL cli_credentials_set_realm(struct cli_credentials *cred, const char *val, en const char *cli_credentials_get_workstation(struct cli_credentials *cred) { + if (cred == NULL) { + return NULL; + } + if (cred->workstation_obtained == CRED_CALLBACK) { cred->workstation = cred->workstation_cb(cred); cred->workstation_obtained = CRED_SPECIFIED; @@ -246,7 +266,7 @@ void cli_credentials_parse_string(struct cli_credentials *credentials, const cha uname = talloc_strdup(credentials, data); cli_credentials_set_username(credentials, uname, obtained); - if ((p = strchr_m(uname,'\\'))) { + if ((p = strchr_m(uname,'\\')) || (p = strchr_m(uname, '/'))) { *p = 0; cli_credentials_set_domain(credentials, uname, obtained); credentials->username = uname = p+1; |