Thank you very much Joe for your very very fast response :-) Joe Maimon <jmaimon@ttec.com> escribió: Maria Ripolles wrote:
Hy all,
I am developing a custom module
Perhaps what you are doing can be done via a shell script called with the exec module?
and I am a bit lost with the code. I am not a C programmer so sorry if my question is very stupid.
Well its not going to be peaches and cream for you then.
I want to extract the differents A/V pairs contained in the Access-Request packets and check if any of them is the attribute "Connect-Info". In that case I would like to pass the value of the "Connect-Info" attribute to a function called auxiliar. Here is my code:
static int auxiliar (char * value) { ..... }
static int mymodule_authorize (void *instance, REQUEST *request) { ....
VALUE_PAIR *request_pairs; request_pairs=request->packet->vps;
VALUE_PAIR *aux = NULL;
char * Attribute_Name = NULL; char *Attribute_Value = NULL; int type = 0;
for ( aux=request_pairs; aux; aux=aux->next) { Attribute_Name = aux->name; Attribute_Value = aux->strvalue;
if (aux->attribute == PW_CONNECT_INFO) { type=auxiliar(aux->strvalue); /* is this correct? I mean, is aux->strvalue a char * type? */ }
..... }
strvalue is a char * in older versions. In CVS head its a union and you can access it (due to a compatibility macro) by vp->vp_strvalue the last time I looked. you can use the pairfind() function to find the attribute you are looking for. Consider that Connect-info may appear zero or more times in a request.
Am I on the right track?
Eyeball review suggests that your code might work.
Thank you a lot for your help and best regards
LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y moviles desde 1 centimo por minuto. http://es.voice.yahoo.com
------------------------------------------------------------------------
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html --------------------------------- LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y moviles desde 1 centimo por minuto. http://es.voice.yahoo.com