# 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
* 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;
}
/*
server default {
namespace = radius
- listen {
- type = Access-Request
- }
-
recv Access-Request {
control.Password.Cleartext := 'hello'
server default {
namespace = dhcpv4
- listen {
- type = Discover
- type = Request
- }
-
recv Discover {
ok
}
server default {
namespace = radius
- listen {
- type = Access-Request
- type = CoA-Request
- }
-
recv Access-Request {
control.Auth-Type := ::accept
}
listen detail {
type = Accounting-Request
+ transport = file
+
proto = detail
exit_when_done = yes
server default {
namespace = dhcpv4
- listen {
- type = Discover
- }
-
recv Discover {
#
# Include the test file specified by the
server default {
namespace = dhcpv6
- listen {
- type = Solicit
- }
-
recv Solicit {
#
# Include the test file specified by the
server default {
namespace = radius
- listen {
- type = Access-Request
- }
-
dictionary {
tlv my-tlv {
uint32 a
server second {
namespace = radius
- listen {
- type = Access-Request
- }
-
recv Access-Request {
reply.Reply-Message := "call second"
server default {
namespace = radius
- listen {
- type = Access-Request
- }
-
recv Access-Request {
#
# Include the test file specified by the
server dhcpv4 {
namespace = dhcpv4
- listen {
- type = Discover
- type = Request
- }
-
recv Discover {
reply += {
Hardware-Type = Ethernet
server dhcpv6 {
namespace = dhcpv6
- listen local_network {
- type = Request
- type = Solicit
- type = Information-Request
- }
-
dhcpv6 {
# status_code_on_success = no
# send_failure_message = no
server default {
namespace = radius
- listen {
- # no transport means no transport...
- type = Access-Request
-
- }
-
recv Access-Request {
&control.Password.Cleartext := 'hello'