Linelog fails when attribute does not exist

R3DNano r3dnano at gmail.com
Tue Aug 6 13:23:49 CEST 2019


Hi!
What can I do when I have a bunch of attributes on a linelog module and
some of them are not on the standard dictionaries?
Is there a way to default to something and avoid freeradius to crash (well,
it's just the module what crashes)

Let me explain: Previously, I asked how can I default to a value in case an
attribute was empty: That part is fixed.
Now, I have a bunch (like 50 or 60) attributes on a linelog and some of
them are not on the standard dictionaries (Those values have been handed
down to me, so I have no easy way of finding out which device could they
correspond to)
Of course, because some of those values are unknown to freeradius, the
module crashes and it's reject time!
The log does not specify which specific attribute is the offending one,
since they are all concatenated with a comma on this fashion:
"%{%{User-Name}:-},%{%{NAS-IP-Address}:-},%{%{NAS-Port}:-},....."

Appart from finding out which is the correct dictionary and importing it to
my setup, is there a magic way to say to freeradius "no, if you don't know
what this attribute is, show nothing, but don't crash"
Knowing which attribute is failing would be superb.

Thanks!


On Mon, Jul 29, 2019 at 9:03 PM R3DNano <r3dnano at gmail.com> wrote:

> Sorry,  yeah, I meant fail, not crash: you're right.
>
> I completely forgot I could default to anything else.
>
> Thanks fort the reply!!
>
> On Mon, Jul 29, 2019 at 8:28 PM Alan DeKok <aland at deployingradius.com>
> wrote:
>
>> On Jul 29, 2019, at 2:17 PM, R3DNano <r3dnano at gmail.com> wrote:
>> >
>> > I'm tryin to implement linelog so I can send information to a remote
>> syslog
>> > server.
>> > It seems to work perfectly unless I try to send an attribute that is not
>> > defined or used at the time.
>> > For this reason, the linelog module fails to send any data.
>> > Is there any way to make it default to something else like an empty
>> value
>> > so it does not crash instead?
>>
>>   It shouldn't *crash*.  It should just fail.
>>
>>   See "man unlang".  You can use optional expansions:
>>
>>         %{%{User-Name}:-?}
>>
>>   Will expand to %{User-Name} if it exists, otherwise to "?"
>>
>>   Alan DeKok.
>>
>>
>> -
>> List info/subscribe/unsubscribe? See
>> http://www.freeradius.org/list/users.html
>
>


More information about the Freeradius-Users mailing list