Minor code cleanup

This commit is contained in:
Luca Deri 2018-06-07 21:45:33 +02:00
parent 1daf46275e
commit 41401a131f
3 changed files with 103 additions and 100 deletions

36
edge.c
View File

@ -549,7 +549,7 @@ static void send_register(n2n_edge_t * eee,
{ {
uint8_t pktbuf[N2N_PKT_BUF_SIZE]; uint8_t pktbuf[N2N_PKT_BUF_SIZE];
size_t idx; size_t idx;
ssize_t sent; /* ssize_t sent; */
n2n_common_t cmn; n2n_common_t cmn;
n2n_REGISTER_t reg; n2n_REGISTER_t reg;
n2n_sock_str_t sockbuf; n2n_sock_str_t sockbuf;
@ -572,19 +572,16 @@ static void send_register(n2n_edge_t * eee,
traceEvent(TRACE_INFO, "send REGISTER %s", traceEvent(TRACE_INFO, "send REGISTER %s",
sock_to_cstr(sockbuf, remote_peer)); sock_to_cstr(sockbuf, remote_peer));
/* sent = */ sendto_sock(eee->udp_sock, pktbuf, idx, remote_peer);
sent = sendto_sock(eee->udp_sock, pktbuf, idx, remote_peer);
} }
/** Send a REGISTER_SUPER packet to the current supernode. */ /** Send a REGISTER_SUPER packet to the current supernode. */
static void send_register_super(n2n_edge_t * eee, static void send_register_super(n2n_edge_t * eee,
const n2n_sock_t * supernode) const n2n_sock_t * supernode) {
{
uint8_t pktbuf[N2N_PKT_BUF_SIZE]; uint8_t pktbuf[N2N_PKT_BUF_SIZE];
size_t idx; size_t idx;
ssize_t sent; /* ssize_t sent; */
n2n_common_t cmn; n2n_common_t cmn;
n2n_REGISTER_SUPER_t reg; n2n_REGISTER_SUPER_t reg;
n2n_sock_str_t sockbuf; n2n_sock_str_t sockbuf;
@ -614,19 +611,17 @@ static void send_register_super(n2n_edge_t * eee,
sock_to_cstr(sockbuf, supernode)); sock_to_cstr(sockbuf, supernode));
sent = sendto_sock(eee->udp_sock, pktbuf, idx, supernode); /* sent = */ sendto_sock(eee->udp_sock, pktbuf, idx, supernode);
} }
/** Send a REGISTER_ACK packet to a peer edge. */ /** Send a REGISTER_ACK packet to a peer edge. */
static void send_register_ack(n2n_edge_t * eee, static void send_register_ack(n2n_edge_t * eee,
const n2n_sock_t * remote_peer, const n2n_sock_t * remote_peer,
const n2n_REGISTER_t * reg) const n2n_REGISTER_t * reg) {
{
uint8_t pktbuf[N2N_PKT_BUF_SIZE]; uint8_t pktbuf[N2N_PKT_BUF_SIZE];
size_t idx; size_t idx;
ssize_t sent; /* ssize_t sent; */
n2n_common_t cmn; n2n_common_t cmn;
n2n_REGISTER_ACK_t ack; n2n_REGISTER_ACK_t ack;
n2n_sock_str_t sockbuf; n2n_sock_str_t sockbuf;
@ -650,7 +645,7 @@ static void send_register_ack(n2n_edge_t * eee,
sock_to_cstr(sockbuf, remote_peer)); sock_to_cstr(sockbuf, remote_peer));
sent = sendto_sock(eee->udp_sock, pktbuf, idx, remote_peer); /* sent = */ sendto_sock(eee->udp_sock, pktbuf, idx, remote_peer);
} }
@ -1128,7 +1123,7 @@ static int send_PACKET(n2n_edge_t * eee,
size_t pktlen) size_t pktlen)
{ {
int dest; int dest;
ssize_t s; /*ssize_t s; */
n2n_sock_str_t sockbuf; n2n_sock_str_t sockbuf;
n2n_sock_t destination; n2n_sock_t destination;
@ -1137,17 +1132,13 @@ static int send_PACKET(n2n_edge_t * eee,
dest = find_peer_destination(eee, dstMac, &destination); dest = find_peer_destination(eee, dstMac, &destination);
if(dest) if(dest)
{
++(eee->tx_p2p); ++(eee->tx_p2p);
}
else else
{
++(eee->tx_sup); ++(eee->tx_sup);
}
traceEvent(TRACE_INFO, "send_PACKET to %s", sock_to_cstr(sockbuf, &destination)); traceEvent(TRACE_INFO, "send_PACKET to %s", sock_to_cstr(sockbuf, &destination));
s = sendto_sock(eee->udp_sock, pktbuf, pktlen, &destination); /* s = */ sendto_sock(eee->udp_sock, pktbuf, pktlen, &destination);
return 0; return 0;
} }
@ -1414,7 +1405,7 @@ static void readFromMgmtSocket(n2n_edge_t * eee, int * keep_running)
{ {
uint8_t udp_buf[N2N_PKT_BUF_SIZE]; /* Compete UDP packet */ uint8_t udp_buf[N2N_PKT_BUF_SIZE]; /* Compete UDP packet */
ssize_t recvlen; ssize_t recvlen;
ssize_t sendlen; /* ssize_t sendlen; */
struct sockaddr_in sender_sock; struct sockaddr_in sender_sock;
socklen_t i; socklen_t i;
size_t msg_len; size_t msg_len;
@ -1563,9 +1554,8 @@ static void readFromMgmtSocket(n2n_edge_t * eee, int * keep_running)
traceEvent(TRACE_DEBUG, "mgmt status sending: %s", udp_buf); traceEvent(TRACE_DEBUG, "mgmt status sending: %s", udp_buf);
sendlen = sendto(eee->udp_mgmt_sock, udp_buf, msg_len, 0/*flags*/, /* sendlen = */ sendto(eee->udp_mgmt_sock, udp_buf, msg_len, 0/*flags*/,
(struct sockaddr *)&sender_sock, sizeof(struct sockaddr_in)); (struct sockaddr *)&sender_sock, sizeof(struct sockaddr_in));
} }
@ -1920,7 +1910,7 @@ static int run_loop(n2n_edge_t * eee);
/* *************************************************** */ /* *************************************************** */
void daemonize() { static void daemonize() {
#ifndef WIN32 #ifndef WIN32
int childpid; int childpid;

34
n2n.c
View File

@ -406,23 +406,18 @@ extern int str2mac(uint8_t * outmac /* 6 bytes */, const char * s )
} }
extern char * sock_to_cstr(n2n_sock_str_t out, extern char * sock_to_cstr(n2n_sock_str_t out,
const n2n_sock_t * sock ) const n2n_sock_t * sock) {
{
int r;
if(NULL == out) { return NULL; } if(NULL == out) { return NULL; }
memset(out, 0, N2N_SOCKBUF_SIZE); memset(out, 0, N2N_SOCKBUF_SIZE);
if(AF_INET6 == sock->family ) if(AF_INET6 == sock->family) {
{
/* INET6 not written yet */ /* INET6 not written yet */
r = snprintf(out, N2N_SOCKBUF_SIZE, "XXXX:%hu", sock->port ); snprintf(out, N2N_SOCKBUF_SIZE, "XXXX:%hu", sock->port);
return out; return out;
} } else {
else
{
const uint8_t * a = sock->addr.v4; const uint8_t * a = sock->addr.v4;
r = snprintf(out, N2N_SOCKBUF_SIZE, "%hu.%hu.%hu.%hu:%hu",
snprintf(out, N2N_SOCKBUF_SIZE, "%hu.%hu.%hu.%hu:%hu",
(unsigned short)(a[0] & 0xff), (unsigned short)(a[0] & 0xff),
(unsigned short)(a[1] & 0xff), (unsigned short)(a[1] & 0xff),
(unsigned short)(a[2] & 0xff), (unsigned short)(a[2] & 0xff),
@ -434,17 +429,22 @@ extern char * sock_to_cstr(n2n_sock_str_t out,
/* @return zero if the two sockets are equivalent. */ /* @return zero if the two sockets are equivalent. */
int sock_equal(const n2n_sock_t * a, int sock_equal(const n2n_sock_t * a,
const n2n_sock_t * b ) const n2n_sock_t * b) {
{
if(a->port != b->port) { return 1; } if(a->port != b->port) { return 1; }
if(a->family != b->family) { return 1; } if(a->family != b->family) { return 1; }
switch(a->family) /* they are the same */
{ switch(a->family) {
case AF_INET: case AF_INET:
if(0 != memcmp(a->addr.v4, b->addr.v4, IPV4_SIZE ) ) { return 1;}; if(0 != memcmp(a->addr.v4, b->addr.v4, IPV4_SIZE)) {
return 1;
}
break; break;
default: default:
if(0 != memcmp(a->addr.v6, b->addr.v6, IPV6_SIZE ) ) { return 1;}; if(0 != memcmp(a->addr.v6, b->addr.v6, IPV6_SIZE)) {
return 1;
}
break; break;
} }

View File

@ -20,6 +20,8 @@
#ifdef __linux__ #ifdef __linux__
/* *************************************************** */
static void read_mac(char *ifname, n2n_mac_t mac_addr) { static void read_mac(char *ifname, n2n_mac_t mac_addr) {
int _sock, res; int _sock, res;
struct ifreq ifr; struct ifreq ifr;
@ -123,22 +125,29 @@ int tuntap_open(tuntap_dev *device,
return(device->fd); return(device->fd);
} }
/* *************************************************** */
int tuntap_read(struct tuntap_dev *tuntap, unsigned char *buf, int len) { int tuntap_read(struct tuntap_dev *tuntap, unsigned char *buf, int len) {
return(read(tuntap->fd, buf, len)); return(read(tuntap->fd, buf, len));
} }
/* *************************************************** */
int tuntap_write(struct tuntap_dev *tuntap, unsigned char *buf, int len) { int tuntap_write(struct tuntap_dev *tuntap, unsigned char *buf, int len) {
return(write(tuntap->fd, buf, len)); return(write(tuntap->fd, buf, len));
} }
/* *************************************************** */
void tuntap_close(struct tuntap_dev *tuntap) { void tuntap_close(struct tuntap_dev *tuntap) {
close(tuntap->fd); close(tuntap->fd);
} }
/* *************************************************** */
/* Fill out the ip_addr value from the interface. Called to pick up dynamic /* Fill out the ip_addr value from the interface. Called to pick up dynamic
* address changes. */ * address changes. */
void tuntap_get_address(struct tuntap_dev *tuntap) void tuntap_get_address(struct tuntap_dev *tuntap) {
{
FILE * fp=NULL; FILE * fp=NULL;
ssize_t nread=0; ssize_t nread=0;
char buf[N2N_LINUX_SYSTEMCMD_SIZE]; char buf[N2N_LINUX_SYSTEMCMD_SIZE];
@ -148,21 +157,25 @@ void tuntap_get_address(struct tuntap_dev *tuntap)
/* If the interface has no address (0.0.0.0) there will be no inet addr /* If the interface has no address (0.0.0.0) there will be no inet addr
* line and the returned string will be empty. */ * line and the returned string will be empty. */
snprintf( buf, sizeof(buf), "/sbin/ifconfig %s | /bin/sed -e '/inet addr:/!d' -e 's/^.*inet addr://' -e 's/ .*$//'", snprintf( buf, sizeof(buf),
"/sbin/ifconfig %s | /bin/sed -e '/inet addr:/!d' -e 's/^.*inet addr://' -e 's/ .*$//'",
tuntap->dev_name); tuntap->dev_name);
fp = popen(buf, "r"); fp = popen(buf, "r");
if (fp )
{ if (fp) {
memset(buf, 0, N2N_LINUX_SYSTEMCMD_SIZE); /* make sure buf is NULL terminated. */ memset(buf, 0, N2N_LINUX_SYSTEMCMD_SIZE); /* make sure buf is NULL terminated. */
nread=fread(buf, 1, 15, fp); nread = fread(buf, N2N_LINUX_SYSTEMCMD_SIZE-1, 1, fp);
fclose(fp); fclose(fp);
fp = NULL; fp = NULL;
traceEvent(TRACE_INFO, "ifconfig address = %s", buf); traceEvent(TRACE_INFO, "ifconfig address = %s", buf);
if(nread > 0) {
buf[nread] = '\0';
tuntap->ip_addr = inet_addr(buf); tuntap->ip_addr = inet_addr(buf);
} }
} }
}
#endif /* #ifdef __linux__ */ #endif /* #ifdef __linux__ */