Hi.

code from rlm_preprocess.c:

                if ((vp->attribute & 0xffff) == 1) {
                        char *p;
                        DICT_ATTR       *dattr;

                        p = vp->strvalue;
                        getword(&p, newattr, sizeof(newattr));

                        if (((dattr = dict_attrbyname(newattr)) != NULL) &&

code from token.c

/*
 *      Read a "word" - this means we don't honor
                                   ~~~~~~~~~~~~~~
 *      tokens as delimiters.
 */     
int getword(char **ptr, char *buf, int buflen)
{
        return getthing(ptr, buf, buflen, 0, tokens) == T_EOL ? 0 : 1;
}


Original Pair:
  Cisco-AVPair = "h323-call-id=4a78b822 95b611d7 adceea25 76190b93"
vp->strvalue:
  'h323-call-id=4a78b822 95b611d7 adceea25 76190b93'
after getword:
  'h323-call-id=4a78b822'


gettoken() instead of a getword() ?

P.S.
--- src/modules/rlm_preprocess/rlm_preprocess.c.orig    Wed Jun  4 14:00:58 2003
+++ src/modules/rlm_preprocess/rlm_preprocess.c Wed Jun  4 15:41:37 2003
@@ -145,7 +145,7 @@
                        DICT_ATTR       *dattr;
 
                        p = vp->strvalue;
-                       getword(&p, newattr, sizeof(newattr));
+                       if (gettoken(&p, newattr, sizeof(newattr)) == T_EOL) continue;
 
                        if (((dattr = dict_attrbyname(newattr)) != NULL) &&
                            (dattr->type == PW_TYPE_STRING)) {

-- 
Vladimir Kravchenko / PK Mostcom JSC / system engineer
Tel: +7 095 2312255 / UIN: 132038843 / Email: [EMAIL PROTECTED] 

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

Reply via email to