Hi There is one more problem i am encountering although the function works. If i try to authenticate a user who is not valid i do not get an Access-Reject but rather i get RADIUS: Retransmit to (192.168.1.12:1812,1813) for id 1645/201 RADIUS: Retransmit to (192.168.1.12:1812,1813) for id 1645/201 RADIUS: Retransmit to (192.168.1.12:1812,1813) for id 1645/201 RADIUS: No response from (192.168.1.12:1812,1813) for id 1645/201 RADIUS/DECODE: No response from radius-server; parse response; FAIL RADIUS/DECODE: Case error(no response/ bad packet/ op decode);parse response; FAIL But that for a valid user works just fine I implemented this in the freeradius postgresql.conf file SELECT id,username,attribute,value,op FROM try('7140944444','0000') as(id integer,username varchar,attribute varchar,value varchar,op character); and implemented this function on the Postgres database server CREATE OR REPLACE FUNCTION try (your_name TEXT, tiger TEXT) RETURNS RECORD AS $$ DECLARE users_rec RECORD; BEGIN if tiger = '0000' then SELECT INTO users_rec * FROM aniradcheck WHERE username = your_name; else SELECT INTO users_rec * FROM radcheck WHERE username = your_name; end if; RETURN users_rec.username; END; $$ LANGUAGE plpgsql; Help will be very much appreciated On Mon, Oct 18, 2010 at 2:23 PM, Kafui Akyea <kakyea@gmail.com> wrote:
Alan,
Thanks a lot that worked
Kafui
On Mon, Oct 18, 2010 at 11:52 AM, Alan DeKok <aland@deployingradius.com>wrote:
Kafui Akyea wrote:
Hi
I implemented this in the freeradius postgresql.conf file SELECT id,username,attribute,op,value
That's the wrong order. See the default SELECT in raddb/sql/postgresql/dialup.conf.
I am generally trying to authenticate with a postgres function
Make sure it returns exactly the same information, in the same order, as the default queries.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html