Skip to content

Commit 19abde1

Browse files
committed
Use libldap default values for require_cert
1 parent bf86a30 commit 19abde1

2 files changed

Lines changed: 18 additions & 14 deletions

File tree

src/modules/rlm_ldap/ldap.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1131,7 +1131,9 @@ void *mod_conn_create(void *instance)
11311131
maybe_ldap_option(LDAP_OPT_X_TLS_RANDOM_FILE, "randfile", inst->tls_randfile);
11321132

11331133
# ifdef LDAP_OPT_X_TLS_NEVER
1134-
do_ldap_option(LDAP_OPT_X_TLS_REQUIRE_CERT, "tls_require_cert", &inst->tls_require_cert);
1134+
if (inst->tls_require_cert_str) {
1135+
do_ldap_option(LDAP_OPT_X_TLS_REQUIRE_CERT, "tls_require_cert", &inst->tls_require_cert);
1136+
}
11351137
# endif
11361138

11371139
/*

src/modules/rlm_ldap/rlm_ldap.c

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ static CONF_PARSER tls_config[] = {
6868
{"certfile", PW_TYPE_FILENAME, offsetof(ldap_instance_t, tls_certfile), NULL, NULL},
6969
{"keyfile", PW_TYPE_FILENAME, offsetof(ldap_instance_t, tls_keyfile), NULL, NULL}, // OK if it changes on HUP
7070
{"randfile", PW_TYPE_STRING_PTR, offsetof(ldap_instance_t, tls_randfile), NULL, NULL},
71-
{"require_cert", PW_TYPE_STRING_PTR, offsetof(ldap_instance_t, tls_require_cert_str), NULL, "allow"},
71+
{"require_cert", PW_TYPE_STRING_PTR, offsetof(ldap_instance_t, tls_require_cert_str), NULL, NULL},
7272

7373
{ NULL, -1, 0, NULL, NULL }
7474
};
@@ -573,20 +573,22 @@ static int mod_instantiate(CONF_SECTION *conf, void *instance)
573573
goto error;
574574
}
575575

576-
#ifdef LDAP_OPT_X_TLS_NEVER
577-
/*
578-
* Convert cert strictness to enumerated constants
579-
*/
580-
inst->tls_require_cert = fr_str2int(ldap_tls_require_cert, inst->tls_require_cert_str, -1);
581-
if (inst->tls_require_cert < 0) {
582-
LDAP_ERR("Invalid 'tls.require_cert' value \"%s\", expected 'never', 'demand', 'allow', 'try' or 'hard'",
583-
inst->tls_require_cert_str);
584-
goto error;
585-
}
576+
if (inst->tls_require_cert_str) {
577+
#ifdef LDAP_OPT_X_TLS_NEVER
578+
/*
579+
* Convert cert strictness to enumerated constants
580+
*/
581+
inst->tls_require_cert = fr_str2int(ldap_tls_require_cert, inst->tls_require_cert_str, -1);
582+
if (inst->tls_require_cert < 0) {
583+
LDAP_ERR("Invalid 'tls.require_cert' value \"%s\", expected 'never', 'demand', 'allow', "
584+
"'try' or 'hard'", inst->tls_require_cert_str);
585+
goto error;
586+
}
586587
#else
587-
LDAP_DBGW("Modifying 'tls.require_cert' is not supported by current version of libldap. Please upgrade libldap "
588-
"and rebuild this module");
588+
LDAP_DBGW("Modifying 'tls.require_cert' is not supported by current version of libldap.
589+
"Please upgrade libldap and rebuild this module");
589590
#endif
591+
}
590592
/*
591593
* Build the attribute map
592594
*/

0 commit comments

Comments
 (0)