Download raw body.
radiusd: replace inet_aton with inet_pton
Documentation says IP addresses are not truncated, so the parser can
be stricter and only accept dotted IP addresses.
Same as npppd, I think this code actually comes from there, or the other
way around.
Not a user of radiusd.
Tests, OKs?
diff --git radiusd_ipcp.c radiusd_ipcp.c
index 27cd3c4bd13..91a519f81e1 100644
--- radiusd_ipcp.c
+++ radiusd_ipcp.c
@@ -447,7 +447,7 @@ ipcp_config_set(void *ctx, const char *name, int argc, char * const * argv)
SYNTAX_ASSERT(argc == 1 || argc == 2,
"specify 1 or 2 addresses for `name-server'");
for (i = 0; i < argc; i++) {
- if (inet_aton(argv[i], &ina) != 1) {
+ if (inet_pton(AF_INET, argv[i], &ina) != 1) {
module_send_message(module->base, IMSG_NG,
"Invalid IP address: %s", argv[i]);
return;
@@ -464,7 +464,7 @@ ipcp_config_set(void *ctx, const char *name, int argc, char * const * argv)
SYNTAX_ASSERT(argc == 1 || argc == 2,
"specify 1 or 2 addresses for `name-server'");
for (i = 0; i < argc; i++) {
- if (inet_aton(argv[i], &ina) != 1) {
+ if (inet_pton(AF_INET, argv[i], &ina) != 1) {
module_send_message(module->base, IMSG_NG,
"Invalid IP address: %s", argv[i]);
return;
@@ -1735,22 +1735,22 @@ parse_address_range(const char *range)
goto error;
if ((sep = strchr(buf, '-')) != NULL) {
*sep = '\0';
- if (inet_aton(buf, &start) != 1)
+ if (inet_pton(AF_INET, buf, &start) != 1)
goto error;
- else if (inet_aton(++sep, &end) != 1)
+ else if (inet_pton(AF_INET, ++sep, &end) != 1)
goto error;
start.s_addr = ntohl(start.s_addr);
end.s_addr = ntohl(end.s_addr);
} else {
if ((sep = strchr(buf, '/')) != NULL) {
*sep = '\0';
- if (inet_aton(buf, &start) != 1)
+ if (inet_pton(AF_INET, buf, &start) != 1)
goto error;
masklen = strtonum(++sep, 0, 32, &errstr);
if (errstr != NULL)
goto error;
} else {
- if (inet_aton(buf, &start) != 1)
+ if (inet_pton(AF_INET, buf, &start) != 1)
goto error;
masklen = 32;
}
--
In my defence, I have been left unsupervised.
radiusd: replace inet_aton with inet_pton