{ 114, STRING, "default_url" },
{ 118, IPV4, "subnet_selection" },
{ 119, STRING | RFC3397, "domain_search" },
+ { 120, STRING | RFC3361, "sip_server" },
{ 212, RFC5969, "sixrd" },
{ 0, 0, NULL }
};
addr.s_addr = INADDR_BROADCAST;
l = ((dl / sizeof(addr.s_addr)) * ((4 * 4) + 1)) + 1;
sip = p = xmalloc(l);
- while (l != 0) {
+ while (dl != 0) {
memcpy(&addr.s_addr, data, sizeof(addr.s_addr));
data += sizeof(addr.s_addr);
p += snprintf(p, l - (p - sip), "%s ", inet_ntoa(addr));
- l -= sizeof(addr.s_addr);
+ dl -= sizeof(addr.s_addr);
}
*--p = '\0';
break;
return l;
}
+ if (type & RFC3361) {
+ if ((tmp = decode_rfc3361(dl, data)) == NULL)
+ return -1;
+ l = strlen(tmp);
+ print_string(s, len, l, (uint8_t *)tmp);
+ free(tmp);
+ return l;
+ }
+
if (type & RFC3442)
return decode_rfc3442(s, len, dl, data);