Some RLM_MODULE_INVALID events are not logged via detail

Boris Lytochkin lytboris at yandex-team.ru
Wed Oct 30 21:02:07 CET 2019


Hi.

See inline.

On 30.10.2019 19:58, Alan DeKok wrote:
> On Oct 30, 2019, at 12:47 PM, Boris Lytochkin <lytboris at yandex-team.ru> wrote:
>> error appearing in the log and subsequent Access-Reject sent from RADIUS server (version 3.0.15 with a bit of pull requests still not merged :).
>>
>> It seems that this configuration does not catch that particular Access-Reject into detail(ed) log:
>> ==================
>>          detail auth_log {
>>                  header = "%t (%I)"
>>                  filename = ${radacctdir}/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-%Y%m%d
>>                  log_packet_header = yes
>>                  permissions = 0640
>>          }
>>
>>          authenticate {
>>                  Auth-Type EAP {
>>                          eap {
>>                                  handled = 9999
>>                          }
>>                          if (handled) {
>>                                  auth_log.post-auth
>>                                  # logging is done, return
>>                                  return
>>                          }
>>                          # eap module returned OK so we go a bit further
>>                          perl
>>                          # Access-Accept/Reject will be logged by authorize section
>    The reject is logged by the Post-Auth section.
>
>>                  }
>>          }
>>
>>          post-auth {
>>                  auth_log
>>                  Post-Auth-Type REJECT {
>>                          auth_log
>    That should work.
But it does not for the "State" error -  packet holding Access-Reject is 
not recorded via detail.

>> Am I missing something? I took a quick tour though the code and failed to find a place where radiusd decides to **log**
>> " Login incorrect (eap_tls: TLS Alert read:fatal:unknown CA):"
>> into detail and **not to log**
>> "Login incorrect (eap: EAP requires the State attribute to work, but no State exists in the Access-Request packet.)"
>    The modules add a Module-Failure-Message to the request.  When the "Login incorrect" message is logged, that function looks for Module-Failure-Message, and adds that text to the log message.
Yep, the thing is that "State" message goes into radius log but 
Access-Reject packet is not being logged into auth_log.
If you do not have any ideas why this happens I would go with further 
debugging via raddebug as we're unable to reproduce the issue in the lab 
environment.

>> pp/s. Is there a way to print packet identifier as it is sent over the wire into detailed log? I made a trivial patch for that seeing no documented way exist to do that:
> Not really.   We can take a look at adding it.
Before I make a pull request it would be nice to know if that patch is 
good enough or I should re-write it as an attribute to be usable anywhere?

-- 
Boris Lytochkin
Yandex NOC
+7 (495) 739 70 00 ext. 7671



More information about the Freeradius-Users mailing list