Using STORED PROCEDURE with Freeradius

Saeed Ahmed saeed at n-g-c.com
Wed Feb 8 12:52:30 CET 2006


Thanks for your response. I tried this query:

authorize_check_query = "SELECT id, UN, Attribute, Value, op \
          FROM ${authcheck_table} \
          WHERE UN = '%{SQL-User-Name}' \
          ORDER BY id"

In above query I changed Username to UN, but radius was still working, so I
think its not necessary to return 'UserName' there could be some other
problem to use SP with FR. As I explored on web, I think I need to change
some mysql connect parameters, but I don't know from where should I start,
or is it really the point which is causing problem. I need more help please.


Thanks 
Saeed.


From: freeradius-users-bounces+saeed=n-g-c.com at lists.freeradius.org
[mailto:freeradius-users-bounces+saeed=n-g-c.com at lists.freeradius.org] On
Behalf Of Agus Supriyadi
Sent: Wednesday, February 08, 2006 3:55 AM
To: FreeRadius users mailing list
Subject: Re: Using STORED PROCEDURE with Freeradius


2006/2/7, Saeed Ahmed <saeed at n-g-c.com>:
Hi,

For some reasons I've to use Stored procedure With Freeradius but I am
getting following error from mysql:
Error: 1312 SQLSTATE: 0A000 (ER_SP_BADSELECT) 
Message: PROCEDURE %s can't return a result set in the given context
You can consider the following example:

Instead of following authorize_check_query
      authorize_check_query = "SELECT id, UserName, Attribute, Value, op,
uid \
          FROM ${authcheck_table} \
          WHERE Username = '%{SQL-User-Name}' \
          ORDER BY id"
I want to use this:
authorize_check_query = "CALL molo('%{SQL-User-Name}')"
And this is my stored proc in mysql: 

DELIMITER $$;
DROP PROCEDURE IF EXISTS `radius`.`molo`$$
CREATE PROCEDURE `molo`(did VARCHAR(10))
BEGIN
DECLARE rid INT;
DECLARE ruid VARCHAR(15);
DECLARE rattr VARCHAR(15);
DECLARE rop CHAR(2);
DECLARE rval VARCHAR(10);
SELECT id, UserName, Attribute, Value, op INTO rid,ruid,rattr,rop,rval  from
radcheck WHERE UserName=did;
SELECT rid,ruid,rattr,rop,rval;
END$$
DELIMITER;$$
I can call this stored proc From any my sql client successfully, but if I
call it from sql.conf it give s error: 1312. 

Any solution please?

Thanks in advance
Saeed Ahmed.

-
List info/subscribe/unsubscribe? See
http://www.freeradius.org/list/users.html


Perhaps it's happen because the field name returned by the molo procedure.
I think you have to use UserName insted of ruid because UserName field
already mapped to User-Name Attribute. Or you have to change how freeradius
map the attributes with field in your database. 

Regards

Agus
-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d(-) s:- a--- C++(+++)$>++++$ UL$>++++$ P+? L++$>$ !E--- W++ !N !o !K--
w !O M !V PS PE !Y PGP t 5 X R tv b DI D G e h r y 
------END GEEK CODE BLOCK------ 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 6722 bytes
Desc: not available
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20060208/6f4cc8ca/attachment.bin>


More information about the Freeradius-Users mailing list