aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/openvpn/networking_freebsd.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/src/openvpn/networking_freebsd.c b/src/openvpn/networking_freebsd.c
index 5fcb738..0633dce 100644
--- a/src/openvpn/networking_freebsd.c
+++ b/src/openvpn/networking_freebsd.c
@@ -15,7 +15,7 @@ net_route_v4(const char *op, const in_addr_t *dst, int prefixlen,
const in_addr_t *gw, const char *iface, uint32_t table,
int metric)
{
- char buf1[16], buf2[16];
+ char buf1[INET_ADDRSTRLEN], buf2[INET_ADDRSTRLEN];
in_addr_t _dst, _gw;
struct argv argv = argv_new();
bool status;
@@ -23,17 +23,16 @@ net_route_v4(const char *op, const in_addr_t *dst, int prefixlen,
_dst = ntohl(*dst);
_gw = ntohl(*gw);
- argv_printf(&argv, "%s %s",
- ROUTE_PATH, op);
- argv_printf_cat(&argv, "-net %s/%d %s -fib %d",
- inet_ntop(AF_INET, &_dst, buf1, sizeof(buf1)),
- prefixlen,
- inet_ntop(AF_INET, &_gw, buf2, sizeof(buf2)),
- table);
+ argv_printf(&argv, "%s %s -net %s/%d %s -fib %d",
+ ROUTE_PATH, op,
+ inet_ntop(AF_INET, &_dst, buf1, sizeof(buf1)),
+ prefixlen,
+ inet_ntop(AF_INET, &_gw, buf2, sizeof(buf2)),
+ table);
argv_msg(M_INFO, &argv);
status = openvpn_execve_check(&argv, NULL, 0,
- "ERROR: FreeBSD route add command failed");
+ "ERROR: FreeBSD route command failed");
argv_free(&argv);
@@ -45,21 +44,20 @@ net_route_v6(const char *op, const struct in6_addr *dst,
int prefixlen, const struct in6_addr *gw, const char *iface,
uint32_t table, int metric)
{
- char buf1[64], buf2[64];
+ char buf1[INET6_ADDRSTRLEN], buf2[INET6_ADDRSTRLEN];
struct argv argv = argv_new();
bool status;
- argv_printf(&argv, "%s -6 %s",
- ROUTE_PATH, op);
- argv_printf_cat(&argv, "-net %s/%d %s -fib %d",
- inet_ntop(AF_INET6, dst, buf1, sizeof(buf1)),
- prefixlen,
- inet_ntop(AF_INET6, gw, buf2, sizeof(buf2)),
- table);
+ argv_printf(&argv, "%s -6 %s -net %s/%d %s -fib %d",
+ ROUTE_PATH, op,
+ inet_ntop(AF_INET6, dst, buf1, sizeof(buf1)),
+ prefixlen,
+ inet_ntop(AF_INET6, gw, buf2, sizeof(buf2)),
+ table);
argv_msg(M_INFO, &argv);
status = openvpn_execve_check(&argv, NULL, 0,
- "ERROR: FreeBSD route add command failed");
+ "ERROR: FreeBSD route command failed");
argv_free(&argv);