CONF_SECTION *acct_error;
CONF_SECTION *do_not_respond;
+
+ CONF_SECTION *new_client;
+ CONF_SECTION *add_client;
+ CONF_SECTION *deny_client;
} process_tacacs_sections_t;
typedef struct {
#define PROCESS_PACKET_TYPE fr_tacacs_packet_code_t
#define PROCESS_CODE_MAX FR_TACACS_CODE_MAX
+#define PROCESS_CODE_DO_NOT_RESPOND FR_TACACS_CODE_DO_NOT_RESPOND
#define PROCESS_PACKET_CODE_VALID FR_TACACS_PACKET_CODE_VALID
#define PROCESS_INST process_tacacs_t
+#define PROCESS_CODE_DYNAMIC_CLIENT FR_TACACS_CODE_AUTH_PASS
#include <freeradius-devel/server/process.h>
// @todo - debug stuff!
// tacacs_packet_debug(request, request->packet, &request->request_pairs, true);
+ if (unlikely(request_is_dynamic_client(request))) {
+ return new_client(p_result, mctx, request);
+ }
+
return state->recv(p_result, mctx, request);
}
.offset = PROCESS_CONF_OFFSET(do_not_respond),
},
+ DYNAMIC_CLIENT_SECTIONS,
+
COMPILE_TERMINATOR
};