From adbdce78ecb4e852596108b69eeb8a4cba32fa83 Mon Sep 17 00:00:00 2001 From: Bryan Mason Date: Wed, 15 Feb 2017 22:57:42 -0800 Subject: [PATCH] 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 Reviewed-by: Andreas Schneider Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Fri Feb 17 04:27:26 CET 2017 on sn-devel-144 --- source3/client/smbspool_krb5_wrapper.c | 32 ++++++++++++++------------ 1 file 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; } /* -- 2.34.1