Hi there! I've got a big prob. Thanks to the excellent howto of Adam Sulmicki, I finally managed to move back from my Win2k RADIUS towards freeRADIUS. I'm using freeRADIUS with eap tls enabled (cvs snaptshot 2002-04-08), a 3Com 8000 WLAN AP and xsupplicant under Linux to auth via 802.1x/EAP-TLS.
The messages look quite ok, but as soon as the secand request is handeled EAP is complainig about "rlm_eap: State verification failed.". As I looked out for the State Attribute of the last message, I found it some chars shorter than it was in the message before. I tried to adjust the fragment size, but could'nt solve the problem. The packet has a length of 144 bytes, so it should not be a big deal with (standard) 1024 byte fragments. Thank's a lot for your help! Here's what I get: Ready to process requests. rad_recv: Access-Request packet from host 134.76.4.7:1812, id=11, length=67 EAP-Message = "\002\010\000\t\001flex" Message-Authenticator = 0x783038983e2b972451718f233530d296 NAS-IP-Address = 134.76.4.7 User-Name = "flex" Framed-MTU = 1400 modcall: entering group authorize modcall[authorize]: module "preprocess" returns ok modcall[authorize]: module "eap" returns updated modcall[authorize]: module "suffix" returns ok users: Matched flex at 54 modcall[authorize]: module "files" returns ok modcall: group authorize returns updated rad_check_password: Found Auth-Type EAP auth: type "EAP" modcall: entering group authenticate rlm_eap: processing type tls modcall[authenticate]: module "eap" returns ok modcall: group authenticate returns ok Sending Access-Challenge of id 11 to 134.76.4.7:1812 EAP-Message = "\001\t\000\006\r " Message-Authenticator = 0x00000000000000000000000000000000 State = 0x3df30ad930886ee1c76b2ec405f54c47455db43c219ab001a93e6b8dfbf601baf54db839 Finished request 0 Going to the next request --- Walking the entire request list --- Waking up in 6 seconds... rad_recv: Access-Request packet from host 134.76.4.7:1812, id=12, length=144 EAP-Message = "\002\t\000>\r\200\000\000\0004\026\003\001\000/\001\000\000+\003\001<\264]ENJ\247\210_l/\227\347\256$O\211\255\031X\231\256\363\206\031\347mPSM\257\000\000\004\000\004\000\005\001" Message-Authenticator = 0xcd0dfea408b14674f367809b305f7c5c NAS-IP-Address = 134.76.4.7 User-Name = "flex" State = 0x3df30ad930886ee1c76b2ec405f54c47455db43c219a Framed-MTU = 1400 modcall: entering group authorize modcall[authorize]: module "preprocess" returns ok modcall[authorize]: module "eap" returns updated modcall[authorize]: module "suffix" returns ok users: Matched flex at 54 modcall[authorize]: module "files" returns ok modcall: group authorize returns updated rad_check_password: Found Auth-Type EAP auth: type "EAP" modcall: entering group authenticate rlm_eap: State verification failed. modcall[authenticate]: module "eap" returns invalid modcall: group authenticate returns invalid auth: Failed to validate the user. Delaying request 1 for 1 seconds Finished request 1 Going to the next request Waking up in 6 seconds... rad_recv: Access-Request packet from host 134.76.4.7:1812, id=12, length=144 Sending duplicate authentication reply to client 134.76.4.7:1812 - ID: 12 Sending Access-Reject of id 12 to 134.76.4.7:1812 --- Walking the entire request list --- Sending Access-Reject of id 12 to 134.76.4.7 Waking up in 1 seconds... --- Walking the entire request list --- Cleaning up request 0 ID 11 with timestamp 3cb45d45 Cleaning up request 1 ID 12 with timestamp 3cb45d45 Nothing to do. Sleeping until we see a request. -------------------------------------------- before all this - the server start's up with: [root@caladan flex]# /usr/local/sbin/rc.radiusd -A -X + LD_LIBRARY_PATH=/usr/local/ssleap/lib + LD_PRELOAD=/usr/local/ssleap/lib/libcrypto.so + export LD_LIBRARY_PATH LD_PRELOAD + /usr/local/radiuseap/sbin/radiusd -A -X Starting - reading configuration files ... reread_config: reading radiusd.conf Config: including file: /usr/local/radiuseap/etc/raddb/proxy.conf Config: including file: /usr/local/radiuseap/etc/raddb/clients.conf Config: including file: /usr/local/radiuseap/etc/raddb/snmp.conf Config: including file: /usr/local/radiuseap/etc/raddb/sql.conf main: prefix = "/usr/local/radiuseap" main: localstatedir = "/usr/local/radiuseap/var" main: logdir = "/usr/local/radiuseap/var/log/radius" main: libdir = "/usr/local/radiuseap/lib" main: radacctdir = "/usr/local/radiuseap/var/log/radius/radacct" main: hostname_lookups = no read_config_files: reading dictionary read_config_files: reading clients read_config_files: reading realms read_config_files: reading naslist main: max_request_time = 30 main: cleanup_delay = 5 main: max_requests = 1024 main: delete_blocked_requests = 0 main: port = 0 main: allow_core_dumps = no main: log_stripped_names = no main: log_auth = no main: log_auth_badpass = no main: log_auth_goodpass = no main: pidfile = "/usr/local/radiuseap/var/run/radiusd.pid" main: user = "root" main: group = "root" main: usercollide = no main: lower_user = "no" main: lower_pass = "no" main: nospace_user = "no" main: nospace_pass = "no" main: proxy_requests = yes proxy: retry_delay = 5 proxy: retry_count = 3 proxy: synchronous = no proxy: default_fallback = yes proxy: dead_time = 120 security: max_attributes = 200 security: reject_delay = 1 main: debug_level = 0 read_config_files: entering modules setup Module: Library search path is /usr/local/radiuseap/lib Module: Loaded System unix: cache = yes unix: passwd = "/etc/passwd" unix: shadow = "/etc/shadow" unix: group = "/etc/group" unix: radwtmp = "/usr/local/radiuseap/var/log/radius/radwtmp" unix: usegroup = no unix: cache_reload = 600 HASH: Reinitializing hash structures and lists for caching... HASH: user root found in hashtable bucket 11726 HASH: user bin found in hashtable bucket 86651 HASH: user daemon found in hashtable bucket 11668 HASH: user adm found in hashtable bucket 26466 HASH: user lp found in hashtable bucket 54068 HASH: user sync found in hashtable bucket 42895 HASH: user shutdown found in hashtable bucket 71746 HASH: user halt found in hashtable bucket 7481 HASH: user mail found in hashtable bucket 79471 HASH: user news found in hashtable bucket 5375 HASH: user uucp found in hashtable bucket 38541 HASH: user operator found in hashtable bucket 21748 HASH: user games found in hashtable bucket 47657 HASH: user gopher found in hashtable bucket 47357 HASH: user postgres found in hashtable bucket 19301 HASH: user ftp found in hashtable bucket 56226 HASH: user squid found in hashtable bucket 62826 HASH: user gdm found in hashtable bucket 50360 HASH: user htdig found in hashtable bucket 6378 HASH: user dhcpd found in hashtable bucket 6699 HASH: user named found in hashtable bucket 7729 HASH: user nscd found in hashtable bucket 36306 HASH: user rpm found in hashtable bucket 72383 HASH: user apache found in hashtable bucket 26582 HASH: user rpcuser found in hashtable bucket 552 HASH: user rpc found in hashtable bucket 72373 HASH: user sympa found in hashtable bucket 13804 HASH: user ldap found in hashtable bucket 45563 HASH: user nobody found in hashtable bucket 99723 HASH: user alias found in hashtable bucket 92764 HASH: user qmaild found in hashtable bucket 58676 HASH: user qmaill found in hashtable bucket 58684 HASH: user qmailp found in hashtable bucket 58688 HASH: user qmailq found in hashtable bucket 58689 HASH: user qmailr found in hashtable bucket 58690 HASH: user qmails found in hashtable bucket 58691 HASH: user dnscache found in hashtable bucket 17753 HASH: user dnslog found in hashtable bucket 4955 HASH: user tinydns found in hashtable bucket 15953 HASH: user axfrdns found in hashtable bucket 61774 HASH: user xfs found in hashtable bucket 17213 HASH: user postfix found in hashtable bucket 23093 HASH: user mysql found in hashtable bucket 46314 HASH: user flex found in hashtable bucket 14069 HASH: user helen found in hashtable bucket 18200 HASH: user exolon found in hashtable bucket 8883 HASH: user mike found in hashtable bucket 60470 HASH: user snort found in hashtable bucket 79598 HASH: user gica found in hashtable bucket 68888 HASH: user vpopmail found in hashtable bucket 51678 HASH: Stored 50 entries from /etc/passwd HASH: Stored 66 entries from /etc/group Module: Instantiated unix (unix) Module: Loaded eap eap: default_eap_type = "tls" eap: timer_expire = 60 rlm_eap: Loaded and initialized the type md5 tls: private_key_file = "/etc/1x/keys/cert/cert-srv.pem" tls: certificate_file = "/etc/1x/keys/cert/cert-srv.pem" tls: CA_file = "/etc/1x/keys/cert/demoCA/cacert.pem" tls: private_key_password = "whatever" tls: dh_file = "/etc/1x/keys/cert/dh" tls: random_file = "/etc/1x/keys/cert/random" tls: fragment_size = 80 tls: include_length = yes rlm_eap_tls: conf N ctx stored rlm_eap: Loaded and initialized the type tls Module: Instantiated eap (eap) Module: Loaded preprocess preprocess: huntgroups = "/usr/local/radiuseap/etc/raddb/huntgroups" preprocess: hints = "/usr/local/radiuseap/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 Module: Instantiated preprocess (preprocess) Module: Loaded realm realm: format = "suffix" realm: delimiter = "@" Module: Instantiated realm (suffix) Module: Loaded files files: usersfile = "/usr/local/radiuseap/etc/raddb/users" files: acctusersfile = "/usr/local/radiuseap/etc/raddb/acct_users" files: compat = "no" Module: Instantiated files (files) Module: Loaded detail detail: detailfile = "/usr/local/radiuseap/var/log/radius/radacct/%{Client-IP-Address}/detail" detail: detailperm = 384 detail: dirperm = 493 Module: Instantiated detail (detail) Module: Loaded radutmp radutmp: filename = "/usr/local/radiuseap/var/log/radius/radutmp" radutmp: username = "%{User-Name}" radutmp: perm = 384 radutmp: callerid = yes Module: Instantiated radutmp (radutmp) Listening on IP address *, ports 1812/udp and 1813/udp, with proxy on 1814/udp. CU Sebastian Rieger - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html