]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
4 years agoclose connection on "no TLS data, but connection isn't set up" reverse_coa
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 agooriginated CoA packets may not have a listener.
Alan T. DeKok [Mon, 5 Apr 2021 13:21:15 +0000 (09:21 -0400)] 
originated CoA packets may not have a listener.

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 agoand more cleanups
Alan T. DeKok [Sat, 3 Apr 2021 17:38:13 +0000 (13:38 -0400)] 
and more cleanups

4 years agomore cleanups of TLS debug
Alan T. DeKok [Sat, 3 Apr 2021 14:12:19 +0000 (10:12 -0400)] 
more cleanups of TLS debug

4 years agorun new connections through a special section
Alan T. DeKok [Sat, 3 Apr 2021 14:05:40 +0000 (10:05 -0400)] 
run new connections through a special section

in order to clearly separate them from other packets

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 agouse better name
Alan T. DeKok [Fri, 2 Apr 2021 18:01:44 +0000 (14:01 -0400)] 
use better name

4 years agomake the TLS session information usable.
Alan T. DeKok [Fri, 2 Apr 2021 17:35:35 +0000 (13:35 -0400)] 
make the TLS session information usable.

The code was originally written for TLS 1.0, and not updated
since then.  Which means for a very long time, it was printing
TLS version numbers and lengths, but nothing about what was
actually going on.  This change means that the output is rather
a lot more understandable.

4 years agouse correct parameter
Alan T. DeKok [Fri, 2 Apr 2021 17:00:28 +0000 (13:00 -0400)] 
use correct parameter

4 years agoFix EAP input tests
Jorge Pereira [Fri, 2 Apr 2021 15:06:20 +0000 (12:06 -0300)] 
Fix EAP input tests

Don't need to inform the 'ca_cert=...' cert files.

4 years agoFix CI EAP tests
Jorge Pereira [Fri, 2 Apr 2021 13:55:59 +0000 (10:55 -0300)] 
Fix CI EAP tests

Lets use our eapol_test specific version due to we expect to have the
TLS versions on/off options.

4 years agoFix EAP tests against specific TLS versions
Jorge Pereira [Fri, 2 Apr 2021 13:55:18 +0000 (10:55 -0300)] 
Fix EAP tests against specific TLS versions

We just need the tls_disable_tlsvXX=1 due to hostapd enables all TLS
versions.

4 years agoFix EAP tests allowing 'make -C src/tests/ tests.eap'
Jorge Pereira [Fri, 2 Apr 2021 01:47:48 +0000 (22:47 -0300)] 
Fix EAP tests allowing 'make -C src/tests/ tests.eap'

Even we should use the same 'eapol_test' binary among all systems. then,
just call the wrapper $(top_builddir)/scripts/ci/eapol_test-build.sh

4 years agorun policies to see if we can accept the RadSec connection
Alan T. DeKok [Fri, 2 Apr 2021 16:32:50 +0000 (12:32 -0400)] 
run policies to see if we can accept the RadSec connection

4 years agodon't delay responses to Status-Server
Alan T. DeKok [Fri, 2 Apr 2021 13:29:34 +0000 (09:29 -0400)] 
don't delay responses to Status-Server

4 years agogracefully handle closed connections
Alan T. DeKok [Fri, 2 Apr 2021 12:56:26 +0000 (08:56 -0400)] 
gracefully handle closed connections

4 years agohandle SSL_ERROR_ZERO_RETURN a little more politely.
Alan T. DeKok [Fri, 2 Apr 2021 12:05:17 +0000 (08:05 -0400)] 
handle SSL_ERROR_ZERO_RETURN a little more politely.

4 years agosample stunnel configuration
Alan T. DeKok [Fri, 2 Apr 2021 11:54:34 +0000 (07:54 -0400)] 
sample stunnel configuration

which makes it easier to test radsec, just using radclient

4 years agoAllow TLS 1.3 for RadSec
Alan T. DeKok [Fri, 2 Apr 2021 11:36:05 +0000 (07:36 -0400)] 
Allow TLS 1.3 for RadSec

4 years agofix typo
Alan T. DeKok [Fri, 2 Apr 2021 11:23:33 +0000 (07:23 -0400)] 
fix typo

4 years agofix typo
Alan T. DeKok [Fri, 2 Apr 2021 10:25:42 +0000 (06:25 -0400)] 
fix typo

4 years agonote recent changes
Alan T. DeKok [Fri, 2 Apr 2021 10:15:00 +0000 (06:15 -0400)] 
note recent changes

4 years agodocument suppress_secrets
Alan T. DeKok [Fri, 2 Apr 2021 10:13:46 +0000 (06:13 -0400)] 
document suppress_secrets

4 years agomore documentation for EAP-TLS
Alan T. DeKok [Thu, 1 Apr 2021 21:22:44 +0000 (17:22 -0400)] 
more documentation for EAP-TLS

4 years agoLooks like there is bug in tls code w/ fr_nonblock
Vadim Cargatser [Wed, 24 Mar 2021 15:22:25 +0000 (17:22 +0200)] 
Looks like there is bug in tls code w/ fr_nonblock

With that RADSEC is not working at all. The issue is in this commit:
https://github.com/FreeRADIUS/freeradius-server/commit/b6d7249be1958d0080187846d8bab1f0fae6b857

it pretends to revert erroneously deleted lines from another commit:
https://github.com/FreeRADIUS/freeradius-server/commit/f9c2f5a55d2df71979d99708f83d52336e44ad00

The thing is that it is not only reverting deleted lines, it also adds fr_nonblock(fd) call in tls_new_client_session.
Was that done by mistake? With that SSL_connect exits immediately while we are trying to send initial Access-Request
packet in proxy_tls_send. Of course at the this time the handshake is not yet finished and SSL_connect returns with an
error.  SSL_connect will return success just on the following reads in proxy_tls_recv. But here we are in the recv
callback, handlshake is done... so what, we don't have any packet to send. I have deleted this fr_nonblock(fd) call
meanwhile.

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 agoeapol_test: Fix OSX build using clang >= 11 (#3855) (#4044)
Jorge Pereira [Thu, 1 Apr 2021 20:58:36 +0000 (17:58 -0300)] 
eapol_test: Fix OSX build using clang >= 11 (#3855) (#4044)

Fixes the eapol_test build using clang >= 11

../src/radius/radius_client.c:817:24: error: cast to smaller integer type 'RadiusType' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
RadiusType msg_type = (RadiusType) sock_ctx;

4 years agocomplain if there aren't enough fields
Alan T. DeKok [Wed, 31 Mar 2021 01:54:23 +0000 (21:54 -0400)] 
complain if there aren't enough fields

4 years agolet's not crash, m'kay?
Alan T. DeKok [Wed, 31 Mar 2021 01:52:16 +0000 (21:52 -0400)] 
let's not crash, m'kay?

4 years agoupdate examples
Alan T. DeKok [Wed, 31 Mar 2021 01:45:53 +0000 (21:45 -0400)] 
update examples

4 years agocorrect samples
Alan T. DeKok [Mon, 29 Mar 2021 23:08:07 +0000 (19:08 -0400)] 
correct samples

4 years agoadd more WARNINGs so that people who read them will be enlightened.
Alan T. DeKok [Sun, 28 Mar 2021 14:24:35 +0000 (10:24 -0400)] 
add more WARNINGs so that people who read them will be enlightened.

The default configuration depends on either User-Name or
Stripped-User-Name containing the identity of the user logging in.
If the identity is anonymized, and there's no Stripped-User-Name,
we need to warn the administrator that there is not enough
information to identify the user.

4 years agodon't print "name name" if we find a duplicate module name
Alan T. DeKok [Sat, 27 Mar 2021 13:58:50 +0000 (09:58 -0400)] 
don't print "name name" if we find a duplicate module name

4 years agotypo
Alan T. DeKok [Fri, 26 Mar 2021 14:01:17 +0000 (10:01 -0400)] 
typo

4 years agoadditional notes
Alan T. DeKok [Fri, 26 Mar 2021 14:00:55 +0000 (10:00 -0400)] 
additional notes

4 years agomark more attributes "secret"
Alan T. DeKok [Wed, 24 Mar 2021 14:22:47 +0000 (10:22 -0400)] 
mark more attributes "secret"

4 years agosuppress more secrets
Alan T. DeKok [Wed, 24 Mar 2021 14:20:06 +0000 (10:20 -0400)] 
suppress more secrets

4 years agotypo
Alan T. DeKok [Wed, 24 Mar 2021 12:22:49 +0000 (08:22 -0400)] 
typo

4 years agouse prefix, too
Alan T. DeKok [Mon, 22 Mar 2021 20:08:42 +0000 (16:08 -0400)] 
use prefix, too

4 years agosuppress secrets here, too
Alan T. DeKok [Mon, 22 Mar 2021 19:57:17 +0000 (15:57 -0400)] 
suppress secrets here, too

4 years agoadd and check for "suppress_secrets"
Alan T. DeKok [Mon, 22 Mar 2021 19:53:55 +0000 (15:53 -0400)] 
add and check for "suppress_secrets"

so that debug output contains fewer secrets

4 years agoadd "secret" flag to attribute
Alan T. DeKok [Mon, 22 Mar 2021 19:39:33 +0000 (15:39 -0400)] 
add "secret" flag to attribute

so we can not print it.  Sometimes.  Maybe.

4 years agoAdd verify_tls_client_common_name policy
Alan T. DeKok [Mon, 22 Mar 2021 19:34:00 +0000 (15:34 -0400)] 
Add verify_tls_client_common_name policy

4 years agoCI package tests: Use Azure-hosted mirrors for better reliability (#3981)
Terry Burton [Mon, 22 Mar 2021 19:37:32 +0000 (19:37 +0000)] 
CI package tests: Use Azure-hosted mirrors for better reliability (#3981)

4 years ago:wrench: rlm_yubikey: Fix parenting issues (#4012)
Jorge Pereira [Mon, 22 Mar 2021 15:50:57 +0000 (12:50 -0300)] 
:wrench: rlm_yubikey: Fix parenting issues (#4012)

4 years agoAdded Centec dictionary. Fixes #4010
Alan T. DeKok [Mon, 22 Mar 2021 13:01:53 +0000 (09:01 -0400)] 
Added Centec dictionary.  Fixes #4010

4 years agoMissing subsection search entry for "refresh" cache method (#4009)
Terry Burton [Fri, 19 Mar 2021 23:30:37 +0000 (23:30 +0000)] 
Missing subsection search entry for "refresh" cache method (#4009)

4 years agoTypo (#4008)
Terry Burton [Fri, 19 Mar 2021 21:44:24 +0000 (21:44 +0000)] 
Typo (#4008)

4 years agoremove from Jenkinsfile, too
Matthew Newton [Fri, 19 Mar 2021 21:14:49 +0000 (21:14 +0000)] 
remove from Jenkinsfile, too

4 years agoupdate to fix CentOS' powertools breakage
Matthew Newton [Fri, 19 Mar 2021 20:59:57 +0000 (20:59 +0000)] 
update to fix CentOS' powertools breakage

4 years agoRemove CentOS 6 from Jenkins builds as now EOL
Matthew Newton [Fri, 19 Mar 2021 20:51:33 +0000 (20:51 +0000)] 
Remove CentOS 6 from Jenkins builds as now EOL

4 years agowhoops, need this too
Alan T. DeKok [Mon, 15 Mar 2021 17:48:48 +0000 (13:48 -0400)] 
whoops, need this too