update disconnect

Anatoliy cphlpd at gmail.com
Wed Jul 12 20:49:07 UTC 2023


In accounting section I have configuration like
        sql {
            fail = 1
        }

        if ( !fail ) {
            if (&Class) {
                if (&Class == "outage" && &Acct-Status-Type ==
"Interim-Update") {
                    update disconnect {
                        Acct-Session-Id := "%{Acct-Session-Id}"
                    }
                }
            }
        }

We check that DB is working and if Class attribute eq outage(this set when
DB not accessible) freeradius should send DM message to NAS to disconnect
this subscriber.
We tested this with freeradius 3.2.0 and it works fine, but after upgrading
to 3.2.3 we got error
Here is part of debug log

(1128)     [sql] = ok
(1128)     if ( !fail ) {
(1128)     if ( !fail )  -> TRUE
(1128)     if ( !fail )  {
(1128)       if (&Class) {
(1128)       if (&Class)  -> TRUE
(1128)       if (&Class)  {
(1128)         if (&Class == "outage" && &Acct-Status-Type ==
"Interim-Update") {
(1128)         if (&Class == "outage" && &Acct-Status-Type ==
"Interim-Update")  -> TRUE
(1128)         if (&Class == "outage" && &Acct-Status-Type ==
"Interim-Update")  {
(1128)           update disconnect {
(1128)             ERROR: You can only do 'update coa' when processing a
packet which was received from the network
(1128)           } # update disconnect = invalid
(1128)         } # if (&Class == "outage" && &Acct-Status-Type ==
"Interim-Update")  = invalid
(1128)       } # if (&Class)  = invalid
(1128)     } # if ( !fail )  = invalid
(1128)   } # accounting = invalid
(1128) Finished internally proxied request.
(1128) Clearing existing &reply: attributes
(1128) Found Post-Proxy-Type Fail-Accounting

Can you help to understand how to fix this ?


More information about the Freeradius-Users mailing list