25 RCSID(
"$Id: 61a5483851b769f32c04ffc7320bbd7b25752a08 $")
27 #include <freeradius-devel/radiusd.h>
28 #include <freeradius-devel/modules.h>
30 #ifdef WITH_DYNAMIC_CLIENTS
47 if ((request->packet->src_port != 0) || (request->packet->vps != NULL) ||
48 (request->parent != NULL)) {
49 RDEBUG(
"Improper configuration");
53 if (!request->client || !request->client->cs) {
54 RDEBUG(
"Unknown client definition");
60 RDEBUG(
"No directory configuration in the client");
66 RDEBUG(
"No value given for the directory entry in the client");
70 length = strlen(value);
71 if (length > (
sizeof(buffer) - 256)) {
72 RDEBUG(
"Directory name too long");
76 memcpy(buffer, value, length + 1);
78 buffer + length,
sizeof(buffer) - length - 1);
83 c =
client_read(buffer, (request->client->server != NULL),
true);
97 RDEBUG(
"Dynamic clients are unsupported in this build");
114 .name =
"dynamic_clients",
module_t rlm_dynamic_clients
The module is OK, continue.
Metadata exported by the module.
static rlm_rcode_t mod_authorize(void *instance, REQUEST *request)
Handle authorization requests using Couchbase document data.
#define RLM_TYPE_THREAD_SAFE
Module is threadsafe.
CONF_PAIR * cf_pair_find(CONF_SECTION const *, char const *name)
char const * cf_pair_value(CONF_PAIR const *pair)
RADCLIENT * client_read(char const *filename, int in_server, int flag)
Configuration AVP similar to a VALUE_PAIR.
enum rlm_rcodes rlm_rcode_t
Return codes indicating the result of the module call.
Module succeeded without doing anything.
Describes a host allowed to send packets to the server.
uint64_t magic
Used to validate module struct.
Module failed, don't reply.
1 methods index for authorize section.
char const * fr_inet_ntoh(fr_ipaddr_t const *src, char *out, size_t outlen)
Perform reverse resolution of an IP address.
static rlm_rcode_t CC_HINT(nonnull)