Hi, I got a segmentation fault when i tried to run freeradius (Versions 1.0.4, 1.0.5, 1.1.0 and 1.1.1) on Debian (Sarge) or Suse (10.0) with options enabled in the attached config-file.
Meanwhile I found out that the segmentation fault happened because of the following setting: > bind_address = 0.0.0.0 No I replaced it with the default value > bind_address = * and everything is fine :) Thanks for reading, best regards, Rainer
## ## radiusd.conf -- FreeRADIUS server configuration file. ## ## http://www.freeradius.org/ ## $Id: radiusd.conf.in,v 1.161 2003/11/17 18:10:27 kkalev Exp $ ## ############# PATHS ############# prefix = /usr/local/freeradius exec_prefix = ${prefix} sysconfdir = /etc localstatedir = /var sbindir = ${exec_prefix}/sbin logdir = ${localstatedir}/log/freeradius raddbdir = ${sysconfdir}/freeradius radacctdir = ${logdir}/radacct confdir = ${raddbdir} run_dir = ${localstatedir}/run/freeradius log_file = ${logdir}/radius.log libdir = ${exec_prefix}/lib/freeradius pidfile = ${run_dir}/freeradius.pid ############# GLOBAL SETTINGS ############# max_request_time = 30 delete_blocked_requests = no cleanup_delay = 5 max_requests = 1024 bind_address = 0.0.0.0 hostname_lookups = no allow_core_dumps = no regular_expressions = yes extended_expressions = yes log_stripped_names = no log_auth = no log_auth_badpass = no log_auth_goodpass = no usercollide = no lower_pass = no nospace_user = no nospace_pass = no Checkrad = ${sbindir}/checkrad security { max_attributes = 200 reject_delay = 1 status_server = no } proxy_requests = yes $INCLUDE ${confdir}/clients.conf thread pool { start_servers = 5 max_servers = 32 min_spare_servers = 3 max_spare_servers = 10 max_requests_per_server = 0 } ############# MODULE SETTINGS ############# modules { pap { encryption_scheme = crypt } chap { authtype = CHAP } pam { pam_auth = radiusd } mschap { authtype = MS-CHAP } realm realmslash { format = prefix delimiter = "/" } realm suffix { format = suffix delimiter = "@" } realm realmpercent { format = suffix delimiter = "%" } preprocess { huntgroups = ${confdir}/huntgroups hints = ${confdir}/hints with_ascend_hack = no ascend_channels_per_line = 23 with_ntdomain_hack = no with_specialix_jetstream_hack = no with_cisco_vsa_hack = no } files { usersfile = ${confdir}/users acctusersfile = ${confdir}/acct_users compat = no } detail { detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d detailperm = 0600 } acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port-Id" } radutmp { filename = ${logdir}/radutmp username = %{User-Name} case_sensitive = yes check_with_nas = yes perm = 0600 callerid = "yes" } radutmp sradutmp { filename = ${logdir}/sradutmp perm = 0644 callerid = "no" } attr_filter { attrsfile = ${confdir}/attrs } counter daily { filename = ${raddbdir}/db.daily key = User-Name count-attribute = Acct-Session-Time reset = daily counter-name = Daily-Session-Time check-name = Max-Daily-Session allowed-servicetype = Framed-User cache-size = 5000 } always fail { rcode = fail } always reject { rcode = reject } always ok { rcode = ok simulcount = 0 mpp = no } digest { } exec { wait = yes input_pairs = request } exec echo { wait = yes program = "/bin/echo %{User-Name}" input_pairs = request output_pairs = reply } } authorize { preprocess realmslash suffix files } preacct { preprocess suffix files } accounting { acct_unique detail radutmp } session { radutmp } post-auth { } pre-proxy { }
pumba:/etc/freeradius# gdb /usr/local/freeradius/sbin/radiusd GNU gdb 6.4-debian Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) set args -X (gdb) run Starting program: /usr/local/freeradius-1.0.5/sbin/radiusd -X [Thread debugging using libthread_db enabled] [New Thread -1212021056 (LWP 10020)] Starting - reading configuration files ... reread_config: reading radiusd.conf Config: including file: /etc/freeradius/clients.conf main: prefix = "/usr/local/freeradius" main: localstatedir = "/var" main: logdir = "/var/log/freeradius" main: libdir = "/usr/local/freeradius/lib/freeradius" main: radacctdir = "/var/log/freeradius/radacct" main: hostname_lookups = no main: max_request_time = 30 main: cleanup_delay = 5 main: max_requests = 1024 main: delete_blocked_requests = 0 main: port = 1812 main: allow_core_dumps = no main: log_stripped_names = no main: log_file = "/var/log/freeradius/radius.log" main: log_auth = no main: log_auth_badpass = no main: log_auth_goodpass = no main: pidfile = "/var/run/freeradius/freeradius.pid" Can't find IP address for host 0.0.0.0 read_config_files: reading dictionary read_config_files: reading naslist Using deprecated naslist file. Support for this will go away soon. read_config_files: reading clients read_config_files: reading realms radiusd: entering modules setup Module: Library search path is /usr/local/freeradius/lib/freeradius Module: Loaded preprocess preprocess: huntgroups = "/etc/freeradius/huntgroups" preprocess: hints = "/etc/freeradius/hints" preprocess: with_ascend_hack = no preprocess: ascend_channels_per_line = 23 preprocess: with_ntdomain_hack = no preprocess: with_specialix_jetstream_hack = no preprocess: with_cisco_vsa_hack = no Module: Instantiated preprocess (preprocess) Module: Loaded realm realm: format = "prefix" realm: delimiter = "/" realm: ignore_default = no realm: ignore_null = no Module: Instantiated realm (realmslash) realm: format = "suffix" realm: delimiter = "@" realm: ignore_default = no realm: ignore_null = no Module: Instantiated realm (suffix) Module: Loaded files files: usersfile = "/etc/freeradius/users" files: acctusersfile = "/etc/freeradius/acct_users" files: preproxy_usersfile = "/etc/freeradius/preproxy_users" files: compat = "no" Module: Instantiated files (files) Module: Loaded Acct-Unique-Session-Id acct_unique: key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port-Id" Module: Instantiated acct_unique (acct_unique) Module: Loaded detail detail: detailfile = "/var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d" detail: detailperm = 384 detail: dirperm = 493 detail: locking = no Module: Instantiated detail (detail) Module: Loaded radutmp radutmp: filename = "/var/log/freeradius/radutmp" radutmp: username = "%{User-Name}" radutmp: case_sensitive = yes radutmp: check_with_nas = yes radutmp: perm = 384 radutmp: callerid = yes Module: Instantiated radutmp (radutmp) Listening on authentication *:1812 Listening on accounting *:1813 Ready to process requests. rad_recv: Access-Request packet from host 192.168.1.81:1923, id=8, length=48 User-Name = "meathome" User-Password = "\250\357A\207\215\322\307\340\346\355\026\024\t(\251+" Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1212021056 (LWP 10020)] 0x0804c60c in rad_respond (request=0x81106d8, fun=0x8052f80 <rad_authenticate>) at radiusd.c:1630 1630 if(strcmp(mainconfig.do_lower_user, "before") == 0) (gdb) display mainconfig 1: mainconfig = {next = 0x0, config_dead_time = 0, myip = 0, log_auth = 0, log_auth_badpass = 0, log_auth_goodpass = 0, do_usercollide = 0, allow_core_dumps = 0, debug_level = 0, proxy_requests = 0, post_proxy_authorize = 0, wake_all_if_all_dead = 0, proxy_synchronous = 0, proxy_dead_time = 0, proxy_retry_count = 0, proxy_retry_delay = 0, proxy_fallback = 0, reject_delay = 0, status_server = 0, max_request_time = 30, cleanup_delay = 5, max_requests = 1024, kill_unresponsive_children = 0, do_lower_user = 0x0, do_lower_pass = 0x0, do_nospace_user = 0x0, do_nospace_pass = 0x0, nospace_time = 0x0, log_file = 0x8066560 "/var/log/freeradius/radius.log", checkrad = 0x0, pid_file = 0x8066588 "/var/run/freeradius/freeradius.pid", uid_name = 0x0, gid_name = 0x0, listen = 0x8069630, config = 0x8066088, clients = 0x810a528, realms = 0x0} (gdb) quit
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html