Multiple python modules

Rob Johnson [rbj] rbj at aber.ac.uk
Mon Oct 10 11:33:44 CEST 2016


Version 3.0.11 on Debian Jessie,

HI, I am having an odd problem by which the service will not start using "service freeradius start" but will start and run ok if kicking off from the shell using "freeradius" or "freeradius -X". I am not getting any obvious errors from  journalctl -xn:

-- Logs begin at Fri 2016-10-07 13:09:38 BST, end at Mon 2016-10-10 10:28:57 BST. --
Oct 10 10:28:57 radius1.aber.ac.uk freeradius[24798]: rlm_ldap (nonbis): Initialising connection pool
Oct 10 10:28:57 radius1.aber.ac.uk freeradius[24798]: Ignoring "sql" (see raddb/mods-available/README.rst)
Oct 10 10:28:57 radius1.aber.ac.uk freeradius[24798]: radiusd: #### Skipping IP addresses and Ports ####
Oct 10 10:28:57 radius1.aber.ac.uk freeradius[24798]: Configuration appears to be OK
Oct 10 10:28:57 radius1.aber.ac.uk freeradius[24798]: rlm_ldap (bis): Removing connection pool
Oct 10 10:28:57 radius1.aber.ac.uk freeradius[24798]: rlm_ldap (cisco): Removing connection pool
Oct 10 10:28:57 radius1.aber.ac.uk freeradius[24798]: rlm_ldap (nonbis): Removing connection pool
Oct 10 10:28:57 radius1.aber.ac.uk systemd[1]: freeradius.service: control process exited, code=killed status=11
Oct 10 10:28:57 radius1.aber.ac.uk systemd[1]: Failed to start FreeRADIUS multi-protocol policy server.
-- Subject: Unit freeradius.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit freeradius.service has failed.
--
-- The result is failed.
Oct 10 10:28:57 radius1.aber.ac.uk systemd[1]: Unit freeradius.service entered failed state.


I have linked this to having more than one python module in operation, if I remove the 2nd python module, then all is good when using service freeradius start. If I have the module in a separate file, it still fails to start the service. When running using freeradius -X, the 2nd module works as expected.

This is my python module config file:

python aberpython {
        module = vlans

        python_path = ${modconfdir}/${.:name}:/usr/lib/python2.7/:/usr/local/lib/python2.7/dist-packages/

        mod_instantiate = ${.module}
#       func_instantiate = instantiate

        mod_detach = ${.module}
#       func_detach = instantiate

        mod_authorize = ${.module}
        func_authorize = authorize

        mod_authenticate = ${.module}
#       func_authenticate = authenticate

        mod_preacct = ${.module}
#       func_preacct = preacct

        mod_accounting = ${.module}
        func_accounting = accounting

        mod_checksimul = ${.module}
#       func_checksimul = checksimul

        mod_pre_proxy = ${.module}
#       func_pre_proxy = pre_proxy

        mod_post_proxy = ${.module}
#       func_post_proxy = post_proxy

        mod_post_auth = ${.module}
        func_post_auth = post_auth

        mod_recv_coa = ${.module}
#       func_recv_coa = recv_coa

        mod_send_coa = ${.module}
#       func_send_coa = send_coa
}

python pythonfail {
        module = logfailedauth

        mod_instantiate = ${.module}
#       func_instantiate = instantiate

        mod_detach = ${.module}
#       func_detach = instantiate

#       mod_authorize = ${.module}
#       func_authorize = authorize

#       mod_authenticate = ${.module}
#       func_authenticate = authenticate

        mod_preacct = ${.module}
#       func_preacct = preacct

        mod_accounting = ${.module}
#       func_accounting = accounting

        mod_post_auth = ${.module}
        func_post_auth = post_auth

        mod_recv_coa = ${.module}
#       func_recv_coa = recv_coa

        mod_send_coa = ${.module}
#       func_send_coa = send_coa
}

Any ideas?

Cheers, Rob


More information about the Freeradius-Users mailing list