return 0;
}
-static int ParseIpv6String(Dataset *set, char *line, struct in6_addr *in6)
+static int ParseIpv6String(Dataset *set, const char *line, struct in6_addr *in6)
{
/* Checking IPv6 case */
char *got_colon = strchr(line, ':');
return DatasetOpIPv4(set, (uint8_t *)&in.s_addr, 4);
}
case DATASET_TYPE_IPV6: {
- struct in6_addr in;
- if (inet_pton(AF_INET6, string, &in) != 1)
+ struct in6_addr in6;
+ if (ParseIpv6String(set, string, &in6) != 0) {
+ SCLogError("Dataset failed to import %s as IPv6", string);
return -2;
- return DatasetOpIPv6(set, (uint8_t *)&in.s6_addr, 16);
+ }
+ return DatasetOpIPv6(set, (uint8_t *)&in6.s6_addr, 16);
}
}
return -1;