I couldn't find anything in the archives with this error and i am fairly new to freeradius config anyway so i thought this would be a good start. We are looking to authenticate wireless users through freeradius and Microsoft NPS. Our outer authentication is PEAP and terminates at the radius server, inner is MSCHAPv2 and is passed to the NPS. With our current config we get a segfault at the end of the exchange. The output of radiusd -X is below FreeRADIUS Version 2.1.10, for host i386-redhat-linux-gnu, built on Mar 25 2011 at 15:16:13 Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License v2. Starting - reading configuration files ... including configuration file /etc/raddb/radiusd.conf including configuration file /etc/raddb/proxy.conf including configuration file /etc/raddb/clients.conf including files in directory /etc/raddb/modules/ including configuration file /etc/raddb/modules/echo including configuration file /etc/raddb/modules/opendirectory including configuration file /etc/raddb/modules/pap including configuration file /etc/raddb/modules/exec including configuration file /etc/raddb/modules/mschap including configuration file /etc/raddb/modules/krb5 including configuration file /etc/raddb/modules/detail.example.com including configuration file /etc/raddb/modules/logintime including configuration file /etc/raddb/modules/smsotp including configuration file /etc/raddb/modules/mac2vlan including configuration file /etc/raddb/modules/passwd including configuration file /etc/raddb/modules/sql_log including configuration file /etc/raddb/modules/smbpasswd including configuration file /etc/raddb/modules/perl including configuration file /etc/raddb/modules/files including configuration file /etc/raddb/modules/counter including configuration file /etc/raddb/modules/radutmp including configuration file /etc/raddb/modules/acct_unique including configuration file /etc/raddb/modules/ntlm_auth including configuration file /etc/raddb/modules/attr_filter including configuration file /etc/raddb/modules/unix including configuration file /etc/raddb/modules/dynamic_clients including configuration file /etc/raddb/modules/always including configuration file /etc/raddb/modules/expr including configuration file /etc/raddb/modules/checkval including configuration file /etc/raddb/modules/inner-eap including configuration file /etc/raddb/modules/cui including configuration file /etc/raddb/modules/chap including configuration file /etc/raddb/modules/mac2ip including configuration file /etc/raddb/modules/detail including configuration file /etc/raddb/modules/attr_rewrite including configuration file /etc/raddb/modules/sqlcounter_expire_on_login including configuration file /etc/raddb/modules/expiration including configuration file /etc/raddb/modules/realm including configuration file /etc/raddb/modules/etc_group including configuration file /etc/raddb/modules/pam including configuration file /etc/raddb/modules/digest including configuration file /etc/raddb/modules/sradutmp including configuration file /etc/raddb/modules/wimax including configuration file /etc/raddb/modules/linelog including configuration file /etc/raddb/modules/preprocess including configuration file /etc/raddb/modules/detail.log including configuration file /etc/raddb/modules/policy including configuration file /etc/raddb/modules/otp including configuration file /etc/raddb/modules/ippool including configuration file /etc/raddb/eap.conf including configuration file /etc/raddb/policy.conf including files in directory /etc/raddb/sites-enabled/ including configuration file /etc/raddb/sites-enabled/inner-tunnel including configuration file /etc/raddb/sites-enabled/proxy-inner-tunnel including configuration file /etc/raddb/sites-enabled/default including configuration file /etc/raddb/sites-enabled/control-socket main { user = "radiusd" group = "radiusd" allow_core_dumps = no } including dictionary file /etc/raddb/dictionary main { prefix = "/usr" localstatedir = "/var" logdir = "/var/log/radius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/radius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 1024 pidfile = "/var/run/radiusd/radiusd.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = no auth_badpass = no auth_goodpass = no } security { max_attributes = 200 reject_delay = 1 status_server = yes } } radiusd: #### Loading Realms and Home Servers #### proxy server { retry_delay = 5 retry_count = 3 default_fallback = no dead_time = 120 wake_all_if_all_dead = no } home_server localhost { ipaddr = 127.0.0.1 port = 1812 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 require_message_authenticator = yes zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 irt = 2 mrt = 16 mrc = 5 mrd = 30 } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } realm LOCAL { } realm nebraska.gov { authhost = 10.1.1.1 secret = doomkey } realm DEFAULT { authhost = 10.1.1.1 secret = doomkey } radiusd: #### Loading Clients #### client localhost { ipaddr = 127.0.0.1 require_message_authenticator = no secret = "testing123" nastype = "other" } client 10.1.2.11 { ipaddr = 10.1.1.11 netmask = 24 require_message_authenticator = no secret = "testing123" } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating module "exec" from file /etc/raddb/modules/exec exec { wait = no input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating module "expr" from file /etc/raddb/modules/expr Module: Linked to module rlm_expiration Module: Instantiating module "expiration" from file /etc/raddb/modules/expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating module "logintime" from file /etc/raddb/modules/logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server inner-tunnel { # from file /etc/raddb/sites-enabled/inner-tunnel modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_mschap Module: Instantiating module "mschap" from file /etc/raddb/modules/mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no } Module: Linked to module rlm_unix Module: Instantiating module "unix" from file /etc/raddb/modules/unix unix { radwtmp = "/var/log/radius/radwtmp" } Module: Linked to module rlm_eap Module: Instantiating module "eap" from file /etc/raddb/eap.conf eap { default_eap_type = "peap" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 4096 } Module: Linked to sub-module rlm_eap_md5 Module: Instantiating eap-md5 Module: Linked to sub-module rlm_eap_leap Module: Instantiating eap-leap Module: Linked to sub-module rlm_eap_gtc Module: Instantiating eap-gtc gtc { challenge = "Password: " auth_type = "PAP" } Module: Linked to sub-module rlm_eap_tls Module: Instantiating eap-tls tls { rsa_key_exchange = no dh_key_exchange = yes rsa_key_length = 512 dh_key_length = 512 verify_depth = 0 CA_path = "/etc/raddb/certs" pem_file_type = yes private_key_file = "/etc/raddb/certs/server.pem" certificate_file = "/etc/raddb/certs/server.pem" CA_file = "/etc/raddb/certs/ca.pem" private_key_password = "whatever" dh_file = "/etc/raddb/certs/dh" random_file = "/etc/raddb/certs/random" fragment_size = 1024 include_length = yes check_crl = no cipher_list = "DEFAULT" cache { enable = no lifetime = 24 max_entries = 255 } verify { } } Module: Linked to sub-module rlm_eap_ttls Module: Instantiating eap-ttls ttls { default_eap_type = "md5" copy_request_to_tunnel = no use_tunneled_reply = no virtual_server = "inner-tunnel" include_length = yes } Module: Linked to sub-module rlm_eap_peap Module: Instantiating eap-peap peap { default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = no virtual_server = "inner-tunnel" } Module: Linked to sub-module rlm_eap_mschapv2 Module: Instantiating eap-mschapv2 mschapv2 { with_ntdomain_hack = no } Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_chap Module: Instantiating module "chap" from file /etc/raddb/modules/chap Module: Linked to module rlm_realm Module: Instantiating module "suffix" from file /etc/raddb/modules/realm realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Module: Linked to module rlm_files Module: Instantiating module "files" from file /etc/raddb/modules/files files { usersfile = "/etc/raddb/users" acctusersfile = "/etc/raddb/acct_users" preproxy_usersfile = "/etc/raddb/preproxy_users" compat = "no" } Module: Checking session {...} for more modules to load Module: Linked to module rlm_radutmp Module: Instantiating module "radutmp" from file /etc/raddb/modules/radutmp radutmp { filename = "/var/log/radius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes perm = 384 callerid = yes } Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load Module: Linked to module rlm_attr_filter Module: Instantiating module "attr_filter.access_reject" from file /etc/raddb/modules/attr_filter attr_filter attr_filter.access_reject { attrsfile = "/etc/raddb/attrs.access_reject" key = "%{User-Name}" } } # modules } # server server proxy-inner-tunnel { # from file /etc/raddb/sites-enabled/proxy-inner-tunnel modules { Module: Checking authenticate {...} for more modules to load Module: Checking authorize {...} for more modules to load Module: Checking post-proxy {...} for more modules to load } # modules } # server server { # from file /etc/raddb/radiusd.conf modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_digest Module: Instantiating module "digest" from file /etc/raddb/modules/digest Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_preprocess Module: Instantiating module "preprocess" from file /etc/raddb/modules/preprocess preprocess { huntgroups = "/etc/raddb/huntgroups" hints = "/etc/raddb/hints" with_ascend_hack = no ascend_channels_per_line = 23 with_ntdomain_hack = no with_specialix_jetstream_hack = no with_cisco_vsa_hack = no with_alvarion_vsa_hack = no } Module: Checking preacct {...} for more modules to load Module: Linked to module rlm_acct_unique Module: Instantiating module "acct_unique" from file /etc/raddb/modules/acct_unique acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" } Module: Checking accounting {...} for more modules to load Module: Linked to module rlm_detail Module: Instantiating module "detail" from file /etc/raddb/modules/detail detail { detailfile = "/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Instantiating module "attr_filter.accounting_response" from file /etc/raddb/modules/attr_filter attr_filter attr_filter.accounting_response { attrsfile = "/etc/raddb/attrs.accounting_response" key = "%{User-Name}" } Module: Checking session {...} for more modules to load Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load } # modules } # server radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 } listen { type = "acct" ipaddr = * port = 0 } listen { type = "control" listen { socket = "/var/run/radiusd/radiusd.sock" } } listen { type = "auth" ipaddr = 127.0.0.1 port = 18120 } Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on command file /var/run/radiusd/radiusd.sock Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 10.1.1.11 port 32852, id=161, length=184 User-Name = "test.user" NAS-IP-Address = 10.2.2.252 NAS-Port = 0 NAS-Identifier = "10.2.2.252" NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "00242B8E4D0C" Called-Station-Id = "000B8661628C" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x02010011017061747269636b2e7365696d Aruba-Essid-Name = "NEW_TEST" Aruba-Location-Id = "2-floor-n" Message-Authenticator = 0x0616bb5f834210be7e960f52cb0e9968 # Executing section authorize from file /etc/raddb/sites-enabled/default +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [eap] EAP packet type response id 1 length 17 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[files] returns noop ++[expiration] returns noop ++[logintime] returns noop Found Auth-Type = EAP # Executing group from file /etc/raddb/sites-enabled/default +- entering group authenticate {...} [eap] EAP Identity [eap] processing type tls [tls] Initiate [tls] Start returned 1 ++[eap] returns handled Sending Access-Challenge of id 161 to 10.1.1.11 port 32852 EAP-Message = 0x010200061920 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xe703083fe7011100d2e436560bc43afd Finished request 0. Going to the next request Waking up in 4.9 seconds. rad_recv: Access-Request packet from host 10.1.1.11 port 32852, id=162, length=322 User-Name = "test.user" NAS-IP-Address = 10.2.2.252 NAS-Port = 0 NAS-Identifier = "10.2.2.252" NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "00242B8E4D0C" Called-Station-Id = "000B8661628C" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x0202008919800000007f160301007a0100007603014da4651f11687c8945759c5bc72d126446a89dcc2f646830f8a6380e598b33152055674930a9ee82feab2c2e101b752b495d9cdb7940be7b35de9e772f6a3ca860002800390038003500160013000a00330032002f000500040015001200090014001100080006000300ff020100000400230000 State = 0xe703083fe7011100d2e436560bc43afd Aruba-Essid-Name = "NEW_TEST" Aruba-Location-Id = "2-floor-n" Message-Authenticator = 0xe5cef2c78edefc6e81a609f48786c0a6 # Executing section authorize from file /etc/raddb/sites-enabled/default +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [eap] EAP packet type response id 2 length 137 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP # Executing group from file /etc/raddb/sites-enabled/default +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS TLS Length 127 [peap] Length Included [peap] eaptls_verify returned 11 [peap] (other): before/accept initialization [peap] TLS_accept: before/accept initialization [peap] <<< TLS 1.0 Handshake [length 007a], ClientHello [peap] TLS_accept: SSLv3 read client hello A [peap] >>> TLS 1.0 Handshake [length 0031], ServerHello [peap] TLS_accept: SSLv3 write server hello A [peap] >>> TLS 1.0 Handshake [length 085e], Certificate [peap] TLS_accept: SSLv3 write certificate A [peap] >>> TLS 1.0 Handshake [length 020d], ServerKeyExchange [peap] TLS_accept: SSLv3 write key exchange A [peap] >>> TLS 1.0 Handshake [length 0004], ServerHelloDone [peap] TLS_accept: SSLv3 write server done A [peap] TLS_accept: SSLv3 flush data [peap] TLS_accept: Need to read more data: SSLv3 read client certificate A In SSL Handshake Phase In SSL Accept mode [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 162 to 10.1.1.11 port 32852 EAP-Message = 0x0103040019c000000ab416030100310200002d03014da46529811361d8e16f2d7a616be1b602e3e2919631bd2627dacb9899fd5200000039010005ff01000100160301085e0b00085a0008570003a6308203a23082028aa003020102020101300d06092a864886f70d0101050500308193310b3009060355040613024652310f300d060355040813065261646975733112301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c65204365727469666963617465204175 EAP-Message = 0x74686f72697479301e170d3131303430343133333332335a170d3131303630333133333332335a307c310b3009060355040613024652310f300d0603550408130652616469757331153013060355040a130c4578616d706c6520496e632e312330210603550403131a4578616d706c65205365727665722043657274696669636174653120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100a9b14db97cd672ef06bd5d7323ac4a0cd9129a49e1f945e3f62e5eceda01c78dd5c15a0f5f3e6282f25e90cd5b7fd4ef72f4ddb97f5aee EAP-Message = 0x503a805f613453811ba6f216101f77ddb0ebb877af89fd4fd426e5c2f3bf1ae95d399d8676873f56b5f12664a1f143a1f8bde34b9ca741ff920f3332192ad6cf7bb1d26e27969c18589b9172eb2adb0e6fa2b5bcfb103f9bd741bab7f73d6098be5501a87bd3a106866a46f52da3fa44bda96f987fd43c3ae7f41742335da304057dc5ebdfe6596996d6a56d7bf37d09318bfd8fadd96d02c347ddada868a582c1892b77a25cf564b0f8c523899762794f3afeb6c98d3627b14ddca4e0c9d6012f8a4606314f8c9ad70203010001a317301530130603551d25040c300a06082b06010505070301300d06092a864886f70d010105050003820101006eab EAP-Message = 0xff4bbe32d78a691f9b40ab501816878b12468905da803571dbf899644c3d37fc870a0a9c959433cc0fec1ba0354e37d5ddc07003fd01e44756d0ee2511b0fe8995168471f34bd32c78118ba8c6a83b304e6fbfe64a8c73a42b14338749bf50726406e0111278cb5afcad64852d744f9a63930373ef090a5835f4c04963883239e5210599173b459e20df9dc225c0a88717af9f7f291db589fe3142cee39b6e02ae166790d6a2ba8ddd5416c55036959d31eb6499fb22602d114b9e6586dc3a664caf05828b71d25132c4ecc1bf4f7756bdc1abd00f61d6f5596328ca5bf035d163c2ea74f71d0cc78a161f172cc51976c83fc8fea70c9533b766d04f5f EAP-Message = 0x6b0004ab308204a73082038f Message-Authenticator = 0x00000000000000000000000000000000 State = 0xe703083fe6001100d2e436560bc43afd Finished request 1. Going to the next request Waking up in 4.9 seconds. rad_recv: Access-Request packet from host 10.1.1.11 port 32852, id=163, length=191 User-Name = "test.user" NAS-IP-Address = 10.2.2.252 NAS-Port = 0 NAS-Identifier = "10.2.2.252" NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "00242B8E4D0C" Called-Station-Id = "000B8661628C" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020300061900 State = 0xe703083fe6001100d2e436560bc43afd Aruba-Essid-Name = "NEW_TEST" Aruba-Location-Id = "cio-501-2-floor-n" Message-Authenticator = 0x088296f7b31bd2b2be0a82497014c5ba # Executing section authorize from file /etc/raddb/sites-enabled/default +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [eap] EAP packet type response id 3 length 6 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP # Executing group from file /etc/raddb/sites-enabled/default +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] Received TLS ACK [peap] ACK handshake fragment handler [peap] eaptls_verify returned 1 [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 163 to 10.1.1.11 port 32852 EAP-Message = 0x010403fc1940a003020102020900905b3b8852fd0eec300d06092a864886f70d0101050500308193310b3009060355040613024652310f300d060355040813065261646975733112301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c6520436572746966696361746520417574686f72697479301e170d3131303430343133333332335a170d3131303630333133333332335a308193310b3009060355040613024652310f300d0603550408130652616469757331 EAP-Message = 0x12301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c6520436572746966696361746520417574686f7269747930820122300d06092a864886f70d01010105000382010f003082010a02820101009ea811b7cba7e6567e64cd0bd554807703f2d411e3e22abe41ce1b12ff5e238cf9c337fdc410518a9014109e4fdf80d881b6319fabafefb6d391574227b3859ff9ab0fcc1394829d246dab1dd10e93306a55b7fcdd53b1ced6eb301781475071fd0b14cdbf54cd7f EAP-Message = 0xf81e753801ded67f9656c363593a558f51e3efda51771246a74b573e9016a81a5ba3e79dbcfb0fd21c03eb9515d0fc869cdf9f0c4bf08b460a074a5c0746aad7366ce47e074de35ac6cbc6b67dccc39f662cc067487fe6b7cb83f4dc08cd72ec53d3bc79a10ee4fa0b0902f308d3c0752d1a6dacc8dbd36d8d8ffa246c6f48ea01ff35808a50ba7f316a55db17e29e8486f1c879bd2d53530203010001a381fb3081f8301d0603551d0e041604146a9a07c92f12551551e50da7f47d53738b4d3a733081c80603551d230481c03081bd80146a9a07c92f12551551e50da7f47d53738b4d3a73a18199a48196308193310b300906035504061302465231 EAP-Message = 0x0f300d060355040813065261646975733112301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c6520436572746966696361746520417574686f72697479820900905b3b8852fd0eec300c0603551d13040530030101ff300d06092a864886f70d0101050500038201010029b8cf1cbf5d747887700d6b18f12ed58052573c7dc812b31982cc380ebac6158056c80a7a69c01bd2c7159d062e47bcf041930cbc0ba036ac7a27b9e1cb3ae8c99dd270c6effe11f71b9d EAP-Message = 0x874abf78f9decd20 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xe703083fe5071100d2e436560bc43afd Finished request 2. Going to the next request Waking up in 4.9 seconds. rad_recv: Access-Request packet from host 10.1.1.11 port 32852, id=164, length=191 User-Name = "test.user" NAS-IP-Address = 10.2.2.252 NAS-Port = 0 NAS-Identifier = "10.2.2.252" NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "00242B8E4D0C" Called-Station-Id = "000B8661628C" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020400061900 State = 0xe703083fe5071100d2e436560bc43afd Aruba-Essid-Name = "NEW_TEST" Aruba-Location-Id = "2-floor-n" Message-Authenticator = 0x5fea54e52ff7020307e9369153819ab0 # Executing section authorize from file /etc/raddb/sites-enabled/default +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [eap] EAP packet type response id 4 length 6 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP # Executing group from file /etc/raddb/sites-enabled/default +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] Received TLS ACK [peap] ACK handshake fragment handler [peap] eaptls_verify returned 1 [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 164 to 10.1.1.11 port 32852 EAP-Message = 0x010502ce19001f296a73dbf89c4d8621f2c69e7118513620a7941bcb8b55eb0f0d775c8bb6d38e8456b4010e8b08e6cf77aca664bb9c1444860b4b7f8cc8a79c2be28e53ecadaaedd90ba76bd9b65e843650ab72e423f64cd10ea8850426f26718bc2361f69aed14ecc2e4cf8279f0028002b8ef862bf4188853373b53fc8e56e7a75195edc2ea50005b766a7d124bd27f82ce20618bef1eef48a38407db78d05f47c0ccc23aee91c2173c1a0e29477bb3521c160301020d0c0002090080da31238a05f6eedf9d5b91eeff972e6b5528207123b8482328ca6479df62f5feaef3265db2016fa1efda1c0b5b7970fe94db79beedb098301f3e76a336297b EAP-Message = 0x79a64d4f5e5c4ee2c9e7ea5c0dceb6951ca57884cec26dc1c7b962637f359fd567f1d90332eca7992407335ae57ac3f3a81d41cbcac6a2d134b3e96ec40a82e713000102008016339d22265101d312bb8d64f8116849a7da0415f97a52c6e79a59834de9dcbccd540fb6a18020c583ca36157be1c79282fc70a34cc3c448a3f7e92679fea1820d29b61f5ef5e51b661a42ce3c06ffa7eb3c2e83b7ceab444e15755379acc2f7494e8bfd2d1992d8260d80630e0de9ce1b9638ada8802fc92c76f24d55574d4b01003e36a342609b9560a17bff04a4252cb6e3fccca06684db9fe92fef1710b2dd33bceedab28c0d53dfea6955f5b385060079076a656f EAP-Message = 0xb8a1f8effd3df2e08c46f8287f4f431a84f35d65fcb021eba7b709e65d575b719171f8e55b31a7c42deebc228e96a5ab67a3189bd540802bccf3574e193b69e8491c7d7317be66ee85c750c15b9bbdb5c75f543e5d5208e282d650559bb8ef395dc1789bb05de51fcd1968bbbf7f18132b17118494f25267a776dbd04eab968565f4fd0b42b58af96aab5278c1c7b87493835848d2c9adf9afc832319f88b2e3ec6274be92d950b62c9763c4ff75c9586c6561f7c1da8cf9816f5dfd47e27ff7cbf68b33831df6d931571216030100040e000000 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xe703083fe4061100d2e436560bc43afd Finished request 3. Going to the next request Waking up in 4.9 seconds. rad_recv: Access-Request packet from host 10.1.1.11 port 32852, id=165, length=393 User-Name = "test.user" NAS-IP-Address = 10.2.2.252 NAS-Port = 0 NAS-Identifier = "10.2.2.252" NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "00242B8E4D0C" Called-Station-Id = "000B8661628C" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020500d01980000000c61603010086100000820080b753a187da65fcbf32bf4510126ad950841351833bfa926df86d30150e3db6128ecb9ac87c8a143485034ae2699440578386c35efc1832d820f2f5d19287cc5a1bddf44027e52c9b4722f7470b7b9ac68f7b439a64dce0c29d58206823a66b8d101dcad3d1e2bcbc3e5c8151862350cc56bde009f5292d427313dfcf9b346d4f14030100010116030100302275abdbd4b291187bf8c30716aeb8b4c35a2066ef8e35376783f985b543c7641519705c805518920b6730db2cf3f8f3 State = 0xe703083fe4061100d2e436560bc43afd Aruba-Essid-Name = "NEW_TEST" Aruba-Location-Id = "2-floor-n" Message-Authenticator = 0xea70c5a7279342dc2e9a7716302486e7 # Executing section authorize from file /etc/raddb/sites-enabled/default +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [eap] EAP packet type response id 5 length 208 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP # Executing group from file /etc/raddb/sites-enabled/default +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS TLS Length 198 [peap] Length Included [peap] eaptls_verify returned 11 [peap] <<< TLS 1.0 Handshake [length 0086], ClientKeyExchange [peap] TLS_accept: SSLv3 read client key exchange A [peap] <<< TLS 1.0 ChangeCipherSpec [length 0001] [peap] <<< TLS 1.0 Handshake [length 0010], Finished [peap] TLS_accept: SSLv3 read finished A [peap] >>> TLS 1.0 ChangeCipherSpec [length 0001] [peap] TLS_accept: SSLv3 write change cipher spec A [peap] >>> TLS 1.0 Handshake [length 0010], Finished [peap] TLS_accept: SSLv3 write finished A [peap] TLS_accept: SSLv3 flush data [peap] (other): SSL negotiation finished successfully SSL Connection Established [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 165 to 10.1.1.11 port 32852 EAP-Message = 0x0106004119001403010001011603010030888e0bc8a304387c1b1b06b504f111feaaf495a65a4a337e21b31a823b07d4a95fc526ba66055192c43a96b9d8194fd2 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xe703083fe3051100d2e436560bc43afd Finished request 4. Going to the next request Waking up in 4.8 seconds. rad_recv: Access-Request packet from host 10.1.1.11 port 32852, id=166, length=191 User-Name = "test.user" NAS-IP-Address = 10.2.2.252 NAS-Port = 0 NAS-Identifier = "10.2.2.252" NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "00242B8E4D0C" Called-Station-Id = "000B8661628C" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020600061900 State = 0xe703083fe3051100d2e436560bc43afd Aruba-Essid-Name = "NEW_TEST" Aruba-Location-Id = "2-floor-n" Message-Authenticator = 0xa3ab137ecad8188e573f0ce40879d28b # Executing section authorize from file /etc/raddb/sites-enabled/default +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [eap] EAP packet type response id 6 length 6 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP # Executing group from file /etc/raddb/sites-enabled/default +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] Received TLS ACK [peap] ACK handshake is finished [peap] eaptls_verify returned 3 [peap] eaptls_process returned 3 [peap] EAPTLS_SUCCESS [peap] Session established. Decoding tunneled attributes. [peap] Peap state TUNNEL ESTABLISHED ++[eap] returns handled Sending Access-Challenge of id 166 to 10.1.1.11 port 32852 EAP-Message = 0x0107002b190017030100209c84e5a5c4cf01729c0917cb908f722af669ea867c6a23840d8e82e7ffd163d7 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xe703083fe2041100d2e436560bc43afd Finished request 5. Going to the next request Waking up in 4.8 seconds. rad_recv: Access-Request packet from host 10.1.1.11 port 32852, id=167, length=281 User-Name = "test.user" NAS-IP-Address = 10.2.2.252 NAS-Port = 0 NAS-Identifier = "10.2.2.252" NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "00242B8E4D0C" Called-Station-Id = "000B8661628C" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x0207006019001703010020b18441698a3054163e7f0300c3bcdc0fbf643d4137ebb77b44c0dd59efbe9f0417030100307ae8cc2d5ed5f3e3812a12b5b6af00b6dd3c9942520de94a67ea558f511a93edbc637547d988cbe0180b310ed798a2d3 State = 0xe703083fe2041100d2e436560bc43afd Aruba-Essid-Name = "NEW_TEST" Aruba-Location-Id = "2-floor-n" Message-Authenticator = 0x68e9720a7de844143b68be9482ebe875 # Executing section authorize from file /etc/raddb/sites-enabled/default +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [eap] EAP packet type response id 7 length 96 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP # Executing group from file /etc/raddb/sites-enabled/default +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] eaptls_verify returned 7 [peap] Done initial handshake [peap] eaptls_process returned 7 [peap] EAPTLS_OK [peap] Session established. Decoding tunneled attributes. [peap] Peap state WAITING FOR INNER IDENTITY [peap] Identity - test.user [peap] Got inner identity 'test.user' [peap] Setting default EAP type for tunneled EAP session. [peap] Got tunneled request EAP-Message = 0x02070011017061747269636b2e7365696d server { PEAP: Setting User-Name to test.user Sending tunneled request EAP-Message = 0x02070011017061747269636b2e7365696d FreeRADIUS-Proxied-To = 127.0.0.1 User-Name = "test.user" server inner-tunnel { # Executing section authorize from file /etc/raddb/sites-enabled/inner-tunnel +- entering group authorize {...} ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "test.user", looking up realm NULL [suffix] Found realm "DEFAULT" [suffix] Adding Stripped-User-Name = "test.user" [suffix] Adding Realm = "DEFAULT" [suffix] Proxying request from user test.user to realm DEFAULT [suffix] Preparing to proxy authentication request to realm "DEFAULT" ++[suffix] returns updated [eap] Request is supposed to be proxied to Realm DEFAULT. Not doing EAP. ++[eap] returns noop ++[files] returns noop ++[expiration] returns noop ++[logintime] returns noop } # server inner-tunnel [peap] Got tunneled reply code 0 PEAP: Calling authenticate in order to initiate tunneled EAP session. # Executing group from file /etc/raddb/sites-enabled/inner-tunnel +- entering group authenticate {...} [eap] EAP Identity [eap] processing type mschapv2 rlm_eap_mschapv2: Issuing Challenge ++[eap] returns handled PEAP: Cancelling proxy to realm DEFAULT until the tunneled EAP session has been established [peap] Got tunneled reply RADIUS code 11 EAP-Message = 0x010800261a01080021108bec4a10fc93416713985fc460e1e8357061747269636b2e7365696d Message-Authenticator = 0x00000000000000000000000000000000 State = 0x300a6fa43002754358bae58add29bea8 [peap] Got tunneled Access-Challenge ++[eap] returns handled Sending Access-Challenge of id 167 to 10.1.1.11 port 32852 EAP-Message = 0x0108004b19001703010040b80dbd4428c724cbf3ea467e4898d7f4ee12fe8a1121add5deb7513b1bb8b5663426c36e75e97c08ebc340d837fd7a419d8dc0bf28d7cfc2c86c3a13aa37f925 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xe703083fe10b1100d2e436560bc43afd Finished request 6. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.1.1.11 port 32852, id=168, length=313 User-Name = "test.user" NAS-IP-Address = 10.2.2.252 NAS-Port = 0 NAS-Identifier = "10.2.2.252" NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "00242B8E4D0C" Called-Station-Id = "000B8661628C" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x0208008019001703010020abe03a208185f1ef617d0f3bea20a2ac0c1a3f86f47ed0d6686408807c17aea91703010050606ed055f27a962ae27e086442f29e32e47b2a7e9222d2e0520cd3ae0292852d8f8210cb332cfb0b642f1f91efa6e447291c14cc4258cdf4603239907fb0275b3da21ae4215f33ee70af14220ff4d217 State = 0xe703083fe10b1100d2e436560bc43afd Aruba-Essid-Name = "NEW_TEST" Aruba-Location-Id = "2-floor-n" Message-Authenticator = 0x393e75937d57c7590549cd893209225d # Executing section authorize from file /etc/raddb/sites-enabled/default +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [eap] EAP packet type response id 8 length 128 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP # Executing group from file /etc/raddb/sites-enabled/default +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] eaptls_verify returned 7 [peap] Done initial handshake [peap] eaptls_process returned 7 [peap] EAPTLS_OK [peap] Session established. Decoding tunneled attributes. [peap] Peap state phase2 [peap] EAP type mschapv2 [peap] Got tunneled request EAP-Message = 0x020800471a0208004231ab9b4b7bb1b43a02c55344c6b66b4f1f0000000000000000111f4d55532e8e1d0d740f7c3a3816c8badc2c81d608b986007061747269636b2e7365696d server { PEAP: Setting User-Name to test.user Sending tunneled request EAP-Message = 0x020800471a0208004231ab9b4b7bb1b43a02c55344c6b66b4f1f0000000000000000111f4d55532e8e1d0d740f7c3a3816c8badc2c81d608b986007061747269636b2e7365696d FreeRADIUS-Proxied-To = 127.0.0.1 User-Name = "test.user" State = 0x300a6fa43002754358bae58add29bea8 server inner-tunnel { # Executing section authorize from file /etc/raddb/sites-enabled/inner-tunnel +- entering group authorize {...} ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "test.user", looking up realm NULL [suffix] Found realm "DEFAULT" [suffix] Adding Stripped-User-Name = "test.user" [suffix] Adding Realm = "DEFAULT" [suffix] Proxying request from user test.user to realm DEFAULT [suffix] Preparing to proxy authentication request to realm "DEFAULT" ++[suffix] returns updated [eap] Request is supposed to be proxied to Realm DEFAULT. Not doing EAP. ++[eap] returns noop ++[files] returns noop ++[expiration] returns noop ++[logintime] returns noop } # server inner-tunnel [peap] Got tunneled reply code 0 PEAP: Calling authenticate in order to initiate tunneled EAP session. # Executing group from file /etc/raddb/sites-enabled/inner-tunnel +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/mschapv2 [eap] processing type mschapv2 [eap] Not-EAP proxy set. Not composing EAP ++[eap] returns handled PEAP: Tunneled authentication will be proxied to DEFAULT PEAP: Remembering to do EAP-MS-CHAP-V2 post-proxy. [eap] Tunneled session will be proxied. Not doing EAP. ++[eap] returns handled WARNING: Empty pre-proxy section. Using default return values. Sending Access-Request of id 114 to 10.1.1.49 port 1812 User-Name = "test.user" MS-CHAP-Challenge = 0x8bec4a10fc93416713985fc460e1e835 MS-CHAP2-Response = 0x0861ab9b4b7bb1b43a02c55344c6b66b4f1f0000000000000000111f4d55532e8e1d0d740f7c3a3816c8badc2c81d608b986 Proxy-State = 0x313638 Proxying request 7 to home server 10.1.1.49 port 1812 Sending Access-Request of id 114 to 10.1.1.49 port 1812 User-Name = "test.user" MS-CHAP-Challenge = 0x8bec4a10fc93416713985fc460e1e835 MS-CHAP2-Response = 0x0861ab9b4b7bb1b43a02c55344c6b66b4f1f0000000000000000111f4d55532e8e1d0d740f7c3a3816c8badc2c81d608b986 Proxy-State = 0x313638 Going to the next request Waking up in 0.9 seconds. rad_recv: Access-Accept packet from host 10.1.1.49 port 1812, id=114, length=292 Proxy-State = 0x313638 Aruba-User-Role = "cio-network-fools" Filter-Id = "cio-networking" Tunnel-Private-Group-Id:0 = "default" Class = 0x3b8d059b00000137000117000000000000000000000000000000000101cbcd7d2f64d02b000000000001bce8 MS-MPPE-Recv-Key = 0x2b4667f48811747ee85b2622ef4ff35c MS-MPPE-Send-Key = 0x36f99fe6fbdfce26b1ac13a712ba4695 MS-CHAP2-Success = 0x08533d30373038453433324630343831443634383546343332304330413644313444373136354435413843 MS-CHAP-Domain = "\010STN" MS-Link-Utilization-Threshold = 50 MS-Link-Drop-Time-Limit = 120 # Executing section post-proxy from file /etc/raddb/sites-enabled/default +- entering group post-proxy {...} [eap] Doing post-proxy callback [eap] Passing reply from proxy back into the tunnel. server inner-tunnel { [eap] Passing reply back for EAP-MS-CHAP-V2 # Executing section post-proxy from file /etc/raddb/sites-enabled/inner-tunnel +- entering group post-proxy {...} ++[eap] returns noop WARNING: Empty post-auth section. Using default return values. # Executing section post-auth from file /etc/raddb/sites-enabled/inner-tunnel } # server inner-tunnel [eap] Final reply from tunneled session code 2 Proxy-State = 0x313638 Aruba-User-Role = "cio-network-fools" Filter-Id = "cio-networking" Tunnel-Private-Group-Id:0 = "default" Class = 0x3b8d059b00000137000117000000000000000000000000000000000101cbcd7d2f64d02b000000000001bce8 MS-MPPE-Recv-Key = 0x2b4667f48811747ee85b2622ef4ff35c MS-MPPE-Send-Key = 0x36f99fe6fbdfce26b1ac13a712ba4695 MS-CHAP2-Success = 0x08533d30373038453433324630343831443634383546343332304330413644313444373136354435413843 MS-CHAP-Domain = "\010STN" MS-Link-Utilization-Threshold = 50 MS-Link-Drop-Time-Limit = 120 [eap] Got reply 2
On 12/04/11 16:34, Doty, Seth wrote:
I couldn't find anything in the archives with this error and i am fairly new to freeradius config anyway so i thought this would be a good start. We are looking to authenticate wireless users through freeradius and Microsoft NPS. Our outer authentication is PEAP and terminates at the radius server, inner is MSCHAPv2 and is passed to the NPS. With our current config we get a segfault at the end of the exchange.
See doc/bugs - you need to get a backtrace under "gdb"
The box is fedora 14 with freeradius from the repos. This the the output of the gdb log flle: Starting program: /usr/sbin/radiusd -X [Thread debugging using libthread_db enabled] Program received signal SIGSEGV, Segmentation fault. 0xb7fce31d in rbtree_find () from /usr/lib/freeradius/libfreeradius-radius-2.1.10.so * 1 Thread 0xb79e8730 (LWP 15969) 0xb7fce31d in rbtree_find () from /usr/lib/freeradius/libfreeradius-radius-2.1.10.so Thread 1 (Thread 0xb79e8730 (LWP 15969)): #0 0xb7fce31d in rbtree_find () from /usr/lib/freeradius/libfreeradius-radius-2.1.10.so No symbol table info available. #1 0xb7fce38b in rbtree_deletebydata () from /usr/lib/freeradius/libfreeradius-radius-2.1.10.so No symbol table info available. #2 0xb79d5123 in eap_handler_free () from /usr/lib/freeradius/rlm_eap.so No symbol table info available. #3 0x00131127 in request_free () No symbol table info available. #4 0xb79aec29 in ?? () from /usr/lib/freeradius/rlm_eap_peap.so No symbol table info available. #5 0xb79d2c07 in ?? () from /usr/lib/freeradius/rlm_eap.so No symbol table info available. #6 0x0012c95d in modcall () No symbol table info available. #7 0x0012b0a4 in indexed_modcall () No symbol table info available. #8 0x0012ba4c in module_post_proxy () No symbol table info available. #9 0x0013504c in ?? () No symbol table info available. #10 0x001350fe in ?? () No symbol table info available. #11 0x001389c3 in radius_handle_request () No symbol table info available. #12 0x001309ec in thread_pool_addrequest () No symbol table info available. #13 0x00136424 in ?? () No symbol table info available. #14 0xb7fd4d65 in fr_event_loop () from /usr/lib/freeradius/libfreeradius-radius-2.1.10.so No symbol table info available. #15 0x00138994 in radius_event_process () No symbol table info available. #16 0x0011821e in main () No symbol table info available. A debugging session is active. Inferior 1 [process 15969] will be killed. ________________________________________ From: freeradius-users-bounces+seth.doty=nebraska.gov@lists.freeradius.org [freeradius-users-bounces+seth.doty=nebraska.gov@lists.freeradius.org] On Behalf Of Phil Mayers [p.mayers@imperial.ac.uk] Sent: Tuesday, April 12, 2011 12:00 PM To: freeradius-users@lists.freeradius.org Subject: Re: Freeradius and Microsoft NPS On 12/04/11 16:34, Doty, Seth wrote:
I couldn't find anything in the archives with this error and i am fairly new to freeradius config anyway so i thought this would be a good start. We are looking to authenticate wireless users through freeradius and Microsoft NPS. Our outer authentication is PEAP and terminates at the radius server, inner is MSCHAPv2 and is passed to the NPS. With our current config we get a segfault at the end of the exchange.
See doc/bugs - you need to get a backtrace under "gdb" - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
On 04/12/2011 07:32 PM, Doty, Seth wrote:
The box is fedora 14 with freeradius from the repos. This the the output of the gdb log flle:
Can you install the freeradius-debuginfo RPM and do this again; the backtrace is partial/mangled. It looks like it may be dying in request_free in peap.c:625, but the debug info will give line numbers; you could also try stepping "up" a few times and examining relevant variables.
ok this should look better Starting program: /usr/sbin/radiusd -X [Thread debugging using libthread_db enabled] Program received signal SIGSEGV, Segmentation fault. rbtree_find (tree=0xe19fdc02, Data=0xb79b21a4) at rbtree.c:476 476 rbnode_t *Current = tree->Root; Missing separate debuginfos, use: debuginfo-install glibc-2.13-1.i686 keyutils-libs-1.2-6.fc12.i686 krb5-libs-1.8.2-9.fc14.i686 libcom_err-1.41.12-6.fc14.i686 libselinux-2.0.96-6.fc14.1.i686 libtool-ltdl-2.2.10-3.fc14.i686 nss-softokn-freebl-3.12.9-5.fc14.i686 openssl-1.0.0d-1.fc14.i686 zlib-1.2.5-2.fc14.i686 Thread 1 (Thread 0xb79e8730 (LWP 17523)): #0 rbtree_find (tree=0xe19fdc02, Data=0xb79b21a4) at rbtree.c:476 Current = <value optimized out> #1 0xb7fce38b in rbtree_deletebydata (tree=0xe19fdc02, data=0xb79b21a4) at rbtree.c:457 node = <value optimized out> #2 0xb79d5123 in eap_handler_free (inst=0x294330, handler=0xb79b21a4) at mem.c:138 No locals. #3 0x00131127 in request_free (request_ptr=0xbfffebec) at util.c:235 this = <value optimized out> next = 0x0 request = 0x2734d0 #4 0xb79aec29 in eappeap_postproxy (handler=0x2745b8, data=0x274e60) at peap.c:532 rcode = <value optimized out> tls_session = 0x274e60 fake = 0x2734d0 request = 0x273ff8 #5 0xb79d2c07 in eap_post_proxy (inst=0x253b90, request=0x273ff8) at rlm_eap.c:602 rcode = <value optimized out> data = <value optimized out> i = <value optimized out> len = <value optimized out> vp = <value optimized out> handler = 0x2745b8 #6 eap_post_proxy (inst=0x253b90, request=0x273ff8) at rlm_eap.c:565 No locals. #7 0x0012c95d in call_modsingle (component=6, c=0x26e778, request=0x273ff8) at modcall.c:297 myresult = <value optimized out> #8 modcall (component=6, c=0x26e778, request=0x273ff8) at modcall.c:670 myresult = 1 stack = {pointer = 1, priority = {0 <repeats 32 times>}, result = { 0 <repeats 32 times>}, children = {0x0 <repeats 32 times>}, start = {0x0 <repeats 32 times>}} parent = 0x26e778 child = 0x26e368 sp = 0x26e368 if_taken = 0 was_if = 0 #9 0x0012b0a4 in indexed_modcall (comp=6, idx=0, request=0x273ff8) at modules.c:728 rcode = <value optimized out> list = <value optimized out> server = <value optimized out> #10 0x0012ba4c in module_post_proxy (type=0, request=0x273ff8) at modules.c:1565 No locals. #11 0x0013504c in process_proxy_reply (request=0x273ff8) at event.c:1730 rcode = <value optimized out> post_proxy_type = 0 vp = 0x0 #12 0x001350fe in request_pre_handler (request=0x273ff8) at event.c:1855 rcode = <value optimized out> #13 0x001389c3 in radius_handle_request (request=0x273ff8, fun=0x118d80 <rad_authenticate>) at event.c:3767 No locals. #14 0x001309ec in thread_pool_addrequest (request=0x273ff8, fun=0x118d80 <rad_authenticate>) at threads.c:874 No locals. #15 0x00136424 in event_socket_handler (xel=<value optimized out>, fd=14, ctx=0x273080) at event.c:3419 listener = 0x273080 fun = 0x118d80 <rad_authenticate> request = 0x273ff8 #16 0xb7fd4d65 in fr_event_loop (el=0x26e948) at event.c:411 ef = <value optimized out> i = <value optimized out> rcode = 1 maxfd = <value optimized out> when = {tv_sec = 1302699971, tv_usec = 386585} wake = <value optimized out> read_fds = {fds_bits = {16384, 0 <repeats 31 times>}} master_fds = {fds_bits = {31872, 0 <repeats 31 times>}} #17 0x00138994 in radius_event_process () at event.c:3760 No locals. #18 0x0011821e in main (argc=2, argv=0xbffff7c4) at radiusd.c:406 rcode = <value optimized out> argval = <value optimized out> spawn_flag = 0 dont_fork = 1 flag = 0 act = {__sigaction_handler = {sa_handler = 0x12e6e0 <sig_fatal>, sa_sigaction = 0x12e6e0 <sig_fatal>}, sa_mask = {__val = { 0 <repeats 32 times>}}, sa_flags = 0, sa_restorer = 0} ________________________________________ From: freeradius-users-bounces+seth.doty=nebraska.gov@lists.freeradius.org [freeradius-users-bounces+seth.doty=nebraska.gov@lists.freeradius.org] On Behalf Of Phil Mayers [p.mayers@imperial.ac.uk] Sent: Tuesday, April 12, 2011 5:07 PM To: freeradius-users@lists.freeradius.org Subject: Re: Freeradius and Microsoft NPS On 04/12/2011 07:32 PM, Doty, Seth wrote:
The box is fedora 14 with freeradius from the repos. This the the output of the gdb log flle:
Can you install the freeradius-debuginfo RPM and do this again; the backtrace is partial/mangled. It looks like it may be dying in request_free in peap.c:625, but the debug info will give line numbers; you could also try stepping "up" a few times and examining relevant variables. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
On 13/04/11 14:16, Alan DeKok wrote:
Doty, Seth wrote:
ok this should look better
See commit 4dbb466b6526c0dacdcf36949bbdaa38416a1be2 on git.freeradius.org.
Grab the v2.1.x branch, it should be fixed there.
Actually, I was just testing this and proxying the inner EAP-MSCHAPv2 as plain MS-CHAPv2 seems to be broken, at least in my testing. It doesn't crash the server, but equally it doesn't pass the S=XXX success back correctly either, so the client does a PEAP reject. It seems as if the rlm_eap_mshcapv2 post_proxy function isn't working somehow; I am trying to perform a "git bisect" to find when it stopped working, but am running into problems with the commits which don't build :o(
On 13/04/11 16:01, Phil Mayers wrote:
On 13/04/11 14:16, Alan DeKok wrote:
Doty, Seth wrote:
ok this should look better
See commit 4dbb466b6526c0dacdcf36949bbdaa38416a1be2 on git.freeradius.org.
Grab the v2.1.x branch, it should be fixed there.
Actually, I was just testing this and proxying the inner EAP-MSCHAPv2 as plain MS-CHAPv2 seems to be broken, at least in my testing. It doesn't crash the server, but equally it doesn't pass the S=XXX success back correctly either, so the client does a PEAP reject.
It seems as if the rlm_eap_mshcapv2 post_proxy function isn't working somehow; I am trying to perform a "git bisect" to find when it stopped working, but am running into problems with the commits which don't build :o(
Sigh. I can't even build old version of the server any more; libtool really is a crock of s**t.
Phil Mayers wrote:
Sigh. I can't even build old version of the server any more; libtool really is a crock of s**t.
I'm looking to get rid of libtool && libltdl entirely for 3.0. At this point, every major OS has dlopen(). And libtool is just ridiculous. 99.9% of systems use GCC, so libtool is useless and slow. Alan DeKok.
Phil Mayers wrote:
Actually, I was just testing this and proxying the inner EAP-MSCHAPv2 as plain MS-CHAPv2 seems to be broken, at least in my testing. It doesn't crash the server, but equally it doesn't pass the S=XXX success back correctly either, so the client does a PEAP reject.
Hmm... OK.
It seems as if the rlm_eap_mshcapv2 post_proxy function isn't working somehow; I am trying to perform a "git bisect" to find when it stopped working, but am running into problems with the commits which don't build :o(
Sorry... we really need a test infrastructure. Alan DeKok.
On 13/04/11 16:22, Alan DeKok wrote:
Phil Mayers wrote:
Actually, I was just testing this and proxying the inner EAP-MSCHAPv2 as plain MS-CHAPv2 seems to be broken, at least in my testing. It doesn't crash the server, but equally it doesn't pass the S=XXX success back correctly either, so the client does a PEAP reject.
Hmm... OK.
It seems as if the rlm_eap_mshcapv2 post_proxy function isn't working somehow; I am trying to perform a "git bisect" to find when it stopped working, but am running into problems with the commits which don't build :o(
Sorry... we really need a test infrastructure.
No worries; it seems to be broken for 2.1.7 and 2.1.8, but worked in 2.1.1 - still trying to track it down more tightly than that. (We don't actually use this feature so I'm not that fussed, but I'm determine to wrestle "git bisect" into submission ;o)
On 13/04/11 16:32, Phil Mayers wrote:
On 13/04/11 16:22, Alan DeKok wrote:
Phil Mayers wrote:
Actually, I was just testing this and proxying the inner EAP-MSCHAPv2 as plain MS-CHAPv2 seems to be broken, at least in my testing. It doesn't crash the server, but equally it doesn't pass the S=XXX success back correctly either, so the client does a PEAP reject.
Hmm... OK.
It seems as if the rlm_eap_mshcapv2 post_proxy function isn't working somehow; I am trying to perform a "git bisect" to find when it stopped working, but am running into problems with the commits which don't build :o(
Sorry... we really need a test infrastructure.
No worries; it seems to be broken for 2.1.7 and 2.1.8, but worked in 2.1.1 - still trying to track it down more tightly than that.
Actually, scratch that. Proxying in those versions doesn't work for me at all: ERROR: Failed to create a new socket for proxying requests. ERROR: Failed inserting request into proxy hash. ERROR: Failed to proxy request 7 ...I'm baffled as to what I'm doing wrong, but I'm giving up at this point!
Phil Mayers wrote:
Actually, scratch that. Proxying in those versions doesn't work for me at all:
ERROR: Failed to create a new socket for proxying requests. ERROR: Failed inserting request into proxy hash. ERROR: Failed to proxy request 7
...I'm baffled as to what I'm doing wrong, but I'm giving up at this point!
2.1.10: * Fix proxying of packets from inside a TTLS/PEAP tunnel. Closes bug #25. Alan DeKok.
On 13/04/11 16:22, Alan DeKok wrote:
Phil Mayers wrote:
Actually, I was just testing this and proxying the inner EAP-MSCHAPv2 as plain MS-CHAPv2 seems to be broken, at least in my testing. It doesn't crash the server, but equally it doesn't pass the S=XXX success back correctly either, so the client does a PEAP reject.
Hmm... OK.
Ok; the problem seems to be that mschap_postproxy is never run, because the "eap" module in the inner-tunnel is returning NOOP. AFAICT this can only happen if "request->proxy_reply == NULL", but I don't see how that can be. On a working version of 2.1.1, we see: rad_recv: Access-Accept packet from host 155.198.30.59 port 1812, id=8, length=227 Proxy-State = 0x38 Framed-Protocol = PPP Service-Type = Framed-User Class = ... MS-MPPE-Recv-Key = 0xce2bf43311878d6da4657e39ecc46f35 MS-MPPE-Send-Key = 0x6342361df2ade968d8f02a297f16025b MS-CHAP2-Success = ... +- entering group post-proxy {...} [eap] Doing post-proxy callback [eap] Passing reply from proxy back into the tunnel. server inner-tunnel { [eap] Passing reply back for EAP-MS-CHAP-V2 +- entering group post-proxy {...} [eap] Doing post-proxy callback rlm_eap_mschapv2: Passing reply from proxy back into the tunnel 0xb2e4d0 2. rlm_eap_mschapv2: Authentication succeeded. MSCHAP Success ++[eap] returns ok } # server inner-tunnel [eap] Final reply from tunneled session code 11 ...and the reply has turned into an Access-Challenge. But in v2.1.x HEAD we see: rad_recv: Access-Accept packet from host 155.198.30.59 port 1812, id=130, length=227 Proxy-State = 0x38 Framed-Protocol = PPP Service-Type = Framed-User Class = ... MS-MPPE-Recv-Key = 0x19ced6034408d55a75c8f0470f208337 MS-MPPE-Send-Key = 0x7889a7dd82d892c6d40b7d58d686b1f5 MS-CHAP2-Success = ... MS-CHAP-Domain = "\010IC" # Executing section post-proxy from file /home/pjm3/frdev/usr/local/etc/raddb/sites-enabled/default +- entering group post-proxy {...} [eap] Doing post-proxy callback [eap] Passing reply from proxy back into the tunnel. server inner-tunnel { [eap] Passing reply back for EAP-MS-CHAP-V2 # Executing section post-proxy from file /home/pjm3/frdev/usr/local/etc/raddb/sites-enabled/inner-tunnel +- entering group post-proxy {...} ...and then it goes off the rails: ++[eap] returns noop WARNING: Empty post-auth section. Using default return values. # Executing section post-auth from file /home/pjm3/frdev/usr/local/etc/raddb/sites-enabled/inner-tunnel } # server inner-tunnel [eap] Final reply from tunneled session code 2 ...since mschap_postproxy hasn't run, the access-accept reply code hasn't been transformed into an access-challenge, the MS-CHAP-Success isn't tunneled back to the client and an EAP-TLV Success is sent - which the client rightly rejects. I'm a bit stuck as to why rlm_eap is returning noop for inner-tunnel in 2.1.10 but not in 2.1.1, but I guess it's related to the other changes in this area?
On 14/04/11 12:07, Phil Mayers wrote:
On 13/04/11 16:22, Alan DeKok wrote:
Phil Mayers wrote:
Actually, I was just testing this and proxying the inner EAP-MSCHAPv2 as plain MS-CHAPv2 seems to be broken, at least in my testing. It doesn't crash the server, but equally it doesn't pass the S=XXX success back correctly either, so the client does a PEAP reject.
Hmm... OK.
Ok; the problem seems to be that mschap_postproxy is never run, because the "eap" module in the inner-tunnel is returning NOOP. AFAICT this can only happen if "request->proxy_reply == NULL", but I don't see how that can be.
The attached patch seems to fix it.
participants (3)
-
Alan DeKok -
Doty, Seth -
Phil Mayers