From: Nick Porter Date: Wed, 21 Jan 2026 14:49:40 +0000 (+0000) Subject: Virtual server `catch timeout` is now testing `timeout` in `finally` X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=73f6022f327bd8c09493bec188eba7ca4dd351c2;p=thirdparty%2Ffreeradius-server.git Virtual server `catch timeout` is now testing `timeout` in `finally` --- diff --git a/raddb/sites-available/default b/raddb/sites-available/default index 4f192269a01..28b75be9dec 100644 --- a/raddb/sites-available/default +++ b/raddb/sites-available/default @@ -1518,38 +1518,24 @@ send Accounting-Response { } # -# ## Timeouts +# ## Finally # -# A virtual server can have a `catch timeout` section. The format and -# contents are the same as the normal `catch timeout`. +# If a `finally` section is defined, then all packets will be processed +# through it. # -# This section limits the total processing time for a request. The -# values given here should be less than `request.timeout`. +# This includes packets whose processing has been stopped due to reaching +# `request.timeout`. Such packets can be detected by testing for the +# `timeout` rcode. # -# When a request reaches `request.timeout`, it is forcibly stopped. -# No further processing takes place. +# The `finally` section can be used as a common logging section for +# all packets, allowing their final state to be captured. # -# When a request reaches the time specified in this `timeout` section, -# all normal processing is stopped. The `timeout` section is then run. -# -# This configuration allows the server to take action when a request -# is taking too long. For example, it could write a failure message -# to a log file. -# -# The `timeout` section can contain any `unlang` keyword, including -# `call`, and other `timeout` sections. If you need to have a -# "timeout for the timeout", then just add anoither `timeout` section -# inside of this one. -# -# Note that `request.timeout` still applies. So the timeout value -# given here should be less than the value given by -# `request.timeout`. -# -# - -# catch timeout { -# do_logging_here -# ... +#finally { +# if (timeout) { +# logging relating to timeouts +# return # } - +# +# normal packet logging +#} }