]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
8 months agotrack more per-connection stats
Alan T. DeKok [Wed, 25 Dec 2024 17:54:22 +0000 (12:54 -0500)] 
track more per-connection stats

8 months agoquiet analyzer
Alan T. DeKok [Thu, 26 Dec 2024 19:35:31 +0000 (14:35 -0500)] 
quiet analyzer

8 months agoquiet analyzer
Alan T. DeKok [Thu, 26 Dec 2024 19:35:20 +0000 (14:35 -0500)] 
quiet analyzer

8 months agodirfd() is a C library function, and not a variable name
Alan T. DeKok [Thu, 26 Dec 2024 19:34:05 +0000 (14:34 -0500)] 
dirfd() is a C library function, and not a variable name

8 months agoexpire old home servers, on a fixed 60s timer
Alan T. DeKok [Thu, 26 Dec 2024 19:21:49 +0000 (14:21 -0500)] 
expire old home servers, on a fixed 60s timer

8 months agoallow modules to be commented out trivially
Alan T. DeKok [Thu, 26 Dec 2024 17:09:05 +0000 (12:09 -0500)] 
allow modules to be commented out trivially

8 months agoadd support for dynamic proxying
Alan T. DeKok [Thu, 26 Dec 2024 16:56:22 +0000 (11:56 -0500)] 
add support for dynamic proxying

The home servers are never cleaned up or timed out.  The home
servers also can't have their secrets changed.

8 months agoadd API for RB trees with expiry timers
Alan T. DeKok [Thu, 26 Dec 2024 17:07:33 +0000 (12:07 -0500)] 
add API for RB trees with expiry timers

8 months agomove common elements to one data structure
Alan T. DeKok [Thu, 26 Dec 2024 16:37:32 +0000 (11:37 -0500)] 
move common elements to one data structure

in preparation for adding trunked home servers

8 months agodon't complain about limit_proxy_state if we have Message-Authenticator
Alan T. DeKok [Thu, 26 Dec 2024 14:02:38 +0000 (09:02 -0500)] 
don't complain about limit_proxy_state if we have Message-Authenticator

if we set "require_message_authenticator = yes", then we don't need
to set (or complain about) limit_proxy_state

8 months agoget rid of bio_result_t
Alan T. DeKok [Thu, 26 Dec 2024 12:07:44 +0000 (07:07 -0500)] 
get rid of bio_result_t

now that we have them unified, they don't need to be two different
data structures and variables.  We can just always use one.

8 months agorename functions for clarity
Alan T. DeKok [Wed, 25 Dec 2024 22:25:08 +0000 (17:25 -0500)] 
rename functions for clarity

we're sending initial negotiation packets, so let's not name the
functions "status_check".  This makes it clearer that later "ping"
packets are different from the initial negotiation / setup

8 months agounify bio_result_t and bio_request_t
Alan T. DeKok [Wed, 25 Dec 2024 22:08:18 +0000 (17:08 -0500)] 
unify bio_result_t and bio_request_t

they have the same lifetime, so there is no need for them to be
separate data structures.

8 months agowe don't need to include <talloc.h>
Alan T. DeKok [Wed, 25 Dec 2024 15:04:20 +0000 (10:04 -0500)] 
we don't need to include <talloc.h>

8 months agoremove last bits of rlm_radius_udp
Alan T. DeKok [Tue, 24 Dec 2024 13:27:11 +0000 (08:27 -0500)] 
remove last bits of rlm_radius_udp

8 months agoonly complain if the user sets "interface = foo"
Alan T. DeKok [Tue, 24 Dec 2024 12:42:01 +0000 (07:42 -0500)] 
only complain if the user sets "interface = foo"

8 months agominor tweaks and clarifications
Alan T. DeKok [Tue, 24 Dec 2024 12:39:09 +0000 (07:39 -0500)] 
minor tweaks and clarifications

OSX has IP_BOUND_IF.

*BSD has IP_RECVIF, but no IP_SENDIF.  And IP_RECVIF is a socket
option which is set, and then causes any _subsequent_ recvmsg()
call to have another cmsg structure added, with the sockaddr_dl
containing the interface.  The application is then responsible
for comparing the interface IDs, and discarding packets which
don't match.

8 months agoAnother cbor negative limit fix
Nick Porter [Tue, 24 Dec 2024 10:31:15 +0000 (10:31 +0000)] 
Another cbor negative limit fix

8 months agoThe new radius module doesn't create rlm_radius_udp.so
Nick Porter [Tue, 24 Dec 2024 09:14:58 +0000 (09:14 +0000)] 
The new radius module doesn't create rlm_radius_udp.so

8 months agoenable the new radius module
Alan T. DeKok [Mon, 23 Dec 2024 14:32:11 +0000 (09:32 -0500)] 
enable the new radius module

8 months agominor tweaks
Alan T. DeKok [Mon, 23 Dec 2024 12:40:54 +0000 (07:40 -0500)] 
minor tweaks

8 months agouse unconnected-proxy and unconnected-replicate
Alan T. DeKok [Sun, 22 Dec 2024 14:12:33 +0000 (09:12 -0500)] 
use unconnected-proxy and unconnected-replicate

8 months agoactually set SO_RCVBUF to zero
Alan T. DeKok [Fri, 20 Dec 2024 23:08:35 +0000 (18:08 -0500)] 
actually set SO_RCVBUF to zero

8 months agoCorrect limit on negative cbor decode
Nick Porter [Mon, 23 Dec 2024 12:35:22 +0000 (12:35 +0000)] 
Correct limit on negative cbor decode

8 months agoBetter Coverity hint (CID #1619299)
Nick Porter [Mon, 23 Dec 2024 09:43:46 +0000 (09:43 +0000)] 
Better Coverity hint (CID #1619299)

In normal use, fr_nbo_from_uint64v will return 1 to 8 - telling Coverity
it can return 0 then leads to another false positive.

8 months agoPacify Coverity (CID #1634622)
Nick Porter [Mon, 23 Dec 2024 08:50:08 +0000 (08:50 +0000)] 
Pacify Coverity (CID #1634622)

Coverity doesn't see that buffer is being used as an output for
fr_pair_print, so complains about uninitialised use.

8 months agoMove pointer check before first use (CID #1635782)
Nick Porter [Mon, 23 Dec 2024 08:34:38 +0000 (08:34 +0000)] 
Move pointer check before first use (CID #1635782)

8 months agoCheck return of fr_pair_list_copy (CID #1636884)
Nick Porter [Sun, 22 Dec 2024 20:27:31 +0000 (20:27 +0000)] 
Check return of fr_pair_list_copy (CID #1636884)

8 months agoUse an attribute to record the type of TLS session resumption used
Nick Porter [Tue, 10 Dec 2024 17:29:39 +0000 (17:29 +0000)] 
Use an attribute to record the type of TLS session resumption used

8 months agoAdd placeholder establish session section
Nick Porter [Tue, 10 Dec 2024 12:04:34 +0000 (12:04 +0000)] 
Add placeholder establish session section

8 months agoAdd an optional "establish session" session
Nick Porter [Tue, 10 Dec 2024 11:55:52 +0000 (11:55 +0000)] 
Add an optional "establish session" session

Called after a TLS session is established, primarily intended for
logging.

8 months agoDon't duplicate TLS session info attributes
Nick Porter [Tue, 10 Dec 2024 11:41:06 +0000 (11:41 +0000)] 
Don't duplicate TLS session info attributes

They may already exist if the session is being resumed.

8 months agoAdd sample "new session" section
Nick Porter [Mon, 2 Dec 2024 13:25:45 +0000 (13:25 +0000)] 
Add sample "new session" section

8 months agoUse control attributes to set TLS min/max version
Nick Porter [Mon, 2 Dec 2024 13:24:00 +0000 (13:24 +0000)] 
Use control attributes to set TLS min/max version

8 months agoDefine attributes for setting TLS min/max versions
Nick Porter [Mon, 2 Dec 2024 12:07:59 +0000 (12:07 +0000)] 
Define attributes for setting TLS min/max versions

8 months agoIf a "new session" section exists run that before creating TLS session
Nick Porter [Mon, 2 Dec 2024 12:07:13 +0000 (12:07 +0000)] 
If a "new session" section exists run that before creating TLS session

8 months agoDetect if "new session" section exists
Nick Porter [Wed, 11 Dec 2024 12:30:13 +0000 (12:30 +0000)] 
Detect if "new session" section exists

8 months agoAdd fr_tls_new_session_push
Nick Porter [Wed, 11 Dec 2024 12:15:05 +0000 (12:15 +0000)] 
Add fr_tls_new_session_push

To run a subrequest though "new session"

8 months agoAdd "new session" to TLS process sections
Nick Porter [Mon, 2 Dec 2024 11:28:50 +0000 (11:28 +0000)] 
Add "new session" to TLS process sections

8 months agoset SO_RCVBUF to zero for unconnected sockets, too
Alan T. DeKok [Fri, 20 Dec 2024 22:10:09 +0000 (17:10 -0500)] 
set SO_RCVBUF to zero for unconnected sockets, too

but only when the socket is being marked read-only

8 months agoadd "mode = unconnected" and xlat function for replication
Alan T. DeKok [Fri, 20 Dec 2024 22:06:19 +0000 (17:06 -0500)] 
add "mode = unconnected" and xlat function for replication

%replicate.sendto.ipaddr(ip, port, secret)

8 months agomake it clear that Message-Authenticator is auto-added
Alan T. DeKok [Fri, 20 Dec 2024 22:05:28 +0000 (17:05 -0500)] 
make it clear that Message-Authenticator is auto-added

manual port of 04b4c655fd

8 months agoAdd Blast RADIUS checks to radclient.
Alan T. DeKok [Fri, 20 Dec 2024 21:41:26 +0000 (16:41 -0500)] 
Add Blast RADIUS checks to radclient.

Manual port of 47eb7ee365abc66a

8 months agodon't print out results if there are no results
Alan T. DeKok [Fri, 20 Dec 2024 15:55:39 +0000 (10:55 -0500)] 
don't print out results if there are no results

8 months agoset src_port if it's zero, too
Alan T. DeKok [Fri, 20 Dec 2024 15:41:03 +0000 (10:41 -0500)] 
set src_port if it's zero, too

8 months agoget cmsg after setting controllen
Alan T. DeKok [Fri, 20 Dec 2024 15:20:17 +0000 (10:20 -0500)] 
get cmsg after setting controllen

8 months agomake decode_fail_t radius specific.
Alan T. DeKok [Wed, 18 Dec 2024 16:03:39 +0000 (17:03 +0100)] 
make decode_fail_t radius specific.

nothing else needs it, and it's full of RADIUS things

8 months agoadd verify callback for stream sockets.
Alan T. DeKok [Wed, 18 Dec 2024 15:50:41 +0000 (16:50 +0100)] 
add verify callback for stream sockets.

so we only return complete packets to the reader

8 months agoadd memory BIO for stream sockets
Alan T. DeKok [Wed, 18 Dec 2024 15:20:43 +0000 (16:20 +0100)] 
add memory BIO for stream sockets

so that the BIOs are sending only complete packets to the module

8 months agomore sanity checks for unconnected sockets
Alan T. DeKok [Wed, 18 Dec 2024 14:20:05 +0000 (15:20 +0100)] 
more sanity checks for unconnected sockets

8 months agoadd configuration for unconnected sockets
Alan T. DeKok [Wed, 18 Dec 2024 14:17:44 +0000 (15:17 +0100)] 
add configuration for unconnected sockets

8 months agoremove old "use_authenticator" flag
Alan T. DeKok [Wed, 18 Dec 2024 06:46:24 +0000 (07:46 +0100)] 
remove old "use_authenticator" flag

we no longer use the Request Authenticator as a unique ID

8 months agoReturn CACHE_RECONNECT if memcached returned a fatal result code
Nick Porter [Wed, 18 Dec 2024 15:59:23 +0000 (15:59 +0000)] 
Return CACHE_RECONNECT if memcached returned a fatal result code

8 months agoAdd memcached to CI tests
Nick Porter [Wed, 18 Dec 2024 13:48:03 +0000 (13:48 +0000)] 
Add memcached to CI tests

8 months agoAdd tests for memcached cache driver
Nick Porter [Wed, 18 Dec 2024 13:45:56 +0000 (13:45 +0000)] 
Add tests for memcached cache driver

8 months agoExpected output is data, not unresolved data
Nick Porter [Wed, 18 Dec 2024 11:46:04 +0000 (11:46 +0000)] 
Expected output is data, not unresolved data

8 months agoInitialise map list
Nick Porter [Wed, 18 Dec 2024 11:45:34 +0000 (11:45 +0000)] 
Initialise map list

8 months agoRun-time tmpls need an event list
Nick Porter [Wed, 18 Dec 2024 11:45:22 +0000 (11:45 +0000)] 
Run-time tmpls need an event list

8 months agoUse fr_asprintf to access custom format specifiers
Nick Porter [Wed, 18 Dec 2024 11:43:53 +0000 (11:43 +0000)] 
Use fr_asprintf to access custom format specifiers

8 months agoNo need to populate buffer with driver name
Nick Porter [Tue, 17 Dec 2024 21:28:10 +0000 (21:28 +0000)] 
No need to populate buffer with driver name

Was being used in pool initialisation, now buffer is just for error
messages.

8 months agoNo need to initialise buffer which is about to be printed to
Nick Porter [Tue, 17 Dec 2024 21:21:57 +0000 (21:21 +0000)] 
No need to initialise buffer which is about to be printed to

8 months agoDriver config is auto parsed when module is loaded
Nick Porter [Tue, 17 Dec 2024 21:21:11 +0000 (21:21 +0000)] 
Driver config is auto parsed when module is loaded

8 months agoBetter comments
Nick Porter [Tue, 17 Dec 2024 17:21:42 +0000 (17:21 +0000)] 
Better comments

8 months agoCorrect reference to cache config
Nick Porter [Tue, 17 Dec 2024 17:20:48 +0000 (17:20 +0000)] 
Correct reference to cache config

8 months agoConvert rlm_cache memcached driver to use slab allocator
Nick Porter [Tue, 17 Dec 2024 14:04:35 +0000 (14:04 +0000)] 
Convert rlm_cache memcached driver to use slab allocator

8 months agoWS
Nick Porter [Tue, 17 Dec 2024 14:00:05 +0000 (14:00 +0000)] 
WS

8 months agofix: Return -1 on error instead of 1 (01) - typo.
ethan-thompson [Tue, 17 Dec 2024 19:33:02 +0000 (14:33 -0500)] 
fix: Return -1 on error instead of 1 (01) - typo.

Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
8 months agofix: When using a dictionary that first defines a protocol with "PROTOCOL" the dctx...
ethan-thompson [Tue, 17 Dec 2024 18:37:06 +0000 (13:37 -0500)] 
fix: When using a dictionary that first defines a protocol with "PROTOCOL" the dctx stack da is updated, but not the filename, causing it to be lost as the stack grows, since all future items on the stack inherit the filename. Fixed by also setting the filename when updating the da.

Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
8 months agoadd INVALID type, and auto-set from configuration
Alan T. DeKok [Mon, 16 Dec 2024 08:23:04 +0000 (09:23 +0100)] 
add INVALID type, and auto-set from configuration

8 months agoupdate docs
Alan T. DeKok [Mon, 16 Dec 2024 08:22:44 +0000 (09:22 +0100)] 
update docs

8 months agoallow module to retransmit even if set to proxy mode
Alan T. DeKok [Sun, 15 Dec 2024 17:10:03 +0000 (18:10 +0100)] 
allow module to retransmit even if set to proxy mode

for packets which change protocols, OR change packet code, OR
are read from the detail file.

8 months agouse "mode" instead of replicate / synchronous / originate
Alan T. DeKok [Sun, 15 Dec 2024 16:43:03 +0000 (17:43 +0100)] 
use "mode" instead of replicate / synchronous / originate

as it is more descriptive.  The other configuration flags also
can be configured in contradictory or conflicting ways.

Perhaps we could add a non-synchronous proxy, but that is likely
a good idea only if there's no Proxy-State in the packet.
i.e. we received the packet from a NAS, which has it's own retransmission
timers, and those timers are almost always garbage.

8 months agoadd optional CONF_SECTION parsers, and use in rlm_radius
Alan T. DeKok [Sat, 14 Dec 2024 16:54:44 +0000 (17:54 +0100)] 
add optional CONF_SECTION parsers, and use in rlm_radius

this lets the RADIUS module put more things into a "udp" section,
but only if the "udp" section ends up being used by the transport
configuration.

The RADIUS module can also push rules for "tcp", but those rules
don't show up in the debug output (and are ignored by the parser)
if a corresponding "tcp" section is defined

8 months agoIPv6 addresses should have a 128 prefix, too
Alan T. DeKok [Fri, 13 Dec 2024 15:17:53 +0000 (10:17 -0500)] 
IPv6 addresses should have a 128 prefix, too

8 months agoFreeRADIUS IPv4 addresses must have prefix len 32
Nick Porter [Fri, 13 Dec 2024 14:06:21 +0000 (14:06 +0000)] 
FreeRADIUS IPv4 addresses must have prefix len 32

8 months agoMake request subsection required
Nick Porter [Fri, 13 Dec 2024 11:49:26 +0000 (11:49 +0000)] 
Make request subsection required

Without this, the check for mandatory URI doesn't happen.

8 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar
github-actions[bot] [Fri, 13 Dec 2024 04:16:59 +0000 (04:16 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar

8 months agoAdd call_env related options to sample krb5 module config
Nick Porter [Thu, 12 Dec 2024 13:46:41 +0000 (13:46 +0000)] 
Add call_env related options to sample krb5 module config

8 months agoUse call_env for username and password in krb5
Nick Porter [Thu, 12 Dec 2024 12:38:20 +0000 (12:38 +0000)] 
Use call_env for username and password in krb5

8 months agoUpdate sample krb5 module config with slab parameters
Nick Porter [Thu, 12 Dec 2024 12:33:06 +0000 (12:33 +0000)] 
Update sample krb5 module config with slab parameters

8 months agoRe-work rlm_krb5 to use slab allocation for handles
Nick Porter [Thu, 12 Dec 2024 11:39:35 +0000 (11:39 +0000)] 
Re-work rlm_krb5 to use slab allocation for handles

8 months agoSet vic_options in module instantiation
Nick Porter [Thu, 12 Dec 2024 09:21:56 +0000 (09:21 +0000)] 
Set vic_options in module instantiation

Only needs to be set once, and `inst` is protected after instantiation.

8 months agoUse macro to reduce boilerplate
Nick Porter [Thu, 12 Dec 2024 12:01:37 +0000 (12:01 +0000)] 
Use macro to reduce boilerplate

8 months agoCorrect macro name
Nick Porter [Thu, 12 Dec 2024 11:44:39 +0000 (11:44 +0000)] 
Correct macro name

8 months agoas found on the net
Alan T. DeKok [Thu, 12 Dec 2024 14:17:01 +0000 (09:17 -0500)] 
as found on the net

8 months agocatch corner conditions
Alan T. DeKok [Mon, 9 Dec 2024 19:55:30 +0000 (14:55 -0500)] 
catch corner conditions

mark connection inactive on zombie start, not on zombie end.
existing requests will continue to use it, but new requests will
go to a different connection.

don't send retry if writes are blocked.

8 months agocall fr_mkdir() with only directory arguments
Alan T. DeKok [Tue, 10 Dec 2024 14:13:29 +0000 (09:13 -0500)] 
call fr_mkdir() with only directory arguments

8 months agoUse current TLS certificate attribute names in sample virtual server
Nick Porter [Tue, 10 Dec 2024 17:55:17 +0000 (17:55 +0000)] 
Use current TLS certificate attribute names in sample virtual server

8 months agoBetter name for TLS session virtual server
Nick Porter [Tue, 10 Dec 2024 12:08:40 +0000 (12:08 +0000)] 
Better name for TLS session virtual server

8 months agoOnly run verify certificate sub request if the section exists
Nick Porter [Tue, 10 Dec 2024 09:47:19 +0000 (09:47 +0000)] 
Only run verify certificate sub request if the section exists

8 months agoDetect if "verify certificate" section exists when parsing config
Nick Porter [Tue, 10 Dec 2024 09:46:45 +0000 (09:46 +0000)] 
Detect if "verify certificate" section exists when parsing config

8 months agoFilenames which need run time expansion must be double quoted
Nick Porter [Tue, 10 Dec 2024 10:49:27 +0000 (10:49 +0000)] 
Filenames which need run time expansion must be double quoted

8 months agoTLS cache section names are `<verb> session` not `session <verb>`
Nick Porter [Fri, 6 Dec 2024 14:26:19 +0000 (14:26 +0000)] 
TLS cache section names are `<verb> session` not `session <verb>`

8 months agoTypo
Nick Porter [Tue, 10 Dec 2024 09:38:51 +0000 (09:38 +0000)] 
Typo

8 months agoConsistent case
Nick Porter [Fri, 6 Dec 2024 14:58:52 +0000 (14:58 +0000)] 
Consistent case

8 months agorlm_rest: Search in the _real_ header list for content-type
Arran Cudbard-Bell [Mon, 9 Dec 2024 16:30:25 +0000 (09:30 -0700)] 
rlm_rest: Search in the _real_ header list for content-type

8 months agocall FD connect function if the connect() is delayed
Alan T. DeKok [Sun, 8 Dec 2024 14:27:45 +0000 (09:27 -0500)] 
call FD connect function if the connect() is delayed

8 months agocall error handler on connect error
Alan T. DeKok [Sun, 8 Dec 2024 14:24:10 +0000 (09:24 -0500)] 
call error handler on connect error

8 months agosend one packet at a time
Alan T. DeKok [Sun, 8 Dec 2024 12:48:57 +0000 (07:48 -0500)] 
send one packet at a time

when we push queuing to the BIO layer, we can add a queue API
which the radius module can call:

* start queue entries X
* write
* commit queue

8 months agominor cleanups
Alan T. DeKok [Sat, 7 Dec 2024 19:34:18 +0000 (14:34 -0500)] 
minor cleanups

rename synchronous_retry to timeout_retry

don't call sendmmsg() on file BIOs