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 ?
On Jul 12, 2023, at 4:49 PM, Anatoliy <cphlpd@gmail.com> wrote:
Can you help to understand how to fix this ?
You can use "update parent.disconnect" instead of "update disconnect". The new error message is " ERROR: You can only do 'update coa' when processing a packet which was received from the network" It was added because when a request was proxied to an internal virtual server, "update disconnect" just didn't work. It might sometimes work, but it wouldn't work consistently. The good news is that you can just use "update parent.disconnect", and it will work. Alan DeKok.
Hi Alan , thank you , will try and update On Thu, Jul 13, 2023 at 5:31 AM Alan DeKok <aland@deployingradius.com> wrote:
On Jul 12, 2023, at 4:49 PM, Anatoliy <cphlpd@gmail.com> wrote:
Can you help to understand how to fix this ?
You can use "update parent.disconnect" instead of "update disconnect".
The new error message is " ERROR: You can only do 'update coa' when processing a packet which was received from the network"
It was added because when a request was proxied to an internal virtual server, "update disconnect" just didn't work. It might sometimes work, but it wouldn't work consistently.
The good news is that you can just use "update parent.disconnect", and it will work.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Hi Alan, just test with parent.disconnect , and it is also fails (36) if (&Class == "outage" && &Acct-Status-Type == "Interim-Update") -> TRUE (36) if (&Class == "outage" && &Acct-Status-Type == "Interim-Update") { (36) update parent.disconnect { (36) ERROR: You can only do 'update coa' when processing a packet which was received from the network (36) } # update parent.disconnect = invalid On Thu, Jul 13, 2023 at 5:31 AM Alan DeKok <aland@deployingradius.com> wrote:
On Jul 12, 2023, at 4:49 PM, Anatoliy <cphlpd@gmail.com> wrote:
Can you help to understand how to fix this ?
You can use "update parent.disconnect" instead of "update disconnect".
The new error message is " ERROR: You can only do 'update coa' when processing a packet which was received from the network"
It was added because when a request was proxied to an internal virtual server, "update disconnect" just didn't work. It might sometimes work, but it wouldn't work consistently.
The good news is that you can just use "update parent.disconnect", and it will work.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
update: on 3.2.1 update disconnect works fine, update parent.disconnect - does not work On Sat, Jul 15, 2023 at 11:54 AM Anatoliy <cphlpd@gmail.com> wrote:
Hi Alan, just test with parent.disconnect , and it is also fails
(36) if (&Class == "outage" && &Acct-Status-Type == "Interim-Update") -> TRUE (36) if (&Class == "outage" && &Acct-Status-Type == "Interim-Update") { (36) update parent.disconnect { (36) ERROR: You can only do 'update coa' when processing a packet which was received from the network (36) } # update parent.disconnect = invalid
On Thu, Jul 13, 2023 at 5:31 AM Alan DeKok <aland@deployingradius.com> wrote:
On Jul 12, 2023, at 4:49 PM, Anatoliy <cphlpd@gmail.com> wrote:
Can you help to understand how to fix this ?
You can use "update parent.disconnect" instead of "update disconnect".
The new error message is " ERROR: You can only do 'update coa' when processing a packet which was received from the network"
It was added because when a request was proxied to an internal virtual server, "update disconnect" just didn't work. It might sometimes work, but it wouldn't work consistently.
The good news is that you can just use "update parent.disconnect", and it will work.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
On Jul 15, 2023, at 1:54 AM, Anatoliy <cphlpd@gmail.com> wrote:
Hi Alan, just test with parent.disconnect , and it is also fails
(36) if (&Class == "outage" && &Acct-Status-Type == "Interim-Update") -> TRUE (36) if (&Class == "outage" && &Acct-Status-Type == "Interim-Update") { (36) update parent.disconnect { (36) ERROR: You can only do 'update coa' when processing a packet which was received from the network (36) } # update parent.disconnect = invalid
I've pushed a fix to the v3.2.x branch. See https://github.com/FreeRADIUS/freeradius-server/commit/acc670add279abacaadeb... You can install v3.2.x from source if necessary. The fix will be in 3.2.4. Alan DeKok.
Hi Alan , thank you , that is awesome how fast you fix this. When 3.2.4 is will be released, maybe approx date ? On Sat, Jul 15, 2023 at 5:37 PM Alan DeKok <aland@deployingradius.com> wrote:
On Jul 15, 2023, at 1:54 AM, Anatoliy <cphlpd@gmail.com> wrote:
Hi Alan, just test with parent.disconnect , and it is also fails
(36) if (&Class == "outage" && &Acct-Status-Type == "Interim-Update") -> TRUE (36) if (&Class == "outage" && &Acct-Status-Type == "Interim-Update") { (36) update parent.disconnect { (36) ERROR: You can only do 'update coa' when processing a packet which was received from the network (36) } # update parent.disconnect = invalid
I've pushed a fix to the v3.2.x branch. See https://github.com/FreeRADIUS/freeradius-server/commit/acc670add279abacaadeb...
You can install v3.2.x from source if necessary. The fix will be in 3.2.4.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
participants (2)
-
Alan DeKok -
Anatoliy