aboutgitcodebugslistschat
path: root/conf.c
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2024-09-20 14:12:44 +1000
committerStefano Brivio <sbrivio@redhat.com>2024-09-25 19:03:17 +0200
commitb55013b1a7e7dd7e4e90455703d272b9ffc28b64 (patch)
tree3c36d9ee1f4f96d6954067237e8f3330d8e33569 /conf.c
parentcbde4192eeef7a5640aea6dd84d5eac02841ef5c (diff)
downloadpasst-b55013b1a7e7dd7e4e90455703d272b9ffc28b64.tar
passt-b55013b1a7e7dd7e4e90455703d272b9ffc28b64.tar.gz
passt-b55013b1a7e7dd7e4e90455703d272b9ffc28b64.tar.bz2
passt-b55013b1a7e7dd7e4e90455703d272b9ffc28b64.tar.lz
passt-b55013b1a7e7dd7e4e90455703d272b9ffc28b64.tar.xz
passt-b55013b1a7e7dd7e4e90455703d272b9ffc28b64.tar.zst
passt-b55013b1a7e7dd7e4e90455703d272b9ffc28b64.zip
inany: Add inany_pton() helper
We already have an inany_ntop() function to format inany addresses into text. Add inany_pton() to parse them from text, and use it in conf_ports(). Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'conf.c')
-rw-r--r--conf.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/conf.c b/conf.c
index 9f1cd83..6e62510 100644
--- a/conf.c
+++ b/conf.c
@@ -215,9 +215,6 @@ static void conf_ports(const struct ctx *c, char optname, const char *optarg,
if (ifname == buf + 1) { /* Interface without address */
addr = NULL;
} else {
- struct in6_addr a6;
- struct in_addr a4;
-
p = buf;
/* Allow square brackets for IPv4 too for convenience */
@@ -226,11 +223,7 @@ static void conf_ports(const struct ctx *c, char optname, const char *optarg,
p++;
}
- if (inet_pton(AF_INET, p, &a4))
- inany_from_af(addr, AF_INET, &a4);
- else if (inet_pton(AF_INET6, p, &a6))
- inany_from_af(addr, AF_INET6, &a6);
- else
+ if (!inany_pton(p, addr))
goto bad;
}
} else {