connectd: add annotation and fix up formatting on connectd/netaddress.c

This is stolen from the bitcoind source, so we use their style
(no tabs, 4-wide spaces).  Clean it up and add the emacs magic to
maintain it in future.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2020-12-07 09:59:10 +10:30 committed by Christian Decker
parent 089ecfe418
commit 23d4e53246

View file

@ -1,3 +1,4 @@
/* -*- c-basic-offset: 4; indent-tabs-mode: nil; -*- */
#include <arpa/inet.h>
#include <assert.h>
#include <common/status.h>
@ -112,8 +113,8 @@ static bool IsRFC6598(const struct wireaddr *addr)
static bool IsRFC5737(const struct wireaddr *addr)
{
return IsIPv4(addr) && ((GetByte(addr, 3) == 192 && GetByte(addr, 2) == 0 && GetByte(addr, 1) == 2) ||
(GetByte(addr, 3) == 198 && GetByte(addr, 2) == 51 && GetByte(addr, 1) == 100) ||
(GetByte(addr, 3) == 203 && GetByte(addr, 2) == 0 && GetByte(addr, 1) == 113));
(GetByte(addr, 3) == 198 && GetByte(addr, 2) == 51 && GetByte(addr, 1) == 100) ||
(GetByte(addr, 3) == 203 && GetByte(addr, 2) == 0 && GetByte(addr, 1) == 113));
}
static bool IsRFC3849(const struct wireaddr *addr)
@ -139,21 +140,21 @@ static bool IsRFC4843(const struct wireaddr *addr)
static bool IsTor(const struct wireaddr *addr)
{
return addr->type == ADDR_TYPE_TOR_V2 || addr->type == ADDR_TYPE_TOR_V3;
return addr->type == ADDR_TYPE_TOR_V2 || addr->type == ADDR_TYPE_TOR_V3;
}
static bool IsLocal(const struct wireaddr *addr)
{
// IPv4 loopback
if (IsIPv4(addr) && (GetByte(addr, 3) == 127 || GetByte(addr, 3) == 0))
return true;
if (IsIPv4(addr) && (GetByte(addr, 3) == 127 || GetByte(addr, 3) == 0))
return true;
// IPv6 loopback (::1/128)
static const unsigned char pchLocal[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
if (IsIPv6(addr) && RawEq(addr, pchLocal, sizeof(pchLocal)))
return true;
// IPv6 loopback (::1/128)
static const unsigned char pchLocal[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
if (IsIPv6(addr) && RawEq(addr, pchLocal, sizeof(pchLocal)))
return true;
return false;
return false;
}
static bool IsInternal(const struct wireaddr *addr)
@ -205,20 +206,20 @@ static bool get_local_sockname(int af, void *saddr, socklen_t saddrlen)
int fd = socket(af, SOCK_DGRAM, 0);
if (fd < 0) {
status_debug("Failed to create %u socket: %s",
af, strerror(errno));
af, strerror(errno));
return false;
}
if (connect(fd, saddr, saddrlen) != 0) {
status_debug("Failed to connect %u socket: %s",
af, strerror(errno));
af, strerror(errno));
close(fd);
return false;
}
if (getsockname(fd, saddr, &saddrlen) != 0) {
status_debug("Failed to get %u socket name: %s",
af, strerror(errno));
af, strerror(errno));
close(fd);
return false;
}
@ -236,9 +237,9 @@ bool guess_address(struct wireaddr *addr)
case ADDR_TYPE_IPV4: {
struct sockaddr_in sin;
memset(&sin, 0, sizeof(sin));
sin.sin_port = htons(53);
sin.sin_port = htons(53);
/* 8.8.8.8 */
sin.sin_addr.s_addr = 0x08080808;
sin.sin_addr.s_addr = 0x08080808;
sin.sin_family = AF_INET;
ret = get_local_sockname(AF_INET, &sin, sizeof(sin));
addr->addrlen = sizeof(sin.sin_addr);
@ -250,7 +251,7 @@ bool guess_address(struct wireaddr *addr)
memset(&sin6, 0, sizeof(sin6));
/* 2001:4860:4860::8888 */
static const unsigned char pchGoogle[16]
= {0x20,0x01,0x48,0x60,0x48,0x60,0,0,0,0,0,0,8,8,8,8};
= {0x20,0x01,0x48,0x60,0x48,0x60,0,0,0,0,0,0,8,8,8,8};
memset(&sin6, 0, sizeof(sin6));
sin6.sin6_port = htons(53);
sin6.sin6_family = AF_INET6;
@ -271,6 +272,6 @@ bool guess_address(struct wireaddr *addr)
bool address_routable(const struct wireaddr *wireaddr, bool allow_localhost)
{
if (allow_localhost && IsLocal(wireaddr))
return true;
return true;
return IsRoutable(wireaddr);
}