How to get client IP address/target port in python code

Dmitriy Golubev golubev.dmitriy at gmail.com
Wed May 8 14:29:11 CEST 2019


Alan, good day!

Thank you for your reply. When I post this question I found 2 things:
1. This code working:
  update request {
                &Packet-Src-IP-Address = "%{Packet-Src-IP-Address}"
                &Packet-Dst-Port = "%{Packet-Dst-Port}"
            }
Is it correct? In your code I see that you don't use '&', don't expand
attribute value and use fake attribute name instead of real one. I am
not expert in unlang, can you explain these differences?

2. 'preprocess' module add NAS-IP-Address and populate it with Client
IP address in case if it was not filed by RADIUS client. This behavior
is ok for me.

Thanks


On Wed, May 8, 2019 at 1:30 PM Alan DeKok <aland at deployingradius.com> wrote:
>
> On May 8, 2019, at 5:37 AM, Dmitriy Golubev <golubev.dmitriy at gmail.com> wrote:
> >
> > I use rlm_python plugin to add custom logic to the Freeradius.
> > For logging purposes I want to know client IP address and target port.
> > I check source code of freeradius and found that its possible to
> > obtain this information from request structure. However I can't find
> > how to get it from python code.
>
>   The attributes are "virtual" in that you can reference them, but they're not in any list.
>
>   The fix is simple: make them real.
>
>         update request {
>                 Tmp-IP-Address-0 := Packet-Src-IP-Address
>                 ...
>         }
>
>   See Packet Src / Dst IP-Address / Port.
>
>   Alan DeKok.
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


More information about the Freeradius-Users mailing list