On 15 Jan 2013, at 11:30, Lakshmi Narayana Baliah <lb0074...@techmahindra.com> 
wrote:

> Hi Arran,
> 
> Thanks for your reply.... have created stored procedure(myS1Request) in 
> oracle database 11g as shown below, procedure takes input and output 
> parameters.
> The below procedure should be called in the SQL module in Free-radius for 
> Authentication and Authorization purpose.
> 
> PROCEDURE myS1Request(
>        UserName         IN  VARCHAR2,
>        MessageType      IN  LONG,
>        RemoteAddress    IN  LONG,
>        FemtoAp          IN  VARCHAR2,
>        RadCoverageInd   IN  LONG,
>        RadCellId        IN  LONG,
>        Rad3GCellId      IN  LONG,
>        RadGeoCord       IN  LONG,
>        RadAltDirection  IN  LONG,
>        HNBIPAddress     IN  LONG,
>        RadPLMNId        IN  LONG,
>        HNBCellIdentity  IN  LONG,
>        RadLocAreaLAC    IN  LONG,
>        RadRoutAreaCode  IN  LONG,
>        RadServiceArCode IN  LONG,
>         RadCSGId         IN  LONG,
>        RadUECap         IN  LONG,
>        Result           OUT VARCHAR2,
>        RadRegRejCau     OUT LONG,
>        RadLocBlacklInd  OUT LONG,
>        HNBCellId        OUT LONG,
>        RadServiceAreaC  OUT LONG,
>        RadLocationAreaI OUT LONG,
>        RadRoutAreaC     OUT LONG
>         ) 
> 
> 
> please help me how can proceed...........

Just use the syntax that you usually would for calling stored procedures. Or if 
that doesn't work because oracle has a special function that needs to be 
called, submit patches.

For adding attributes to the reply list, you want to modify the 
authorize_reply_query.

As per the examples you can use %{attribute} syntax to specify parts of the SQL 
query string to replace with attribute values from the request. 

You need to return a result set in the format

https://github.com/FreeRADIUS/freeradius-server/blob/master/src/modules/rlm_sql/sql.c#L147

expects.

That is, one row per attribute that needs to be added to the reply, with the 
columns:
id, username, attribute, value, op

Id and username aren't used IIRC so they can be anything.

If you feel like getting into the server code, I think there'd be some value 
for SQL and LDAP to be able to register 'mapping' xlat functions, which when 
called with a query maps columns in the result to a RADIUS attributes, with a 
default operator specified by the map.

Sort of like the shim code you'd find in some FFI (foreign function interface) 
implementations. Actually i'd be interested in getting other people's opinion 
on that.

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

Reply via email to