Semantics of !~ operator

Gerald Vogt vogt at spamcop.net
Wed Apr 29 08:01:11 CEST 2015


On 28/04/15 22:47, Alan DeKok wrote:
> On Apr 28, 2015, at 1:18 PM, Gerald Vogt <vogt at spamcop.net> wrote:
>> I thought it has been established it is a bug.
>
>    No.  If, as you claim, it doesn't work, then it's a bug.  The argument here was you haven't shown your claims.
>
>> I have attached the full output of a test run of a eap-peap
>> authentication from a new CentOS 7 freeradius-3.0.4-6.el7.x86_64
>> installation.
>>
>> As you can see outer.request:Called-Station-SSID and
>> outer.Called-Station-SSID don't return anything but
>> "%{outer.request:Called-Station-SSID}" does.
>
>    Because your tests are wrong.

Because I created a test configuration after it was still not considered 
enough debug output I have posted before. There I accidentally missed the &.

My previous tests where in my "real" configuration and included the & as 
I always copied the text from the previous e-mails and copied the 
results into my e-mails. Previously it was with & and it showed exactly 
the same as without &. And that's also why I have missed the missing & 
in the test configuration: debug output is identical with and without &.

>
>>   authorize {
>> + 	update request {
>> + 		Called-Station-SSID := outer.request:Called-Station-SSID
>
>    See "man unlang".  This is documented.
>
>    This configuration is the same as:
>
> 	update request {
> 		Called-Station-SSID := "outer.request:Called-Station-SSID"
> 	}

No. It's not. It definitively not the same. The former does basically 
nothing. Called-Station-SSID gets no value assigned. The latter assigns 
the string contained in quotes.

>    Because you're not doing:
>
> 	update request {
> 		Called-Station-SSID := &outer.request:Called-Station-SSID
> 	}

And now I do it and it still doesn't make any difference. The outcome is 
exactly the same to the one without &.

>
>    As is documented by "man unlang".
>
>    So all of this back and forth could have been simplified by (a) describing exactly what you're doing, and not "it doesn't get updated", and (b) providing the debug output.

I did that all the time before and it was with & as I also wrote a 
couple of times before.

So here we go again, and as probably noone would believe me if I wrote I 
only changed this&that to the previous tests I post everything all over 
again below and attached.

I clear the attribute again before each assignment to avoid mixup with 
previously set values, but yes, I have made tests without that placing 
only a single assignment in for tests showing the same results as in 
this big "combined" test.

As you can see from the debug output, the same happens with and without 
ampersand.

As you can also see, assigning without ampersand is not the same as 
assigning as string in double quotes.

As you can also see, only the last form gets the real value from the outer.

Here are all the changes to the originally distributed files which came 
from the CentOS 7.1 distribution:

I have added those two lines at the end of users:
bob    Cleartext-Password := "hello"
        Reply-Message := "Hello, %{User-Name}"

and those two diffs:

*** sites-available/default	2015-03-06 00:41:49.000000000 +0100
--- sites-enabled/default	2015-04-28 18:04:58.954102428 +0200
***************
*** 331,336 ****
--- 331,338 ----
   	suffix
   #	ntdomain

+ 	rewrite_called_station_id
+
   	#
   	#  This module takes care of EAP-MD5, EAP-TLS, and EAP-LEAP
   	#  authentication.
***************
*** 517,522 ****
--- 519,526 ----
   preacct {
   	preprocess

+ 	rewrite_called_station_id
+
   	#
   	#  Merge Acct-[Input|Output]-Gigawords and Acct-[Input-Output]-Octets
   	#  into a single 64bit counter Acct-[Input|Output]-Octets64.
*** sites-available/inner-tunnel	2015-03-06 00:41:49.000000000 +0100
--- sites-enabled/inner-tunnel	2015-04-29 07:33:02.778593360 +0200
***************
*** 46,51 ****
--- 46,115 ----
   #  Make *sure* that 'preprocess' comes before any realm if you
   #  need to setup hints for the remote radius server
   authorize {
+ 	update request {
+ 		Called-Station-SSID !* ANY
+ 		Called-Station-SSID := outer.request:Called-Station-SSID
+ 	}
+ 	if ( Called-Station-SSID ) {
+ 		update reply {
+ 			Reply-Message += "1: Called-Station-SSID = %{Called-Station-SSID}"
+ 		}
+ 	}
+ 	update request {
+ 		Called-Station-SSID !* ANY
+ 		Called-Station-SSID := "outer.request:Called-Station-SSID"
+ 	}
+ 	if ( Called-Station-SSID ) {
+ 		update reply {
+ 			Reply-Message += "1a: Called-Station-SSID = %{Called-Station-SSID}"
+ 		}
+ 	}
+ 	update request {
+ 		Called-Station-SSID !* ANY
+ 		Called-Station-SSID := &outer.request:Called-Station-SSID
+ 	}
+ 	if ( Called-Station-SSID ) {
+ 		update reply {
+ 			Reply-Message += "1b: Called-Station-SSID = %{Called-Station-SSID}"
+ 		}
+ 	}
+ 	update request {
+ 		Called-Station-SSID !* ANY
+ 		Called-Station-SSID := outer.Called-Station-SSID
+ 	}
+ 	if ( Called-Station-SSID ) {
+ 		update reply {
+ 			Reply-Message += "2: Called-Station-SSID = %{Called-Station-SSID}"
+ 		}
+ 	}
+ 	update request {
+ 		Called-Station-SSID !* ANY
+ 		Called-Station-SSID := "outer.Called-Station-SSID"
+ 	}
+ 	if ( Called-Station-SSID ) {
+ 		update reply {
+ 			Reply-Message += "2a: Called-Station-SSID = %{Called-Station-SSID}"
+ 		}
+ 	}
+ 	update request {
+ 		Called-Station-SSID !* ANY
+ 		Called-Station-SSID := &outer.Called-Station-SSID
+ 	}
+ 	if ( Called-Station-SSID ) {
+ 		update reply {
+ 			Reply-Message += "2b: Called-Station-SSID = %{Called-Station-SSID}"
+ 		}
+ 	}
+ 	update request {
+ 		Called-Station-SSID !* ANY
+ 		Called-Station-SSID := "%{outer.request:Called-Station-SSID}"
+ 	}
+ 	if ( Called-Station-SSID ) {
+ 		update reply {
+ 			Reply-Message += "3: Called-Station-SSID = %{Called-Station-SSID}"
+ 		}
+ 	}
+
   	#
   	#  The chap module will set 'Auth-Type := CHAP' if we are
   	#  handling a CHAP request and Auth-Type has not already been set


-Gerald

-------------- next part --------------
radiusd: FreeRADIUS Version 3.0.4, for host x86_64-redhat-linux-gnu, built on Mar  5 2015 at 23:41:36
Copyright (C) 1999-2014 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
For more information about these matters, see the file named COPYRIGHT
Starting - reading configuration files ...
including dictionary file /usr/share/freeradius/dictionary
including dictionary file /usr/share/freeradius/dictionary.dhcp
including dictionary file /usr/share/freeradius/dictionary.vqp
including dictionary file /etc/raddb.TEST//dictionary
including configuration file /etc/raddb.TEST//radiusd.conf
including configuration file /etc/raddb.TEST//proxy.conf
including configuration file /etc/raddb.TEST//clients.conf
including files in directory /etc/raddb.TEST//mods-enabled/
including configuration file /etc/raddb.TEST//mods-enabled/always
including configuration file /etc/raddb.TEST//mods-enabled/attr_filter
including configuration file /etc/raddb.TEST//mods-enabled/cache_eap
including configuration file /etc/raddb.TEST//mods-enabled/chap
including configuration file /etc/raddb.TEST//mods-enabled/detail
including configuration file /etc/raddb.TEST//mods-enabled/detail.log
including configuration file /etc/raddb.TEST//mods-enabled/dhcp
including configuration file /etc/raddb.TEST//mods-enabled/digest
including configuration file /etc/raddb.TEST//mods-enabled/dynamic_clients
including configuration file /etc/raddb.TEST//mods-enabled/eap
including configuration file /etc/raddb.TEST//mods-enabled/echo
including configuration file /etc/raddb.TEST//mods-enabled/exec
including configuration file /etc/raddb.TEST//mods-enabled/expiration
including configuration file /etc/raddb.TEST//mods-enabled/expr
including configuration file /etc/raddb.TEST//mods-enabled/files
including configuration file /etc/raddb.TEST//mods-enabled/linelog
including configuration file /etc/raddb.TEST//mods-enabled/logintime
including configuration file /etc/raddb.TEST//mods-enabled/mschap
including configuration file /etc/raddb.TEST//mods-enabled/ntlm_auth
including configuration file /etc/raddb.TEST//mods-enabled/pap
including configuration file /etc/raddb.TEST//mods-enabled/passwd
including configuration file /etc/raddb.TEST//mods-enabled/preprocess
including configuration file /etc/raddb.TEST//mods-enabled/radutmp
including configuration file /etc/raddb.TEST//mods-enabled/realm
including configuration file /etc/raddb.TEST//mods-enabled/replicate
including configuration file /etc/raddb.TEST//mods-enabled/soh
including configuration file /etc/raddb.TEST//mods-enabled/sradutmp
including configuration file /etc/raddb.TEST//mods-enabled/unix
including configuration file /etc/raddb.TEST//mods-enabled/unpack
including configuration file /etc/raddb.TEST//mods-enabled/utf8
including files in directory /etc/raddb.TEST//policy.d/
including configuration file /etc/raddb.TEST//policy.d/accounting
including configuration file /etc/raddb.TEST//policy.d/canonicalization
including configuration file /etc/raddb.TEST//policy.d/control
including configuration file /etc/raddb.TEST//policy.d/cui
including configuration file /etc/raddb.TEST//policy.d/debug
including configuration file /etc/raddb.TEST//policy.d/dhcp
including configuration file /etc/raddb.TEST//policy.d/eap
including configuration file /etc/raddb.TEST//policy.d/filter
including configuration file /etc/raddb.TEST//policy.d/operator-name
including files in directory /etc/raddb.TEST//sites-enabled/
including configuration file /etc/raddb.TEST//sites-enabled/default
including configuration file /etc/raddb.TEST//sites-enabled/inner-tunnel
main {
 security {
 	user = "radiusd"
 	group = "radiusd"
 	allow_core_dumps = no
 }
}
main {
	name = "radiusd"
	prefix = "/usr"
	localstatedir = "/var"
	sbindir = "/usr/sbin"
	logdir = "/var/log/radius"
	run_dir = "/var/run/radiusd"
	libdir = "/usr/lib64/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
 	colourise = yes
 	msg_denied = "You are already logged in - access denied"
 }
 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 = <<< secret >>>
 	response_window = 20.000000
 	response_timeouts = 1
 	max_outstanding = 65536
 	zombie_period = 40
 	status_check = "status-server"
 	ping_interval = 30
 	check_interval = 30
 	check_timeout = 4
 	num_answers_to_alive = 3
 	revive_interval = 120
  coa {
  	irt = 2
  	mrt = 16
  	mrc = 5
  	mrd = 30
  }
  limit {
  	max_connections = 16
  	max_requests = 0
  	lifetime = 0
  	idle_timeout = 0
  }
 }
 home_server_pool my_auth_failover {
	type = fail-over
	home_server = localhost
 }
 realm example.com {
	auth_pool = my_auth_failover
 }
 realm LOCAL {
 }
radiusd: #### Loading Clients ####
 client localhost {
 	ipaddr = 127.0.0.1
 	require_message_authenticator = no
 	secret = <<< secret >>>
 	nas_type = "other"
 	proto = "*"
  limit {
  	max_connections = 16
  	lifetime = 0
  	idle_timeout = 30
  }
 }
 client localhost_ipv6 {
 	ipv6addr = ::1
 	require_message_authenticator = no
 	secret = <<< secret >>>
  limit {
  	max_connections = 16
  	lifetime = 0
  	idle_timeout = 30
  }
 }
radiusd: #### Instantiating modules ####
 instantiate {
 }
 modules {
  # Loaded module rlm_always
  # Instantiating module "reject" from file /etc/raddb.TEST//mods-enabled/always
  always reject {
  	rcode = "reject"
  	simulcount = 0
  	mpp = no
  }
  # Instantiating module "fail" from file /etc/raddb.TEST//mods-enabled/always
  always fail {
  	rcode = "fail"
  	simulcount = 0
  	mpp = no
  }
  # Instantiating module "ok" from file /etc/raddb.TEST//mods-enabled/always
  always ok {
  	rcode = "ok"
  	simulcount = 0
  	mpp = no
  }
  # Instantiating module "handled" from file /etc/raddb.TEST//mods-enabled/always
  always handled {
  	rcode = "handled"
  	simulcount = 0
  	mpp = no
  }
  # Instantiating module "invalid" from file /etc/raddb.TEST//mods-enabled/always
  always invalid {
  	rcode = "invalid"
  	simulcount = 0
  	mpp = no
  }
  # Instantiating module "userlock" from file /etc/raddb.TEST//mods-enabled/always
  always userlock {
  	rcode = "userlock"
  	simulcount = 0
  	mpp = no
  }
  # Instantiating module "notfound" from file /etc/raddb.TEST//mods-enabled/always
  always notfound {
  	rcode = "notfound"
  	simulcount = 0
  	mpp = no
  }
  # Instantiating module "noop" from file /etc/raddb.TEST//mods-enabled/always
  always noop {
  	rcode = "noop"
  	simulcount = 0
  	mpp = no
  }
  # Instantiating module "updated" from file /etc/raddb.TEST//mods-enabled/always
  always updated {
  	rcode = "updated"
  	simulcount = 0
  	mpp = no
  }
  # Loaded module rlm_attr_filter
  # Instantiating module "attr_filter.post-proxy" from file /etc/raddb.TEST//mods-enabled/attr_filter
  attr_filter attr_filter.post-proxy {
  	filename = "/etc/raddb.TEST//mods-config/attr_filter/post-proxy"
  	key = "%{Realm}"
  	relaxed = no
  }
reading pairlist file /etc/raddb.TEST//mods-config/attr_filter/post-proxy
  # Instantiating module "attr_filter.pre-proxy" from file /etc/raddb.TEST//mods-enabled/attr_filter
  attr_filter attr_filter.pre-proxy {
  	filename = "/etc/raddb.TEST//mods-config/attr_filter/pre-proxy"
  	key = "%{Realm}"
  	relaxed = no
  }
reading pairlist file /etc/raddb.TEST//mods-config/attr_filter/pre-proxy
  # Instantiating module "attr_filter.access_reject" from file /etc/raddb.TEST//mods-enabled/attr_filter
  attr_filter attr_filter.access_reject {
  	filename = "/etc/raddb.TEST//mods-config/attr_filter/access_reject"
  	key = "%{User-Name}"
  	relaxed = no
  }
reading pairlist file /etc/raddb.TEST//mods-config/attr_filter/access_reject
  # Instantiating module "attr_filter.access_challenge" from file /etc/raddb.TEST//mods-enabled/attr_filter
  attr_filter attr_filter.access_challenge {
  	filename = "/etc/raddb.TEST//mods-config/attr_filter/access_challenge"
  	key = "%{User-Name}"
  	relaxed = no
  }
reading pairlist file /etc/raddb.TEST//mods-config/attr_filter/access_challenge
  # Instantiating module "attr_filter.accounting_response" from file /etc/raddb.TEST//mods-enabled/attr_filter
  attr_filter attr_filter.accounting_response {
  	filename = "/etc/raddb.TEST//mods-config/attr_filter/accounting_response"
  	key = "%{User-Name}"
  	relaxed = no
  }
reading pairlist file /etc/raddb.TEST//mods-config/attr_filter/accounting_response
  # Loaded module rlm_cache
  # Instantiating module "cache_eap" from file /etc/raddb.TEST//mods-enabled/cache_eap
  cache cache_eap {
  	key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}"
  	ttl = 15
  	max_entries = 16384
  	epoch = 0
  	add_stats = no
  }
  # Loaded module rlm_chap
  # Instantiating module "chap" from file /etc/raddb.TEST//mods-enabled/chap
  # Loaded module rlm_detail
  # Instantiating module "detail" from file /etc/raddb.TEST//mods-enabled/detail
  detail {
  	filename = "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
  	header = "%t"
  	permissions = 384
  	locking = no
  	log_packet_header = no
  }
  # Instantiating module "auth_log" from file /etc/raddb.TEST//mods-enabled/detail.log
  detail auth_log {
  	filename = "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d"
  	header = "%t"
  	permissions = 384
  	locking = no
  	log_packet_header = no
  }
rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output
  # Instantiating module "reply_log" from file /etc/raddb.TEST//mods-enabled/detail.log
  detail reply_log {
  	filename = "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d"
  	header = "%t"
  	permissions = 384
  	locking = no
  	log_packet_header = no
  }
  # Instantiating module "pre_proxy_log" from file /etc/raddb.TEST//mods-enabled/detail.log
  detail pre_proxy_log {
  	filename = "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d"
  	header = "%t"
  	permissions = 384
  	locking = no
  	log_packet_header = no
  }
  # Instantiating module "post_proxy_log" from file /etc/raddb.TEST//mods-enabled/detail.log
  detail post_proxy_log {
  	filename = "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d"
  	header = "%t"
  	permissions = 384
  	locking = no
  	log_packet_header = no
  }
  # Loaded module rlm_dhcp
  # Instantiating module "dhcp" from file /etc/raddb.TEST//mods-enabled/dhcp
  # Loaded module rlm_digest
  # Instantiating module "digest" from file /etc/raddb.TEST//mods-enabled/digest
  # Loaded module rlm_dynamic_clients
  # Instantiating module "dynamic_clients" from file /etc/raddb.TEST//mods-enabled/dynamic_clients
  # Loaded module rlm_eap
  # Instantiating module "eap" from file /etc/raddb.TEST//mods-enabled/eap
  eap {
  	default_eap_type = "md5"
  	timer_expire = 60
  	ignore_unknown_eap_types = no
  	mod_accounting_username_bug = no
  	max_sessions = 1024
  }
   # Linked to sub-module rlm_eap_md5
   # Linked to sub-module rlm_eap_leap
   # Linked to sub-module rlm_eap_gtc
   gtc {
   	challenge = "Password: "
   	auth_type = "PAP"
   }
   # Linked to sub-module rlm_eap_tls
   tls {
   	tls = "tls-common"
   }
   tls-config tls-common {
   	rsa_key_exchange = no
   	dh_key_exchange = yes
   	rsa_key_length = 512
   	dh_key_length = 512
   	verify_depth = 0
   	ca_path = "/etc/raddb.TEST//certs"
   	pem_file_type = yes
   	private_key_file = "/etc/raddb.TEST//certs/server.pem"
   	certificate_file = "/etc/raddb.TEST//certs/server.pem"
   	ca_file = "/etc/raddb.TEST//certs/ca.pem"
   	private_key_password = <<< secret >>>
   	dh_file = "/etc/raddb.TEST//certs/dh"
   	fragment_size = 1024
   	include_length = yes
   	check_crl = no
   	cipher_list = "DEFAULT"
   	ecdh_curve = "prime256v1"
    cache {
    	enable = yes
    	lifetime = 24
    	max_entries = 255
    }
    verify {
    }
    ocsp {
    	enable = no
    	override_cert_url = yes
    	url = "http://127.0.0.1/ocsp/"
    	use_nonce = yes
    	timeout = 0
    	softfail = yes
    }
   }
   # Linked to sub-module rlm_eap_ttls
   ttls {
   	tls = "tls-common"
   	default_eap_type = "md5"
   	copy_request_to_tunnel = no
   	use_tunneled_reply = no
   	virtual_server = "inner-tunnel"
   	include_length = yes
   	require_client_cert = no
   }
Using cached TLS configuration from previous invocation
   # Linked to sub-module rlm_eap_peap
   peap {
   	tls = "tls-common"
   	default_method = "mschapv2"
   	copy_request_to_tunnel = no
   	use_tunneled_reply = no
   	proxy_tunneled_request_as_eap = yes
   	virtual_server = "inner-tunnel"
   	soh = no
   	require_client_cert = no
   }
Using cached TLS configuration from previous invocation
   # Linked to sub-module rlm_eap_mschapv2
   mschapv2 {
   	with_ntdomain_hack = no
   	send_error = no
   }
  # Loaded module rlm_exec
  # Instantiating module "echo" from file /etc/raddb.TEST//mods-enabled/echo
  exec echo {
  	wait = yes
  	program = "/bin/echo %{User-Name}"
  	input_pairs = "request"
  	output_pairs = "reply"
  	shell_escape = yes
  }
  # Instantiating module "exec" from file /etc/raddb.TEST//mods-enabled/exec
  exec {
  	wait = no
  	input_pairs = "request"
  	shell_escape = yes
  	timeout = 10
  }
  # Loaded module rlm_expiration
  # Instantiating module "expiration" from file /etc/raddb.TEST//mods-enabled/expiration
  # Loaded module rlm_expr
  # Instantiating module "expr" from file /etc/raddb.TEST//mods-enabled/expr
  expr {
  	safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
  }
  # Loaded module rlm_files
  # Instantiating module "files" from file /etc/raddb.TEST//mods-enabled/files
  files {
  	filename = "/etc/raddb.TEST//mods-config/files/authorize"
  	usersfile = "/etc/raddb.TEST//mods-config/files/authorize"
  	acctusersfile = "/etc/raddb.TEST//mods-config/files/accounting"
  	preproxy_usersfile = "/etc/raddb.TEST//mods-config/files/pre-proxy"
  	compat = "cistron"
  }
reading pairlist file /etc/raddb.TEST//mods-config/files/authorize
[/etc/raddb.TEST//mods-config/files/authorize]:184 Cistron compatibility checks for entry DEFAULT ...
[/etc/raddb.TEST//mods-config/files/authorize]:191 Cistron compatibility checks for entry DEFAULT ...
[/etc/raddb.TEST//mods-config/files/authorize]:198 Cistron compatibility checks for entry DEFAULT ...
[/etc/raddb.TEST//mods-config/files/authorize]:224 Cistron compatibility checks for entry bob ...
reading pairlist file /etc/raddb.TEST//mods-config/files/authorize
[/etc/raddb.TEST//mods-config/files/authorize]:184 Cistron compatibility checks for entry DEFAULT ...
[/etc/raddb.TEST//mods-config/files/authorize]:191 Cistron compatibility checks for entry DEFAULT ...
[/etc/raddb.TEST//mods-config/files/authorize]:198 Cistron compatibility checks for entry DEFAULT ...
[/etc/raddb.TEST//mods-config/files/authorize]:224 Cistron compatibility checks for entry bob ...
reading pairlist file /etc/raddb.TEST//mods-config/files/accounting
reading pairlist file /etc/raddb.TEST//mods-config/files/pre-proxy
  # Loaded module rlm_linelog
  # Instantiating module "linelog" from file /etc/raddb.TEST//mods-enabled/linelog
  linelog {
  	filename = "/var/log/radius/linelog"
  	permissions = 384
  	format = "This is a log message for %{User-Name}"
  	reference = "messages.%{%{Packet-Type}:-default}"
  }
  # Instantiating module "log_accounting" from file /etc/raddb.TEST//mods-enabled/linelog
  linelog log_accounting {
  	filename = "/var/log/radius/linelog-accounting"
  	permissions = 384
  	format = ""
  	reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
  }
  # Loaded module rlm_logintime
  # Instantiating module "logintime" from file /etc/raddb.TEST//mods-enabled/logintime
  logintime {
  	minimum_timeout = 60
  }
  # Loaded module rlm_mschap
  # Instantiating module "mschap" from file /etc/raddb.TEST//mods-enabled/mschap
  mschap {
  	use_mppe = yes
  	require_encryption = no
  	require_strong = no
  	with_ntdomain_hack = yes
   passchange {
   }
  	allow_retry = yes
  }
  # Instantiating module "ntlm_auth" from file /etc/raddb.TEST//mods-enabled/ntlm_auth
  exec ntlm_auth {
  	wait = yes
  	program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}"
  	shell_escape = yes
  }
  # Loaded module rlm_pap
  # Instantiating module "pap" from file /etc/raddb.TEST//mods-enabled/pap
  pap {
  	normalise = yes
  }
  # Loaded module rlm_passwd
  # Instantiating module "etc_passwd" from file /etc/raddb.TEST//mods-enabled/passwd
  passwd etc_passwd {
  	filename = "/etc/passwd"
  	format = "*User-Name:Crypt-Password:"
  	delimiter = ":"
  	ignore_nislike = no
  	ignore_empty = yes
  	allow_multiple_keys = no
  	hash_size = 100
  }
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
  # Loaded module rlm_preprocess
  # Instantiating module "preprocess" from file /etc/raddb.TEST//mods-enabled/preprocess
  preprocess {
  	huntgroups = "/etc/raddb.TEST//mods-config/preprocess/huntgroups"
  	hints = "/etc/raddb.TEST//mods-config/preprocess/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
  }
reading pairlist file /etc/raddb.TEST//mods-config/preprocess/huntgroups
reading pairlist file /etc/raddb.TEST//mods-config/preprocess/hints
  # Loaded module rlm_radutmp
  # Instantiating module "radutmp" from file /etc/raddb.TEST//mods-enabled/radutmp
  radutmp {
  	filename = "/var/log/radius/radutmp"
  	username = "%{User-Name}"
  	case_sensitive = yes
  	check_with_nas = yes
  	permissions = 384
  	caller_id = yes
  }
  # Loaded module rlm_realm
  # Instantiating module "IPASS" from file /etc/raddb.TEST//mods-enabled/realm
  realm IPASS {
  	format = "prefix"
  	delimiter = "/"
  	ignore_default = no
  	ignore_null = no
  }
  # Instantiating module "suffix" from file /etc/raddb.TEST//mods-enabled/realm
  realm suffix {
  	format = "suffix"
  	delimiter = "@"
  	ignore_default = no
  	ignore_null = no
  }
  # Instantiating module "realmpercent" from file /etc/raddb.TEST//mods-enabled/realm
  realm realmpercent {
  	format = "suffix"
  	delimiter = "%"
  	ignore_default = no
  	ignore_null = no
  }
  # Instantiating module "ntdomain" from file /etc/raddb.TEST//mods-enabled/realm
  realm ntdomain {
  	format = "prefix"
  	delimiter = "\"
  	ignore_default = no
  	ignore_null = no
  }
  # Loaded module rlm_replicate
  # Instantiating module "replicate" from file /etc/raddb.TEST//mods-enabled/replicate
  # Loaded module rlm_soh
  # Instantiating module "soh" from file /etc/raddb.TEST//mods-enabled/soh
  soh {
  	dhcp = yes
  }
  # Instantiating module "sradutmp" from file /etc/raddb.TEST//mods-enabled/sradutmp
  radutmp sradutmp {
  	filename = "/var/log/radius/sradutmp"
  	username = "%{User-Name}"
  	case_sensitive = yes
  	check_with_nas = yes
  	permissions = 420
  	caller_id = no
  }
  # Loaded module rlm_unix
  # Instantiating module "unix" from file /etc/raddb.TEST//mods-enabled/unix
  unix {
  	radwtmp = "/var/log/radius/radwtmp"
  }
  # Loaded module rlm_unpack
  # Instantiating module "unpack" from file /etc/raddb.TEST//mods-enabled/unpack
  # Loaded module rlm_utf8
  # Instantiating module "utf8" from file /etc/raddb.TEST//mods-enabled/utf8
 } # modules
radiusd: #### Loading Virtual Servers ####
server { # from file /etc/raddb.TEST//radiusd.conf
} # server
server default { # from file /etc/raddb.TEST//sites-enabled/default
 # Creating Auth-Type = digest
 # Loading authenticate {...}
 # Loading authorize {...}
Ignoring "sql" (see raddb/mods-available/README.rst)
Ignoring "ldap" (see raddb/mods-available/README.rst)
 # Loading preacct {...}
 # Loading accounting {...}
 # Loading post-proxy {...}
 # Loading post-auth {...}
} # server default
server inner-tunnel { # from file /etc/raddb.TEST//sites-enabled/inner-tunnel
 # Loading authenticate {...}
 # Loading authorize {...}
 # Loading session {...}
 # Loading post-proxy {...}
 # Loading post-auth {...}
} # server inner-tunnel
radiusd: #### Opening IP addresses and Ports ####
listen {
  	type = "auth"
  	ipaddr = *
  	port = 0
   limit {
   	max_connections = 16
   	lifetime = 0
   	idle_timeout = 30
   }
}
listen {
  	type = "acct"
  	ipaddr = *
  	port = 0
   limit {
   	max_connections = 16
   	lifetime = 0
   	idle_timeout = 30
   }
}
listen {
  	type = "auth"
  	ipv6addr = ::
  	port = 0
   limit {
   	max_connections = 16
   	lifetime = 0
   	idle_timeout = 30
   }
}
listen {
  	type = "acct"
  	ipv6addr = ::
  	port = 0
   limit {
   	max_connections = 16
   	lifetime = 0
   	idle_timeout = 30
   }
}
listen {
  	type = "auth"
  	ipaddr = 127.0.0.1
  	port = 18120
}
Listening on auth address * port 1812 as server default
Listening on acct address * port 1813 as server default
Listening on auth address :: port 1812 as server default
Listening on acct address :: port 1813 as server default
Listening on auth address 127.0.0.1 port 18120 as server inner-tunnel
Opening new proxy socket 'proxy address * port 0'
Listening on proxy address * port 34548
Ready to process requests
Received Access-Request Id 0 from 127.0.0.1:59179 to 127.0.0.1:1812 length 176
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x0200001a01616e6f6e796d6f7573406578616d706c652e6f7267
	Message-Authenticator = 0x6aa3ba9cf9595b899799bad577cf35f2
(0) Received Access-Request packet from host 127.0.0.1 port 59179, id=0, length=176
(0) 	User-Name = 'anonymous at example.org'
(0) 	NAS-IP-Address = 127.0.0.1
(0) 	Calling-Station-Id = '02-00-00-00-00-01'
(0) 	Framed-MTU = 1400
(0) 	NAS-Port-Type = Wireless-802.11
(0) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(0) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(0) 	EAP-Message = 0x0200001a01616e6f6e796d6f7573406578616d706c652e6f7267
(0) 	Message-Authenticator = 0x6aa3ba9cf9595b899799bad577cf35f2
(0) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(0)   authorize {
(0)   filter_username filter_username {
(0)     if (!&User-Name) 
(0)     if (!&User-Name)  -> FALSE
(0)     if (&User-Name =~ / /) 
(0)     if (&User-Name =~ / /)  -> FALSE
(0)     if (&User-Name =~ /@.*@/ ) 
(0)     if (&User-Name =~ /@.*@/ )  -> FALSE
(0)     if (&User-Name =~ /\\.\\./ ) 
(0)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(0)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(0)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(0)     if (&User-Name =~ /\\.$/)  
(0)     if (&User-Name =~ /\\.$/)   -> FALSE
(0)     if (&User-Name =~ /@\\./)  
(0)     if (&User-Name =~ /@\\./)   -> FALSE
(0)   } # filter_username filter_username = notfound
(0)   [preprocess] = ok
(0)   [chap] = noop
(0)   [mschap] = noop
(0)   [digest] = noop
(0)  suffix : Checking for suffix after "@"
(0)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(0)  suffix : No such realm "example.org"
(0)   [suffix] = noop
(0)   rewrite_called_station_id rewrite_called_station_id {
(0)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(0)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(0)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(0)     update request {
(0) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(0)    --> 11-22-33-44-55-66
(0) 	Called-Station-Id := "11-22-33-44-55-66"
(0)     } # update request = noop
(0)      if ("%{8}") 
(0) EXPAND %{8}
(0)    --> MYSSID
(0)      if ("%{8}")  -> TRUE
(0)     if ("%{8}")  {
(0)      update request {
(0) EXPAND %{8}
(0)    --> MYSSID
(0) 	Called-Station-SSID := "MYSSID"
(0)      } # update request = noop
(0)     } # if ("%{8}")  = noop
(0)     [updated] = updated
(0)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(0)     ... skipping else for request 0: Preceding "if" was taken
(0)   } # rewrite_called_station_id rewrite_called_station_id = updated
(0)  eap : Peer sent code Response (2) ID 0 length 26
(0)  eap : EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
(0)   [eap] = ok
(0)  } #  authorize = ok
(0) Found Auth-Type = EAP
(0) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(0)   authenticate {
(0)  eap : Peer sent method Identity (1)
(0)  eap : Calling eap_md5 to process EAP data
(0)  eap_md5 : Issuing MD5 Challenge
(0)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee65648567
(0)   [eap] = handled
(0)  } #  authenticate = handled
(0) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=0, length=0
(0) 	EAP-Message = 0x010100160410ca04d48e8645752e7b0d143528eb14bb
(0) 	Message-Authenticator = 0x00000000000000000000000000000000
(0) 	State = 0x656581ee65648567e87ef2002c1975c5
Sending Access-Challenge Id 0 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x010100160410ca04d48e8645752e7b0d143528eb14bb
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee65648567e87ef2002c1975c5
(0) Finished request
Waking up in 0.3 seconds.
Received Access-Request Id 1 from 127.0.0.1:59179 to 127.0.0.1:1812 length 174
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x020100060319
	State = 0x656581ee65648567e87ef2002c1975c5
	Message-Authenticator = 0xcd51e9437aa55a1e3623cee223936516
(1) Received Access-Request packet from host 127.0.0.1 port 59179, id=1, length=174
(1) 	User-Name = 'anonymous at example.org'
(1) 	NAS-IP-Address = 127.0.0.1
(1) 	Calling-Station-Id = '02-00-00-00-00-01'
(1) 	Framed-MTU = 1400
(1) 	NAS-Port-Type = Wireless-802.11
(1) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(1) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(1) 	EAP-Message = 0x020100060319
(1) 	State = 0x656581ee65648567e87ef2002c1975c5
(1) 	Message-Authenticator = 0xcd51e9437aa55a1e3623cee223936516
(1) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(1)   authorize {
(1)   filter_username filter_username {
(1)     if (!&User-Name) 
(1)     if (!&User-Name)  -> FALSE
(1)     if (&User-Name =~ / /) 
(1)     if (&User-Name =~ / /)  -> FALSE
(1)     if (&User-Name =~ /@.*@/ ) 
(1)     if (&User-Name =~ /@.*@/ )  -> FALSE
(1)     if (&User-Name =~ /\\.\\./ ) 
(1)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(1)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(1)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(1)     if (&User-Name =~ /\\.$/)  
(1)     if (&User-Name =~ /\\.$/)   -> FALSE
(1)     if (&User-Name =~ /@\\./)  
(1)     if (&User-Name =~ /@\\./)   -> FALSE
(1)   } # filter_username filter_username = notfound
(1)   [preprocess] = ok
(1)   [chap] = noop
(1)   [mschap] = noop
(1)   [digest] = noop
(1)  suffix : Checking for suffix after "@"
(1)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(1)  suffix : No such realm "example.org"
(1)   [suffix] = noop
(1)   rewrite_called_station_id rewrite_called_station_id {
(1)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(1)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(1)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(1)     update request {
(1) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(1)    --> 11-22-33-44-55-66
(1) 	Called-Station-Id := "11-22-33-44-55-66"
(1)     } # update request = noop
(1)      if ("%{8}") 
(1) EXPAND %{8}
(1)    --> MYSSID
(1)      if ("%{8}")  -> TRUE
(1)     if ("%{8}")  {
(1)      update request {
(1) EXPAND %{8}
(1)    --> MYSSID
(1) 	Called-Station-SSID := "MYSSID"
(1)      } # update request = noop
(1)     } # if ("%{8}")  = noop
(1)     [updated] = updated
(1)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(1)     ... skipping else for request 1: Preceding "if" was taken
(1)   } # rewrite_called_station_id rewrite_called_station_id = updated
(1)  eap : Peer sent code Response (2) ID 1 length 6
(1)  eap : No EAP Start, assuming it's an on-going EAP conversation
(1)   [eap] = updated
(1)   [files] = noop
(1)   [expiration] = noop
(1)   [logintime] = noop
(1)  WARNING: pap : No "known good" password found for the user.  Not setting Auth-Type
(1)  WARNING: pap : Authentication will fail unless a "known good" password is available
(1)   [pap] = noop
(1)  } #  authorize = updated
(1) Found Auth-Type = EAP
(1) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(1)   authenticate {
(1)  eap : Expiring EAP session with state 0x656581ee65648567
(1)  eap : Finished EAP session with state 0x656581ee65648567
(1)  eap : Previous EAP request found for state 0x656581ee65648567, released from the list
(1)  eap : Peer sent method NAK (3)
(1)  eap : Found mutually acceptable type PEAP (25)
(1)  eap : Calling eap_peap to process EAP data
(1)  eap_peap : Flushing SSL sessions (of #0)
(1)  eap_peap : Initiate
(1)  eap_peap : Start returned 1
(1)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee64679867
(1)   [eap] = handled
(1)  } #  authenticate = handled
(1) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=1, length=0
(1) 	EAP-Message = 0x010200061920
(1) 	Message-Authenticator = 0x00000000000000000000000000000000
(1) 	State = 0x656581ee64679867e87ef2002c1975c5
Sending Access-Challenge Id 1 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x010200061920
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee64679867e87ef2002c1975c5
(1) Finished request
Waking up in 0.3 seconds.
Received Access-Request Id 2 from 127.0.0.1:59179 to 127.0.0.1:1812 length 329
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x020200a119800000009716030100920100008e030155406fc06a0068f1e7ac830477f0b64046c4cc3bce94ee1035dc71dbb01cac3700004cc014c00a0039003800880087c00fc00500350084c013c00900330032c012c008009a00990045004400160013c00ec004c00dc003002f00960041000a0007c011c007c00cc0020005000400ff01000019000b000403000102000a00080006001900180017000f000101
	State = 0x656581ee64679867e87ef2002c1975c5
	Message-Authenticator = 0x380c482465d45e54cd9061902b29d8aa
(2) Received Access-Request packet from host 127.0.0.1 port 59179, id=2, length=329
(2) 	User-Name = 'anonymous at example.org'
(2) 	NAS-IP-Address = 127.0.0.1
(2) 	Calling-Station-Id = '02-00-00-00-00-01'
(2) 	Framed-MTU = 1400
(2) 	NAS-Port-Type = Wireless-802.11
(2) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(2) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(2) 	EAP-Message = 0x020200a119800000009716030100920100008e030155406fc06a0068f1e7ac830477f0b64046c4cc3bce94ee1035dc71dbb01cac3700004cc014c00a0039003800880087c00fc00500350084c013c00900330032c012c008009a00990045004400160013c00ec004c00dc003002f00960041000a0007c011c007c00cc0020005000400ff01000019000b000403000102000a00080006001900180017000f000101
(2) 	State = 0x656581ee64679867e87ef2002c1975c5
(2) 	Message-Authenticator = 0x380c482465d45e54cd9061902b29d8aa
(2) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(2)   authorize {
(2)   filter_username filter_username {
(2)     if (!&User-Name) 
(2)     if (!&User-Name)  -> FALSE
(2)     if (&User-Name =~ / /) 
(2)     if (&User-Name =~ / /)  -> FALSE
(2)     if (&User-Name =~ /@.*@/ ) 
(2)     if (&User-Name =~ /@.*@/ )  -> FALSE
(2)     if (&User-Name =~ /\\.\\./ ) 
(2)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(2)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(2)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(2)     if (&User-Name =~ /\\.$/)  
(2)     if (&User-Name =~ /\\.$/)   -> FALSE
(2)     if (&User-Name =~ /@\\./)  
(2)     if (&User-Name =~ /@\\./)   -> FALSE
(2)   } # filter_username filter_username = notfound
(2)   [preprocess] = ok
(2)   [chap] = noop
(2)   [mschap] = noop
(2)   [digest] = noop
(2)  suffix : Checking for suffix after "@"
(2)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(2)  suffix : No such realm "example.org"
(2)   [suffix] = noop
(2)   rewrite_called_station_id rewrite_called_station_id {
(2)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(2)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(2)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(2)     update request {
(2) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(2)    --> 11-22-33-44-55-66
(2) 	Called-Station-Id := "11-22-33-44-55-66"
(2)     } # update request = noop
(2)      if ("%{8}") 
(2) EXPAND %{8}
(2)    --> MYSSID
(2)      if ("%{8}")  -> TRUE
(2)     if ("%{8}")  {
(2)      update request {
(2) EXPAND %{8}
(2)    --> MYSSID
(2) 	Called-Station-SSID := "MYSSID"
(2)      } # update request = noop
(2)     } # if ("%{8}")  = noop
(2)     [updated] = updated
(2)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(2)     ... skipping else for request 2: Preceding "if" was taken
(2)   } # rewrite_called_station_id rewrite_called_station_id = updated
(2)  eap : Peer sent code Response (2) ID 2 length 161
(2)  eap : Continuing tunnel setup
(2)   [eap] = ok
(2)  } #  authorize = ok
(2) Found Auth-Type = EAP
(2) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(2)   authenticate {
(2)  eap : Expiring EAP session with state 0x656581ee64679867
(2)  eap : Finished EAP session with state 0x656581ee64679867
(2)  eap : Previous EAP request found for state 0x656581ee64679867, released from the list
(2)  eap : Peer sent method PEAP (25)
(2)  eap : EAP PEAP (25)
(2)  eap : Calling eap_peap to process EAP data
(2)  eap_peap : processing EAP-TLS
  TLS Length 151
(2)  eap_peap : Length Included
(2)  eap_peap : eaptls_verify returned 11 
(2)  eap_peap : (other): before/accept initialization
(2)  eap_peap : TLS_accept: before/accept initialization
(2)  eap_peap : <<< TLS 1.0 Handshake [length 0092], ClientHello 
(2)  eap_peap : TLS_accept: SSLv3 read client hello A
(2)  eap_peap : >>> TLS 1.0 Handshake [length 005e], ServerHello 
(2)  eap_peap : TLS_accept: SSLv3 write server hello A
(2)  eap_peap : >>> TLS 1.0 Handshake [length 08d0], Certificate 
(2)  eap_peap : TLS_accept: SSLv3 write certificate A
(2)  eap_peap : >>> TLS 1.0 Handshake [length 014b], ServerKeyExchange 
(2)  eap_peap : TLS_accept: SSLv3 write key exchange A
(2)  eap_peap : >>> TLS 1.0 Handshake [length 0004], ServerHelloDone 
(2)  eap_peap : TLS_accept: SSLv3 write server done A
(2)  eap_peap : TLS_accept: SSLv3 flush data
(2)  eap_peap : TLS_accept: Need to read more data: SSLv3 read client certificate A
In SSL Handshake Phase 
In SSL Accept mode  
(2)  eap_peap : eaptls_process returned 13 
(2)  eap_peap : FR_TLS_HANDLED
(2)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee67669867
(2)   [eap] = handled
(2)  } #  authenticate = handled
(2) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=2, length=0
(2) 	EAP-Message = 0x010303ec19c000000a91160301005e0200005a030155406fc06d005fb42fff2322b97cfe58a70db1ed67b4fa757856c4fb75ca296320a172ef0eafa01e8f00b338d881fdb06205f97d4d2d0ad3a25fcd45df86b6c1aac014000012ff01000100000b000403000102000f00010116030108d00b0008cc0008c90003de308203da308202c2a003020102020101300d06092a864886f70d01010b0500308193310b3009060355040613024652310f300d060355040813065261646975733112301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c6520436572746966696361746520417574686f72697479301e170d3135303432383135353533305a170d3135303632373135353533305a307c310b3009060355040613024652310f300d0603550408130652616469757331153013060355040a130c4578616d706c6520496e632e312330210603550403131a4578616d706c65205365727665722043657274696669636174653120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100c92eb9f81d6610
(2) 	Message-Authenticator = 0x00000000000000000000000000000000
(2) 	State = 0x656581ee67669867e87ef2002c1975c5
Sending Access-Challenge Id 2 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x010303ec19c000000a91160301005e0200005a030155406fc06d005fb42fff2322b97cfe58a70db1ed67b4fa757856c4fb75ca296320a172ef0eafa01e8f00b338d881fdb06205f97d4d2d0ad3a25fcd45df86b6c1aac014000012ff01000100000b000403000102000f00010116030108d00b0008cc0008c90003de308203da308202c2a003020102020101300d06092a864886f70d01010b0500308193310b3009060355040613024652310f300d060355040813065261646975733112301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c6520436572746966696361746520417574686f72697479301e170d3135303432383135353533305a170d3135303632373135353533305a307c310b3009060355040613024652310f300d0603550408130652616469757331153013060355040a130c4578616d706c6520496e632e312330210603550403131a4578616d706c65205365727665722043657274696669636174653120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100c92eb9f81d661
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee67669867e87ef2002c1975c5
(2) Finished request
Waking up in 0.3 seconds.
Received Access-Request Id 3 from 127.0.0.1:59179 to 127.0.0.1:1812 length 174
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x020300061900
	State = 0x656581ee67669867e87ef2002c1975c5
	Message-Authenticator = 0xfa7cad90c406919e3af3771e2141bbb5
(3) Received Access-Request packet from host 127.0.0.1 port 59179, id=3, length=174
(3) 	User-Name = 'anonymous at example.org'
(3) 	NAS-IP-Address = 127.0.0.1
(3) 	Calling-Station-Id = '02-00-00-00-00-01'
(3) 	Framed-MTU = 1400
(3) 	NAS-Port-Type = Wireless-802.11
(3) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(3) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(3) 	EAP-Message = 0x020300061900
(3) 	State = 0x656581ee67669867e87ef2002c1975c5
(3) 	Message-Authenticator = 0xfa7cad90c406919e3af3771e2141bbb5
(3) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(3)   authorize {
(3)   filter_username filter_username {
(3)     if (!&User-Name) 
(3)     if (!&User-Name)  -> FALSE
(3)     if (&User-Name =~ / /) 
(3)     if (&User-Name =~ / /)  -> FALSE
(3)     if (&User-Name =~ /@.*@/ ) 
(3)     if (&User-Name =~ /@.*@/ )  -> FALSE
(3)     if (&User-Name =~ /\\.\\./ ) 
(3)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(3)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(3)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(3)     if (&User-Name =~ /\\.$/)  
(3)     if (&User-Name =~ /\\.$/)   -> FALSE
(3)     if (&User-Name =~ /@\\./)  
(3)     if (&User-Name =~ /@\\./)   -> FALSE
(3)   } # filter_username filter_username = notfound
(3)   [preprocess] = ok
(3)   [chap] = noop
(3)   [mschap] = noop
(3)   [digest] = noop
(3)  suffix : Checking for suffix after "@"
(3)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(3)  suffix : No such realm "example.org"
(3)   [suffix] = noop
(3)   rewrite_called_station_id rewrite_called_station_id {
(3)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(3)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(3)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(3)     update request {
(3) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(3)    --> 11-22-33-44-55-66
(3) 	Called-Station-Id := "11-22-33-44-55-66"
(3)     } # update request = noop
(3)      if ("%{8}") 
(3) EXPAND %{8}
(3)    --> MYSSID
(3)      if ("%{8}")  -> TRUE
(3)     if ("%{8}")  {
(3)      update request {
(3) EXPAND %{8}
(3)    --> MYSSID
(3) 	Called-Station-SSID := "MYSSID"
(3)      } # update request = noop
(3)     } # if ("%{8}")  = noop
(3)     [updated] = updated
(3)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(3)     ... skipping else for request 3: Preceding "if" was taken
(3)   } # rewrite_called_station_id rewrite_called_station_id = updated
(3)  eap : Peer sent code Response (2) ID 3 length 6
(3)  eap : Continuing tunnel setup
(3)   [eap] = ok
(3)  } #  authorize = ok
(3) Found Auth-Type = EAP
(3) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(3)   authenticate {
(3)  eap : Expiring EAP session with state 0x656581ee67669867
(3)  eap : Finished EAP session with state 0x656581ee67669867
(3)  eap : Previous EAP request found for state 0x656581ee67669867, released from the list
(3)  eap : Peer sent method PEAP (25)
(3)  eap : EAP PEAP (25)
(3)  eap : Calling eap_peap to process EAP data
(3)  eap_peap : processing EAP-TLS
(3)  eap_peap : Received TLS ACK
(3)  eap_peap : Received TLS ACK
(3)  eap_peap : ACK handshake fragment handler
(3)  eap_peap : eaptls_verify returned 1 
(3)  eap_peap : eaptls_process returned 13 
(3)  eap_peap : FR_TLS_HANDLED
(3)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee66619867
(3)   [eap] = handled
(3)  } #  authenticate = handled
(3) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=3, length=0
(3) 	EAP-Message = 0x010403e819408db908a889047f5402ecc68bba25d7f79d371de8cc1dcb2f06ae312184096654ea7648bd72476d3a3330449de24cb4a5a9218841d0d940ad85fbe96ee8e6ea4b76a40e5b52f058adad941722e7d4e7c4c61e16ccf0e11a39654ed149c65575572e53b29b7d32f7715e18ae209d7b0004e5308204e1308203c9a003020102020900fa7f9d18e5180a3a300d06092a864886f70d0101050500308193310b3009060355040613024652310f300d060355040813065261646975733112301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c6520436572746966696361746520417574686f72697479301e170d3135303432383135353533305a170d3135303632373135353533305a308193310b3009060355040613024652310f300d060355040813065261646975733112301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c6520436572746966696361746520417574686f7269747930820122300d06092a864886f7
(3) 	Message-Authenticator = 0x00000000000000000000000000000000
(3) 	State = 0x656581ee66619867e87ef2002c1975c5
Sending Access-Challenge Id 3 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x010403e819408db908a889047f5402ecc68bba25d7f79d371de8cc1dcb2f06ae312184096654ea7648bd72476d3a3330449de24cb4a5a9218841d0d940ad85fbe96ee8e6ea4b76a40e5b52f058adad941722e7d4e7c4c61e16ccf0e11a39654ed149c65575572e53b29b7d32f7715e18ae209d7b0004e5308204e1308203c9a003020102020900fa7f9d18e5180a3a300d06092a864886f70d0101050500308193310b3009060355040613024652310f300d060355040813065261646975733112301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c6520436572746966696361746520417574686f72697479301e170d3135303432383135353533305a170d3135303632373135353533305a308193310b3009060355040613024652310f300d060355040813065261646975733112301006035504071309536f6d65776865726531153013060355040a130c4578616d706c6520496e632e3120301e06092a864886f70d010901161161646d696e406578616d706c652e636f6d312630240603550403131d4578616d706c6520436572746966696361746520417574686f7269747930820122300d06092a864886f
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee66619867e87ef2002c1975c5
(3) Finished request
Waking up in 0.3 seconds.
Received Access-Request Id 4 from 127.0.0.1:59179 to 127.0.0.1:1812 length 174
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x020400061900
	State = 0x656581ee66619867e87ef2002c1975c5
	Message-Authenticator = 0xb0cc6b8166bce73c5ef87ce82d4c6745
(4) Received Access-Request packet from host 127.0.0.1 port 59179, id=4, length=174
(4) 	User-Name = 'anonymous at example.org'
(4) 	NAS-IP-Address = 127.0.0.1
(4) 	Calling-Station-Id = '02-00-00-00-00-01'
(4) 	Framed-MTU = 1400
(4) 	NAS-Port-Type = Wireless-802.11
(4) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(4) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(4) 	EAP-Message = 0x020400061900
(4) 	State = 0x656581ee66619867e87ef2002c1975c5
(4) 	Message-Authenticator = 0xb0cc6b8166bce73c5ef87ce82d4c6745
(4) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(4)   authorize {
(4)   filter_username filter_username {
(4)     if (!&User-Name) 
(4)     if (!&User-Name)  -> FALSE
(4)     if (&User-Name =~ / /) 
(4)     if (&User-Name =~ / /)  -> FALSE
(4)     if (&User-Name =~ /@.*@/ ) 
(4)     if (&User-Name =~ /@.*@/ )  -> FALSE
(4)     if (&User-Name =~ /\\.\\./ ) 
(4)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(4)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(4)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(4)     if (&User-Name =~ /\\.$/)  
(4)     if (&User-Name =~ /\\.$/)   -> FALSE
(4)     if (&User-Name =~ /@\\./)  
(4)     if (&User-Name =~ /@\\./)   -> FALSE
(4)   } # filter_username filter_username = notfound
(4)   [preprocess] = ok
(4)   [chap] = noop
(4)   [mschap] = noop
(4)   [digest] = noop
(4)  suffix : Checking for suffix after "@"
(4)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(4)  suffix : No such realm "example.org"
(4)   [suffix] = noop
(4)   rewrite_called_station_id rewrite_called_station_id {
(4)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(4)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(4)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(4)     update request {
(4) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(4)    --> 11-22-33-44-55-66
(4) 	Called-Station-Id := "11-22-33-44-55-66"
(4)     } # update request = noop
(4)      if ("%{8}") 
(4) EXPAND %{8}
(4)    --> MYSSID
(4)      if ("%{8}")  -> TRUE
(4)     if ("%{8}")  {
(4)      update request {
(4) EXPAND %{8}
(4)    --> MYSSID
(4) 	Called-Station-SSID := "MYSSID"
(4)      } # update request = noop
(4)     } # if ("%{8}")  = noop
(4)     [updated] = updated
(4)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(4)     ... skipping else for request 4: Preceding "if" was taken
(4)   } # rewrite_called_station_id rewrite_called_station_id = updated
(4)  eap : Peer sent code Response (2) ID 4 length 6
(4)  eap : Continuing tunnel setup
(4)   [eap] = ok
(4)  } #  authorize = ok
(4) Found Auth-Type = EAP
(4) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(4)   authenticate {
(4)  eap : Expiring EAP session with state 0x656581ee66619867
(4)  eap : Finished EAP session with state 0x656581ee66619867
(4)  eap : Previous EAP request found for state 0x656581ee66619867, released from the list
(4)  eap : Peer sent method PEAP (25)
(4)  eap : EAP PEAP (25)
(4)  eap : Calling eap_peap to process EAP data
(4)  eap_peap : processing EAP-TLS
(4)  eap_peap : Received TLS ACK
(4)  eap_peap : Received TLS ACK
(4)  eap_peap : ACK handshake fragment handler
(4)  eap_peap : eaptls_verify returned 1 
(4)  eap_peap : eaptls_process returned 13 
(4)  eap_peap : FR_TLS_HANDLED
(4)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee61609867
(4)   [eap] = handled
(4)  } #  authenticate = handled
(4) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=4, length=0
(4) 	EAP-Message = 0x010502d31900696361746520417574686f72697479820900fa7f9d18e5180a3a300c0603551d13040530030101ff30360603551d1f042f302d302ba029a0278625687474703a2f2f7777772e6578616d706c652e636f6d2f6578616d706c655f63612e63726c300d06092a864886f70d01010505000382010100248718c6bfe7de889d8256e62f16c7e8b0f694e686775c3330fc20b1f3a22e9e4a04f7085f5947cd8a4874641071f24c8f3b34092e4c8702102a9f071330d8e07d2d401404205a187cf283af2eae8db0ffb98868da6397d291e4b292090dffded974daf2a08e74dd8fc18acc919dbd2e9e752e2ec23f625e485f456396ba36eb90cd8a1da9e95233738ea64992a791302c68f0b94acc794d9c87e05d354a0629381c8d941c658a7811a97cf442466f3d762376d284e858f650db0bcf266bad573ab977cbd96ac53ea7abeca0b386c686bfe2ba9ad450a0dcfec8f066326440460031bef753fc74a5ca80cb129fef1bf45577f8f7c980c64d1a1de6b62fbd4082160301014b0c00014703001741041893e7c1cc2225d1c692c12aef19fcda3f74f8f036d1ac2f296f57207fe3ec9e475346349d51a370389cbc3c16c4af15fc6b7e1bdef4bebab9cfa3b274f2d5c6010094f601e9535dc9477a67a4beb935ceaff89f7caf521ff7a19172065983fc0e3cc7621c2a301c28c140f191ba23
(4) 	Message-Authenticator = 0x00000000000000000000000000000000
(4) 	State = 0x656581ee61609867e87ef2002c1975c5
Sending Access-Challenge Id 4 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x010502d31900696361746520417574686f72697479820900fa7f9d18e5180a3a300c0603551d13040530030101ff30360603551d1f042f302d302ba029a0278625687474703a2f2f7777772e6578616d706c652e636f6d2f6578616d706c655f63612e63726c300d06092a864886f70d01010505000382010100248718c6bfe7de889d8256e62f16c7e8b0f694e686775c3330fc20b1f3a22e9e4a04f7085f5947cd8a4874641071f24c8f3b34092e4c8702102a9f071330d8e07d2d401404205a187cf283af2eae8db0ffb98868da6397d291e4b292090dffded974daf2a08e74dd8fc18acc919dbd2e9e752e2ec23f625e485f456396ba36eb90cd8a1da9e95233738ea64992a791302c68f0b94acc794d9c87e05d354a0629381c8d941c658a7811a97cf442466f3d762376d284e858f650db0bcf266bad573ab977cbd96ac53ea7abeca0b386c686bfe2ba9ad450a0dcfec8f066326440460031bef753fc74a5ca80cb129fef1bf45577f8f7c980c64d1a1de6b62fbd4082160301014b0c00014703001741041893e7c1cc2225d1c692c12aef19fcda3f74f8f036d1ac2f296f57207fe3ec9e475346349d51a370389cbc3c16c4af15fc6b7e1bdef4bebab9cfa3b274f2d5c6010094f601e9535dc9477a67a4beb935ceaff89f7caf521ff7a19172065983fc0e3cc7621c2a301c28c140f191ba2
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee61609867e87ef2002c1975c5
(4) Finished request
Waking up in 0.3 seconds.
Received Access-Request Id 5 from 127.0.0.1:59179 to 127.0.0.1:1812 length 312
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x0205009019800000008616030100461000004241040d50227d12f3b9de9feb68a5b68c9e24ab98a11e8b8ab85a9eaf626b55357408c29996f3997b4a4a643e8a516b53f72d5c674d527f462d88902b86e83f10fdc41403010001011603010030195fa6cee0c6c1d60a3822dab0d0c173887b661dcd32b717221fa4dd0231174affe1232c0facec080e26aad1ffd6e9fe
	State = 0x656581ee61609867e87ef2002c1975c5
	Message-Authenticator = 0x1e0935d448cd5272e84018f023ee38c4
(5) Received Access-Request packet from host 127.0.0.1 port 59179, id=5, length=312
(5) 	User-Name = 'anonymous at example.org'
(5) 	NAS-IP-Address = 127.0.0.1
(5) 	Calling-Station-Id = '02-00-00-00-00-01'
(5) 	Framed-MTU = 1400
(5) 	NAS-Port-Type = Wireless-802.11
(5) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(5) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(5) 	EAP-Message = 0x0205009019800000008616030100461000004241040d50227d12f3b9de9feb68a5b68c9e24ab98a11e8b8ab85a9eaf626b55357408c29996f3997b4a4a643e8a516b53f72d5c674d527f462d88902b86e83f10fdc41403010001011603010030195fa6cee0c6c1d60a3822dab0d0c173887b661dcd32b717221fa4dd0231174affe1232c0facec080e26aad1ffd6e9fe
(5) 	State = 0x656581ee61609867e87ef2002c1975c5
(5) 	Message-Authenticator = 0x1e0935d448cd5272e84018f023ee38c4
(5) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(5)   authorize {
(5)   filter_username filter_username {
(5)     if (!&User-Name) 
(5)     if (!&User-Name)  -> FALSE
(5)     if (&User-Name =~ / /) 
(5)     if (&User-Name =~ / /)  -> FALSE
(5)     if (&User-Name =~ /@.*@/ ) 
(5)     if (&User-Name =~ /@.*@/ )  -> FALSE
(5)     if (&User-Name =~ /\\.\\./ ) 
(5)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(5)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(5)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(5)     if (&User-Name =~ /\\.$/)  
(5)     if (&User-Name =~ /\\.$/)   -> FALSE
(5)     if (&User-Name =~ /@\\./)  
(5)     if (&User-Name =~ /@\\./)   -> FALSE
(5)   } # filter_username filter_username = notfound
(5)   [preprocess] = ok
(5)   [chap] = noop
(5)   [mschap] = noop
(5)   [digest] = noop
(5)  suffix : Checking for suffix after "@"
(5)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(5)  suffix : No such realm "example.org"
(5)   [suffix] = noop
(5)   rewrite_called_station_id rewrite_called_station_id {
(5)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(5)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(5)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(5)     update request {
(5) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(5)    --> 11-22-33-44-55-66
(5) 	Called-Station-Id := "11-22-33-44-55-66"
(5)     } # update request = noop
(5)      if ("%{8}") 
(5) EXPAND %{8}
(5)    --> MYSSID
(5)      if ("%{8}")  -> TRUE
(5)     if ("%{8}")  {
(5)      update request {
(5) EXPAND %{8}
(5)    --> MYSSID
(5) 	Called-Station-SSID := "MYSSID"
(5)      } # update request = noop
(5)     } # if ("%{8}")  = noop
(5)     [updated] = updated
(5)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(5)     ... skipping else for request 5: Preceding "if" was taken
(5)   } # rewrite_called_station_id rewrite_called_station_id = updated
(5)  eap : Peer sent code Response (2) ID 5 length 144
(5)  eap : Continuing tunnel setup
(5)   [eap] = ok
(5)  } #  authorize = ok
(5) Found Auth-Type = EAP
(5) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(5)   authenticate {
(5)  eap : Expiring EAP session with state 0x656581ee61609867
(5)  eap : Finished EAP session with state 0x656581ee61609867
(5)  eap : Previous EAP request found for state 0x656581ee61609867, released from the list
(5)  eap : Peer sent method PEAP (25)
(5)  eap : EAP PEAP (25)
(5)  eap : Calling eap_peap to process EAP data
(5)  eap_peap : processing EAP-TLS
  TLS Length 134
(5)  eap_peap : Length Included
(5)  eap_peap : eaptls_verify returned 11 
(5)  eap_peap : <<< TLS 1.0 Handshake [length 0046], ClientKeyExchange 
(5)  eap_peap : TLS_accept: SSLv3 read client key exchange A
(5)  eap_peap : <<< TLS 1.0 ChangeCipherSpec [length 0001] 
(5)  eap_peap : <<< TLS 1.0 Handshake [length 0010], Finished 
(5)  eap_peap : TLS_accept: SSLv3 read finished A
(5)  eap_peap : >>> TLS 1.0 ChangeCipherSpec [length 0001] 
(5)  eap_peap : TLS_accept: SSLv3 write change cipher spec A
(5)  eap_peap : >>> TLS 1.0 Handshake [length 0010], Finished 
(5)  eap_peap : TLS_accept: SSLv3 write finished A
(5)  eap_peap : TLS_accept: SSLv3 flush data
  SSL: adding session a172ef0eafa01e8f00b338d881fdb06205f97d4d2d0ad3a25fcd45df86b6c1aa to cache
(5)  eap_peap : (other): SSL negotiation finished successfully
SSL Connection Established 
(5)  eap_peap : eaptls_process returned 13 
(5)  eap_peap : FR_TLS_HANDLED
(5)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee60639867
(5)   [eap] = handled
(5)  } #  authenticate = handled
(5) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=5, length=0
(5) 	EAP-Message = 0x010600411900140301000101160301003050910affaad75c0a20c3ff67553d4a92aec2baf97e0f1fc506a5f1e60d9c32ec656ae196db432d8946d5494ebfe739b1
(5) 	Message-Authenticator = 0x00000000000000000000000000000000
(5) 	State = 0x656581ee60639867e87ef2002c1975c5
Sending Access-Challenge Id 5 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x010600411900140301000101160301003050910affaad75c0a20c3ff67553d4a92aec2baf97e0f1fc506a5f1e60d9c32ec656ae196db432d8946d5494ebfe739b1
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee60639867e87ef2002c1975c5
(5) Finished request
Waking up in 0.3 seconds.
Received Access-Request Id 6 from 127.0.0.1:59179 to 127.0.0.1:1812 length 174
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x020600061900
	State = 0x656581ee60639867e87ef2002c1975c5
	Message-Authenticator = 0x10b07df8012d13f54e400fe66ca57b07
(6) Received Access-Request packet from host 127.0.0.1 port 59179, id=6, length=174
(6) 	User-Name = 'anonymous at example.org'
(6) 	NAS-IP-Address = 127.0.0.1
(6) 	Calling-Station-Id = '02-00-00-00-00-01'
(6) 	Framed-MTU = 1400
(6) 	NAS-Port-Type = Wireless-802.11
(6) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(6) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(6) 	EAP-Message = 0x020600061900
(6) 	State = 0x656581ee60639867e87ef2002c1975c5
(6) 	Message-Authenticator = 0x10b07df8012d13f54e400fe66ca57b07
(6) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(6)   authorize {
(6)   filter_username filter_username {
(6)     if (!&User-Name) 
(6)     if (!&User-Name)  -> FALSE
(6)     if (&User-Name =~ / /) 
(6)     if (&User-Name =~ / /)  -> FALSE
(6)     if (&User-Name =~ /@.*@/ ) 
(6)     if (&User-Name =~ /@.*@/ )  -> FALSE
(6)     if (&User-Name =~ /\\.\\./ ) 
(6)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(6)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(6)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(6)     if (&User-Name =~ /\\.$/)  
(6)     if (&User-Name =~ /\\.$/)   -> FALSE
(6)     if (&User-Name =~ /@\\./)  
(6)     if (&User-Name =~ /@\\./)   -> FALSE
(6)   } # filter_username filter_username = notfound
(6)   [preprocess] = ok
(6)   [chap] = noop
(6)   [mschap] = noop
(6)   [digest] = noop
(6)  suffix : Checking for suffix after "@"
(6)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(6)  suffix : No such realm "example.org"
(6)   [suffix] = noop
(6)   rewrite_called_station_id rewrite_called_station_id {
(6)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(6)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(6)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(6)     update request {
(6) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(6)    --> 11-22-33-44-55-66
(6) 	Called-Station-Id := "11-22-33-44-55-66"
(6)     } # update request = noop
(6)      if ("%{8}") 
(6) EXPAND %{8}
(6)    --> MYSSID
(6)      if ("%{8}")  -> TRUE
(6)     if ("%{8}")  {
(6)      update request {
(6) EXPAND %{8}
(6)    --> MYSSID
(6) 	Called-Station-SSID := "MYSSID"
(6)      } # update request = noop
(6)     } # if ("%{8}")  = noop
(6)     [updated] = updated
(6)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(6)     ... skipping else for request 6: Preceding "if" was taken
(6)   } # rewrite_called_station_id rewrite_called_station_id = updated
(6)  eap : Peer sent code Response (2) ID 6 length 6
(6)  eap : Continuing tunnel setup
(6)   [eap] = ok
(6)  } #  authorize = ok
(6) Found Auth-Type = EAP
(6) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(6)   authenticate {
(6)  eap : Expiring EAP session with state 0x656581ee60639867
(6)  eap : Finished EAP session with state 0x656581ee60639867
(6)  eap : Previous EAP request found for state 0x656581ee60639867, released from the list
(6)  eap : Peer sent method PEAP (25)
(6)  eap : EAP PEAP (25)
(6)  eap : Calling eap_peap to process EAP data
(6)  eap_peap : processing EAP-TLS
(6)  eap_peap : Received TLS ACK
(6)  eap_peap : Received TLS ACK
(6)  eap_peap : ACK handshake is finished
(6)  eap_peap : eaptls_verify returned 3 
(6)  eap_peap : eaptls_process returned 3 
(6)  eap_peap : FR_TLS_SUCCESS
(6)  eap_peap : Session established.  Decoding tunneled attributes
(6)  eap_peap : Peap state TUNNEL ESTABLISHED
(6)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee63629867
(6)   [eap] = handled
(6)  } #  authenticate = handled
(6) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=6, length=0
(6) 	EAP-Message = 0x0107002b190017030100208c73518a33d9afc1e7fd77993863d115b1570379fe020fa3d3d6b28a4807950a
(6) 	Message-Authenticator = 0x00000000000000000000000000000000
(6) 	State = 0x656581ee63629867e87ef2002c1975c5
Sending Access-Challenge Id 6 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x0107002b190017030100208c73518a33d9afc1e7fd77993863d115b1570379fe020fa3d3d6b28a4807950a
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee63629867e87ef2002c1975c5
(6) Finished request
Waking up in 0.3 seconds.
Received Access-Request Id 7 from 127.0.0.1:59179 to 127.0.0.1:1812 length 248
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x02070050190017030100201a3a95423ce9a150427b19b626c7de03f52447df1eef06c7e6d6233d77f10b0a1703010020d6dce18fb1c696ffcdf708b7240a4cc43f9f4d4f3acdf4d82802fc2daa0e65fc
	State = 0x656581ee63629867e87ef2002c1975c5
	Message-Authenticator = 0xfe8a32892546663ba92e5dd26a76443a
(7) Received Access-Request packet from host 127.0.0.1 port 59179, id=7, length=248
(7) 	User-Name = 'anonymous at example.org'
(7) 	NAS-IP-Address = 127.0.0.1
(7) 	Calling-Station-Id = '02-00-00-00-00-01'
(7) 	Framed-MTU = 1400
(7) 	NAS-Port-Type = Wireless-802.11
(7) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(7) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(7) 	EAP-Message = 0x02070050190017030100201a3a95423ce9a150427b19b626c7de03f52447df1eef06c7e6d6233d77f10b0a1703010020d6dce18fb1c696ffcdf708b7240a4cc43f9f4d4f3acdf4d82802fc2daa0e65fc
(7) 	State = 0x656581ee63629867e87ef2002c1975c5
(7) 	Message-Authenticator = 0xfe8a32892546663ba92e5dd26a76443a
(7) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(7)   authorize {
(7)   filter_username filter_username {
(7)     if (!&User-Name) 
(7)     if (!&User-Name)  -> FALSE
(7)     if (&User-Name =~ / /) 
(7)     if (&User-Name =~ / /)  -> FALSE
(7)     if (&User-Name =~ /@.*@/ ) 
(7)     if (&User-Name =~ /@.*@/ )  -> FALSE
(7)     if (&User-Name =~ /\\.\\./ ) 
(7)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(7)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(7)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(7)     if (&User-Name =~ /\\.$/)  
(7)     if (&User-Name =~ /\\.$/)   -> FALSE
(7)     if (&User-Name =~ /@\\./)  
(7)     if (&User-Name =~ /@\\./)   -> FALSE
(7)   } # filter_username filter_username = notfound
(7)   [preprocess] = ok
(7)   [chap] = noop
(7)   [mschap] = noop
(7)   [digest] = noop
(7)  suffix : Checking for suffix after "@"
(7)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(7)  suffix : No such realm "example.org"
(7)   [suffix] = noop
(7)   rewrite_called_station_id rewrite_called_station_id {
(7)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(7)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(7)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(7)     update request {
(7) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(7)    --> 11-22-33-44-55-66
(7) 	Called-Station-Id := "11-22-33-44-55-66"
(7)     } # update request = noop
(7)      if ("%{8}") 
(7) EXPAND %{8}
(7)    --> MYSSID
(7)      if ("%{8}")  -> TRUE
(7)     if ("%{8}")  {
(7)      update request {
(7) EXPAND %{8}
(7)    --> MYSSID
(7) 	Called-Station-SSID := "MYSSID"
(7)      } # update request = noop
(7)     } # if ("%{8}")  = noop
(7)     [updated] = updated
(7)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(7)     ... skipping else for request 7: Preceding "if" was taken
(7)   } # rewrite_called_station_id rewrite_called_station_id = updated
(7)  eap : Peer sent code Response (2) ID 7 length 80
(7)  eap : Continuing tunnel setup
(7)   [eap] = ok
(7)  } #  authorize = ok
(7) Found Auth-Type = EAP
(7) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(7)   authenticate {
(7)  eap : Expiring EAP session with state 0x656581ee63629867
(7)  eap : Finished EAP session with state 0x656581ee63629867
(7)  eap : Previous EAP request found for state 0x656581ee63629867, released from the list
(7)  eap : Peer sent method PEAP (25)
(7)  eap : EAP PEAP (25)
(7)  eap : Calling eap_peap to process EAP data
(7)  eap_peap : processing EAP-TLS
(7)  eap_peap : eaptls_verify returned 7 
(7)  eap_peap : Done initial handshake
(7)  eap_peap : eaptls_process returned 7 
(7)  eap_peap : FR_TLS_OK
(7)  eap_peap : Session established.  Decoding tunneled attributes
(7)  eap_peap : Peap state WAITING FOR INNER IDENTITY
(7)  eap_peap : Identity - bob
(7)  eap_peap : Got inner identity 'bob'
(7)  eap_peap : Setting default EAP type for tunneled EAP session
(7)  eap_peap : Got tunneled request
	EAP-Message = 0x0207000801626f62
server default {
(7)  eap_peap : Setting User-Name to bob
Sending tunneled request
	EAP-Message = 0x0207000801626f62
	FreeRADIUS-Proxied-To = 127.0.0.1
	User-Name = 'bob'
server inner-tunnel {
(7)  server inner-tunnel {
(7)    Request:
	EAP-Message = 0x0207000801626f62
	FreeRADIUS-Proxied-To = 127.0.0.1
	User-Name = 'bob'
(7)  # Executing section authorize from file /etc/raddb.TEST//sites-enabled/inner-tunnel
(7)    authorize {
(7)    update request {
(7)  	Called-Station-SSID !* ANY
(7)    } # update request = noop
(7)     if ( Called-Station-SSID ) 
(7)     if ( Called-Station-SSID )  -> FALSE
(7)    update request {
(7)  	Called-Station-SSID !* ANY
(7)  	Called-Station-SSID := 'outer.request:Called-Station-SSID'
(7)    } # update request = noop
(7)     if ( Called-Station-SSID ) 
(7)     if ( Called-Station-SSID )  -> TRUE
(7)    if ( Called-Station-SSID )  {
(7)     update reply {
(7)  EXPAND 1a: Called-Station-SSID = %{Called-Station-SSID}
(7)     --> 1a: Called-Station-SSID = outer.request:Called-Station-SSID
(7)  	Reply-Message += "1a: Called-Station-SSID = outer.request:Called-Station-SSID"
(7)     } # update reply = noop
(7)    } # if ( Called-Station-SSID )  = noop
(7)    update request {
(7)  	Called-Station-SSID !* ANY
(7)    } # update request = noop
(7)     if ( Called-Station-SSID ) 
(7)     if ( Called-Station-SSID )  -> FALSE
(7)    update request {
(7)  	Called-Station-SSID !* ANY
(7)    } # update request = noop
(7)     if ( Called-Station-SSID ) 
(7)     if ( Called-Station-SSID )  -> FALSE
(7)    update request {
(7)  	Called-Station-SSID !* ANY
(7)  	Called-Station-SSID := 'outer.Called-Station-SSID'
(7)    } # update request = noop
(7)     if ( Called-Station-SSID ) 
(7)     if ( Called-Station-SSID )  -> TRUE
(7)    if ( Called-Station-SSID )  {
(7)     update reply {
(7)  EXPAND 2a: Called-Station-SSID = %{Called-Station-SSID}
(7)     --> 2a: Called-Station-SSID = outer.Called-Station-SSID
(7)  	Reply-Message += "2a: Called-Station-SSID = outer.Called-Station-SSID"
(7)     } # update reply = noop
(7)    } # if ( Called-Station-SSID )  = noop
(7)    update request {
(7)  	Called-Station-SSID !* ANY
(7)    } # update request = noop
(7)     if ( Called-Station-SSID ) 
(7)     if ( Called-Station-SSID )  -> FALSE
(7)    update request {
(7)  	Called-Station-SSID !* ANY
(7)  EXPAND %{outer.request:Called-Station-SSID}
(7)     --> MYSSID
(7)  	Called-Station-SSID := "MYSSID"
(7)    } # update request = noop
(7)     if ( Called-Station-SSID ) 
(7)     if ( Called-Station-SSID )  -> TRUE
(7)    if ( Called-Station-SSID )  {
(7)     update reply {
(7)  EXPAND 3: Called-Station-SSID = %{Called-Station-SSID}
(7)     --> 3: Called-Station-SSID = MYSSID
(7)  	Reply-Message += "3: Called-Station-SSID = MYSSID"
(7)     } # update reply = noop
(7)    } # if ( Called-Station-SSID )  = noop
(7)    [chap] = noop
(7)    [mschap] = noop
(7)   suffix : Checking for suffix after "@"
(7)   suffix : No '@' in User-Name = "bob", looking up realm NULL
(7)   suffix : No such realm "NULL"
(7)    [suffix] = noop
(7)    update control {
(7)  	Proxy-To-Realm := 'LOCAL'
(7)    } # update control = noop
(7)   eap : Peer sent code Response (2) ID 7 length 8
(7)   eap : EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
(7)    [eap] = ok
(7)   } #  authorize = ok
(7)  Found Auth-Type = EAP
(7)  # Executing group from file /etc/raddb.TEST//sites-enabled/inner-tunnel
(7)    authenticate {
(7)   eap : Peer sent method Identity (1)
(7)   eap : Calling eap_mschapv2 to process EAP data
(7)   eap_mschapv2 : Issuing Challenge
(7)   eap : New EAP session, adding 'State' attribute to reply 0x3f7d7ea33f7564e3
(7)    [eap] = handled
(7)   } #  authenticate = handled
(7)    Reply:
	Reply-Message += '1a: Called-Station-SSID = outer.request:Called-Station-SSID'
	Reply-Message += '2a: Called-Station-SSID = outer.Called-Station-SSID'
	Reply-Message += '3: Called-Station-SSID = MYSSID'
	EAP-Message = 0x0108001d1a0108001810678d36cfba51b286db09ed9bfa6fdbbd626f62
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x3f7d7ea33f7564e3d6914f5e0b4c0c90
(7)  } # server inner-tunnel
} # server inner-tunnel
(7)  eap_peap : Got tunneled reply code 11
	Reply-Message += '1a: Called-Station-SSID = outer.request:Called-Station-SSID'
	Reply-Message += '2a: Called-Station-SSID = outer.Called-Station-SSID'
	Reply-Message += '3: Called-Station-SSID = MYSSID'
	EAP-Message = 0x0108001d1a0108001810678d36cfba51b286db09ed9bfa6fdbbd626f62
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x3f7d7ea33f7564e3d6914f5e0b4c0c90
(7)  eap_peap : Got tunneled reply RADIUS code 11
	Reply-Message += '1a: Called-Station-SSID = outer.request:Called-Station-SSID'
	Reply-Message += '2a: Called-Station-SSID = outer.Called-Station-SSID'
	Reply-Message += '3: Called-Station-SSID = MYSSID'
	EAP-Message = 0x0108001d1a0108001810678d36cfba51b286db09ed9bfa6fdbbd626f62
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x3f7d7ea33f7564e3d6914f5e0b4c0c90
(7)  eap_peap : Got tunneled Access-Challenge
(7)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee626d9867
(7)   [eap] = handled
(7)  } #  authenticate = handled
(7) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=7, length=0
(7) 	EAP-Message = 0x0108003b19001703010030b86c71070a9ac5f340a10ea00b12df4f86a1cab9067955b2878e9e70a9cf4839fce370619cf386f1257f2c524c3eaee0
(7) 	Message-Authenticator = 0x00000000000000000000000000000000
(7) 	State = 0x656581ee626d9867e87ef2002c1975c5
Sending Access-Challenge Id 7 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x0108003b19001703010030b86c71070a9ac5f340a10ea00b12df4f86a1cab9067955b2878e9e70a9cf4839fce370619cf386f1257f2c524c3eaee0
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee626d9867e87ef2002c1975c5
(7) Finished request
Waking up in 0.3 seconds.
Received Access-Request Id 8 from 127.0.0.1:59179 to 127.0.0.1:1812 length 296
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x020800801900170301002042927690c8e0cd5d18df48fbade634c1e5010384a9d947a508144ba50210c946170301005024bec07a5efd9937904a4341e06fd536884eda41953e98c3ccd37451f774f44ad70a343ecb5e6e57b8507acbbe8c679db5f5e302267169226389a9f20c8bc60be342785d67302571eb196dd2f68381d1
	State = 0x656581ee626d9867e87ef2002c1975c5
	Message-Authenticator = 0x3eba3906b65a90f19e40067af2f01c5b
(8) Received Access-Request packet from host 127.0.0.1 port 59179, id=8, length=296
(8) 	User-Name = 'anonymous at example.org'
(8) 	NAS-IP-Address = 127.0.0.1
(8) 	Calling-Station-Id = '02-00-00-00-00-01'
(8) 	Framed-MTU = 1400
(8) 	NAS-Port-Type = Wireless-802.11
(8) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(8) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(8) 	EAP-Message = 0x020800801900170301002042927690c8e0cd5d18df48fbade634c1e5010384a9d947a508144ba50210c946170301005024bec07a5efd9937904a4341e06fd536884eda41953e98c3ccd37451f774f44ad70a343ecb5e6e57b8507acbbe8c679db5f5e302267169226389a9f20c8bc60be342785d67302571eb196dd2f68381d1
(8) 	State = 0x656581ee626d9867e87ef2002c1975c5
(8) 	Message-Authenticator = 0x3eba3906b65a90f19e40067af2f01c5b
(8) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(8)   authorize {
(8)   filter_username filter_username {
(8)     if (!&User-Name) 
(8)     if (!&User-Name)  -> FALSE
(8)     if (&User-Name =~ / /) 
(8)     if (&User-Name =~ / /)  -> FALSE
(8)     if (&User-Name =~ /@.*@/ ) 
(8)     if (&User-Name =~ /@.*@/ )  -> FALSE
(8)     if (&User-Name =~ /\\.\\./ ) 
(8)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(8)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(8)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(8)     if (&User-Name =~ /\\.$/)  
(8)     if (&User-Name =~ /\\.$/)   -> FALSE
(8)     if (&User-Name =~ /@\\./)  
(8)     if (&User-Name =~ /@\\./)   -> FALSE
(8)   } # filter_username filter_username = notfound
(8)   [preprocess] = ok
(8)   [chap] = noop
(8)   [mschap] = noop
(8)   [digest] = noop
(8)  suffix : Checking for suffix after "@"
(8)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(8)  suffix : No such realm "example.org"
(8)   [suffix] = noop
(8)   rewrite_called_station_id rewrite_called_station_id {
(8)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(8)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(8)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(8)     update request {
(8) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(8)    --> 11-22-33-44-55-66
(8) 	Called-Station-Id := "11-22-33-44-55-66"
(8)     } # update request = noop
(8)      if ("%{8}") 
(8) EXPAND %{8}
(8)    --> MYSSID
(8)      if ("%{8}")  -> TRUE
(8)     if ("%{8}")  {
(8)      update request {
(8) EXPAND %{8}
(8)    --> MYSSID
(8) 	Called-Station-SSID := "MYSSID"
(8)      } # update request = noop
(8)     } # if ("%{8}")  = noop
(8)     [updated] = updated
(8)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(8)     ... skipping else for request 8: Preceding "if" was taken
(8)   } # rewrite_called_station_id rewrite_called_station_id = updated
(8)  eap : Peer sent code Response (2) ID 8 length 128
(8)  eap : Continuing tunnel setup
(8)   [eap] = ok
(8)  } #  authorize = ok
(8) Found Auth-Type = EAP
(8) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(8)   authenticate {
(8)  eap : Expiring EAP session with state 0x3f7d7ea33f7564e3
(8)  eap : Finished EAP session with state 0x656581ee626d9867
(8)  eap : Previous EAP request found for state 0x656581ee626d9867, released from the list
(8)  eap : Peer sent method PEAP (25)
(8)  eap : EAP PEAP (25)
(8)  eap : Calling eap_peap to process EAP data
(8)  eap_peap : processing EAP-TLS
(8)  eap_peap : eaptls_verify returned 7 
(8)  eap_peap : Done initial handshake
(8)  eap_peap : eaptls_process returned 7 
(8)  eap_peap : FR_TLS_OK
(8)  eap_peap : Session established.  Decoding tunneled attributes
(8)  eap_peap : Peap state phase2
(8)  eap_peap : EAP type MSCHAPv2 (26)
(8)  eap_peap : Got tunneled request
	EAP-Message = 0x0208003e1a02080039315e4564d5c12b17fce3301b4cb48056ac0000000000000000d3ad528950ea1060b103ae29176a644c30de41dc08de6c7d00626f62
server default {
(8)  eap_peap : Setting User-Name to bob
Sending tunneled request
	EAP-Message = 0x0208003e1a02080039315e4564d5c12b17fce3301b4cb48056ac0000000000000000d3ad528950ea1060b103ae29176a644c30de41dc08de6c7d00626f62
	FreeRADIUS-Proxied-To = 127.0.0.1
	User-Name = 'bob'
	State = 0x3f7d7ea33f7564e3d6914f5e0b4c0c90
server inner-tunnel {
(8)  server inner-tunnel {
(8)    Request:
	EAP-Message = 0x0208003e1a02080039315e4564d5c12b17fce3301b4cb48056ac0000000000000000d3ad528950ea1060b103ae29176a644c30de41dc08de6c7d00626f62
	FreeRADIUS-Proxied-To = 127.0.0.1
	User-Name = 'bob'
	State = 0x3f7d7ea33f7564e3d6914f5e0b4c0c90
(8)  # Executing section authorize from file /etc/raddb.TEST//sites-enabled/inner-tunnel
(8)    authorize {
(8)    update request {
(8)  	Called-Station-SSID !* ANY
(8)    } # update request = noop
(8)     if ( Called-Station-SSID ) 
(8)     if ( Called-Station-SSID )  -> FALSE
(8)    update request {
(8)  	Called-Station-SSID !* ANY
(8)  	Called-Station-SSID := 'outer.request:Called-Station-SSID'
(8)    } # update request = noop
(8)     if ( Called-Station-SSID ) 
(8)     if ( Called-Station-SSID )  -> TRUE
(8)    if ( Called-Station-SSID )  {
(8)     update reply {
(8)  EXPAND 1a: Called-Station-SSID = %{Called-Station-SSID}
(8)     --> 1a: Called-Station-SSID = outer.request:Called-Station-SSID
(8)  	Reply-Message += "1a: Called-Station-SSID = outer.request:Called-Station-SSID"
(8)     } # update reply = noop
(8)    } # if ( Called-Station-SSID )  = noop
(8)    update request {
(8)  	Called-Station-SSID !* ANY
(8)    } # update request = noop
(8)     if ( Called-Station-SSID ) 
(8)     if ( Called-Station-SSID )  -> FALSE
(8)    update request {
(8)  	Called-Station-SSID !* ANY
(8)    } # update request = noop
(8)     if ( Called-Station-SSID ) 
(8)     if ( Called-Station-SSID )  -> FALSE
(8)    update request {
(8)  	Called-Station-SSID !* ANY
(8)  	Called-Station-SSID := 'outer.Called-Station-SSID'
(8)    } # update request = noop
(8)     if ( Called-Station-SSID ) 
(8)     if ( Called-Station-SSID )  -> TRUE
(8)    if ( Called-Station-SSID )  {
(8)     update reply {
(8)  EXPAND 2a: Called-Station-SSID = %{Called-Station-SSID}
(8)     --> 2a: Called-Station-SSID = outer.Called-Station-SSID
(8)  	Reply-Message += "2a: Called-Station-SSID = outer.Called-Station-SSID"
(8)     } # update reply = noop
(8)    } # if ( Called-Station-SSID )  = noop
(8)    update request {
(8)  	Called-Station-SSID !* ANY
(8)    } # update request = noop
(8)     if ( Called-Station-SSID ) 
(8)     if ( Called-Station-SSID )  -> FALSE
(8)    update request {
(8)  	Called-Station-SSID !* ANY
(8)  EXPAND %{outer.request:Called-Station-SSID}
(8)     --> MYSSID
(8)  	Called-Station-SSID := "MYSSID"
(8)    } # update request = noop
(8)     if ( Called-Station-SSID ) 
(8)     if ( Called-Station-SSID )  -> TRUE
(8)    if ( Called-Station-SSID )  {
(8)     update reply {
(8)  EXPAND 3: Called-Station-SSID = %{Called-Station-SSID}
(8)     --> 3: Called-Station-SSID = MYSSID
(8)  	Reply-Message += "3: Called-Station-SSID = MYSSID"
(8)     } # update reply = noop
(8)    } # if ( Called-Station-SSID )  = noop
(8)    [chap] = noop
(8)    [mschap] = noop
(8)   suffix : Checking for suffix after "@"
(8)   suffix : No '@' in User-Name = "bob", looking up realm NULL
(8)   suffix : No such realm "NULL"
(8)    [suffix] = noop
(8)    update control {
(8)  	Proxy-To-Realm := 'LOCAL'
(8)    } # update control = noop
(8)   eap : Peer sent code Response (2) ID 8 length 62
(8)   eap : No EAP Start, assuming it's an on-going EAP conversation
(8)    [eap] = updated
(8)   files : users: Matched entry bob at line 224
(8)   files : EXPAND Hello, %{User-Name}
(8)   files :    --> Hello, bob
(8)    [files] = ok
(8)    [expiration] = noop
(8)    [logintime] = noop
(8)   WARNING: pap : Auth-Type already set.  Not setting to PAP
(8)    [pap] = noop
(8)   } #  authorize = updated
(8)  Found Auth-Type = EAP
(8)  # Executing group from file /etc/raddb.TEST//sites-enabled/inner-tunnel
(8)    authenticate {
(8)   eap : Expiring EAP session with state 0x3f7d7ea33f7564e3
(8)   eap : Finished EAP session with state 0x3f7d7ea33f7564e3
(8)   eap : Previous EAP request found for state 0x3f7d7ea33f7564e3, released from the list
(8)   eap : Peer sent method MSCHAPv2 (26)
(8)   eap : EAP MSCHAPv2 (26)
(8)   eap : Calling eap_mschapv2 to process EAP data
(8)   eap_mschapv2 : # Executing group from file /etc/raddb.TEST//sites-enabled/inner-tunnel
(8)   eap_mschapv2 :  Auth-Type MS-CHAP {
(8)    mschap : Found Cleartext-Password, hashing to create LM-Password
(8)    mschap : Found Cleartext-Password, hashing to create NT-Password
(8)    mschap : Creating challenge hash with username: bob
(8)    mschap : Client is using MS-CHAPv2
(8)    mschap : Adding MS-CHAPv2 MPPE keys
(8)     [mschap] = ok
(8)    } # Auth-Type MS-CHAP = ok
MSCHAP Success 
(8)   eap : New EAP session, adding 'State' attribute to reply 0x3f7d7ea33e7464e3
(8)    [eap] = handled
(8)   } #  authenticate = handled
(8)    Reply:
	Reply-Message = 'Hello, bob'
	Reply-Message = '2a: Called-Station-SSID = outer.Called-Station-SSID'
	Reply-Message = '3: Called-Station-SSID = MYSSID'
	EAP-Message = 0x010900331a0308002e533d36323539374332454642454143304342433134383345463935363133303834353633384441303238
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x3f7d7ea33e7464e3d6914f5e0b4c0c90
(8)  } # server inner-tunnel
} # server inner-tunnel
(8)  eap_peap : Got tunneled reply code 11
	Reply-Message = 'Hello, bob'
	Reply-Message = '2a: Called-Station-SSID = outer.Called-Station-SSID'
	Reply-Message = '3: Called-Station-SSID = MYSSID'
	EAP-Message = 0x010900331a0308002e533d36323539374332454642454143304342433134383345463935363133303834353633384441303238
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x3f7d7ea33e7464e3d6914f5e0b4c0c90
(8)  eap_peap : Got tunneled reply RADIUS code 11
	Reply-Message = 'Hello, bob'
	Reply-Message = '2a: Called-Station-SSID = outer.Called-Station-SSID'
	Reply-Message = '3: Called-Station-SSID = MYSSID'
	EAP-Message = 0x010900331a0308002e533d36323539374332454642454143304342433134383345463935363133303834353633384441303238
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x3f7d7ea33e7464e3d6914f5e0b4c0c90
(8)  eap_peap : Got tunneled Access-Challenge
(8)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee6d6c9867
(8)   [eap] = handled
(8)  } #  authenticate = handled
(8) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=8, length=0
(8) 	EAP-Message = 0x0109005b19001703010050aca0bf06435495e6876235a7a6c9e9bb9f8d290a0a5d38a218ad8a024038ceee9b452a892100a7a66f46d6aaa39089eb03eddb2d79dfd03f5c0aa2d24c04a44ef6db6195974ffcffc321ae985545dad4
(8) 	Message-Authenticator = 0x00000000000000000000000000000000
(8) 	State = 0x656581ee6d6c9867e87ef2002c1975c5
Sending Access-Challenge Id 8 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x0109005b19001703010050aca0bf06435495e6876235a7a6c9e9bb9f8d290a0a5d38a218ad8a024038ceee9b452a892100a7a66f46d6aaa39089eb03eddb2d79dfd03f5c0aa2d24c04a44ef6db6195974ffcffc321ae985545dad4
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee6d6c9867e87ef2002c1975c5
(8) Finished request
Waking up in 0.3 seconds.
Received Access-Request Id 9 from 127.0.0.1:59179 to 127.0.0.1:1812 length 248
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x0209005019001703010020eefd485884fa1784f487667ce59691269bd128ea2d3b309bfac1ce40308b0c5e17030100204ffd2b11f19af8e25a71e84a4ad6295c2c9e9dd712046346a85e5745c8d092e6
	State = 0x656581ee6d6c9867e87ef2002c1975c5
	Message-Authenticator = 0x5814316e956e0e3603c0968d90c5c667
(9) Received Access-Request packet from host 127.0.0.1 port 59179, id=9, length=248
(9) 	User-Name = 'anonymous at example.org'
(9) 	NAS-IP-Address = 127.0.0.1
(9) 	Calling-Station-Id = '02-00-00-00-00-01'
(9) 	Framed-MTU = 1400
(9) 	NAS-Port-Type = Wireless-802.11
(9) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(9) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(9) 	EAP-Message = 0x0209005019001703010020eefd485884fa1784f487667ce59691269bd128ea2d3b309bfac1ce40308b0c5e17030100204ffd2b11f19af8e25a71e84a4ad6295c2c9e9dd712046346a85e5745c8d092e6
(9) 	State = 0x656581ee6d6c9867e87ef2002c1975c5
(9) 	Message-Authenticator = 0x5814316e956e0e3603c0968d90c5c667
(9) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(9)   authorize {
(9)   filter_username filter_username {
(9)     if (!&User-Name) 
(9)     if (!&User-Name)  -> FALSE
(9)     if (&User-Name =~ / /) 
(9)     if (&User-Name =~ / /)  -> FALSE
(9)     if (&User-Name =~ /@.*@/ ) 
(9)     if (&User-Name =~ /@.*@/ )  -> FALSE
(9)     if (&User-Name =~ /\\.\\./ ) 
(9)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(9)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(9)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(9)     if (&User-Name =~ /\\.$/)  
(9)     if (&User-Name =~ /\\.$/)   -> FALSE
(9)     if (&User-Name =~ /@\\./)  
(9)     if (&User-Name =~ /@\\./)   -> FALSE
(9)   } # filter_username filter_username = notfound
(9)   [preprocess] = ok
(9)   [chap] = noop
(9)   [mschap] = noop
(9)   [digest] = noop
(9)  suffix : Checking for suffix after "@"
(9)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(9)  suffix : No such realm "example.org"
(9)   [suffix] = noop
(9)   rewrite_called_station_id rewrite_called_station_id {
(9)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(9)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(9)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(9)     update request {
(9) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(9)    --> 11-22-33-44-55-66
(9) 	Called-Station-Id := "11-22-33-44-55-66"
(9)     } # update request = noop
(9)      if ("%{8}") 
(9) EXPAND %{8}
(9)    --> MYSSID
(9)      if ("%{8}")  -> TRUE
(9)     if ("%{8}")  {
(9)      update request {
(9) EXPAND %{8}
(9)    --> MYSSID
(9) 	Called-Station-SSID := "MYSSID"
(9)      } # update request = noop
(9)     } # if ("%{8}")  = noop
(9)     [updated] = updated
(9)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(9)     ... skipping else for request 9: Preceding "if" was taken
(9)   } # rewrite_called_station_id rewrite_called_station_id = updated
(9)  eap : Peer sent code Response (2) ID 9 length 80
(9)  eap : Continuing tunnel setup
(9)   [eap] = ok
(9)  } #  authorize = ok
(9) Found Auth-Type = EAP
(9) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(9)   authenticate {
(9)  eap : Expiring EAP session with state 0x3f7d7ea33e7464e3
(9)  eap : Finished EAP session with state 0x656581ee6d6c9867
(9)  eap : Previous EAP request found for state 0x656581ee6d6c9867, released from the list
(9)  eap : Peer sent method PEAP (25)
(9)  eap : EAP PEAP (25)
(9)  eap : Calling eap_peap to process EAP data
(9)  eap_peap : processing EAP-TLS
(9)  eap_peap : eaptls_verify returned 7 
(9)  eap_peap : Done initial handshake
(9)  eap_peap : eaptls_process returned 7 
(9)  eap_peap : FR_TLS_OK
(9)  eap_peap : Session established.  Decoding tunneled attributes
(9)  eap_peap : Peap state phase2
(9)  eap_peap : EAP type MSCHAPv2 (26)
(9)  eap_peap : Got tunneled request
	EAP-Message = 0x020900061a03
server default {
(9)  eap_peap : Setting User-Name to bob
Sending tunneled request
	EAP-Message = 0x020900061a03
	FreeRADIUS-Proxied-To = 127.0.0.1
	User-Name = 'bob'
	State = 0x3f7d7ea33e7464e3d6914f5e0b4c0c90
server inner-tunnel {
(9)  server inner-tunnel {
(9)    Request:
	EAP-Message = 0x020900061a03
	FreeRADIUS-Proxied-To = 127.0.0.1
	User-Name = 'bob'
	State = 0x3f7d7ea33e7464e3d6914f5e0b4c0c90
(9)  # Executing section authorize from file /etc/raddb.TEST//sites-enabled/inner-tunnel
(9)    authorize {
(9)    update request {
(9)  	Called-Station-SSID !* ANY
(9)    } # update request = noop
(9)     if ( Called-Station-SSID ) 
(9)     if ( Called-Station-SSID )  -> FALSE
(9)    update request {
(9)  	Called-Station-SSID !* ANY
(9)  	Called-Station-SSID := 'outer.request:Called-Station-SSID'
(9)    } # update request = noop
(9)     if ( Called-Station-SSID ) 
(9)     if ( Called-Station-SSID )  -> TRUE
(9)    if ( Called-Station-SSID )  {
(9)     update reply {
(9)  EXPAND 1a: Called-Station-SSID = %{Called-Station-SSID}
(9)     --> 1a: Called-Station-SSID = outer.request:Called-Station-SSID
(9)  	Reply-Message += "1a: Called-Station-SSID = outer.request:Called-Station-SSID"
(9)     } # update reply = noop
(9)    } # if ( Called-Station-SSID )  = noop
(9)    update request {
(9)  	Called-Station-SSID !* ANY
(9)    } # update request = noop
(9)     if ( Called-Station-SSID ) 
(9)     if ( Called-Station-SSID )  -> FALSE
(9)    update request {
(9)  	Called-Station-SSID !* ANY
(9)    } # update request = noop
(9)     if ( Called-Station-SSID ) 
(9)     if ( Called-Station-SSID )  -> FALSE
(9)    update request {
(9)  	Called-Station-SSID !* ANY
(9)  	Called-Station-SSID := 'outer.Called-Station-SSID'
(9)    } # update request = noop
(9)     if ( Called-Station-SSID ) 
(9)     if ( Called-Station-SSID )  -> TRUE
(9)    if ( Called-Station-SSID )  {
(9)     update reply {
(9)  EXPAND 2a: Called-Station-SSID = %{Called-Station-SSID}
(9)     --> 2a: Called-Station-SSID = outer.Called-Station-SSID
(9)  	Reply-Message += "2a: Called-Station-SSID = outer.Called-Station-SSID"
(9)     } # update reply = noop
(9)    } # if ( Called-Station-SSID )  = noop
(9)    update request {
(9)  	Called-Station-SSID !* ANY
(9)    } # update request = noop
(9)     if ( Called-Station-SSID ) 
(9)     if ( Called-Station-SSID )  -> FALSE
(9)    update request {
(9)  	Called-Station-SSID !* ANY
(9)  EXPAND %{outer.request:Called-Station-SSID}
(9)     --> MYSSID
(9)  	Called-Station-SSID := "MYSSID"
(9)    } # update request = noop
(9)     if ( Called-Station-SSID ) 
(9)     if ( Called-Station-SSID )  -> TRUE
(9)    if ( Called-Station-SSID )  {
(9)     update reply {
(9)  EXPAND 3: Called-Station-SSID = %{Called-Station-SSID}
(9)     --> 3: Called-Station-SSID = MYSSID
(9)  	Reply-Message += "3: Called-Station-SSID = MYSSID"
(9)     } # update reply = noop
(9)    } # if ( Called-Station-SSID )  = noop
(9)    [chap] = noop
(9)    [mschap] = noop
(9)   suffix : Checking for suffix after "@"
(9)   suffix : No '@' in User-Name = "bob", looking up realm NULL
(9)   suffix : No such realm "NULL"
(9)    [suffix] = noop
(9)    update control {
(9)  	Proxy-To-Realm := 'LOCAL'
(9)    } # update control = noop
(9)   eap : Peer sent code Response (2) ID 9 length 6
(9)   eap : No EAP Start, assuming it's an on-going EAP conversation
(9)    [eap] = updated
(9)   files : users: Matched entry bob at line 224
(9)   files : EXPAND Hello, %{User-Name}
(9)   files :    --> Hello, bob
(9)    [files] = ok
(9)    [expiration] = noop
(9)    [logintime] = noop
(9)   WARNING: pap : Auth-Type already set.  Not setting to PAP
(9)    [pap] = noop
(9)   } #  authorize = updated
(9)  Found Auth-Type = EAP
(9)  # Executing group from file /etc/raddb.TEST//sites-enabled/inner-tunnel
(9)    authenticate {
(9)   eap : Expiring EAP session with state 0x3f7d7ea33e7464e3
(9)   eap : Finished EAP session with state 0x3f7d7ea33e7464e3
(9)   eap : Previous EAP request found for state 0x3f7d7ea33e7464e3, released from the list
(9)   eap : Peer sent method MSCHAPv2 (26)
(9)   eap : EAP MSCHAPv2 (26)
(9)   eap : Calling eap_mschapv2 to process EAP data
(9)   eap : Freeing handler
(9)    [eap] = ok
(9)   } #  authenticate = ok
(9)  # Executing section post-auth from file /etc/raddb.TEST//sites-enabled/inner-tunnel
(9)   post-auth { ... } # empty sub-section is ignored
(9)    Reply:
	Reply-Message = 'Hello, bob'
	Reply-Message = '2a: Called-Station-SSID = outer.Called-Station-SSID'
	Reply-Message = '3: Called-Station-SSID = MYSSID'
	MS-MPPE-Encryption-Policy = Encryption-Allowed
	MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
	MS-MPPE-Send-Key = 0x075bef776850244698b0acb4bb92091d
	MS-MPPE-Recv-Key = 0xdfc492fd35762981e58c8fb5c81b1906
	EAP-Message = 0x03090004
	Message-Authenticator = 0x00000000000000000000000000000000
	User-Name = 'bob'
(9)  } # server inner-tunnel
} # server inner-tunnel
(9)  eap_peap : Got tunneled reply code 2
	Reply-Message = 'Hello, bob'
	Reply-Message = '2a: Called-Station-SSID = outer.Called-Station-SSID'
	Reply-Message = '3: Called-Station-SSID = MYSSID'
	MS-MPPE-Encryption-Policy = Encryption-Allowed
	MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
	MS-MPPE-Send-Key = 0x075bef776850244698b0acb4bb92091d
	MS-MPPE-Recv-Key = 0xdfc492fd35762981e58c8fb5c81b1906
	EAP-Message = 0x03090004
	Message-Authenticator = 0x00000000000000000000000000000000
	User-Name = 'bob'
(9)  eap_peap : Got tunneled reply RADIUS code 2
	Reply-Message = 'Hello, bob'
	Reply-Message = '2a: Called-Station-SSID = outer.Called-Station-SSID'
	Reply-Message = '3: Called-Station-SSID = MYSSID'
	MS-MPPE-Encryption-Policy = Encryption-Allowed
	MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
	MS-MPPE-Send-Key = 0x075bef776850244698b0acb4bb92091d
	MS-MPPE-Recv-Key = 0xdfc492fd35762981e58c8fb5c81b1906
	EAP-Message = 0x03090004
	Message-Authenticator = 0x00000000000000000000000000000000
	User-Name = 'bob'
(9)  eap_peap : Tunneled authentication was successful
(9)  eap_peap : SUCCESS
(9)  eap : New EAP session, adding 'State' attribute to reply 0x656581ee6c6f9867
(9)   [eap] = handled
(9)  } #  authenticate = handled
(9) Sending Access-Challenge packet to host 127.0.0.1 port 59179, id=9, length=0
(9) 	EAP-Message = 0x010a002b19001703010020984a3499566c7deafdb47dba4b580066afc54de7218b452b9ca3ffe94d2cf5c8
(9) 	Message-Authenticator = 0x00000000000000000000000000000000
(9) 	State = 0x656581ee6c6f9867e87ef2002c1975c5
Sending Access-Challenge Id 9 from 127.0.0.1:1812 to 127.0.0.1:59179
	EAP-Message = 0x010a002b19001703010020984a3499566c7deafdb47dba4b580066afc54de7218b452b9ca3ffe94d2cf5c8
	Message-Authenticator = 0x00000000000000000000000000000000
	State = 0x656581ee6c6f9867e87ef2002c1975c5
(9) Finished request
Waking up in 0.2 seconds.
Received Access-Request Id 10 from 127.0.0.1:59179 to 127.0.0.1:1812 length 248
	User-Name = 'anonymous at example.org'
	NAS-IP-Address = 127.0.0.1
	Calling-Station-Id = '02-00-00-00-00-01'
	Framed-MTU = 1400
	NAS-Port-Type = Wireless-802.11
	Connect-Info = 'CONNECT 11Mbps 802.11b'
	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
	EAP-Message = 0x020a005019001703010020fc1548d66e6d053c8b810a3d4eba0565512751ab44ce08c93158cb78ee44445c1703010020f8935ca1b1d30e7f6bd09be36fbd278b8f8452d2d2257a16fde69c486481141c
	State = 0x656581ee6c6f9867e87ef2002c1975c5
	Message-Authenticator = 0x265c99758c8d5bdb0b8cce31152fb75c
(10) Received Access-Request packet from host 127.0.0.1 port 59179, id=10, length=248
(10) 	User-Name = 'anonymous at example.org'
(10) 	NAS-IP-Address = 127.0.0.1
(10) 	Calling-Station-Id = '02-00-00-00-00-01'
(10) 	Framed-MTU = 1400
(10) 	NAS-Port-Type = Wireless-802.11
(10) 	Connect-Info = 'CONNECT 11Mbps 802.11b'
(10) 	Called-Station-Id = '11-22-33-44-55-66:MYSSID'
(10) 	EAP-Message = 0x020a005019001703010020fc1548d66e6d053c8b810a3d4eba0565512751ab44ce08c93158cb78ee44445c1703010020f8935ca1b1d30e7f6bd09be36fbd278b8f8452d2d2257a16fde69c486481141c
(10) 	State = 0x656581ee6c6f9867e87ef2002c1975c5
(10) 	Message-Authenticator = 0x265c99758c8d5bdb0b8cce31152fb75c
(10) # Executing section authorize from file /etc/raddb.TEST//sites-enabled/default
(10)   authorize {
(10)   filter_username filter_username {
(10)     if (!&User-Name) 
(10)     if (!&User-Name)  -> FALSE
(10)     if (&User-Name =~ / /) 
(10)     if (&User-Name =~ / /)  -> FALSE
(10)     if (&User-Name =~ /@.*@/ ) 
(10)     if (&User-Name =~ /@.*@/ )  -> FALSE
(10)     if (&User-Name =~ /\\.\\./ ) 
(10)     if (&User-Name =~ /\\.\\./ )  -> FALSE
(10)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))  
(10)     if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/))   -> FALSE
(10)     if (&User-Name =~ /\\.$/)  
(10)     if (&User-Name =~ /\\.$/)   -> FALSE
(10)     if (&User-Name =~ /@\\./)  
(10)     if (&User-Name =~ /@\\./)   -> FALSE
(10)   } # filter_username filter_username = notfound
(10)   [preprocess] = ok
(10)   [chap] = noop
(10)   [mschap] = noop
(10)   [digest] = noop
(10)  suffix : Checking for suffix after "@"
(10)  suffix : Looking up realm "example.org" for User-Name = "anonymous at example.org"
(10)  suffix : No such realm "example.org"
(10)   [suffix] = noop
(10)   rewrite_called_station_id rewrite_called_station_id {
(10)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i) 
(10)     if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  -> TRUE
(10)    if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  {
(10)     update request {
(10) EXPAND %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(10)    --> 11-22-33-44-55-66
(10) 	Called-Station-Id := "11-22-33-44-55-66"
(10)     } # update request = noop
(10)      if ("%{8}") 
(10) EXPAND %{8}
(10)    --> MYSSID
(10)      if ("%{8}")  -> TRUE
(10)     if ("%{8}")  {
(10)      update request {
(10) EXPAND %{8}
(10)    --> MYSSID
(10) 	Called-Station-SSID := "MYSSID"
(10)      } # update request = noop
(10)     } # if ("%{8}")  = noop
(10)     [updated] = updated
(10)    } # if (&Called-Station-Id =~ /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i)  = updated
(10)     ... skipping else for request 10: Preceding "if" was taken
(10)   } # rewrite_called_station_id rewrite_called_station_id = updated
(10)  eap : Peer sent code Response (2) ID 10 length 80
(10)  eap : Continuing tunnel setup
(10)   [eap] = ok
(10)  } #  authorize = ok
(10) Found Auth-Type = EAP
(10) # Executing group from file /etc/raddb.TEST//sites-enabled/default
(10)   authenticate {
(10)  eap : Expiring EAP session with state 0x656581ee6c6f9867
(10)  eap : Finished EAP session with state 0x656581ee6c6f9867
(10)  eap : Previous EAP request found for state 0x656581ee6c6f9867, released from the list
(10)  eap : Peer sent method PEAP (25)
(10)  eap : EAP PEAP (25)
(10)  eap : Calling eap_peap to process EAP data
(10)  eap_peap : processing EAP-TLS
(10)  eap_peap : eaptls_verify returned 7 
(10)  eap_peap : Done initial handshake
(10)  eap_peap : eaptls_process returned 7 
(10)  eap_peap : FR_TLS_OK
(10)  eap_peap : Session established.  Decoding tunneled attributes
(10)  eap_peap : Peap state send tlv success
(10)  eap_peap : Received EAP-TLV response
(10)  eap_peap : Success
(10)  WARNING: eap_peap : No information to cache: session caching will be disabled for session a172ef0eafa01e8f00b338d881fdb06205f97d4d2d0ad3a25fcd45df86b6c1aa
  SSL: Removing session a172ef0eafa01e8f00b338d881fdb06205f97d4d2d0ad3a25fcd45df86b6c1aa from the cache
(10)  eap : Freeing handler
(10)   [eap] = ok
(10)  } #  authenticate = ok
(10) # Executing section post-auth from file /etc/raddb.TEST//sites-enabled/default
(10)   post-auth {
(10)   [exec] = noop
(10)   remove_reply_message_if_eap remove_reply_message_if_eap {
(10)     if (&reply:EAP-Message && &reply:Reply-Message) 
(10)     if (&reply:EAP-Message && &reply:Reply-Message)  -> FALSE
(10)    else else {
(10)     [noop] = noop
(10)    } # else else = noop
(10)   } # remove_reply_message_if_eap remove_reply_message_if_eap = noop
(10)  } #  post-auth = noop
(10) Sending Access-Accept packet to host 127.0.0.1 port 59179, id=10, length=0
(10) 	MS-MPPE-Recv-Key = 0x78271b25d9ed5c818b36091b71cee33f887bb4d5312e38bf930f57f2ed63448f
(10) 	MS-MPPE-Send-Key = 0x1449a84706dc956d7b844c0eee13091d1b34f8ea3ea8d4b15efafccbc2195491
(10) 	EAP-MSK = 0x78271b25d9ed5c818b36091b71cee33f887bb4d5312e38bf930f57f2ed63448f1449a84706dc956d7b844c0eee13091d1b34f8ea3ea8d4b15efafccbc2195491
(10) 	EAP-EMSK = 0x4624c8deee22bc87c7d8aab51f108491464b5453c4b98fe36ad334e9f7f101fa02e896110936e5b5f6b84f0895535b569c8507a569ed8eaba708e899ad7de9a7
(10) 	EAP-Session-Id = 0x1955406fc06a0068f1e7ac830477f0b64046c4cc3bce94ee1035dc71dbb01cac3755406fc06d005fb42fff2322b97cfe58a70db1ed67b4fa757856c4fb75ca2963
(10) 	EAP-Message = 0x030a0004
(10) 	Message-Authenticator = 0x00000000000000000000000000000000
(10) 	User-Name = 'anonymous at example.org'
Sending Access-Accept Id 10 from 127.0.0.1:1812 to 127.0.0.1:59179
	MS-MPPE-Recv-Key = 0x78271b25d9ed5c818b36091b71cee33f887bb4d5312e38bf930f57f2ed63448f
	MS-MPPE-Send-Key = 0x1449a84706dc956d7b844c0eee13091d1b34f8ea3ea8d4b15efafccbc2195491
	EAP-Message = 0x030a0004
	Message-Authenticator = 0x00000000000000000000000000000000
	User-Name = 'anonymous at example.org'
(10) Finished request
Waking up in 0.2 seconds.
Waking up in 4.6 seconds.


More information about the Freeradius-Users mailing list