[garnoud@loo sbin]$ valgrind --leak-check=yes ./radiusd -X ==8144== Memcheck, a memory error detector. ==8144== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==8144== Using LibVEX rev 1732, a library for dynamic binary translation. ==8144== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==8144== Using valgrind-3.2.3, a dynamic binary instrumentation framework. ==8144== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==8144== For more details, rerun with: -v ==8144== Config: including file: /users/garnoud/freeradius/V2-20070201/etc/raddb/radiusd.conf Config: including file: /users/garnoud/freeradius/V2-20070201/etc/raddb/proxy.conf Config: including file: /users/garnoud/freeradius/V2-20070201/etc/raddb/clients.conf Config: including file: /users/garnoud/freeradius/V2-20070201/etc/raddb/snmp.conf Config: including file: /users/garnoud/freeradius/V2-20070201/etc/raddb/eap.conf Config: including file: /users/garnoud/freeradius/V2-20070201/etc/raddb/sql.conf Config: including file: /users/garnoud/freeradius/V2-20070201/etc/raddb/sql/mysql-dialup.conf FreeRADIUS Version 2.0.0-pre0, for host i686-pc-linux-gnu, built on Feb 6 2007 at 09:47:17 Starting - reading configuration files ... read_config_files: reading dictionary main: prefix = "/users/garnoud/freeradius/V2-20070201" main: localstatedir = "/users/garnoud/freeradius/V2-20070201/var" main: logdir = "/users/garnoud/freeradius/V2-20070201/var/log/radius" main: libdir = "/users/garnoud/freeradius/V2-20070201/lib" main: radacctdir = "/users/garnoud/freeradius/V2-20070201/var/log/radius/radacct" main: hostname_lookups = no main: snmp = yes main: max_request_time = 30 main: cleanup_delay = 5 main: max_requests = 1024 main: delete_blocked_requests = 0 main: allow_core_dumps = no main: log_stripped_names = no main: log_file = "/users/garnoud/freeradius/V2-20070201/var/log/radius/radius.log" main: log_auth = no main: log_auth_badpass = no main: log_auth_goodpass = no main: pidfile = "/users/garnoud/freeradius/V2-20070201/var/run/radiusd/radiusd.pid" main: checkrad = "/users/garnoud/freeradius/V2-20070201/sbin/checkrad" main: debug_level = 0 main: proxy_requests = yes log: syslog_facility = "daemon" proxy: retry_delay = 5 proxy: retry_count = 3 proxy: default_fallback = yes proxy: dead_time = 120 proxy: wake_all_if_all_dead = no security: max_attributes = 200 security: reject_delay = 1 security: status_server = no read_config_files: reading realms main: port = 1812 listen: type = "auth" listen: ipaddr = * listen: port = 0 listen: type = "acct" listen: ipaddr = * listen: port = 0 client: secret = "pc_gao" client: shortname = "localhost" client: nastype = "other" client: secret = "pc_gao" client: shortname = "PC_GAO" client: secret = "pc_gao" client: shortname = "LOO" radiusd: entering modules setup Module: Library search path is /users/garnoud/freeradius/V2-20070201/lib Module: Loaded exec exec: wait = yes exec: input_pairs = "request" exec: shell_escape = yes rlm_exec: wait=yes but no output defined. Did you mean output=none? Module: Instantiated exec (exec) Module: Loaded expr Module: Instantiated expr (expr) Module: Loaded expiration expiration: reply-message = "Password Has Expired " Module: Instantiated expiration (expiration) Module: Loaded logintime logintime: reply-message = "You are calling outside your allowed timespan " logintime: minimum-timeout = 60 Module: Instantiated logintime (logintime) Module: Loaded PAP pap: encryption_scheme = "auto" pap: auto_header = no Module: Instantiated pap (pap) Module: Loaded CHAP Module: Instantiated chap (chap) Module: Loaded MS-CHAP mschap: use_mppe = yes mschap: require_encryption = no mschap: require_strong = no mschap: with_ntdomain_hack = no Module: Instantiated mschap (mschap) Module: Loaded System unix: radwtmp = "/users/garnoud/freeradius/V2-20070201/var/log/radius/radwtmp" Module: Instantiated unix (unix) Module: Loaded eap eap: default_eap_type = "md5" eap: timer_expire = 60 eap: ignore_unknown_eap_types = no eap: cisco_accounting_username_bug = no rlm_eap: Loaded and initialized type md5 rlm_eap: Loaded and initialized type leap gtc: challenge = "Password: " gtc: auth_type = "PAP" rlm_eap: Loaded and initialized type gtc mschapv2: with_ntdomain_hack = no rlm_eap: Loaded and initialized type mschapv2 Module: Instantiated eap (eap) Module: Loaded preprocess preprocess: huntgroups = "/users/garnoud/freeradius/V2-20070201/etc/raddb/huntgroups" preprocess: hints = "/users/garnoud/freeradius/V2-20070201/etc/raddb/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 preprocess: with_alvarion_vsa_hack = no Module: Instantiated preprocess (preprocess) Module: Loaded realm realm: format = "suffix" realm: delimiter = "@" realm: ignore_default = no realm: ignore_null = no Module: Instantiated realm (suffix) Module: Loaded files files: usersfile = "/users/garnoud/freeradius/V2-20070201/etc/raddb/users" files: acctusersfile = "/users/garnoud/freeradius/V2-20070201/etc/raddb/acct_users" files: preproxy_usersfile = "/users/garnoud/freeradius/V2-20070201/etc/raddb/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" Module: Instantiated acct_unique (acct_unique) Module: Loaded detail detail: detailfile = "/users/garnoud/freeradius/V2-20070201/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d" detail: header = "%t" detail: detailperm = 384 detail: dirperm = 493 detail: locking = no detail: log_packet_header = no Module: Instantiated detail (detail) Module: Loaded radutmp radutmp: filename = "/users/garnoud/freeradius/V2-20070201/var/log/radius/radutmp" radutmp: username = "%{User-Name}" radutmp: case_sensitive = yes radutmp: check_with_nas = yes radutmp: perm = 384 radutmp: callerid = yes Module: Instantiated radutmp (radutmp) Module: Loaded attr_filter attr_filter: attrsfile = "/users/garnoud/freeradius/V2-20070201/etc/raddb/attrs.accounting_response" attr_filter: key = "%{User-Name}" Module: Instantiated attr_filter (attr_filter.accounting_response) attr_filter: attrsfile = "/users/garnoud/freeradius/V2-20070201/etc/raddb/attrs.access_reject" attr_filter: key = "%{User-Name}" Module: Instantiated attr_filter (attr_filter.access_reject) main: smux_password = "verysecret" main: snmp_write_access = yes SMUX connect try 1 SMUX open oid: 1.3.6.1.4.1.3317.1.3.1 SMUX open progname: radiusd SMUX open password: verysecret SMUX register oid: 1.3.6.1.2.1.67.1.1.1.1 SMUX register priority: -1 SMUX register operation: 2 SMUX register oid: 1.3.6.1.2.1.67.2.1.1.1 SMUX register priority: -1 SMUX register operation: 2 Initializing the thread pool... Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on proxy address * port 1814 Ready to process requests. Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 12 SMUX message received type: 67 rest len: 4 SMUX_RRSP SMUX_RRSP value: 0 errstat: 0 --- Walking the entire request list --- Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 32 SMUX message received type: 161 rest len: 28 SMUX_GETNEXT SMUX GET message parse: len 28 SMUX GET reqid: 1 len: 25 SMUX GET errstat 0 len: 22 SMUX GET errindex 0 len: 19 SMUX var parse: len 19 SMUX var parse: type 48 len 15 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1 SMUX val_type: 5 ASN_NULL SMUX function call index is 1 SMUX GETRSP send SMUX GETRSP reqid: 1 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 128 --- Walking the entire request list --- Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 2 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.1.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 1 SMUX function call index is 2 SMUX GETRSP send SMUX GETRSP reqid: 2 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 39 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 3 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.2.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 2 SMUX function call index is 3 SMUX GETRSP send SMUX GETRSP reqid: 3 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 39 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 4 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.3.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 3 SMUX function call index is 4 SMUX GETRSP send SMUX GETRSP reqid: 4 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 5 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.4.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 4 SMUX function call index is 5 SMUX GETRSP send SMUX GETRSP reqid: 5 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 6 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.5.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 5 SMUX function call index is 6 SMUX GETRSP send SMUX GETRSP reqid: 6 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 7 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.6.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 6 SMUX function call index is 7 SMUX GETRSP send SMUX GETRSP reqid: 7 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 8 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.7.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 7 SMUX function call index is 8 SMUX GETRSP send SMUX GETRSP reqid: 8 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 9 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.8.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 8 SMUX function call index is 9 SMUX GETRSP send SMUX GETRSP reqid: 9 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 10 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.9.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 9 SMUX function call index is 10 SMUX GETRSP send SMUX GETRSP reqid: 10 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 11 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.10.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 10 SMUX function call index is 11 SMUX GETRSP send SMUX GETRSP reqid: 11 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 12 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.11.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 11 SMUX function call index is 12 SMUX GETRSP send SMUX GETRSP reqid: 12 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 13 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.12.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 12 SMUX function call index is 13 SMUX GETRSP send SMUX GETRSP reqid: 13 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 14 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.13.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 13 SMUX function call index is 14 SMUX GETRSP send SMUX GETRSP reqid: 14 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 38 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 37 SMUX message received type: 161 rest len: 33 SMUX_GETNEXT SMUX GET message parse: len 33 SMUX GET reqid: 15 len: 30 SMUX GET errstat 0 len: 27 SMUX GET errindex 0 len: 24 SMUX var parse: len 24 SMUX var parse: type 48 len 20 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.14.0 SMUX val_type: 5 ASN_NULL SMUX function call index is 14 SMUX function call index is 2 SMUX GETRSP send SMUX GETRSP reqid: 15 SMUX GETRSP errstat: 0 SMUX GETRSP errindex: 0 SMUX getresp send: 59 Nothing to do. Sleeping until we see a request. SMUX read start SMUX read len: 39 SMUX message received type: 161 rest len: 35 SMUX_GETNEXT SMUX GET message parse: len 35 SMUX GET reqid: 16 len: 32 SMUX GET errstat 0 len: 29 SMUX GET errindex 0 len: 26 SMUX var parse: len 26 SMUX var parse: type 48 len 22 SMUX var parse: type must be 48 Request OID: 1.3.6.1.2.1.67.1.1.1.1.15.1.2.1 SMUX val_type: 5 ASN_NULL SMUX function call index is 2 SMUX function call index is 3 ==8144== Invalid read of size 1 ==8144== at 0x805ED49: radAuthEntry (radius_snmp.c:492) ==8144== by 0x8061EA5: smux_getnext (smux.c:574) ==8144== by 0x8062255: smux_parse_get (smux.c:669) ==8144== by 0x8062680: smux_parse (smux.c:786) ==8144== by 0x806289A: smux_read (smux.c:836) ==8144== by 0x805E0FB: main (radiusd.c:696) ==8144== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==8144== ==8144== Process terminating with default action of signal 11 (SIGSEGV) ==8144== Access not within mapped region at address 0x0 ==8144== at 0x805ED49: radAuthEntry (radius_snmp.c:492) ==8144== by 0x8061EA5: smux_getnext (smux.c:574) ==8144== by 0x8062255: smux_parse_get (smux.c:669) ==8144== by 0x8062680: smux_parse (smux.c:786) ==8144== by 0x806289A: smux_read (smux.c:836) ==8144== by 0x805E0FB: main (radiusd.c:696) ==8144== ==8144== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 74 from 2) ==8144== malloc/free: in use at exit: 749,970 bytes in 27,962 blocks. ==8144== malloc/free: 28,621 allocs, 659 frees, 893,190 bytes allocated. ==8144== For counts of detected errors, rerun with: -v ==8144== searching for pointers to 27,962 not-freed blocks. ==8144== checked 1,189,660 bytes. ==8144== ==8144== ==8144== 16 bytes in 1 blocks are definitely lost in loss record 4 of 34 ==8144== at 0x401A846: malloc (vg_replace_malloc.c:149) ==8144== by 0x4060ED3: lrad_hash_table_insert (hash.c:418) ==8144== by 0x45CF1CF: getusersfile (rlm_files.c:297) ==8144== by 0x45CF445: file_instantiate (rlm_files.c:366) ==8144== by 0x8059B1A: find_module_instance (modules.c:321) ==8144== by 0x805BF96: do_compile_modsingle (modcall.c:1199) ==8144== by 0x805C317: compile_modsingle (modcall.c:1306) ==8144== by 0x805A1A4: load_component_section (modules.c:565) ==8144== by 0x805AA98: setup_modules (modules.c:933) ==8144== by 0x80593C3: read_mainconfig (mainconfig.c:1136) ==8144== by 0x805D7F9: main (radiusd.c:288) ==8144== ==8144== ==8144== 72 bytes in 3 blocks are definitely lost in loss record 8 of 34 ==8144== at 0x401A846: malloc (vg_replace_malloc.c:149) ==8144== by 0x4069653: rbtree_create (rbtree.c:100) ==8144== by 0x804EAA0: client_add (client.c:234) ==8144== by 0x804F0AC: clients_parse_section (client.c:487) ==8144== by 0x8059351: read_mainconfig (mainconfig.c:1119) ==8144== by 0x805D7F9: main (radiusd.c:288) ==8144== ==8144== ==8144== 296 bytes in 20 blocks are definitely lost in loss record 12 of 34 ==8144== at 0x401A846: malloc (vg_replace_malloc.c:149) ==8144== by 0x413C750: lt_emalloc (ltdl.c:1016) ==8144== by 0x413D36A: canonicalize_path (ltdl.c:2561) ==8144== by 0x413DC0D: try_dlopen (ltdl.c:3078) ==8144== by 0x413E77F: lt_dlopenext (ltdl.c:3479) ==8144== by 0x80596F1: linkto_module (modules.c:195) ==8144== by 0x8059AB0: find_module_instance (modules.c:309) ==8144== by 0x805AA0B: setup_modules (modules.c:913) ==8144== by 0x80593C3: read_mainconfig (mainconfig.c:1136) ==8144== by 0x805D7F9: main (radiusd.c:288) ==8144== ==8144== LEAK SUMMARY: ==8144== definitely lost: 384 bytes in 24 blocks. ==8144== possibly lost: 0 bytes in 0 blocks. ==8144== still reachable: 749,586 bytes in 27,938 blocks. ==8144== suppressed: 0 bytes in 0 blocks. ==8144== Reachable blocks (those to which a pointer was found) are not shown. ==8144== To see them, rerun with: --leak-check=full --show-reachable=yes Segmentation fault