]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
virtual_server_cf_parse returns a virtual_server_t not a CONF_SECTION
authorNick Porter <nick@portercomputing.co.uk>
Thu, 7 Aug 2025 11:25:43 +0000 (12:25 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Thu, 7 Aug 2025 11:31:54 +0000 (12:31 +0100)
src/lib/tls/conf.c

index c3e41ad0dd02894da37975b56d7ff1d94437eb73..bb190214c501c9f062dc9f78145e7a8c0de6c8d3 100644 (file)
@@ -246,11 +246,16 @@ conf_parser_t fr_tls_client_config[] = {
 static int tls_virtual_server_cf_parse(TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, conf_parser_t const *rule)
 {
        fr_tls_conf_t   *conf = talloc_get_type_abort(parent, fr_tls_conf_t);
+       virtual_server_t const  *vs = NULL;
 
-       if (virtual_server_cf_parse(ctx, out, parent, ci, rule) < 0) return -1;
+       if (virtual_server_cf_parse(ctx, &vs, parent, ci, rule) < 0) return -1;
 
-       if (!conf->virtual_server) return 0;
+       if (!vs) return 0;
 
+       /*
+        *      `out` points to conf->virtual_server
+        */
+       *((CONF_SECTION const **)out) = virtual_server_cs(vs);
        conf->verify_certificate = cf_section_find(conf->virtual_server, "verify", "certificate") ? true : false;
        conf->new_session = cf_section_find(conf->virtual_server, "new", "session") ? true : false;
        conf->establish_session = cf_section_find(conf->virtual_server, "establish", "session") ? true : false;