You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Start FreeRADIUS v4, commit a163440ae3cf230d47196456a805bb9da796356c with DHCP in sites-enabled and an incorrect files content (see below).
The startup fails.
Content of files:
/etc/raddb/sites-enabled/dhcp - it is enough to trigger files module by adding in Discover section:
# The build is using libtalloc from RockyLinux:
# dnf info libtalloc
Last metadata expiration check: 1:30:56 ago on Fri 15 Nov 2024 12:39:45 PM CET.
Installed Packages
Name : libtalloc
Version : 2.4.1
Release : 1.el9
Architecture : x86_64
Size : 56 k
Source : libtalloc-2.4.1-1.el9.src.rpm
Repository : @System
From repo : anaconda
Summary : The talloc library
URL : https://talloc.samba.org/
License : LGPL-3.0-or-later
Description : A library that implements a hierarchical allocator with destructors.
Log output from the FreeRADIUS daemon
radiusd -X
Info : Copyright 1999-2024 The FreeRADIUS server project and contributors
Info : There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
Info : PARTICULAR PURPOSE
Info : You may redistribute copies of FreeRADIUS under the terms of the
Info : GNU General Public License
Info : For more information about these matters, see the file named COPYRIGHT
Info : Starting - reading configuration files ...
including configuration file /usr/local/etc/raddb/radiusd.conf
Including files in directory "/usr/local/etc/raddb/template.d/"
including configuration file /usr/local/etc/raddb/template.d/default
including configuration file /usr/local/etc/raddb/clients.conf
Including files in directory "/usr/local/etc/raddb/global.d/"
including configuration file /usr/local/etc/raddb/global.d/ldap
including configuration file /usr/local/etc/raddb/global.d/python
Including files in directory "/usr/local/etc/raddb/mods-enabled/"
including configuration file /usr/local/etc/raddb/mods-enabled/always
including configuration file /usr/local/etc/raddb/mods-enabled/attr_filter
including configuration file /usr/local/etc/raddb/mods-enabled/client
including configuration file /usr/local/etc/raddb/mods-enabled/detail
including configuration file /usr/local/etc/raddb/mods-enabled/detail.log
including configuration file /usr/local/etc/raddb/mods-enabled/echo
including configuration file /usr/local/etc/raddb/mods-enabled/escape
including configuration file /usr/local/etc/raddb/mods-enabled/exec
including configuration file /usr/local/etc/raddb/mods-enabled/files
including configuration file /usr/local/etc/raddb/mods-enabled/files_dhcp
including configuration file /usr/local/etc/raddb/mods-enabled/linelog
including configuration file /usr/local/etc/raddb/mods-enabled/unix
including configuration file /usr/local/etc/raddb/mods-enabled/unpack
Including files in directory "/usr/local/etc/raddb/policy.d/"
including configuration file /usr/local/etc/raddb/policy.d/abfab-tr
including configuration file /usr/local/etc/raddb/policy.d/accounting
including configuration file /usr/local/etc/raddb/policy.d/canonicalisation
including configuration file /usr/local/etc/raddb/policy.d/control
including configuration file /usr/local/etc/raddb/policy.d/cui
including configuration file /usr/local/etc/raddb/policy.d/debug
including configuration file /usr/local/etc/raddb/policy.d/dhcp
including configuration file /usr/local/etc/raddb/policy.d/dhcp_policy_networks
including configuration file /usr/local/etc/raddb/policy.d/eap
including configuration file /usr/local/etc/raddb/policy.d/filter
including configuration file /usr/local/etc/raddb/policy.d/operator-name
including configuration file /usr/local/etc/raddb/policy.d/time
including configuration file /usr/local/etc/raddb/policy.d/vendor
Including files in directory "/usr/local/etc/raddb/sites-enabled/"
including configuration file /usr/local/etc/raddb/sites-enabled/dhcp
Loaded module process_dhcpv4
Parsing initial logging configuration.
main {
prefix = /usr/local
log {
destination = file
syslog_facility = daemon
local_state_dir = "/usr/local/var"
logdir = "/usr/local/var/log"
file = /usr/local/var/log/radius/radius.log
suppress_secrets = no
}
}
Parsing security rules to bootstrap UID / GID / chroot / etc.
main {
log {
}
security {
allow_core_dumps = no
allow_vulnerable_openssl = no
openssl_fips_mode = no
}
name = radiusd
local_state_dir = "/usr/local/var"
run_dir = /usr/local/var/run/radiusd
}
Parsing main configuration
main {
server dhcp {
namespace = dhcpv4
Loaded module proto_dhcpv4
listen {
type = Discover
type = Request
type = Inform
type = Release
type = Decline
transport = udp
Loaded module proto_dhcpv4_udp
udp {
ipaddr = 0.0.0.0
interface = ens224
port = 67
client_port = 68
broadcast = no
networks {
}
max_packet_size = 4096
max_attributes = 255
}
limit {
cleanup_delay = 5.0
idle_timeout = 30.0
nak_lifetime = 30.0
max_connections = 1024
max_clients = 256
max_pending_packets = 256
priority {
Discover = normal
Request = normal
Decline = normal
Release = normal
Inform = normal
Lease-Query = low
Bulk-Lease-Query = low
}
}
}
}
log {
colourise = yes
}
security {
}
sbin_dir = "/usr/local/sbin"
logdir = /usr/local/var/log/radius
radacctdir = /usr/local/var/log/radius/radacct
reverse_lookups = no
hostname_lookups = yes
max_request_time = 30
pidfile = /usr/local/var/run/radiusd/radiusd.pid
debug_level = 0
max_requests = 16384
resources {
}
thread pool {
num_networks = 1
Dynamically determined thread.workers = 2
num_workers = 2
openssl_async_pool_init = 64
openssl_async_pool_max = 1024
}
migrate {
rewrite_update = false
forbid_update = false
}
interpret {
}
}
Switching to configured log settings
log debug {
destination = null
timestamp = yes
colourise = no
}
radiusd: #### Loading Clients ####
client localhost {
ipaddr = 127.0.0.1
secret = <<<secret >>>
require_message_authenticator = auto
limit_proxy_state = auto
proto = *
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
client localhost_ipv6 {
ipv6addr = ::1
secret = <<<secret >>>
require_message_authenticator = no
limit_proxy_state = auto
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30s
}
}
Debugger not attached
Configuration version: 44B4A075-1168-4051-8F3B-D262D3947DFB
systemd watchdog is disabled
pre-suid-down capabilities: =ep
trigger { ... } subsection not found, triggers will be disabled
#### Instantiating libraries ######## Bootstrapping process modules ######## Bootstrapping protocol modules ######## Instantiating libraries ######## Bootstrapping static modules ####
modules {
static {
Loaded module rlm_always
always reject {
rcode = reject
}
always fail {
rcode = fail
}
always ok {
rcode = ok
}
always handled {
rcode = handled
}
always invalid {
rcode = invalid
}
always disallow {
rcode = disallow
}
always notfound {
rcode = notfound
}
always noop {
rcode = noop
}
always updated {
rcode = updated
}
Loaded module rlm_attr_filter
attr_filter attr_filter.pre-proxy {
filename = /usr/local/etc/raddb/mods-config/attr_filter/pre-proxy
key = "%{Realm}"
relaxed = no
}
attr_filter attr_filter.post-proxy {
filename = /usr/local/etc/raddb/mods-config/attr_filter/post-proxy
key = "%{Realm}"
relaxed = no
}
attr_filter attr_filter.access_reject {
filename = /usr/local/etc/raddb/mods-config/attr_filter/access_reject
key = "%{User-Name}"
relaxed = no
}
attr_filter attr_filter.access_challenge {
filename = /usr/local/etc/raddb/mods-config/attr_filter/access_challenge
key = "%{User-Name}"
relaxed = no
}
attr_filter attr_filter.accounting_response {
filename = /usr/local/etc/raddb/mods-config/attr_filter/accounting_response
key = "%{User-Name}"
relaxed = no
}
Loaded module rlm_client
Loaded module rlm_detail
detail {
permissions = 0600
locking = no
escape_filenames = no
log_packet_header = no
}
detail auth_log {
permissions = 0600
locking = no
escape_filenames = no
log_packet_header = no
}
detail reply_log {
permissions = 0600
locking = no
escape_filenames = no
log_packet_header = no
}
detail pre_proxy_log {
permissions = 0600
locking = no
escape_filenames = no
log_packet_header = no
}
detail post_proxy_log {
permissions = 0600
locking = no
escape_filenames = no
log_packet_header = no
}
Loaded module rlm_exec
exececho {
wait = yes
input_pairs = &request
output_pairs = &reply
shell_escape = yes
env_inherit = no
}
Loaded module rlm_escape
escape {
safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
}
exec {
wait = yes
input_pairs = &request
shell_escape = yes
env_inherit = no
timeout = 10
}
Loaded module rlm_files
files {
filename = /usr/local/etc/raddb/mods-config/files/authorize
}
files files_accounting {
filename = /usr/local/etc/raddb/mods-config/files/accounting
}
files files_dhcp_host {
filename = /usr/local/etc/raddb/mods-config/files_dhcp/files_dhcp_hosts
}
Loaded module rlm_linelog
linelog {
destination = file
delimiter = "\n"
file {
permissions = 0600
escape_filenames = no
fsync = no
}
syslog {
severity = "info"
}
unix {
}
tcp {
server = localhost
port = 514
timeout = 2.0
}
udp {
server = localhost
port = 514
timeout = 2.0
}
}
linelog log_accounting {
destination = file
delimiter = "\n"
file {
permissions = 0600
escape_filenames = no
fsync = no
}
syslog {
severity = "info"
}
unix {
}
tcp {
timeout = 1000
}
udp {
timeout = 1000
}
}
linelog log_auth_access_accept {
destination = file
delimiter = "\n"
file {
permissions = 0600
escape_filenames = no
fsync = no
}
syslog {
facility = daemon
severity = notice
}
unix {
}
tcp {
timeout = 1000
}
udp {
timeout = 1000
}
}
linelog log_auth_access_reject {
destination = file
delimiter = "\n"
file {
permissions = 0600
escape_filenames = no
fsync = no
}
syslog {
facility = daemon
severity = notice
}
unix {
}
tcp {
timeout = 1000
}
udp {
timeout = 1000
}
}
linelog log_auth_authentication_pass {
destination = file
delimiter = "\n"
file {
permissions = 0600
escape_filenames = no
fsync = no
}
syslog {
facility = daemon
severity = notice
}
unix {
}
tcp {
timeout = 1000
}
udp {
timeout = 1000
}
}
linelog log_auth_authentication_fail {
destination = file
delimiter = "\n"
file {
permissions = 0600
escape_filenames = no
fsync = no
}
syslog {
facility = daemon
severity = notice
}
unix {
}
tcp {
timeout = 1000
}
udp {
timeout = 1000
}
}
Loaded module rlm_unix
unix {
}
Loaded module rlm_unpack
} # static#### Bootstrapping rlm modules ####
Bootstrapping rlm_always "disallow"
Bootstrapping rlm_exec "echo"
Bootstrapping rlm_escape "escape"
Bootstrapping rlm_exec "exec"
Bootstrapping rlm_always "fail"
Bootstrapping rlm_always "handled"
Bootstrapping rlm_always "invalid"
Bootstrapping rlm_linelog "linelog"
Bootstrapping rlm_linelog "log_accounting"
Bootstrapping rlm_linelog "log_auth_access_accept"
Bootstrapping rlm_linelog "log_auth_access_reject"
Bootstrapping rlm_linelog "log_auth_authentication_fail"
Bootstrapping rlm_linelog "log_auth_authentication_pass"
Bootstrapping rlm_always "noop"
Bootstrapping rlm_always "notfound"
Bootstrapping rlm_always "ok"
Bootstrapping rlm_always "reject"
Bootstrapping rlm_unix "unix"
Bootstrapping rlm_always "updated"
Including dictionary file "/usr/local/etc/raddb/dictionary"#### Instantiating listeners ####
Compiling policies in server dhcp { ... }
Compiling policies in - recv Discover {...}
Reading file /usr/local/etc/raddb/mods-config/files_dhcp/files_dhcp_hosts
Bad talloc magic value - unknown value
talloc abort: Bad talloc magic value - unknown value
CAUGHT SIGNAL: Aborted
Backtrace of last 24 frames:
/lib64/libasan.so.6(+0x45d5e)[0x7f5fbb045d5e]
/usr/local/lib/libfreeradius-util.so(fr_fault_backtrace+0xc2)[0x7f5fbacd43a9]
/usr/local/lib/libfreeradius-util.so(fr_fault+0x172)[0x7f5fbacd45b6]
/usr/local/lib/libfreeradius-util.so(+0xd4a5e)[0x7f5fbacd4a5e]
/lib64/libtalloc.so.2(+0x39bb)[0x7f5fbba229bb]
/usr/local/lib/libfreeradius-server.so(+0x227737)[0x7f5fbaa27737]
/usr/local/lib/libfreeradius-server.so(+0x22a610)[0x7f5fbaa2a610]
/usr/local/lib/libfreeradius-server.so(pairlist_read+0xe0)[0x7f5fbaa28a74]
/usr/local/lib/rlm_files.so(+0x98ef)[0x7f5fb654c8ef]
/usr/local/lib/rlm_files.so(+0xe8ce)[0x7f5fb65518ce]
/usr/local/lib/libfreeradius-unlang.so(+0xa72cf)[0x7f5fba4a72cf]
/usr/local/lib/libfreeradius-unlang.so(call_env_alloc+0x2ba)[0x7f5fba4a858a]
/usr/local/lib/libfreeradius-unlang.so(+0xcbcda)[0x7f5fba4cbcda]
/usr/local/lib/libfreeradius-unlang.so(+0xcd65a)[0x7f5fba4cd65a]
/usr/local/lib/libfreeradius-unlang.so(+0xbbf9d)[0x7f5fba4bbf9d]
/usr/local/lib/libfreeradius-unlang.so(+0xbc9d9)[0x7f5fba4bc9d9]
/usr/local/lib/libfreeradius-unlang.so(unlang_compile+0x47d)[0x7f5fba4cdc0c]
/usr/local/lib/libfreeradius-server.so(virtual_server_compile_sections+0x796)[0x7f5fbaa34cc5]
/usr/local/lib/libfreeradius-server.so(virtual_servers_instantiate+0x705)[0x7f5fbaa380a5]
/usr/local/lib/libfreeradius-server.so(server_init+0x196)[0x7f5fba8c0de4]
radiusd(main+0x3522)[0x409bcc]
/lib64/libc.so.6(+0x29590)[0x7f5fb9a29590]
/lib64/libc.so.6(__libc_start_main+0x80)[0x7f5fb9a29640]
radiusd(_start+0x25)[0x404c25]
No panic action set
Aborted
Relevant log output from client utilities
No response
Backtrace from LLDB or GDB
gdb /usr/local/sbin/radiusd
GNU gdb (GDB) Rocky Linux 10.2-13.el9
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty"for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration"for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type"help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/sbin/radiusd...
(gdb) set logging file /tmp/radius-gdb.log
(gdb) set logging on
Copying output to /tmp/radius-gdb.log.
Copying debug output to /tmp/radius-gdb.log.
(gdb) set args -fxx
(gdb) run
Starting program: /usr/local/sbin/radiusd -fxx
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[Detaching after fork from child process 202942]
[Detaching after fork from child process 202943]
[Detaching after fork from child process 202944]
[Detaching after fork from child process 202946]
[New Thread 0x7ffff18f9640 (LWP 202947)]
[Thread 0x7ffff18f9640 (LWP 202947) exited]
Thread 1 "radiusd" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44#1 0x00007ffff5e8b9b3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78#2 0x00007ffff5e3e646 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26#3 0x00007ffff5e287f3 in __GI_abort () at abort.c:79#4 0x00007ffff70d4a28 in _fr_talloc_fault_simple (reason=0x7ffff7e33070 "Bad talloc magic value - unknown value") at src/lib/util/debug.c:1114#5 0x00007ffff7e2c9bb in talloc_abort (reason=<optimized out>) at ../../talloc.c:509#6 talloc_abort_unknown_value () at ../../talloc.c:519#7 talloc_chunk_from_ptr (ptr=<optimized out>) at ../../talloc.c:535#8 __talloc_get_name (ptr=<optimized out>) at ../../talloc.c:1562#9 _talloc_get_type_abort (ptr=<optimized out>, name=<optimized out>, location=<optimized out>) at ../../talloc.c:1619#10 0x00007ffff6e27737 in fr_dlist_insert_tail (list_head=0x7fffffffcd50, ptr=0x7fffffffa770) at src/freeradius-devel/util/dlist.h:386#11 0x00007ffff6e2a610 in pairlist_read_internal (ctx=0x61a000007420, dict=0x6110000100e0, file=0x625000080140 "/usr/local/etc/raddb/mods-config/files_dhcp/files_dhcp_hosts", list=0x7fffffffcd50, complain=true, order=0x7fffffffcba0) at src/lib/server/users_file.c:471#12 0x00007ffff6e28a74 in pairlist_read (ctx=0x61a000007420, dict=0x6110000100e0, file=0x625000080140 "/usr/local/etc/raddb/mods-config/files_dhcp/files_dhcp_hosts", list=0x7fffffffcd50) at src/lib/server/users_file.c:239#13 0x00007ffff29638ef in getrecv_filename (ctx=0x61a000007420, filename=0x625000080140 "/usr/local/etc/raddb/mods-config/files_dhcp/files_dhcp_hosts", ptree=0x61a000007428, pdefault=0x61a000007430, data_type=FR_TYPE_STRING, key_enum=0x0, dict=0x6110000100e0) at src/modules/rlm_files/rlm_files.c:122#14 0x00007ffff29688ce in call_env_parse (ctx=0x61a000007300, out=0x61a0000073a0, t_rules=0x7fffffffd1e0, ci=0x612000010ba0, cec=0x7fffffffd450, rule=0x7ffff2971360 <__compound_literal.0>) at src/modules/rlm_files/rlm_files.c:680#15 0x00007ffff68a72cf in call_env_parse (ctx=0x61a000007300, parsed=0x61a000007300, name=0x60b00019e2c0 "files_dhcp_host", t_rules=0x7fffffffde30, cs=0x6130000085a0, cec=0x7fffffffd450, rule=0x7ffff2971360 <__compound_literal.0>) at src/lib/unlang/call_env.c:543#16 0x00007ffff68a858a in call_env_alloc (ctx=0x613000056720, name=0x60b00019e2c0 "files_dhcp_host", call_env_method=0x7ffff2970d60 <method_env>, t_rules=0x7fffffffde30, cs=0x6130000085a0, cec=0x7fffffffd450) at src/lib/unlang/call_env.c:767#17 0x00007ffff68cbcda in compile_module (parent=0x6140000074c0, unlang_ctx=0x7fffffffd610, ci=0x6120000765a0, name=0x60b000091b40 "files_dhcp_host") at src/lib/unlang/compile.c:4653#18 0x00007ffff68cd65a in compile_item (parent=0x6140000074c0, unlang_ctx=0x7fffffffd8d0, ci=0x6120000765a0) at src/lib/unlang/compile.c:4999#19 0x00007ffff68bbf9d in compile_children (g=0x6140000074c0, unlang_ctx_in=0x7fffffffdb50, set_action_defaults=true) at src/lib/unlang/compile.c:2181#20 0x00007ffff68bc9d9 in compile_section (parent=0x0, unlang_ctx=0x7fffffffdb50, cs=0x613000040ca0, ext=0x7ffff6a90040 <group_ext>) at src/lib/unlang/compile.c:2328#21 0x00007ffff68cdc0c in unlang_compile (vs=0x60d00002da40, cs=0x613000040ca0, actions=0x7ffff6a125e0 <mod_actions_postauth>, rules=0x7fffffffde30, instruction=0x7fffffffdd60) at src/lib/unlang/compile.c:5060#22 0x00007ffff6e34cc5 in virtual_server_compile_sections (vs=0x60d00002da40, rules=0x7fffffffde30) at src/lib/server/virtual_servers.c:966#23 0x00007ffff6e380a5 in virtual_servers_instantiate () at src/lib/server/virtual_servers.c:1542#24 0x00007ffff6cc0de4 in server_init (cs=0x613000000b20, dict_dir=0x60c0000000a0 "/usr/local/etc/raddb", dict=0x611000001fe0) at src/lib/server/base.c:113#25 0x0000000000409bcc in main (argc=2, argv=0x7fffffffe398) at src/bin/radiusd.c:816
(gdb)
The text was updated successfully, but these errors were encountered:
What type of defect/bug is this?
Crash or memory corruption (segv, abort, etc...)
How can the issue be reproduced?
Start FreeRADIUS v4, commit
a163440ae3cf230d47196456a805bb9da796356c
withDHCP
insites-enabled
and an incorrectfiles
content (see below).The startup fails.
Content of files:
/etc/raddb/sites-enabled/dhcp
- it is enough to trigger files module by adding in Discover section:/etc/raddb/mods-enabled/files_dhcp
:The
/etc/mods-config/files_dhcp/files_dhcp_hosts
must be incorrect (trailing commas):Reproduced at:
with latest updates from November 15th, 2024.
Log output from the FreeRADIUS daemon
Relevant log output from client utilities
No response
Backtrace from LLDB or GDB
The text was updated successfully, but these errors were encountered: