I was not able to find any ideas from the archive although one other user had experiencedvictor and i have been having a sidebar discussion since i was the user that didn't get a response [1] about this same issue. at the time, i resorted to the fairly blunt force method of just compiling new releases with the valuepairs.c code from the 0.71 release. this afternoon i did a little more fiddling and found that if i only replace the 0.9x case PW_TYPE_OCTETS code [2] with the 0.71 case PW_TYPE_OCTETS code [3] from valuepairs.c and recompile, then the users file will parse without the errors.
this issue but did not get a response. Any suggestions on what I should look at??
i know this isn't a proper diff and i don't know if anyone wants to put it into the CVS, but it's what i had to do to get things working.
[1] http://lists.cistron.nl/pipermail/freeradius-users/2003-September/024087.html
[2] 0.91 "non-working" code:
case PW_TYPE_OCTETS:
if (strncasecmp(value, "0x", 2) == 0) {
u_char *us;
cp = value + 2;
us = vp->strvalue;
vp->length = 0; while (*cp && vp->length < MAX_STRING_LEN) {
unsigned int tmp;if (sscanf(cp, "%02x", &tmp) != 1) {
librad_log("Non-hex characters at %c%c", cp[0], cp[1]);
return NULL;
}
cp += 2;
*(us++) = tmp;
vp->length++;
}
*us = '\0';
}
break;[3] 0.71 working code:
case PW_TYPE_OCTETS:
vp->length = 0;
if (strncasecmp(value, "0x", 2) == 0) {
u_char *us;
cp = value + 2;
us = vp->strvalue;
while (*cp && vp->length < MAX_STRING_LEN) {
unsigned int tmp; if (sscanf(cp, "%02x", &tmp) != 1)
break; cp += 2;
*(us++) = tmp;
vp->length++;
}
*us = '\0';
}
break;- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

