So that dictionaries can be manually loaded from raddb/dictionary,
and we can later still autoload the various protocol dictionaries
The only downside is that src/tests/Makefile still fails.
The server loads the test dictionary and parses the config files
correctly. radclient loads the test dictionary and sends the
But somehow (magically) when the server receives the packets, it
can't find the test vendor, and prints out all of the attributes
as raw ones...
Alan T. DeKok@2018-12-19T13:26:13Z
On BSD systems, ptrace(PT_DETACH) uses a third argument for
resume address, with the magic value (void *)1 to resume where
process stopped. Specifying NULL there leads to a crash because
process resumes at address 0.
We introduce an OS-dependent _PTRACE_DETACH macro to specify
third argument as NULL on Linux and (void *)1 on other systems.
Always using (void *)1 could be another solution, since basic
tests suggests passing (void *)1 as third argument on Linux
does not cause harm.
Due to the use of SO_BINDTODEVICE, FreeRADIUS requires the address to be
up when binding to a specific IP address. In systemd, depending on
network.target is not sufficient to require the network to be up, so
FreeRADIUS can still fail to bind; instead, network-online.target is
required if the network is required to be online.
This manifests in errors such as:
Error: Failed binding to auth address x.x.x.x port 1812 bound to
server default: Cannot assign requested address