]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
4 years agodo SNI on the server side.
Alan T. DeKok [Sun, 25 Jul 2021 19:30:40 +0000 (15:30 -0400)] 
do SNI on the server side.

And cache the name in TLS-Server-Name-Indication

4 years agotypos
Alan T. DeKok [Sun, 25 Jul 2021 16:45:10 +0000 (12:45 -0400)] 
typos

4 years agonote recent changes
Alan T. DeKok [Sun, 25 Jul 2021 16:38:05 +0000 (12:38 -0400)] 
note recent changes

4 years agomove SNI to the correct place
Alan T. DeKok [Sun, 25 Jul 2021 16:35:35 +0000 (12:35 -0400)] 
move SNI to the correct place

4 years agoupdate numbers
Alan T. DeKok [Sun, 25 Jul 2021 16:31:19 +0000 (12:31 -0400)] 
update numbers

4 years agoselect SSL_CTX based on realm, if hash table exists
Alan T. DeKok [Sun, 25 Jul 2021 13:49:21 +0000 (09:49 -0400)] 
select SSL_CTX based on realm, if hash table exists

4 years agoadd Server Name Indication (SNI) to outbound RadSec connections
Alan T. DeKok [Sun, 25 Jul 2021 13:31:57 +0000 (09:31 -0400)] 
add Server Name Indication (SNI) to outbound RadSec connections

to simplify TLS load balancing

4 years agodocs
Alan T. DeKok [Sun, 25 Jul 2021 13:10:35 +0000 (09:10 -0400)] 
docs

note that right now we can statically load the certs, but not yet
dynamically choose them from the hash table

4 years agoadd "realm_dir" configuration
Alan T. DeKok [Sun, 25 Jul 2021 12:19:45 +0000 (08:19 -0400)] 
add "realm_dir" configuration

which will allow for loading multiple certificates from
a subdirectory, and choosing from them at run time

4 years agoadd chain_file and private_key_file to tls_ctx_init()
Alan T. DeKok [Sun, 25 Jul 2021 12:13:14 +0000 (08:13 -0400)] 
add chain_file and private_key_file to tls_ctx_init()

in preparation for adding realm_dir to the server configuration

4 years agorequire OpenSSL 1.1.0 or greater for reject_unknown_intermediate_ca
Alan T. DeKok [Fri, 23 Jul 2021 15:02:44 +0000 (11:02 -0400)] 
require OpenSSL 1.1.0 or greater for reject_unknown_intermediate_ca

4 years agojust use cert-file, and not chain file
Alan T. DeKok [Thu, 22 Jul 2021 22:06:55 +0000 (18:06 -0400)] 
just use cert-file, and not chain file

4 years agoadd dictionary attributes, and allow for chain file
Alan T. DeKok [Thu, 22 Jul 2021 21:54:49 +0000 (17:54 -0400)] 
add dictionary attributes, and allow for chain file

4 years agoallow TLS-Session-Cert-File to be set
Alan T. DeKok [Thu, 22 Jul 2021 21:04:58 +0000 (17:04 -0400)] 
allow TLS-Session-Cert-File to be set

4 years agobetter errors
Alan T. DeKok [Thu, 22 Jul 2021 20:59:49 +0000 (16:59 -0400)] 
better errors

4 years agoclose connection on "no TLS data, but connection isn't set up"
Alan T. DeKok [Wed, 7 Apr 2021 17:11:33 +0000 (13:11 -0400)] 
close connection on "no TLS data, but connection isn't set up"

4 years agoadd %{listen:Originating-Realm-Key}
Alan T. DeKok [Wed, 7 Apr 2021 17:04:49 +0000 (13:04 -0400)] 
add %{listen:Originating-Realm-Key}

4 years agoallow multiple Proxy-To-Originating-Realm keys
Alan T. DeKok [Tue, 6 Apr 2021 13:05:56 +0000 (09:05 -0400)] 
allow multiple Proxy-To-Originating-Realm keys

in which case it proxies to the first one it can, NOT to all
of them.

This loop allows for a reverse *proxy* to say "any of these N
keys can return CoA packets to ream FOO".

4 years agonotes on Status-Server when we bring up a TLS connection
Alan T. DeKok [Tue, 6 Apr 2021 12:58:25 +0000 (08:58 -0400)] 
notes on Status-Server when we bring up a TLS connection

4 years agoregularize TLS messages
Alan T. DeKok [Tue, 6 Apr 2021 12:46:47 +0000 (08:46 -0400)] 
regularize TLS messages

4 years agodeclare 'key' as const, which avoids a weird memcpy
Alan T. DeKok [Tue, 6 Apr 2021 12:35:02 +0000 (08:35 -0400)] 
declare 'key' as const, which avoids a weird memcpy

4 years agohoist reverse_coa checks before _all_ "remove from proxy hash" calls
Alan T. DeKok [Tue, 6 Apr 2021 12:31:25 +0000 (08:31 -0400)] 
hoist reverse_coa checks before _all_ "remove from proxy hash" calls

4 years agofix radsec tests
Vadim Cargatser [Tue, 6 Apr 2021 11:58:15 +0000 (14:58 +0300)] 
fix radsec tests

4 years agoshut down coa tunnel listener after cleaning up proxied packets
Alan T. DeKok [Mon, 5 Apr 2021 13:18:48 +0000 (09:18 -0400)] 
shut down coa tunnel listener after cleaning up proxied packets

4 years agograb another coa tunnel listener if this one is full
Alan T. DeKok [Mon, 5 Apr 2021 13:15:21 +0000 (09:15 -0400)] 
grab another coa tunnel listener if this one is full

which bypasses the normal logic of proxy_new_listener(), etc.

4 years agofixes from Vadim
Alan T. DeKok [Mon, 5 Apr 2021 13:09:50 +0000 (09:09 -0400)] 
fixes from Vadim

request->proxy_listener is NULL after removing it from the proxy
hash, so cache the reverse_coa status.

4 years agotypo fixes from Vadim
Alan T. DeKok [Mon, 5 Apr 2021 13:06:17 +0000 (09:06 -0400)] 
typo fixes from Vadim

4 years agoonly initialize the mutex if we succeed on insert
Alan T. DeKok [Sat, 3 Apr 2021 13:21:15 +0000 (09:21 -0400)] 
only initialize the mutex if we succeed on insert

on the off chance that pthread_mutex_init() allocates memory

4 years agotypo
Alan T. DeKok [Sat, 3 Apr 2021 12:13:33 +0000 (08:13 -0400)] 
typo

4 years agoretry on insert failure, due to mutex issues
Alan T. DeKok [Sat, 3 Apr 2021 12:06:10 +0000 (08:06 -0400)] 
retry on insert failure, due to mutex issues

4 years agofor non-proxy sockets, run CoA / Disconnect through recv_coa_server
Alan T. DeKok [Fri, 2 Apr 2021 19:34:55 +0000 (15:34 -0400)] 
for non-proxy sockets, run CoA / Disconnect through recv_coa_server

which is the CoA server used to send CoA requests to the NAS, but
whatever.  It's copied from the virtual server in the listener,
and is NOT the same as home->virtual_server

4 years agocheck for Proxy-To-Originating-Realm, too
Alan T. DeKok [Fri, 2 Apr 2021 19:27:48 +0000 (15:27 -0400)] 
check for Proxy-To-Originating-Realm, too

4 years agouse better names for home->virtual_server
Alan T. DeKok [Fri, 2 Apr 2021 19:26:21 +0000 (15:26 -0400)] 
use better names for home->virtual_server

and set home->recv_coa_server, too?

4 years agouse better names for CoA home server / pool
Alan T. DeKok [Fri, 2 Apr 2021 19:20:22 +0000 (15:20 -0400)] 
use better names for CoA home server / pool

4 years agouse better names
Alan T. DeKok [Fri, 2 Apr 2021 19:18:06 +0000 (15:18 -0400)] 
use better names

4 years agomark up this listener as doing reverse CoA, too
Alan T. DeKok [Fri, 2 Apr 2021 12:52:05 +0000 (08:52 -0400)] 
mark up this listener as doing reverse CoA, too

4 years agofix typos from Vadim
Alan T. DeKok [Fri, 2 Apr 2021 12:51:50 +0000 (08:51 -0400)] 
fix typos from Vadim

4 years agoskip listeners where all IDs are used
Alan T. DeKok [Thu, 1 Apr 2021 20:37:24 +0000 (16:37 -0400)] 
skip listeners where all IDs are used

4 years agoshut up compiler
Alan T. DeKok [Thu, 1 Apr 2021 20:36:20 +0000 (16:36 -0400)] 
shut up compiler

4 years agomove calls to listen_coa_free() so that we don't break things
Alan T. DeKok [Thu, 1 Apr 2021 20:11:42 +0000 (16:11 -0400)] 
move calls to listen_coa_free() so that we don't break things

4 years agotests for radsec
Vadim Cargatser [Thu, 1 Apr 2021 20:04:11 +0000 (16:04 -0400)] 
tests for radsec

4 years agouse proxy->vps, in line with other uses
Alan T. DeKok [Thu, 1 Apr 2021 20:03:03 +0000 (16:03 -0400)] 
use proxy->vps, in line with other uses

4 years agoadd WITH_COA_TUNNEL to build
Alan T. DeKok [Thu, 1 Apr 2021 19:54:46 +0000 (15:54 -0400)] 
add WITH_COA_TUNNEL to build

4 years agoglue in the code to look up listeners by key.
Alan T. DeKok [Thu, 1 Apr 2021 19:48:46 +0000 (15:48 -0400)] 
glue in the code to look up listeners by key.

* add a listen_free_all() function, which frees mainconfig.listen
and then also the listeners keyed by CoA

* put a linked list into the send_coa listeners, so that all
listeners of the same key can be found

* have each send_coa listener point to the main "key" data
structure

* the main "key" data structure contains the key name, the list
of listeners by this key, and a mutex

* added contents to init / free / add / delete / find functions

4 years agorespect Proxy-To-Originating-Realm in request_coa_originate()
Alan T. DeKok [Thu, 1 Apr 2021 18:37:29 +0000 (14:37 -0400)] 
respect Proxy-To-Originating-Realm in request_coa_originate()

this isn't entirely the correct name for how we use the attribute,
but it's at least consistent with the rest of the server.

4 years agomake request_coa_originate() follow the other methods
Alan T. DeKok [Thu, 1 Apr 2021 18:17:14 +0000 (14:17 -0400)] 
make request_coa_originate() follow the other methods

4 years agoallow for reverse coa proxying in request_will_proxy()
Alan T. DeKok [Thu, 1 Apr 2021 15:24:45 +0000 (11:24 -0400)] 
allow for reverse coa proxying in request_will_proxy()

Add new Proxy-To-Originating-Realm attribute, and change
TCP-Session-Key to Originating-Realm-Key, which is perhaps
a little clearer.

also note that when we automatically create a home server
for incoming TLS connections, we set home->server, not
home->coa_server

4 years agotrack the number of IDs used, so that we can allocate a free listener
Alan T. DeKok [Thu, 1 Apr 2021 15:07:05 +0000 (11:07 -0400)] 
track the number of IDs used, so that we can allocate a free listener

4 years agostart of add / delete / lookup API for reverse coa listeners
Alan T. DeKok [Thu, 1 Apr 2021 14:43:48 +0000 (10:43 -0400)] 
start of add / delete / lookup API for reverse coa listeners

4 years agoprocess coa replies through the coa server
Alan T. DeKok [Thu, 1 Apr 2021 14:09:51 +0000 (10:09 -0400)] 
process coa replies through the coa server

4 years agomore descriptive errors for people who don't read the documentation
Alan T. DeKok [Thu, 1 Apr 2021 13:41:23 +0000 (09:41 -0400)] 
more descriptive errors for people who don't read the documentation

4 years agorearrange brackets to quiet scan
Alan T. DeKok [Thu, 1 Apr 2021 12:45:45 +0000 (08:45 -0400)] 
rearrange brackets to quiet scan

4 years agoonly define COA_TUNNEL if we have WITH_TLS
Alan T. DeKok [Wed, 31 Mar 2021 20:09:25 +0000 (16:09 -0400)] 
only define COA_TUNNEL if we have WITH_TLS

4 years agolet's define TCP-Session-Key
Alan T. DeKok [Wed, 31 Mar 2021 20:06:36 +0000 (16:06 -0400)] 
let's define TCP-Session-Key

4 years agobuild without CoA tunnels
Alan T. DeKok [Wed, 31 Mar 2021 20:04:47 +0000 (16:04 -0400)] 
build without CoA tunnels

4 years agoadd the listener by key if required
Alan T. DeKok [Wed, 31 Mar 2021 19:27:37 +0000 (15:27 -0400)] 
add the listener by key if required

so that when doing reverse proxying, we can find equivalent
listeners by key

4 years agouse listener->fd, not request->packet->sockfd
Alan T. DeKok [Wed, 31 Mar 2021 18:44:12 +0000 (14:44 -0400)] 
use listener->fd, not request->packet->sockfd

4 years agolook for CoA requests from a home server, and send replies
Alan T. DeKok [Wed, 31 Mar 2021 18:41:17 +0000 (14:41 -0400)] 
look for CoA requests from a home server, and send replies

4 years agoadd / delete incoming sockets to proxy list, if they're send_coa
Alan T. DeKok [Wed, 31 Mar 2021 17:04:34 +0000 (13:04 -0400)] 
add / delete incoming sockets to proxy list, if they're send_coa

4 years agooriginate CoA requests to the NAS, and deal with the replies
Alan T. DeKok [Wed, 31 Mar 2021 16:52:25 +0000 (12:52 -0400)] 
originate CoA requests to the NAS, and deal with the replies

4 years agoadd and parse CoA fields for incoming listeners
Alan T. DeKok [Wed, 31 Mar 2021 16:51:48 +0000 (12:51 -0400)] 
add and parse CoA fields for incoming listeners

4 years agoadd feature flag
Alan T. DeKok [Wed, 31 Mar 2021 15:53:37 +0000 (11:53 -0400)] 
add feature flag

4 years agoadd WITH_COA_TUNNEL definition
Alan T. DeKok [Wed, 31 Mar 2021 13:52:41 +0000 (09:52 -0400)] 
add WITH_COA_TUNNEL definition

along with recv_coa functionality in the home server definition.
and parse / verify the home server configuration for recv coa

4 years agoadd and use separate function for sending to a proxy listener
Alan T. DeKok [Wed, 31 Mar 2021 13:05:16 +0000 (09:05 -0400)] 
add and use separate function for sending to a proxy listener

4 years agomove encode/decode for proxies to their own fields
Alan T. DeKok [Wed, 31 Mar 2021 12:47:58 +0000 (08:47 -0400)] 
move encode/decode for proxies to their own fields

4 years agoFix typo added in 8c19082935 (#4148)
Jorge Pereira [Fri, 16 Jul 2021 13:56:50 +0000 (10:56 -0300)] 
Fix typo added in 8c19082935 (#4148)

4 years agonote recent changes
Alan T. DeKok [Fri, 16 Jul 2021 13:27:59 +0000 (09:27 -0400)] 
note recent changes

4 years agoadd ref
Alan T. DeKok [Fri, 16 Jul 2021 13:27:00 +0000 (09:27 -0400)] 
add ref

4 years agoremove extra field. Fixes #4144
Alan T. DeKok [Thu, 15 Jul 2021 18:11:10 +0000 (14:11 -0400)] 
remove extra field.  Fixes #4144

4 years agoupdates from the main juniper file
Alan T. DeKok [Thu, 15 Jul 2021 13:00:08 +0000 (09:00 -0400)] 
updates from the main juniper file

4 years agotypo
Alan T. DeKok [Tue, 13 Jul 2021 17:34:30 +0000 (13:34 -0400)] 
typo

4 years agowhitespace
Alan T. DeKok [Tue, 13 Jul 2021 17:29:26 +0000 (13:29 -0400)] 
whitespace

4 years agoadd reject_unknown_intermediate_ca
Alan T. DeKok [Tue, 13 Jul 2021 15:57:01 +0000 (11:57 -0400)] 
add reject_unknown_intermediate_ca

4 years agoUpdate H3C dictionary. refs #4112 (#4134)
Jorge Pereira [Tue, 13 Jul 2021 11:43:19 +0000 (08:43 -0300)] 
Update H3C dictionary. refs #4112 (#4134)

4 years agoas per recent IANA allocation
Alan T. DeKok [Mon, 12 Jul 2021 18:03:55 +0000 (14:03 -0400)] 
as per recent IANA allocation

4 years agoNetworkOnly value for APC-Service-Type. refs #4109 (#4133)
Jorge Pereira [Thu, 8 Jul 2021 19:51:58 +0000 (16:51 -0300)] 
NetworkOnly value for APC-Service-Type. refs #4109 (#4133)

4 years agoFix chunked rlm_rest HTTP body (#4131)
Nathan Ward [Thu, 8 Jul 2021 14:15:20 +0000 (02:15 +1200)] 
Fix chunked rlm_rest HTTP body (#4131)

* Fix chunked HTTP bodies in rlm_rest by passing section (configuration) around in the request object rather than to the rest_encode_* functions directly.

Fixes #4130

* Document the rlm_rest chunk configuration parameter

4 years agotypo
Alan T. DeKok [Fri, 2 Jul 2021 11:18:06 +0000 (07:18 -0400)] 
typo

4 years agoSetting the resource hard limit to zero is irreversible, meaning if it
Antonio Torres [Fri, 2 Jul 2021 11:12:48 +0000 (07:12 -0400)] 
Setting the resource hard limit to zero is irreversible, meaning if it
is set to zero then there is no way to set it higher. This means
enabling core dump is not possible, since setting a new resource limit
for RLIMIT_CORE would fail. By only setting the soft limit to zero, we
can disable and enable core dumps without failures.

Ticket in RHEL Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1977572
Signed-off-by: Antonio Torres antorres@redhat.com
4 years agonote recent changes
Matthew Newton [Tue, 29 Jun 2021 11:52:13 +0000 (12:52 +0100)] 
note recent changes

4 years agodon't walk off the end of the cleanup list
Matthew Newton [Mon, 28 Jun 2021 23:27:45 +0000 (00:27 +0100)] 
don't walk off the end of the cleanup list

4 years agofix error message to make it clearer
Alan T. DeKok [Sat, 26 Jun 2021 15:29:59 +0000 (11:29 -0400)] 
fix error message to make it clearer

4 years agocatch things we know are wrong, instead of requiring SELECT
Alan T. DeKok [Wed, 23 Jun 2021 13:22:37 +0000 (09:22 -0400)] 
catch things we know are wrong, instead of requiring SELECT

which allows CALL to be used

4 years agoprint out decrypyted SSL data at debug>3
Alan T. DeKok [Sun, 20 Jun 2021 13:33:30 +0000 (09:33 -0400)] 
print out decrypyted SSL data at debug>3

4 years agolog information needed by Wireshark to decode TLS sessions
Alan T. DeKok [Sat, 19 Jun 2021 12:48:13 +0000 (08:48 -0400)] 
log information needed by Wireshark to decode TLS sessions

4 years agodon't use RTLD_DEEPBIND with ASAN
Matthew Newton [Fri, 18 Jun 2021 19:46:06 +0000 (20:46 +0100)] 
don't use RTLD_DEEPBIND with ASAN

backport of 03a8f1d161

4 years agomore relevant for v3
Matthew Newton [Fri, 18 Jun 2021 19:02:48 +0000 (20:02 +0100)] 
more relevant for v3

4 years agocheck for postauth_client_lost sooner
Alan T. DeKok [Fri, 18 Jun 2021 13:16:40 +0000 (09:16 -0400)] 
check for postauth_client_lost sooner

so that we free entries immediately if the config option is not
set.

4 years agoRevert "unlink entry when freeing it"
Alan T. DeKok [Fri, 18 Jun 2021 13:12:32 +0000 (09:12 -0400)] 
Revert "unlink entry when freeing it"

This reverts commit fe392379178f2288580d1a4831d271ec68111206.

Nope... not the thing to do

4 years agounlink entry when freeing it
Alan T. DeKok [Fri, 18 Jun 2021 13:05:25 +0000 (09:05 -0400)] 
unlink entry when freeing it

4 years agoadd various sanitizer options from v4
Alan T. DeKok [Fri, 18 Jun 2021 12:46:55 +0000 (08:46 -0400)] 
add various sanitizer options from v4

4 years agoremove docs for v4 feature
Alan T. DeKok [Thu, 17 Jun 2021 11:06:25 +0000 (07:06 -0400)] 
remove docs for v4 feature

4 years agoremove extraneous \n
Alan T. DeKok [Wed, 16 Jun 2021 12:39:25 +0000 (08:39 -0400)] 
remove extraneous \n

It's stripped from RDEBUG anyways, so it's always been useless

4 years agotls: Fix missing X509_STORE_free() (#4119)
Jorge Pereira [Thu, 17 Jun 2021 14:57:32 +0000 (11:57 -0300)] 
tls: Fix missing X509_STORE_free() (#4119)

4 years agoNULL check needs to be moved before using strchr (#4115)
Alejandro Perez [Wed, 16 Jun 2021 11:54:19 +0000 (13:54 +0200)] 
NULL check needs to be moved before using strchr (#4115)

4 years agologrotate: keep options in local scope
Matthew Newton [Wed, 16 Jun 2021 10:43:23 +0000 (11:43 +0100)] 
logrotate: keep options in local scope

make all configs more consistent

4 years agotypo
Alan T. DeKok [Mon, 14 Jun 2021 11:25:38 +0000 (07:25 -0400)] 
typo

4 years agoremove extra arguments
Alan T. DeKok [Mon, 14 Jun 2021 11:04:52 +0000 (07:04 -0400)] 
remove extra arguments

4 years agocleanups
Alan T. DeKok [Sat, 12 Jun 2021 12:25:33 +0000 (08:25 -0400)] 
cleanups

4 years agoprint errors and fail, don't abort
Alan T. DeKok [Sat, 12 Jun 2021 12:20:30 +0000 (08:20 -0400)] 
print errors and fail, don't abort