Multiple instances of the exec module
Les Brinkworth
lbrinkworth at qkon.com
Fri Oct 13 12:28:52 CEST 2006
Hi K
Thanks for the reply. My apologies for including the code and trace. I
have done so below. The error I think is more serious as the server
fails to load. I am obviously understanding the "define" incorrectly.
How does one define two instances of exec with different names that can
be called from other sections?
Code snippet from Modules section of radiusd.conf...
exec {
wait = yes
program = "handlebillingrequests.exe ACCR:%Z"
input_pairs = request
output_pairs = reply
packet_type = Accounting-Request
}
...This executes for an accounting request
If I then add the same code to the authorize section...
exec {
wait = yes
program = "handlebillingrequests.exe AUTR:%Z"
input_pairs = request
output_pairs = reply
packet_type = Access-Request
}
...it results in the following when I run debug
C:\Documents and Settings\lbrinkworth>Cd \Program
Files\FreeRADIUS.net-1.1.1-r0.0.1
C:\Program Files\FreeRADIUS.net-1.1.1-r0.0.1>start_radiusd_debug.bat
Starting - reading configuration files ...
reread_config: reading radiusd.conf
Config: including file: ../etc/raddb/proxy.conf
Config: including file: ../etc/raddb/clients.conf
Config: including file: ../etc/raddb/snmp.conf
Config: including file: ../etc/raddb/eap.conf
Config: including file: ../etc/raddb/mssql.conf
main: prefix = ".."
main: localstatedir = "../var"
main: logdir = "../var/log/radius"
main: libdir = "../lib"
main: radacctdir = "../var/log/radius/radacct"
main: hostname_lookups = no
main: max_request_time = 30
main: cleanup_delay = 5
main: max_requests = 1024
main: delete_blocked_requests = 0
main: port = 0
main: allow_core_dumps = no
main: log_stripped_names = yes
main: log_file = "../var/log/radius/radius.log"
main: log_auth = yes
main: log_auth_badpass = yes
main: log_auth_goodpass = yes
main: pidfile = "../var/run/radiusd/radiusd.pid"
main: user = "(null)"
main: group = "(null)"
main: usercollide = no
main: lower_user = "no"
main: lower_pass = "no"
main: nospace_user = "no"
main: nospace_pass = "no"
main: checkrad = "../bin/checkrad"
main: proxy_requests = yes
proxy: retry_delay = 5
proxy: retry_count = 3
proxy: synchronous = no
proxy: default_fallback = yes
proxy: dead_time = 120
proxy: post_proxy_authorize = yes
proxy: wake_all_if_all_dead = no
security: max_attributes = 200
security: reject_delay = 1
security: status_server = no
main: debug_level = 0
read_config_files: reading dictionary
read_config_files: reading naslist
Using deprecated naslist file. Support for this will go away soon.
read_config_files: reading clients
read_config_files: reading realms
radiusd: entering modules setup
Module: Library search path is ../lib
Module: Loaded exec
exec: wait = yes
exec: program = "handlebillingrequests.exe ACCR:%Z"
exec: input_pairs = "request"
exec: output_pairs = "reply"
exec: packet_type = "Accounting-Request"
Module: Instantiated exec (exec)
Module: Loaded expr
Module: Instantiated expr (expr)
Module: Loaded PAP
pap: encryption_scheme = "crypt"
Module: Instantiated pap (pap)
Module: Loaded CHAP
Module: Instantiated chap (chap)
Module: Loaded MS-CHAP
mschap: use_mppe = yes
mschap: require_encryption = no
mschap: require_strong = no
mschap: with_ntdomain_hack = no
mschap: passwd = "(null)"
mschap: authtype = "MS-CHAP"
mschap: ntlm_auth = "(null)"
Module: Instantiated mschap (mschap)
Module: Loaded System
unix: cache = no
unix: passwd = "(null)"
unix: shadow = "(null)"
unix: group = "(null)"
unix: radwtmp = "../var/log/radius/radwtmp"
unix: usegroup = no
unix: cache_reload = 600
Module: Instantiated unix (unix)
Module: Loaded eap
eap: default_eap_type = "tls"
eap: timer_expire = 60
eap: ignore_unknown_eap_types = no
eap: cisco_accounting_username_bug = no
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
gtc: challenge = "Password: "
gtc: auth_type = "PAP"
rlm_eap: Loaded and initialized type gtc
tls: rsa_key_exchange = no
tls: dh_key_exchange = yes
tls: rsa_key_length = 512
tls: dh_key_length = 512
tls: verify_depth = 0
tls: CA_path = "(null)"
tls: pem_file_type = yes
tls: private_key_file =
"../etc/raddb/certs/FreeRADIUS.net/DemoCerts/FreeRADIUS.net-Server.pem"
tls: certificate_file =
"../etc/raddb/certs/FreeRADIUS.net/DemoCerts/FreeRADIUS.net-Server.crt"
tls: CA_file =
"../etc/raddb/certs/FreeRADIUS.net/DemoCerts/FreeRADIUS.net-CA.crt"
tls: private_key_password = "demo"
tls: dh_file = "../etc/raddb/certs/FreeRADIUS.net/DemoCerts/dh"
tls: random_file = "../etc/raddb/certs/FreeRADIUS.net/DemoCerts/random"
tls: fragment_size = 1024
tls: include_length = yes
tls: check_crl = no
tls: check_cert_cn = "%{User-Name}"
rlm_eap_tls: Loading the certificate file as a chain
rlm_eap: Loaded and initialized type tls
ttls: default_eap_type = "md5"
ttls: copy_request_to_tunnel = no
ttls: use_tunneled_reply = yes
rlm_eap: Loaded and initialized type ttls
peap: default_eap_type = "mschapv2"
peap: copy_request_to_tunnel = no
peap: use_tunneled_reply = no
peap: proxy_tunneled_request_as_eap = yes
rlm_eap: Loaded and initialized type peap
mschapv2: with_ntdomain_hack = no
rlm_eap: Loaded and initialized type mschapv2
Module: Instantiated eap (eap)
Module: Loaded preprocess
preprocess: huntgroups = "../etc/raddb/huntgroups"
preprocess: hints = "../etc/raddb/hints"
preprocess: with_ascend_hack = no
preprocess: ascend_channels_per_line = 23
preprocess: with_ntdomain_hack = no
preprocess: with_specialix_jetstream_hack = no
preprocess: with_cisco_vsa_hack = yes
Module: Instantiated preprocess (preprocess)
radiusd.conf[1527] Unknown module rcode 'wait'.
radiusd.conf[1513] Failed to parse authorize section.
C:\Program Files\FreeRADIUS.net-1.1.1-r0.0.1\bin>
Thanks
Les
-----Original Message-----
From: freeradius-users-bounces+lbrinkworth=qkon.com at lists.freeradius.org
[mailto:freeradius-users-bounces+lbrinkworth=qkon.com at lists.freeradius.o
rg] On Behalf Of K. Hoercher
Sent: 13 October 2006 11:21 AM
To: FreeRadius users mailing list
Subject: Re: Multiple instances of the exec module
On 10/13/06, Les Brinkworth <lbrinkworth at qkon.com> wrote:
> I am lost as to where or maybe how this definition is done. If I
> duplicate the exec module in the actual section, RadiusD complains
> about 'wait' not being defined.
Just a guess (as you didn't provide any output):
The error (more of a warning) is something like "...Wait=yes but no
output defined..."?
So check for the subsequent comment in the definition of an exec
instance called "echo". Which should also serve as an example how to
define different instances, which would then be called in the "actual
section" by their name.
regards
K. Hoercher
-
List info/subscribe/unsubscribe? See
http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list