From: Alan T. DeKok Date: Wed, 30 Apr 2025 17:36:01 +0000 (-0400) Subject: all listeners must have a 'transport' section X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1e8bd141d61d0721485f90e57c6f59341fcc0491;p=thirdparty%2Ffreeradius-server.git all listeners must have a 'transport' section --- diff --git a/raddb/sites-available/detail b/raddb/sites-available/detail index d417355172..76f170ee86 100644 --- a/raddb/sites-available/detail +++ b/raddb/sites-available/detail @@ -27,10 +27,16 @@ server detail { # says "load the detail file processor, and not the typical # RADIUS UDP / TCP socket IO. # - listen detail { + listen detail { # - # Overrides the default transport prefix set by - # namespace and loads the detail reader code. + # We read from files + # + transport = file + + # + # A special-case over-ride for detail files. We are in the + # RADIUS namespace, but we load a special handler for the detail + # file # proto = detail diff --git a/src/lib/server/virtual_servers.c b/src/lib/server/virtual_servers.c index 968522a51b..887c8b5365 100644 --- a/src/lib/server/virtual_servers.c +++ b/src/lib/server/virtual_servers.c @@ -444,10 +444,10 @@ static int listen_parse(TALLOC_CTX *ctx, void *out, UNUSED void *parent, CONF_IT * modules. Create a unique name for them. */ cp = cf_pair_find(listener_cs, "transport"); - if (cp && cf_pair_value(cp)) { - transport = cf_pair_value(cp); - } else { - transport = "generic"; + if (!cp || + (transport = cf_pair_value(cp)) == NULL) { + cf_log_err(listener_cs, "Invalid 'listen' section - No 'transport = ...' definition was found."); + return -1; } /* diff --git a/src/tests/auth/unit_test_module.conf b/src/tests/auth/unit_test_module.conf index 45ed337771..af87c4a633 100644 --- a/src/tests/auth/unit_test_module.conf +++ b/src/tests/auth/unit_test_module.conf @@ -26,10 +26,6 @@ modules { server default { namespace = radius - listen { - type = Access-Request - } - recv Access-Request { control.Password.Cleartext := 'hello' diff --git a/src/tests/bin/dhcpv4.conf b/src/tests/bin/dhcpv4.conf index b8accaa8d2..ed23f213c5 100644 --- a/src/tests/bin/dhcpv4.conf +++ b/src/tests/bin/dhcpv4.conf @@ -10,11 +10,6 @@ modules { server default { namespace = dhcpv4 - listen { - type = Discover - type = Request - } - recv Discover { ok } diff --git a/src/tests/bin/unit_test_module.conf b/src/tests/bin/unit_test_module.conf index 7b1626b330..b010c5a530 100644 --- a/src/tests/bin/unit_test_module.conf +++ b/src/tests/bin/unit_test_module.conf @@ -10,11 +10,6 @@ modules { server default { namespace = radius - listen { - type = Access-Request - type = CoA-Request - } - recv Access-Request { control.Auth-Type := ::accept } diff --git a/src/tests/detail/config/radiusd.conf b/src/tests/detail/config/radiusd.conf index a59c04950e..a2c6627596 100644 --- a/src/tests/detail/config/radiusd.conf +++ b/src/tests/detail/config/radiusd.conf @@ -67,6 +67,8 @@ server default { listen detail { type = Accounting-Request + transport = file + proto = detail exit_when_done = yes diff --git a/src/tests/keywords/dhcpv4.conf b/src/tests/keywords/dhcpv4.conf index 73b1353966..253a59ff79 100644 --- a/src/tests/keywords/dhcpv4.conf +++ b/src/tests/keywords/dhcpv4.conf @@ -28,10 +28,6 @@ $INCLUDE policy.conf server default { namespace = dhcpv4 - listen { - type = Discover - } - recv Discover { # # Include the test file specified by the diff --git a/src/tests/keywords/dhcpv6.conf b/src/tests/keywords/dhcpv6.conf index 080dda85b5..97edd98922 100644 --- a/src/tests/keywords/dhcpv6.conf +++ b/src/tests/keywords/dhcpv6.conf @@ -28,10 +28,6 @@ $INCLUDE policy.conf server default { namespace = dhcpv6 - listen { - type = Solicit - } - recv Solicit { # # Include the test file specified by the diff --git a/src/tests/keywords/radius.conf b/src/tests/keywords/radius.conf index 02902ff2e4..bb3e5103a3 100644 --- a/src/tests/keywords/radius.conf +++ b/src/tests/keywords/radius.conf @@ -131,10 +131,6 @@ $INCLUDE policy.conf server default { namespace = radius - listen { - type = Access-Request - } - dictionary { tlv my-tlv { uint32 a @@ -179,10 +175,6 @@ server default { server second { namespace = radius - listen { - type = Access-Request - } - recv Access-Request { reply.Reply-Message := "call second" diff --git a/src/tests/modules/unit_test_module.conf b/src/tests/modules/unit_test_module.conf index 64503f4410..1aede855ba 100644 --- a/src/tests/modules/unit_test_module.conf +++ b/src/tests/modules/unit_test_module.conf @@ -39,10 +39,6 @@ $-INCLUDE $ENV{MODULE_TEST_DIR}/clients.conf server default { namespace = radius - listen { - type = Access-Request - } - recv Access-Request { # # Include the test file specified by the diff --git a/src/tests/process/dhcpv4/server.conf b/src/tests/process/dhcpv4/server.conf index 493c76aba9..ae385c175c 100644 --- a/src/tests/process/dhcpv4/server.conf +++ b/src/tests/process/dhcpv4/server.conf @@ -41,11 +41,6 @@ modules { server dhcpv4 { namespace = dhcpv4 - listen { - type = Discover - type = Request - } - recv Discover { reply += { Hardware-Type = Ethernet diff --git a/src/tests/process/dhcpv6/server.conf b/src/tests/process/dhcpv6/server.conf index 597092d982..1e00d9d16e 100644 --- a/src/tests/process/dhcpv6/server.conf +++ b/src/tests/process/dhcpv6/server.conf @@ -38,12 +38,6 @@ policy { server dhcpv6 { namespace = dhcpv6 - listen local_network { - type = Request - type = Solicit - type = Information-Request - } - dhcpv6 { # status_code_on_success = no # send_failure_message = no diff --git a/src/tests/xlat/unit_test_module.conf b/src/tests/xlat/unit_test_module.conf index 03bd37fda1..256d6e4e3a 100644 --- a/src/tests/xlat/unit_test_module.conf +++ b/src/tests/xlat/unit_test_module.conf @@ -22,12 +22,6 @@ modules { server default { namespace = radius - listen { - # no transport means no transport... - type = Access-Request - - } - recv Access-Request { &control.Password.Cleartext := 'hello'