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