Ok, debug logs and config files are attached.

It looks like the problem could be with rlm_perl.   as the proxying
happens correctly if we disable the perl module completely.
However, even with no logic happening in the perl script, additional
\'s are added to the attributes.

Please see the attached log of a login attempt for
Username: "murray/A\"
Password: "A\"

which is eventually proxied as
    User-Name = "A\\\\\\\\"
    User-Password = "A\\\\\\\\"

Thanks,
Murray

On Fri, Sep 3, 2010 at 3:33 PM, Alan DeKok <[email protected]> wrote:
>
> Murray Long wrote:
> > I am running the latest version provided by Ubuntu, 2.1.8+dfsg-1ubuntu1
> > Is this not considered recent?
> > I will try 2.1.9 from the freeradius site and see how that goes.
>
>  Well.. it works in the current 2.1.x branch.
>
>  How about posting debug logs?
>
>  Alan DeKok.
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Attachment: perl_module.pm
Description: Perl program

Attachment: radiusd.conf
Description: Binary data

FreeRADIUS Version 2.1.8, for host i486-pc-linux-gnu, built on Jan  5 2010 at 02:49:11
Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. 
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE. 
You may redistribute copies of FreeRADIUS under the terms of the 
GNU General Public License v2. 
Starting - reading configuration files ...
including configuration file /etc/freeradius/radiusd.conf
main {
	allow_core_dumps = no
}
including dictionary file /etc/freeradius/dictionary
main {
	prefix = "/usr"
	localstatedir = "/var"
	logdir = "/var/log/freeradius"
	libdir = "/usr/lib/freeradius"
	radacctdir = "/var/log/freeradius/radacct"
	hostname_lookups = no
	max_request_time = 30
	cleanup_delay = 5
	max_requests = 1024
	pidfile = "/var/run/freeradius/freeradius.pid"
	checkrad = "/usr/sbin/checkrad"
	debug_level = 0
	proxy_requests = yes
 log sectiong {
	stripped_names = no
	auth = no
	auth_badpass = no
	auth_goodpass = no
 }
	log_auth = no
	log_auth_badpass = no
	log_auth_goodpass = no
	log_stripped_names = no
 security {
	max_attributes = 200
	reject_delay = 1
	status_server = yes
 }
}
radiusd: #### Loading Realms and Home Servers ####
 realm murray {
	authhost = 10.0.0.101:1812
	accthost = 10.0.0.101:1813
	secret = secret
 }
 realm NULL {
 }
 realm default {
 }
 realm default {
 } # realm default
radiusd: #### Loading Clients ####
 client 0.0.0.0/0 {
	require_message_authenticator = no
	secret = "secret"
	shortname = "swak"
 }
radiusd: #### Instantiating modules ####
 instantiate {
 Module: Linked to module rlm_exec
 Module: Instantiating exec
  exec {
	wait = yes
	input_pairs = "request"
	shell_escape = yes
  }
 Module: Linked to module rlm_expr
 Module: Instantiating expr
 }
radiusd: #### Loading Virtual Servers ####
server {
 modules {
 Module: Checking authenticate {...} for more modules to load
 Module: Linked to module rlm_perl
 Module: Instantiating perl
  perl {
	module = "/etc/freeradius/perl_module.pm"
	func_authorize = "authorize"
	func_authenticate = "authenticate"
	func_accounting = "accounting"
	func_preacct = "preacct"
	func_checksimul = "checksimul"
	func_detach = "detach"
	func_xlat = "xlat"
	func_pre_proxy = "pre_proxy"
	func_post_proxy = "post_proxy"
	func_post_auth = "post_auth"
	func_recv_coa = "recv_coa"
	func_send_coa = "send_coa"
  }
 Module: Linked to module rlm_pap
 Module: Instantiating pap
  pap {
	encryption_scheme = "crypt"
	auto_header = no
  }
 Module: Linked to module rlm_chap
 Module: Instantiating chap
 Module: Checking authorize {...} for more modules to load
 Module: Linked to module rlm_preprocess
 Module: Instantiating preprocess
  preprocess {
	huntgroups = "/etc/freeradius/huntgroups"
	hints = "/etc/freeradius/hints"
	with_ascend_hack = no
	ascend_channels_per_line = 23
	with_ntdomain_hack = no
	with_specialix_jetstream_hack = no
	with_cisco_vsa_hack = no
	with_alvarion_vsa_hack = no
  }
 Module: Linked to module rlm_realm
 Module: Instantiating realm_prefix
  realm realm_prefix {
	format = "prefix"
	delimiter = "/"
	ignore_default = no
	ignore_null = no
  }
 Module: Linked to module rlm_detail
 Module: Instantiating detail
  detail {
	detailfile = "/var/log/freeradius/radacct/%{NAS-Identifier}/%Y-%m-%d"
	header = "%t"
	detailperm = 384
	dirperm = 493
	locking = no
	log_packet_header = no
  }
 Module: Checking preacct {...} for more modules to load
 Module: Linked to module rlm_acct_unique
 Module: Instantiating acct_unique
  acct_unique {
	key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"
  }
 Module: Checking accounting {...} for more modules to load
 Module: Checking post-auth {...} for more modules to load
 } # modules
} # server
radiusd: #### Opening IP addresses and Ports ####
listen {
	type = "auth"
	ipaddr = *
	port = 1812
}
listen {
	type = "acct"
	ipaddr = *
	port = 1813
}
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on proxy address * port 1814
Ready to process requests.
rad_recv: Status-Server packet from host 127.0.0.1 port 38491, id=0, length=38
	Message-Authenticator = 0xc44a740cab44e7f179b72fcef5b04aed
Sending Access-Accept of id 0 to 127.0.0.1 port 38491
Finished request 0.
Cleaning up request 0 ID 0 with timestamp +16
Going to the next request
Ready to process requests.
rad_recv: Status-Server packet from host 127.0.0.1 port 38491, id=0, length=38
	Message-Authenticator = 0x6f208540d294d5a4c81edf6f6baf2b36
Sending Accounting-Response of id 0 to 127.0.0.1 port 38491
Finished request 1.
Cleaning up request 1 ID 0 with timestamp +26
Going to the next request
Ready to process requests.
rad_recv: Access-Request packet from host 10.0.0.29 port 54090, id=129, length=327
	ChilliSpot-Version = "1.2.3-rc1"
	User-Name = "murray/A\\\\"
	User-Password = "A\\\\"
	NAS-IP-Address = 101.208.222.1
	Service-Type = Login-User
	Framed-IP-Address = 101.208.222.2
	Calling-Station-Id = "00-24-21-45-69-7F"
	Called-Station-Id = "00-15-6D-AD-D0-DE"
	NAS-Identifier = "skyrove_wifi_0915"
	Acct-Session-Id = "4c810c4200000001"
	NAS-Port-Type = Wireless-802.11
	NAS-Port = 1
	WISPr-Location-ID = "isocc=,cc=,ac=,network=Coova,Skyrove Dev Stelio"
	WISPr-Location-Name = "Skyrove_Dev_Stelio"
	WISPr-Logoff-URL = "http://101.208.222.1:3990/logoff";
	Message-Authenticator = 0x4fa2dae1e65a1a48ac2ceda85d60839a
+- entering group authorize {...}
++[preprocess] returns ok
++[control] returns ok
[realm_prefix] Looking up realm "murray" for User-Name = "murray/A\\"
[realm_prefix] Found realm "murray"
[realm_prefix] Adding Stripped-User-Name = "A\\"
[realm_prefix] Adding Realm = "murray"
[realm_prefix] Proxying request from user A\\ to realm murray
[realm_prefix] Preparing to proxy authentication request to realm "murray" 
++[realm_prefix] returns updated
rlm_perl: Added pair NAS-Port-Type = Wireless-802.11
rlm_perl: Added pair WISPr-Logoff-URL = http://101.208.222.1:3990/logoff
rlm_perl: Added pair Acct-Session-Id = 4c810c4200000001
rlm_perl: Added pair Service-Type = Login-User
rlm_perl: Added pair Called-Station-Id = 00-15-6D-AD-D0-DE
rlm_perl: Added pair Message-Authenticator = 0x4fa2dae1e65a1a48ac2ceda85d60839a
rlm_perl: Added pair Realm = murray
rlm_perl: Added pair NAS-IP-Address = 101.208.222.1
rlm_perl: Added pair ChilliSpot-Version = 1.2.3-rc1
rlm_perl: Added pair Calling-Station-Id = 00-24-21-45-69-7F
rlm_perl: Added pair WISPr-Location-ID = isocc=,cc=,ac=,network=Coova,Skyrove Dev Stelio
rlm_perl: Added pair User-Name = murray/A\\\\
rlm_perl: Added pair User-Password = A\\\\
rlm_perl: Added pair NAS-Identifier = skyrove_wifi_0915
rlm_perl: Added pair Framed-IP-Address = 101.208.222.2
rlm_perl: Added pair Stripped-User-Name = A\\\\
rlm_perl: Added pair NAS-Port = 1
rlm_perl: Added pair WISPr-Location-Name = Skyrove_Dev_Stelio
rlm_perl: Added pair Auth-Type = Perl
rlm_perl: Added pair Proxy-To-Realm = murray
++[perl] returns noop
++[chap] returns noop
[detail] 	expand: /var/log/freeradius/radacct/%{NAS-Identifier}/%Y-%m-%d -> /var/log/freeradius/radacct/skyrove_wifi_0915/2010-09-03
[detail] /var/log/freeradius/radacct/%{NAS-Identifier}/%Y-%m-%d expands to /var/log/freeradius/radacct/skyrove_wifi_0915/2010-09-03
[detail] 	expand: %t -> Fri Sep  3 17:01:21 2010
++[detail] returns ok
  WARNING: Empty section.  Using default return values.
Sending Access-Request of id 102 to 10.0.0.101 port 1812
	NAS-Port-Type = Wireless-802.11
	WISPr-Logoff-URL = "http://101.208.222.1:3990/logoff";
	Acct-Session-Id = "4c810c4200000001"
	Service-Type = Login-User
	Called-Station-Id = "00-15-6D-AD-D0-DE"
	Message-Authenticator = 0x00000000000000000000000000000000
	NAS-IP-Address = 101.208.222.1
	ChilliSpot-Version = "1.2.3-rc1"
	Calling-Station-Id = "00-24-21-45-69-7F"
	WISPr-Location-ID = "isocc=,cc=,ac=,network=Coova,Skyrove Dev Stelio"
	User-Name = "A\\\\\\\\"
	User-Password = "A\\\\\\\\"
	NAS-Identifier = "skyrove_wifi_0915"
	Framed-IP-Address = 101.208.222.2
	NAS-Port = 1
	WISPr-Location-Name = "Skyrove_Dev_Stelio"
	Proxy-State = 0x313239
Proxying request 2 to home server 10.0.0.101 port 1812
Sending Access-Request of id 102 to 10.0.0.101 port 1812
	NAS-Port-Type = Wireless-802.11
	WISPr-Logoff-URL = "http://101.208.222.1:3990/logoff";
	Acct-Session-Id = "4c810c4200000001"
	Service-Type = Login-User
	Called-Station-Id = "00-15-6D-AD-D0-DE"
	Message-Authenticator = 0x00000000000000000000000000000000
	NAS-IP-Address = 101.208.222.1
	ChilliSpot-Version = "1.2.3-rc1"
	Calling-Station-Id = "00-24-21-45-69-7F"
	WISPr-Location-ID = "isocc=,cc=,ac=,network=Coova,Skyrove Dev Stelio"
	User-Name = "A\\\\\\\\"
	User-Password = "A\\\\\\\\"
	NAS-Identifier = "skyrove_wifi_0915"
	Framed-IP-Address = 101.208.222.2
	NAS-Port = 1
	WISPr-Location-Name = "Skyrove_Dev_Stelio"
	Proxy-State = 0x313239
Going to the next request
Waking up in 0.9 seconds.
Waking up in 13.0 seconds.
rad_recv: Status-Server packet from host 127.0.0.1 port 38491, id=0, length=38
	Message-Authenticator = 0x9a6927a170719138534506de6f9ceaf5
Sending Access-Accept of id 0 to 127.0.0.1 port 38491
Finished request 3.
Cleaning up request 3 ID 0 with timestamp +44
Going to the next request
Waking up in 2.6 seconds.
Marking home server 10.0.0.101 port 1812 as zombie (it looks like it is dead).
Waking up in 1.4 seconds.
rad_recv: Access-Request packet from host 10.0.0.29 port 54090, id=129, length=327
Discarding duplicate request from client swak port 54090 - ID: 129 due to unfinished request 2
Waking up in 0.5 seconds.
Waking up in 2.2 seconds.
Waking up in 3.3 seconds.
Waking up in 5.0 seconds.
rad_recv: Status-Server packet from host 127.0.0.1 port 38491, id=0, length=38
	Message-Authenticator = 0x9a4ce8b3ee8f4e743ac881682598d259
Sending Accounting-Response of id 0 to 127.0.0.1 port 38491
Finished request 4.
Cleaning up request 4 ID 0 with timestamp +56
Going to the next request
Waking up in 2.8 seconds.
Waking up in 7.5 seconds.
rad_recv: Access-Request packet from host 10.0.0.29 port 54090, id=129, length=327
Discarding duplicate request from client swak port 54090 - ID: 129 due to unfinished request 2
Waking up in 3.7 seconds.
Cleaning up request 2 ID 129 with timestamp +32
Ready to process requests.
rad_recv: Status-Server packet from host 127.0.0.1 port 38491, id=0, length=38
	Message-Authenticator = 0xf3bba31a5e777dfc65342219a8f952a5
Sending Access-Accept of id 0 to 127.0.0.1 port 38491
Finished request 5.
Cleaning up request 5 ID 0 with timestamp +74
Going to the next request
Ready to process requests.
rad_recv: Access-Request packet from host 10.0.0.29 port 54090, id=129, length=327
	ChilliSpot-Version = "1.2.3-rc1"
	User-Name = "murray/A\\\\"
	User-Password = "A\\\\"
	NAS-IP-Address = 101.208.222.1
	Service-Type = Login-User
	Framed-IP-Address = 101.208.222.2
	Calling-Station-Id = "00-24-21-45-69-7F"
	Called-Station-Id = "00-15-6D-AD-D0-DE"
	NAS-Identifier = "skyrove_wifi_0915"
	Acct-Session-Id = "4c810c4200000001"
	NAS-Port-Type = Wireless-802.11
	NAS-Port = 1
	WISPr-Location-ID = "isocc=,cc=,ac=,network=Coova,Skyrove Dev Stelio"
	WISPr-Location-Name = "Skyrove_Dev_Stelio"
	WISPr-Logoff-URL = "http://101.208.222.1:3990/logoff";
	Message-Authenticator = 0x4fa2dae1e65a1a48ac2ceda85d60839a
+- entering group authorize {...}
++[preprocess] returns ok
++[control] returns ok
[realm_prefix] Looking up realm "murray" for User-Name = "murray/A\\"
[realm_prefix] Found realm "murray"
[realm_prefix] Adding Stripped-User-Name = "A\\"
[realm_prefix] Adding Realm = "murray"
[realm_prefix] Proxying request from user A\\ to realm murray
[realm_prefix] Preparing to proxy authentication request to realm "murray" 
++[realm_prefix] returns updated
rlm_perl: Added pair NAS-Port-Type = Wireless-802.11
rlm_perl: Added pair WISPr-Logoff-URL = http://101.208.222.1:3990/logoff
rlm_perl: Added pair Acct-Session-Id = 4c810c4200000001
rlm_perl: Added pair Service-Type = Login-User
rlm_perl: Added pair Called-Station-Id = 00-15-6D-AD-D0-DE
rlm_perl: Added pair Message-Authenticator = 0x4fa2dae1e65a1a48ac2ceda85d60839a
rlm_perl: Added pair Realm = murray
rlm_perl: Added pair NAS-IP-Address = 101.208.222.1
rlm_perl: Added pair ChilliSpot-Version = 1.2.3-rc1
rlm_perl: Added pair Calling-Station-Id = 00-24-21-45-69-7F
rlm_perl: Added pair WISPr-Location-ID = isocc=,cc=,ac=,network=Coova,Skyrove Dev Stelio
rlm_perl: Added pair User-Name = murray/A\\\\
rlm_perl: Added pair User-Password = A\\\\
rlm_perl: Added pair NAS-Identifier = skyrove_wifi_0915
rlm_perl: Added pair Framed-IP-Address = 101.208.222.2
rlm_perl: Added pair Stripped-User-Name = A\\\\
rlm_perl: Added pair NAS-Port = 1
rlm_perl: Added pair WISPr-Location-Name = Skyrove_Dev_Stelio
rlm_perl: Added pair Auth-Type = Perl
rlm_perl: Added pair Proxy-To-Realm = murray
++[perl] returns noop
++[chap] returns noop
[detail] 	expand: /var/log/freeradius/radacct/%{NAS-Identifier}/%Y-%m-%d -> /var/log/freeradius/radacct/skyrove_wifi_0915/2010-09-03
[detail] /var/log/freeradius/radacct/%{NAS-Identifier}/%Y-%m-%d expands to /var/log/freeradius/radacct/skyrove_wifi_0915/2010-09-03
[detail] 	expand: %t -> Fri Sep  3 17:02:06 2010
++[detail] returns ok
  WARNING: Empty section.  Using default return values.
Sending Access-Request of id 112 to 10.0.0.101 port 1812
	NAS-Port-Type = Wireless-802.11
	WISPr-Logoff-URL = "http://101.208.222.1:3990/logoff";
	Acct-Session-Id = "4c810c4200000001"
	Service-Type = Login-User
	Called-Station-Id = "00-15-6D-AD-D0-DE"
	Message-Authenticator = 0x00000000000000000000000000000000
	NAS-IP-Address = 101.208.222.1
	ChilliSpot-Version = "1.2.3-rc1"
	Calling-Station-Id = "00-24-21-45-69-7F"
	WISPr-Location-ID = "isocc=,cc=,ac=,network=Coova,Skyrove Dev Stelio"
	User-Name = "A\\\\\\\\"
	User-Password = "A\\\\\\\\"
	NAS-Identifier = "skyrove_wifi_0915"
	Framed-IP-Address = 101.208.222.2
	NAS-Port = 1
	WISPr-Location-Name = "Skyrove_Dev_Stelio"
	Proxy-State = 0x313239
Proxying request 6 to home server 10.0.0.101 port 1812
Sending Access-Request of id 112 to 10.0.0.101 port 1812
	NAS-Port-Type = Wireless-802.11
	WISPr-Logoff-URL = "http://101.208.222.1:3990/logoff";
	Acct-Session-Id = "4c810c4200000001"
	Service-Type = Login-User
	Called-Station-Id = "00-15-6D-AD-D0-DE"
	Message-Authenticator = 0x00000000000000000000000000000000
	NAS-IP-Address = 101.208.222.1
	ChilliSpot-Version = "1.2.3-rc1"
	Calling-Station-Id = "00-24-21-45-69-7F"
	WISPr-Location-ID = "isocc=,cc=,ac=,network=Coova,Skyrove Dev Stelio"
	User-Name = "A\\\\\\\\"
	User-Password = "A\\\\\\\\"
	NAS-Identifier = "skyrove_wifi_0915"
	Framed-IP-Address = 101.208.222.2
	NAS-Port = 1
	WISPr-Location-Name = "Skyrove_Dev_Stelio"
	Proxy-State = 0x313239
Going to the next request
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to