}
p = (char **) variables[i].data;;
+
+ } else if (variables[i].data) {
+ p = (char **) variables[i].data;;
+
} else {
p = (char **) (((char *)base) + variables[i].offset);
}
radlog(L_ERR, "Bad value \"%s\" for boolean variable %s", value, name);
return -1;
}
- DEBUG2(" %s: %s = %s", cs->name1, name, value);
+ if (cs->name2) {
+ DEBUG2(" %s %s: %s = %s", cs->name1, cs->name2, name, value);
+ } else {
+ DEBUG2(" %s: %s = %s", cs->name1, name, value);
+ }
break;
case PW_TYPE_INTEGER:
*(int *)data = strtol(value, 0, 0);
- DEBUG2(" %s: %s = %d",
- cs->name1, name,
- *(int *)data);
+ if (cs->name2) {
+ DEBUG2(" %s %s: %s = %d",
+ cs->name1, cs->name2, name,
+ *(int *)data);
+ } else {
+ DEBUG2(" %s: %s = %d",
+ cs->name1, name,
+ *(int *)data);
+ }
break;
case PW_TYPE_STRING_PTR:
if (!value) return -1;
}
- DEBUG2(" %s: %s = \"%s\"",
- cs->name1, name,
- value ? value : "(null)");
+ if (cs->name2) {
+ DEBUG2(" %s %s: %s = \"%s\"",
+ cs->name1, cs->name2, name,
+ value ? value : "(null)");
+ } else {
+ DEBUG2(" %s: %s = \"%s\"",
+ cs->name1, name,
+ value ? value : "(null)");
+ }
*q = value ? strdup(value) : NULL;
break;
if (!value) return -1;
}
- DEBUG2(" %s: %s = \"%s\"",
- cs->name1, name,
- value ? value : "(null)");
+ if (cs->name2) {
+ DEBUG2(" %s %s: %s = \"%s\"",
+ cs->name1, cs->name2, name,
+ value ? value : "(null)");
+ } else {
+ DEBUG2(" %s: %s = \"%s\"",
+ cs->name1, name,
+ value ? value : "(null)");
+ }
*q = value ? strdup(value) : NULL;
/*
radlog(L_ERR, "Can't find IP address for host %s", value);
return -1;
}
- DEBUG2(" %s: %s = %s IP address [%s]",
- cs->name1, name, value,
- ip_ntoh(&ipaddr, ipbuf, sizeof(ipbuf)));
+ if (cs->name2) {
+ DEBUG2(" %s %s: %s = %s IP address [%s]",
+ cs->name1, cs->name2, name, value,
+ ip_ntoh(&ipaddr, ipbuf, sizeof(ipbuf)));
+ } else {
+ DEBUG2(" %s: %s = %s IP address [%s]",
+ cs->name1, name, value,
+ ip_ntoh(&ipaddr, ipbuf, sizeof(ipbuf)));
+ }
*(uint32_t *) data = ipaddr.ipaddr.ip4addr.s_addr;
break;
radlog(L_ERR, "Can't find IPv6 address for host %s", value);
return -1;
}
- DEBUG2(" %s: %s = %s IPv6 address [%s]",
- cs->name1, name, value,
- ip_ntoh(&ipaddr, ipbuf, sizeof(ipbuf)));
+ if (cs->name2) {
+ DEBUG2(" %s %s: %s = %s IPv6 address [%s]",
+ cs->name1, cs->name2, name, value,
+ ip_ntoh(&ipaddr, ipbuf, sizeof(ipbuf)));
+ } else {
+ DEBUG2(" %s: %s = %s IPv6 address [%s]",
+ cs->name1, name, value,
+ ip_ntoh(&ipaddr, ipbuf, sizeof(ipbuf)));
+ }
memcpy(data, &ipaddr.ipaddr.ip6addr,
sizeof(ipaddr.ipaddr.ip6addr));
break;