diff options
author | rofl0r <retnyg@gmx.net> | 2018-12-31 15:47:40 +0000 |
---|---|---|
committer | rofl0r <rofl0r@users.noreply.github.com> | 2019-12-21 00:43:45 +0000 |
commit | f6d4da5d81694721bf50b2275621e7ce84e6da30 (patch) | |
tree | 1874b1b9e979167074f4831f83bd58c5529a9924 /src/sock.h | |
parent | 82e10935d2955923d419cb46ee97e0022a8dfdb0 (diff) |
do hostname resolution only when it is absolutely necessary for ACL check
tinyproxy used to do a full hostname resolution whenever a new client
connection happened, which could cause very long delays (as reported in #198).
there's only a single place/scenario that actually requires a hostname, and
that is when an Allow/Deny rule exists for a hostname or domain, rather than
a raw IP address. since it is very likely this feature is not very widely used,
it makes absolute sense to only do the costly resolution when it is unavoidable.
Diffstat (limited to 'src/sock.h')
-rw-r--r-- | src/sock.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -43,6 +43,6 @@ extern int socket_nonblocking (int sock); extern int socket_blocking (int sock); extern int getsock_ip (int fd, char *ipaddr); -extern int getpeer_information (int fd, char *ipaddr, char *string_addr); +extern void getpeer_information (union sockaddr_union *addr, char *ipaddr, size_t ipaddr_len); #endif |