r4500: Allow GENSEC modules to be disabled by setting a flag on their module
authorAndrew Bartlett <abartlet@samba.org>
Mon, 3 Jan 2005 07:08:14 +0000 (07:08 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:08:15 +0000 (13:08 -0500)
definition, not by hardcoded reference in loadparm.c

Andrew Bartlett
(This used to be commit 43558eaf7604d2bb0187e0d1ba0686935a965ad7)

source4/libcli/auth/gensec.c
source4/libcli/auth/gensec.h
source4/libcli/auth/gensec_gssapi.c
source4/libcli/auth/gensec_krb5.c
source4/param/loadparm.c

index 79cd98a076a7b0770dfa029c44ca030816327d13..c052f61c8c91f7142fc772109cb86ac497c8250d 100644 (file)
@@ -778,7 +778,7 @@ NTSTATUS gensec_register(const void *_ops)
 {
        const struct gensec_security_ops *ops = _ops;
        
-       if (!lp_parm_bool(-1, "gensec", ops->name, True)) {
+       if (!lp_parm_bool(-1, "gensec", ops->name, !ops->disabled_by_default)) {
                DEBUG(2,("gensec subsystem %s is disabled\n", ops->name));
                return NT_STATUS_OK;
        }
index 7c462414ff30e7272bd08693fa904cbb542e1cc8..8ee6abcd447d92dd36f84de28553af5bf6c702de 100644 (file)
@@ -94,6 +94,7 @@ struct gensec_security_ops {
                                 struct auth_session_info **session_info); 
        BOOL (*have_feature)(struct gensec_security *gensec_security,
                                    uint32 feature); 
+       BOOL disabled_by_default;
 };
        
 #define GENSEC_INTERFACE_VERSION 0
index 432d59ef244575f57fda3b66f4aa0fb38319e7f3..f30d3c5c62c443d181f5e33f4027c792b74d6663 100644 (file)
@@ -334,7 +334,8 @@ static const struct gensec_security_ops gensec_gssapi_krb5_security_ops = {
        .update         = gensec_gssapi_update,
        .wrap           = gensec_gssapi_wrap,
        .unwrap         = gensec_gssapi_unwrap,
-       .have_feature   = gensec_gssapi_have_feature
+       .have_feature   = gensec_gssapi_have_feature,
+       .disabled_by_default = True
 
 };
 
@@ -347,7 +348,8 @@ static const struct gensec_security_ops gensec_gssapi_spnego_security_ops = {
        .update         = gensec_gssapi_update,
        .wrap           = gensec_gssapi_wrap,
        .unwrap         = gensec_gssapi_unwrap,
-       .have_feature   = gensec_gssapi_have_feature
+       .have_feature   = gensec_gssapi_have_feature,
+       .disabled_by_default = True
 
 };
 
index f55006c6446ef1b3d884617dbd7ae72323b0c267..ce51cef89483b37a0428e0a391f8f1441af11fda 100644 (file)
@@ -712,6 +712,7 @@ static const struct gensec_security_ops gensec_krb5_security_ops = {
        .session_key    = gensec_krb5_session_key,
        .session_info   = gensec_krb5_session_info,
        .have_feature   = gensec_krb5_have_feature,
+       .disabled_by_default = True
 };
 
 static const struct gensec_security_ops gensec_ms_krb5_security_ops = {
@@ -724,6 +725,7 @@ static const struct gensec_security_ops gensec_ms_krb5_security_ops = {
        .session_key    = gensec_krb5_session_key,
        .session_info   = gensec_krb5_session_info,
        .have_feature   = gensec_krb5_have_feature,
+       .disabled_by_default = True
 };
 
 
index 00c9133067d65171a630328539d461cb5ca12f7f..da23dd02efc1469137113d0edabff23d0cb28fa7 100644 (file)
@@ -3078,11 +3078,6 @@ BOOL lp_load(const char *pszFname, BOOL global_only, BOOL save_defaults,
                lp_do_parameter(-1, "wins server", "127.0.0.1");
        }
 
-       lp_do_parameter(-1, "gensec:gssapi_krb5", "False");
-       lp_do_parameter(-1, "gensec:gssapi_spnego", "False");
-       lp_do_parameter(-1, "gensec:krb5", "False");
-       lp_do_parameter(-1, "gensec:ms_krb5", "False");
-
        init_iconv();
 
        return (bRetval);