From 3d2d0d4b3aa64aba018b049edf9c0396d5a598d5 Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Fri, 5 Jun 2020 17:41:04 +0200 Subject: Split out active proxy connection handling to separate file --- utils.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'utils.c') diff --git a/utils.c b/utils.c index a84f63b..91e44b3 100644 --- a/utils.c +++ b/utils.c @@ -2,6 +2,34 @@ #include #include #include +#include + +#include "main.h" +#include "utils.h" + +char * +sockaddr_to_str(struct sockaddr_in46 *addr, char *buf, size_t buflen) +{ + char abuf[ADDRSTRLEN]; + + switch (addr->storage.ss_family) { + case AF_INET: + snprintf(buf, buflen, "AF_INET4 %s %u", + inet_ntop(addr->in4.sin_family, &addr->in4.sin_addr, abuf, sizeof(abuf)), + (unsigned)ntohs(addr->in4.sin_port)); + break; + case AF_INET6: + snprintf(buf, buflen, "AF_INET6 %s %u", + inet_ntop(addr->in6.sin6_family, &addr->in6.sin6_addr, abuf, sizeof(abuf)), + (unsigned)ntohs(addr->in6.sin6_port)); + break; + default: + snprintf(buf, buflen, "AF_UNKNOWN"); + break; + } + + return buf; +} int strtou16_strict(const char *str, uint16_t *result) -- cgit v1.2.3