From: Nick Porter Date: Tue, 12 Mar 2024 14:54:21 +0000 (+0000) Subject: Parse FreeRADIUS-Client-Src-IP-Address when creating dynamic clients X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=66dec2f343dc403479baff43fa723c0105412d23;p=thirdparty%2Ffreeradius-server.git Parse FreeRADIUS-Client-Src-IP-Address when creating dynamic clients And copy the resulting field back when the client is created. Makes dynamic clients consistent with static clients. --- diff --git a/src/lib/io/master.c b/src/lib/io/master.c index 422fa879338..df78db39dc9 100644 --- a/src/lib/io/master.c +++ b/src/lib/io/master.c @@ -2443,6 +2443,7 @@ static ssize_t mod_write(fr_listen_t *li, void *packet_ctx, fr_time_t request_ti DUP_FIELD(nas_type); COPY_FIELD(ipaddr); + COPY_FIELD(src_ipaddr); COPY_FIELD(message_authenticator); COPY_FIELD(use_connected); diff --git a/src/lib/server/client.c b/src/lib/server/client.c index 58477008398..bf08aa2d973 100644 --- a/src/lib/server/client.c +++ b/src/lib/server/client.c @@ -978,6 +978,11 @@ fr_client_t *client_afrom_request(TALLOC_CTX *ctx, request_t *request) value = vp->vp_strvalue; break; + case FR_FREERADIUS_CLIENT_SRC_IP_ADDRESS: + attr = "src_ipaddr"; + value = fr_inet_ntop(buffer, sizeof(buffer), &vp->vp_ip); + break; + case FR_FREERADIUS_CLIENT_REQUIRE_MA: attr = "require_message_authenticator"; if (vp->vp_bool) {