diff options
author | Bryan Mason <bmason@redhat.com> | 2017-02-15 22:57:42 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2017-02-17 04:27:26 +0100 |
commit | adbdce78ecb4e852596108b69eeb8a4cba32fa83 (patch) | |
tree | 2db35b972bba038f9366ee942dc42f781b95ab7e /source3/client | |
parent | 40d813cdb312fd8378db310543e0778193a1a684 (diff) | |
download | samba-adbdce78ecb4e852596108b69eeb8a4cba32fa83.tar.gz |
Modify smbspool_krb5_wrapper to just fall through to smbspool if AUTH_INFO_REQUIRED is not set or is not "negotiate".
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12575
Signed-off-by: Bryan Mason <bmason@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Feb 17 04:27:26 CET 2017 on sn-devel-144
Diffstat (limited to 'source3/client')
-rw-r--r-- | source3/client/smbspool_krb5_wrapper.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/source3/client/smbspool_krb5_wrapper.c b/source3/client/smbspool_krb5_wrapper.c index d26a7a6a128..bf97d82115a 100644 --- a/source3/client/smbspool_krb5_wrapper.c +++ b/source3/client/smbspool_krb5_wrapper.c @@ -90,27 +90,29 @@ int main(int argc, char *argv[]) int cmp; int rc; - uid = getuid(); - - CUPS_SMB_DEBUG("Started with uid=%d\n", uid); - if (uid != 0) { - goto smbspool; - } - /* Check if AuthInfoRequired is set to negotiate */ env = getenv("AUTH_INFO_REQUIRED"); + + /* If not set, then just call smbspool. */ if (env == NULL) { CUPS_SMB_ERROR("AUTH_INFO_REQUIRED is not set"); - fprintf(stderr, "ATTR: auth-info-required=negotiate\n"); - return CUPS_BACKEND_AUTH_REQUIRED; + goto smbspool; + } else { + CUPS_SMB_DEBUG("AUTH_INFO_REQUIRED=%s", env); + cmp = strcmp(env, "negotiate"); + /* If AUTH_INFO_REQUIRED != "negotiate" then call smbspool. */ + if (cmp != 0) { + CUPS_SMB_ERROR( + "AUTH_INFO_REQUIRED is not set to negotiate"); + goto smbspool; + } } - CUPS_SMB_DEBUG("AUTH_INFO_REQUIRED=%s", env); - cmp = strcmp(env, "negotiate"); - if (cmp != 0) { - CUPS_SMB_ERROR("AUTH_INFO_REQUIRED is not set to negotiate"); - fprintf(stderr, "ATTR: auth-info-required=negotiate\n"); - return CUPS_BACKEND_AUTH_REQUIRED; + uid = getuid(); + + CUPS_SMB_DEBUG("Started with uid=%d\n", uid); + if (uid != 0) { + goto smbspool; } /* |