ubuntu / debian rlm_python issues using mysqldb module
Hi All, I am sure i'm not the only person experiencing this problem. It seems when using the python module to handle auth/acct. If you include the MySQLdb module in the python script freeradius then dies and is unable to load the pythong module. I am using the latest stable freeradius version 2.1.6, built for ubuntu as per http://wiki.freeradius.org/Build using fakeroot. The python script being used is the "prepaid.py" script renamed to "radiusd_test.py" in the example below. I am using the standard scripts and config from freeradius, I found a similar article regarding this and apparently has something to do with statically linking the module ? Are there any solutions for this ? Thanks, Michael Please see the log below from freeradius: Wed Jul 8 12:10:51 2009 : Info: FreeRADIUS Version 2.1.6, for host i486-pc-linux-gnu, built on Jul 7 2009 at 19:08:38 Wed Jul 8 12:10:51 2009 : Info: Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. Wed Jul 8 12:10:51 2009 : Info: There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A Wed Jul 8 12:10:51 2009 : Info: PARTICULAR PURPOSE. Wed Jul 8 12:10:51 2009 : Info: You may redistribute copies of FreeRADIUS under the terms of the Wed Jul 8 12:10:51 2009 : Info: GNU General Public License v2. Wed Jul 8 12:10:51 2009 : Info: Starting - reading configuration files ... Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/radiusd.conf Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/proxy.conf Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/clients.conf Wed Jul 8 12:10:51 2009 : Debug: including files in directory /etc/freeradius/modules/ Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/realm Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/radutmp Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/logintime Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/sqlcounter_expire_on_login Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/counter Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/chap Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/unix Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/pap Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/acct_unique Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/expiration Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/digest Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/policy Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/linelog Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/checkval Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/sradutmp Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/files Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/detail Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/smsotp Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/preprocess Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/expr Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/sql_log Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/python Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/pam Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/attr_filter Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/ippool Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/mac2vlan Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/passwd Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/mschap Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/detail.log Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/inner-eap Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/always Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/mac2ip Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/detail.example.com Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/etc_group Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/ldap Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/smbpasswd Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/echo Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/wimax Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/otp Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/attr_rewrite Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/exec Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/perl Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/modules/krb5 Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/eap.conf Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/policy.conf Wed Jul 8 12:10:51 2009 : Debug: including files in directory /etc/freeradius/sites-enabled/ Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/sites-enabled/control-socket Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/sites-enabled/iburst-prepaid Wed Jul 8 12:10:51 2009 : Debug: including configuration file /etc/freeradius/sites-enabled/inner-tunnel Wed Jul 8 12:10:51 2009 : Debug: group = freerad Wed Jul 8 12:10:51 2009 : Debug: user = freerad Wed Jul 8 12:10:51 2009 : Debug: including dictionary file /etc/freeradius/dictionary Wed Jul 8 12:10:51 2009 : Debug: main { Wed Jul 8 12:10:51 2009 : Debug: prefix = "/usr" Wed Jul 8 12:10:51 2009 : Debug: localstatedir = "/var" Wed Jul 8 12:10:51 2009 : Debug: logdir = "/var/log/freeradius" Wed Jul 8 12:10:51 2009 : Debug: libdir = "/usr/lib/freeradius" Wed Jul 8 12:10:51 2009 : Debug: radacctdir = "/var/log/freeradius/radacct" Wed Jul 8 12:10:51 2009 : Debug: hostname_lookups = no Wed Jul 8 12:10:51 2009 : Debug: max_request_time = 30 Wed Jul 8 12:10:51 2009 : Debug: cleanup_delay = 5 Wed Jul 8 12:10:51 2009 : Debug: max_requests = 1024 Wed Jul 8 12:10:51 2009 : Debug: allow_core_dumps = no Wed Jul 8 12:10:51 2009 : Debug: pidfile = "/var/run/freeradius/freeradius.pid" Wed Jul 8 12:10:51 2009 : Debug: checkrad = "/usr/sbin/checkrad" Wed Jul 8 12:10:51 2009 : Debug: debug_level = 0 Wed Jul 8 12:10:51 2009 : Debug: proxy_requests = yes Wed Jul 8 12:10:51 2009 : Debug: log { Wed Jul 8 12:10:51 2009 : Debug: stripped_names = no Wed Jul 8 12:10:51 2009 : Debug: auth = no Wed Jul 8 12:10:51 2009 : Debug: auth_badpass = no Wed Jul 8 12:10:51 2009 : Debug: auth_goodpass = no Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: security { Wed Jul 8 12:10:51 2009 : Debug: max_attributes = 200 Wed Jul 8 12:10:51 2009 : Debug: reject_delay = 1 Wed Jul 8 12:10:51 2009 : Debug: status_server = yes Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: radiusd: #### Loading Realms and Home Servers #### Wed Jul 8 12:10:51 2009 : Debug: proxy server { Wed Jul 8 12:10:51 2009 : Debug: retry_delay = 5 Wed Jul 8 12:10:51 2009 : Debug: retry_count = 3 Wed Jul 8 12:10:51 2009 : Debug: default_fallback = no Wed Jul 8 12:10:51 2009 : Debug: dead_time = 120 Wed Jul 8 12:10:51 2009 : Debug: wake_all_if_all_dead = no Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: home_server localhost { Wed Jul 8 12:10:51 2009 : Debug: ipaddr = 127.0.0.1 Wed Jul 8 12:10:51 2009 : Debug: port = 1812 Wed Jul 8 12:10:51 2009 : Debug: type = "auth" Wed Jul 8 12:10:51 2009 : Debug: secret = "testing123" Wed Jul 8 12:10:51 2009 : Debug: response_window = 20 Wed Jul 8 12:10:51 2009 : Debug: max_outstanding = 65536 Wed Jul 8 12:10:51 2009 : Debug: require_message_authenticator = no Wed Jul 8 12:10:51 2009 : Debug: zombie_period = 40 Wed Jul 8 12:10:51 2009 : Debug: status_check = "status-server" Wed Jul 8 12:10:51 2009 : Debug: ping_interval = 30 Wed Jul 8 12:10:51 2009 : Debug: check_interval = 30 Wed Jul 8 12:10:51 2009 : Debug: num_answers_to_alive = 3 Wed Jul 8 12:10:51 2009 : Debug: num_pings_to_alive = 3 Wed Jul 8 12:10:51 2009 : Debug: revive_interval = 120 Wed Jul 8 12:10:51 2009 : Debug: status_check_timeout = 4 Wed Jul 8 12:10:51 2009 : Debug: irt = 2 Wed Jul 8 12:10:51 2009 : Debug: mrt = 16 Wed Jul 8 12:10:51 2009 : Debug: mrc = 5 Wed Jul 8 12:10:51 2009 : Debug: mrd = 30 Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: home_server_pool my_auth_failover { Wed Jul 8 12:10:51 2009 : Debug: type = fail-over Wed Jul 8 12:10:51 2009 : Debug: home_server = localhost Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: realm example.com { Wed Jul 8 12:10:51 2009 : Debug: auth_pool = my_auth_failover Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: realm LOCAL { Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: radiusd: #### Loading Clients #### Wed Jul 8 12:10:51 2009 : Debug: client localhost { Wed Jul 8 12:10:51 2009 : Debug: ipaddr = 127.0.0.1 Wed Jul 8 12:10:51 2009 : Debug: require_message_authenticator = no Wed Jul 8 12:10:51 2009 : Debug: secret = "testing123" Wed Jul 8 12:10:51 2009 : Debug: nastype = "other" Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: radiusd: #### Instantiating modules #### Wed Jul 8 12:10:51 2009 : Debug: instantiate { Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_exec, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_exec Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating exec Wed Jul 8 12:10:51 2009 : Debug: exec { Wed Jul 8 12:10:51 2009 : Debug: wait = no Wed Jul 8 12:10:51 2009 : Debug: input_pairs = "request" Wed Jul 8 12:10:51 2009 : Debug: shell_escape = yes Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_expr, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_expr Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating expr Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_expiration, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_expiration Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating expiration Wed Jul 8 12:10:51 2009 : Debug: expiration { Wed Jul 8 12:10:51 2009 : Debug: reply-message = "Password Has Expired " Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_logintime, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_logintime Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating logintime Wed Jul 8 12:10:51 2009 : Debug: logintime { Wed Jul 8 12:10:51 2009 : Debug: reply-message = "You are calling outside your allowed timespan " Wed Jul 8 12:10:51 2009 : Debug: minimum-timeout = 60 Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: radiusd: #### Loading Virtual Servers #### Wed Jul 8 12:10:51 2009 : Debug: server inner-tunnel { Wed Jul 8 12:10:51 2009 : Debug: modules { Wed Jul 8 12:10:51 2009 : Debug: Module: Checking authenticate {...} for more modules to load Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_pap, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_pap Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating pap Wed Jul 8 12:10:51 2009 : Debug: pap { Wed Jul 8 12:10:51 2009 : Debug: encryption_scheme = "auto" Wed Jul 8 12:10:51 2009 : Debug: auto_header = no Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_chap, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_chap Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating chap Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_mschap, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_mschap Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating mschap Wed Jul 8 12:10:51 2009 : Debug: mschap { Wed Jul 8 12:10:51 2009 : Debug: use_mppe = yes Wed Jul 8 12:10:51 2009 : Debug: require_encryption = no Wed Jul 8 12:10:51 2009 : Debug: require_strong = no Wed Jul 8 12:10:51 2009 : Debug: with_ntdomain_hack = no Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_unix, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_unix Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating unix Wed Jul 8 12:10:51 2009 : Debug: unix { Wed Jul 8 12:10:51 2009 : Debug: radwtmp = "/var/log/freeradius/radwtmp" Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_eap, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_eap Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating eap Wed Jul 8 12:10:51 2009 : Debug: eap { Wed Jul 8 12:10:51 2009 : Debug: default_eap_type = "md5" Wed Jul 8 12:10:51 2009 : Debug: timer_expire = 60 Wed Jul 8 12:10:51 2009 : Debug: ignore_unknown_eap_types = no Wed Jul 8 12:10:51 2009 : Debug: cisco_accounting_username_bug = no Wed Jul 8 12:10:51 2009 : Debug: max_sessions = 2048 Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to sub-module rlm_eap_md5 Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating eap-md5 Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to sub-module rlm_eap_leap Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating eap-leap Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to sub-module rlm_eap_gtc Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating eap-gtc Wed Jul 8 12:10:51 2009 : Debug: gtc { Wed Jul 8 12:10:51 2009 : Debug: challenge = "Password: " Wed Jul 8 12:10:51 2009 : Debug: auth_type = "PAP" Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to sub-module rlm_eap_tls Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating eap-tls Wed Jul 8 12:10:51 2009 : Debug: tls { Wed Jul 8 12:10:51 2009 : Debug: rsa_key_exchange = no Wed Jul 8 12:10:51 2009 : Debug: dh_key_exchange = yes Wed Jul 8 12:10:51 2009 : Debug: rsa_key_length = 512 Wed Jul 8 12:10:51 2009 : Debug: dh_key_length = 512 Wed Jul 8 12:10:51 2009 : Debug: verify_depth = 0 Wed Jul 8 12:10:51 2009 : Debug: pem_file_type = yes Wed Jul 8 12:10:51 2009 : Debug: private_key_file = "/etc/freeradius/certs/server.pem" Wed Jul 8 12:10:51 2009 : Debug: certificate_file = "/etc/freeradius/certs/server.pem" Wed Jul 8 12:10:51 2009 : Debug: CA_file = "/etc/freeradius/certs/ca.pem" Wed Jul 8 12:10:51 2009 : Debug: private_key_password = "whatever" Wed Jul 8 12:10:51 2009 : Debug: dh_file = "/etc/freeradius/certs/dh" Wed Jul 8 12:10:51 2009 : Debug: random_file = "/etc/freeradius/certs/random" Wed Jul 8 12:10:51 2009 : Debug: fragment_size = 1024 Wed Jul 8 12:10:51 2009 : Debug: include_length = yes Wed Jul 8 12:10:51 2009 : Debug: check_crl = no Wed Jul 8 12:10:51 2009 : Debug: cipher_list = "DEFAULT" Wed Jul 8 12:10:51 2009 : Debug: make_cert_command = "/etc/freeradius/certs/bootstrap" Wed Jul 8 12:10:51 2009 : Debug: cache { Wed Jul 8 12:10:51 2009 : Debug: enable = no Wed Jul 8 12:10:51 2009 : Debug: lifetime = 24 Wed Jul 8 12:10:51 2009 : Debug: max_entries = 255 Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to sub-module rlm_eap_ttls Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating eap-ttls Wed Jul 8 12:10:51 2009 : Debug: ttls { Wed Jul 8 12:10:51 2009 : Debug: default_eap_type = "md5" Wed Jul 8 12:10:51 2009 : Debug: copy_request_to_tunnel = no Wed Jul 8 12:10:51 2009 : Debug: use_tunneled_reply = no Wed Jul 8 12:10:51 2009 : Debug: virtual_server = "inner-tunnel" Wed Jul 8 12:10:51 2009 : Debug: include_length = yes Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to sub-module rlm_eap_peap Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating eap-peap Wed Jul 8 12:10:51 2009 : Debug: peap { Wed Jul 8 12:10:51 2009 : Debug: default_eap_type = "mschapv2" Wed Jul 8 12:10:51 2009 : Debug: copy_request_to_tunnel = no Wed Jul 8 12:10:51 2009 : Debug: use_tunneled_reply = no Wed Jul 8 12:10:51 2009 : Debug: proxy_tunneled_request_as_eap = yes Wed Jul 8 12:10:51 2009 : Debug: virtual_server = "inner-tunnel" Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to sub-module rlm_eap_mschapv2 Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating eap-mschapv2 Wed Jul 8 12:10:51 2009 : Debug: mschapv2 { Wed Jul 8 12:10:51 2009 : Debug: with_ntdomain_hack = no Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: Module: Checking authorize {...} for more modules to load Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_realm, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_realm Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating suffix Wed Jul 8 12:10:51 2009 : Debug: realm suffix { Wed Jul 8 12:10:51 2009 : Debug: format = "suffix" Wed Jul 8 12:10:51 2009 : Debug: delimiter = "@" Wed Jul 8 12:10:51 2009 : Debug: ignore_default = no Wed Jul 8 12:10:51 2009 : Debug: ignore_null = no Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_files, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_files Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating files Wed Jul 8 12:10:51 2009 : Debug: files { Wed Jul 8 12:10:51 2009 : Debug: usersfile = "/etc/freeradius/users" Wed Jul 8 12:10:51 2009 : Debug: acctusersfile = "/etc/freeradius/acct_users" Wed Jul 8 12:10:51 2009 : Debug: preproxy_usersfile = "/etc/freeradius/preproxy_users" Wed Jul 8 12:10:51 2009 : Debug: compat = "no" Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: Module: Checking session {...} for more modules to load Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_radutmp, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_radutmp Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating radutmp Wed Jul 8 12:10:51 2009 : Debug: radutmp { Wed Jul 8 12:10:51 2009 : Debug: filename = "/var/log/freeradius/radutmp" Wed Jul 8 12:10:51 2009 : Debug: username = "%{User-Name}" Wed Jul 8 12:10:51 2009 : Debug: case_sensitive = yes Wed Jul 8 12:10:51 2009 : Debug: check_with_nas = yes Wed Jul 8 12:10:51 2009 : Debug: perm = 384 Wed Jul 8 12:10:51 2009 : Debug: callerid = yes Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: Module: Checking post-proxy {...} for more modules to load Wed Jul 8 12:10:51 2009 : Debug: Module: Checking post-auth {...} for more modules to load Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_attr_filter, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_attr_filter Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating attr_filter.access_reject Wed Jul 8 12:10:51 2009 : Debug: attr_filter attr_filter.access_reject { Wed Jul 8 12:10:51 2009 : Debug: attrsfile = "/etc/freeradius/attrs.access_reject" Wed Jul 8 12:10:51 2009 : Debug: key = "%{User-Name}" Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Debug: } # modules Wed Jul 8 12:10:51 2009 : Debug: } # server Wed Jul 8 12:10:51 2009 : Debug: server { Wed Jul 8 12:10:51 2009 : Debug: modules { Wed Jul 8 12:10:51 2009 : Debug: Module: Checking authenticate {...} for more modules to load Wed Jul 8 12:10:51 2009 : Debug: (Loaded rlm_python, checking if it's valid) Wed Jul 8 12:10:51 2009 : Debug: Module: Linked to module rlm_python Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating python Wed Jul 8 12:10:51 2009 : Debug: python_init done Wed Jul 8 12:10:51 2009 : Debug: python { Wed Jul 8 12:10:51 2009 : Debug: mod_instantiate = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_instantiate = "instantiate" Wed Jul 8 12:10:51 2009 : Debug: mod_authorize = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_authorize = "authorize" Wed Jul 8 12:10:51 2009 : Debug: mod_authenticate = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_authenticate = "authenticate" Wed Jul 8 12:10:51 2009 : Debug: mod_preacct = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_preacct = "accounting" Wed Jul 8 12:10:51 2009 : Debug: mod_detach = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_detach = "detach" Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Error: rlm_python:python_load_function: module 'radiusd_test' is not found Wed Jul 8 12:10:51 2009 : Error: rlm_python:EXCEPT:<type 'exceptions.ImportError'>: /var/lib/python-support/python2.6/_mysql.so: undefined symbol: PyExc_ImportError Wed Jul 8 12:10:51 2009 : Error: rlm_python:python_load_function: failed to import python function 'radiusd_test.instantiate' Wed Jul 8 12:10:51 2009 : Error: /etc/freeradius/modules/python[1]: Instantiation failed for module "python" Wed Jul 8 12:10:51 2009 : Error: /etc/freeradius/sites-enabled/iburst-prepaid[30]: Failed to find module "python". Wed Jul 8 12:10:51 2009 : Error: /etc/freeradius/sites-enabled/iburst-prepaid[30]: Failed to parse "python" entry. Wed Jul 8 12:10:51 2009 : Error: Errors initializing modules
I am sure i'm not the only person experiencing this problem. It seems when using the python module to handle auth/acct. If you include the MySQLdb module in the python script freeradius then dies and is unable to load the pythong module.
I am using the latest stable freeradius version 2.1.6, built for ubuntu as per http://wiki.freeradius.org/Build using fakeroot. The python script being used is the "prepaid.py" script renamed to "radiusd_test.py" in the example below.
...
Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating python Wed Jul 8 12:10:51 2009 : Debug: python_init done Wed Jul 8 12:10:51 2009 : Debug: python { Wed Jul 8 12:10:51 2009 : Debug: mod_instantiate = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_instantiate = "instantiate" Wed Jul 8 12:10:51 2009 : Debug: mod_authorize = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_authorize = "authorize" Wed Jul 8 12:10:51 2009 : Debug: mod_authenticate = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_authenticate = "authenticate" Wed Jul 8 12:10:51 2009 : Debug: mod_preacct = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_preacct = "accounting" Wed Jul 8 12:10:51 2009 : Debug: mod_detach = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_detach = "detach" Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Error: rlm_python:python_load_function: module 'radiusd_test' is not found
Are you sure radius user has permissions on radiusd_test.py? Ivan Kalik Kalik Informatika ISP
Yeah sure does, If I remove the line "import MySQLdb" it works fine. It seems to definanetly have a issue with this module. I've also tried sqlobject as a module and I get the same problem. Thanks, Mike Ivan Kalik wrote:
I am sure i'm not the only person experiencing this problem. It seems when using the python module to handle auth/acct. If you include the MySQLdb module in the python script freeradius then dies and is unable to load the pythong module.
I am using the latest stable freeradius version 2.1.6, built for ubuntu as per http://wiki.freeradius.org/Build using fakeroot. The python script being used is the "prepaid.py" script renamed to "radiusd_test.py" in the example below.
...
Wed Jul 8 12:10:51 2009 : Debug: Module: Instantiating python Wed Jul 8 12:10:51 2009 : Debug: python_init done Wed Jul 8 12:10:51 2009 : Debug: python { Wed Jul 8 12:10:51 2009 : Debug: mod_instantiate = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_instantiate = "instantiate" Wed Jul 8 12:10:51 2009 : Debug: mod_authorize = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_authorize = "authorize" Wed Jul 8 12:10:51 2009 : Debug: mod_authenticate = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_authenticate = "authenticate" Wed Jul 8 12:10:51 2009 : Debug: mod_preacct = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_preacct = "accounting" Wed Jul 8 12:10:51 2009 : Debug: mod_detach = "radiusd_test" Wed Jul 8 12:10:51 2009 : Debug: func_detach = "detach" Wed Jul 8 12:10:51 2009 : Debug: } Wed Jul 8 12:10:51 2009 : Error: rlm_python:python_load_function: module 'radiusd_test' is not found
Are you sure radius user has permissions on radiusd_test.py?
Ivan Kalik Kalik Informatika ISP
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
On 07/08/2009 04:16 AM, Michael da Silva Pereira wrote:
Hi All,
I am sure i'm not the only person experiencing this problem. It seems when using the python module to handle auth/acct. If you include the MySQLdb module in the python script freeradius then dies and is unable to load the pythong module.
I am using the latest stable freeradius version 2.1.6, built for ubuntu as per http://wiki.freeradius.org/Build using fakeroot. The python script being used is the "prepaid.py" script renamed to "radiusd_test.py" in the example below.
I am using the standard scripts and config from freeradius, I found a similar article regarding this and apparently has something to do with statically linking the module ?
Are there any solutions for this ?
Wed Jul 8 12:10:51 2009 : Error: rlm_python:python_load_function: module 'radiusd_test' is not found Wed Jul 8 12:10:51 2009 : Error: rlm_python:EXCEPT:<type 'exceptions.ImportError'>: /var/lib/python-support/python2.6/_mysql.so: undefined symbol: PyExc_ImportError Wed Jul 8 12:10:51 2009 : Error: rlm_python:python_load_function: failed to import python function 'radiusd_test.instantiate' Wed Jul 8 12:10:51 2009 : Error: /etc/freeradius/modules/python[1]: Instantiation failed for module "python" Wed Jul 8 12:10:51 2009 : Error: /etc/freeradius/sites-enabled/iburst-prepaid[30]: Failed to find module "python". Wed Jul 8 12:10:51 2009 : Error: /etc/freeradius/sites-enabled/iburst-prepaid[30]: Failed to parse "python" entry. Wed Jul 8 12:10:51 2009 : Error: Errors initializing modules
This seems to be wholey a Python problem, not a FreeRADIUS problem because you're getting a Python import error, specifically an unresolved reference to a symbol in a .so. It's probably easiest to diagnose this outside of FreeRADIUS. My first guess would be you've got something amiss in your Python setup because the missing symbol PyExc_ImportError is a common symbol which should be defined in libpython2.6.so. I'm guessing something is linked against the wrong libraries or a library path is not pointing in the right place. Here is a series of steps I would try: Fire up python from the command line by typing python, that will put you in a python interpreter shell. Then type "import MySQLdb". Does the import succeed? Try the same thing with your script. Check which libraries standard python are using (note, the path name will likely be different). % ldd /usr/bin/python linux-gate.so.1 => (0x005fc000) libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x0361d000) libpthread.so.0 => /lib/libpthread.so.0 (0x003c2000) libdl.so.2 => /lib/libdl.so.2 (0x003bb000) libutil.so.1 => /lib/libutil.so.1 (0x001d5000) libm.so.6 => /lib/libm.so.6 (0x00391000) libc.so.6 => /lib/libc.so.6 (0x0021d000) /lib/ld-linux.so.2 (0x001f9000) On my system _mysql.so in in /usr/lib/python2.6/site-packages but on yours its in /var/lib/python-support/python2.6/_mysql.so, adjust the paths appropriately. % ldd /usr/lib/python2.6/site-packages/_mysql.so linux-gate.so.1 => (0x00acd000) libmysqlclient_r.so.16 => /usr/lib/mysql/libmysqlclient_r.so.16 (0x004c8000) libz.so.1 => /lib/libz.so.1 (0x00110000) libpthread.so.0 => /lib/libpthread.so.0 (0x004ac000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x009e6000) libnsl.so.1 => /lib/libnsl.so.1 (0x00407000) libm.so.6 => /lib/libm.so.6 (0x00b60000) libssl.so.8 => /usr/lib/libssl.so.8 (0x00f58000) libcrypto.so.8 => /usr/lib/libcrypto.so.8 (0x0021b000) libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x0063c000) libc.so.6 => /lib/libc.so.6 (0x007bc000) /lib/ld-linux.so.2 (0x001f9000) libfreebl3.so => /lib/libfreebl3.so (0x00123000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x0016b000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00e13000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x00196000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00199000) libresolv.so.2 => /lib/libresolv.so.2 (0x00ed6000) libdl.so.2 => /lib/libdl.so.2 (0x001cc000) libutil.so.1 => /lib/libutil.so.1 (0x001d1000) libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x0043e000) libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00cea000) libselinux.so.1 => /lib/libselinux.so.1 (0x001d5000) This will tell you what the loader will try to resolve when you try to do the import. If you see a mismatch in the libraries or their paths then there is your culprit. -- John Dennis <jdennis@redhat.com> Looking to carve out IT costs? www.redhat.com/carveoutcosts/
participants (3)
-
Ivan Kalik -
John Dennis -
Michael da Silva Pereira