#endif
#ifdef WITH_TLS
bool tls_required; //!< whether TLS encryption is required.
-
+ fr_tls_server_conf_t *tls;
#ifdef WITH_RADIUSV11
char const *radiusv11_name;
fr_radiusv11_t radiusv11;
{
RADCLIENT *c;
char const *name2;
+ CONF_SECTION *tls;
name2 = cf_section_name2(cs);
if (!name2) {
return NULL;
}
+ /*
+ * Check the TLS configuration.
+ */
+ tls = cf_section_sub_find(cs, "tls");
+#ifndef WITH_TLS
+ if (tls) {
+ cf_log_err_cs(cs, "TLS transport is not available in this executable");
+ goto error;
+ }
+#endif
+
/*
* Global clients can set servers to use, per-server clients cannot.
*/
c->shortname);
}
+#ifdef WITH_TLS
+ if (tls) {
+ c->tls = tls_client_conf_parse(tls);
+ if (!c->tls) goto error;
+ }
+#endif
+
return c;
}