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(a)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(a)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(a)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(a)192.168.95.79'.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(a)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