Ok,
it looks like something is messed-up.
If it is to build a fresh install of freeradius, I would rather recommend the following way:
1. Grab the sources directly from freeradius website. 2. Clean your old installed libraries (from old freeradius install). 3. Type in your root folder: "./configure --with-static-modules=python" 4. Type: "./src/modules/rlm_python/configure" 5. Type: "make" and "make install in root folder.
Let me know if that works. DanB
On 8/22/07, Marc LEURENT lftsy@free.fr wrote:
Sorry for the error! I have compiles freeradius doing:
- I have installed freeradius from debian source: apt-get source freeradius
- I have added --with-experimetal-modules: in the debian/rules file => so the python module is compiled
- I have changed rlm_digest.c with the one you gave me
- I have changed the src/modules/rlm_sql/drivers/rlm_sql_mysql/sql_mysql.c file to grant sql procedure
- I have build my package with dpkg-buildpackage -rfakeroot -uc -us
- I have modified the sql.conf and radiusd.conf file for CDRTool and the dictionary file
memcache is loaded and listening, python-memcache and your module are installed
That's all
Dan-Cristian Bogos a écrit :
Marc,
This is still an error from python, not my module. I think it has something to do with linking inside between C and python. What were the steps in your freeradius installation?
DanB
On 8/22/07, Marc LEURENT lftsy@free.fr wrote:
I have compiled the experimental modules, now the python module is working but I have an error with yours... I have changed the rlm_digest.c and fixed the sql module to work with procedure
rlm_sql (sql): Connected new DB handle, #4 Module: Instantiated sql (sql) python_init done Module: Loaded python python: mod_instantiate = "freeradius-cdrtool" python: func_instantiate = "instantiate" python: mod_authorize = "freeradius-cdrtool" python: func_authorize = "authorize" python: mod_authenticate = "(null)" python: func_authenticate = "(null)" python: mod_preacct = "(null)" python: func_preacct = "(null)" python: mod_accounting = "freeradius-cdrtool" python: func_accounting = "accounting" python: mod_checksimul = "(null)" python: func_checksimul = "(null)" python: mod_detach = "freeradius-cdrtool" python: func_detach = "detach" exceptions.ImportError: /usr/lib/python2.4/lib-dynload/_socket.so: undefined symbol: _Py_TrueStruct Failed to import python module "freeradius-cdrtool" radiusd.conf[544]: python: Module instantiation failed. radiusd.conf[1884] Unknown module "python". radiusd.conf[1792] Failed to parse authorize section. zsh: exit 1 freeradius -X
Dan-Cristian Bogos a écrit :
You can get it from here: http://frad-cdrtool.sourceforge.net/rlm_digest.c
DanB
On 8/22/07, Marc LEURENT lftsy@free.fr wrote:
I haven't found this patch on http://sourceforge.net/projects/frad-cdrtool... Where did you found it? Thanks
Dan-Cristian Bogos a écrit :
Marc,
I don't have this problem. I have compiled freeradius with rlm_python from sources.
For problems with freeradius, I think the best would be to grab some support directly from their mailing list, since they are pretty helpful. Don't forget about patching also rlm_digest in order to sanitize the params coming from OpenSER in the authorization phase and not the authentication one. They promised for future releases to include this patch inside the distribution.
Cheers, DanB
On 8/22/07, Marc LEURENT lftsy@free.fr wrote: > I have corrected it: mea culpa > > But now I have a real trouble: > When I start freeradius, it said that it can't find rlm_python.so, but this is normal because we added --with-static-modules=python > > > Did you have thos problem? > Do you know how to correct it? > > Thanks > > rlm_sql (sql): Connected new DB handle, #4 > Module: Instantiated sql (sql) > radiusd.conf[544] Failed to link to module 'rlm_python': rlm_python.so: cannot open shared object file: No such file or directory > radiusd.conf[1884] Unknown module "python". > radiusd.conf[1792] Failed to parse authorize section. > zsh: exit 1 freeradius -X > > > Dan-Cristian Bogos a écrit : >> Hi Marc, >> >> it looks like you are getting some problems related to stored >> procedure in your mysql database. Did u install also the radius patch >> recommended by AG-Projects in order to work properly with stored >> procedures? On the sql side I cannot help you too much since I am >> using still the normal sql queries without stored procedures. >> >> DanB >> >> On 8/22/07, Marc LEURENT lftsy@free.fr wrote: >>> I have followed your advice, Freeradius is recompiled with rlm_python, >>> byt know, rlm_sql seems to encountered troubles >>> like : >>> >>> rlm_sql (sql): Reserving sql socket id: 2 >>> rlm_sql_mysql: MYSQL check_error: 1312 received >>> >>> Any idea of how to repair this? >>> Thanks >>> >>> >>> I have added this in my debian/rules file: >>> >>> modulelist=krb5 ldap sql_mysql sql_iodbc python >>> ... >>> ... >>> ./configure \ >>> $(confflags) \ >>> --prefix=/usr \ >>> ... \ >>> --with-static-modules=python >>> >>> >>> >>> Here is my freeradius debug: >>> >>> rlm_detail: /var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d expands to /var/log/freeradius/radacct/127.0.0.1/detail-20070822 >>> modcall[accounting]: module "detail" returns ok for request 5 >>> modcall[accounting]: module "unix" returns noop for request 5 >>> radius_xlat: '/var/log/freeradius/radutmp' >>> radius_xlat: '' >>> modcall[accounting]: module "radutmp" returns ok for request 5 >>> radius_xlat: '' >>> radius_xlat: ' CALL insert_radacct_record( 'radius', '52f74a-c0a80101-0-4@192.168.95.79', >>> '36afb36cd5c82c34', 'sip:101@sd-7501.dedibox.fr:5060=3Buser=3Dphone', >>> 'sip:101@sd-7501.dedibox.fr:5060=3Buser=3Dphone', '88.191.45.91', '5060', '2007-08-22 13:59:25', >>> '0', '0', '0', '0', '', '', '200', >>> 'Sip-Session', '', '', '0', '0', '200', >>> 'INVITE', '', 'c0a80101-5766ea7', 'c0a80101-4e8244', '', '', >>> '', 'sip:0033677832974@sd-7501.dedibox.fr:5060=3Buser=3Dphone', '', '' )' >>> rlm_sql (sql): Reserving sql socket id: 2 >>> rlm_sql_mysql: MYSQL check_error: 1312 received >>> rlm_sql (sql): Couldn't insert SQL accounting START record - PROCEDURE radius.insert_radacct_record can't return a result set in the given context >>> radius_xlat: '' >>> rlm_sql (sql): Released sql socket id: 2 >>> modcall[accounting]: module "sql" returns ok for request 5 >>> >>> >>> >>> >>> >>> Dan-Cristian Bogos a écrit : >>>> Marc, >>>> >>>> I would suggest as first step reading about how prepaid works in >>>> CDRTool. (see PREPAID.txt in doc folder). >>>> >>>> I personally use freeradius-cdrtool connector >>>> (sourceforge.net/projects/frad-cdrtool), which I have written in >>>> python and which needs rlm_python compiled into freeradius server. >>>> >>>> Have a look on all the info and let me know if u need any additional. >>>> >>>> Cheers, >>>> DanB >>>> >>>> On 8/20/07, Marc LEURENT lftsy@free.fr wrote: >>>>> No... >>>>> Is it possible to do it with openser or is it compulsory to use asterisk? >>>>> What do you use? >>>>> >>>>> Thanks >>>>> >>>>> >>>>> Dan-Cristian Bogos a écrit : >>>>>> Hi there Marc, >>>>>> >>>>>> are you using any application which locks, unlocks the prepaid >>>>>> accounts, and instructs CDRTool to update the user's balance? Are you >>>>>> aware that CDRTool uses separate applications for prepaid and postpaid >>>>>> accounts? >>>>>> >>>>>> DanB