X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fnet_packet.c;h=d231c231936cebae714f3413132fdcdf859495b1;hb=5216839fa30dfbf5204b274b4e8becbb34e6ca21;hp=c7d6a9d8cc0d83c066f6c20c62f7585c7821ebc1;hpb=f7bacce5e9fb1363a503970b00d601c3d1d7bd12;p=meshlink diff --git a/src/net_packet.c b/src/net_packet.c index c7d6a9d8..d231c231 100644 --- a/src/net_packet.c +++ b/src/net_packet.c @@ -23,11 +23,9 @@ #include #endif -#include "cipher.h" #include "conf.h" #include "connection.h" #include "crypto.h" -#include "digest.h" #include "graph.h" #include "logger.h" #include "meshlink_internal.h" @@ -386,13 +384,13 @@ static void choose_udp_address(const node_t *n, const sockaddr_t **sa, int *sock if(candidate) { *sa = &candidate->address; - *sock = rand() % listen_sockets; + *sock = rand() % mesh->listen_sockets; } /* Make sure we have a suitable socket for the chosen address */ - if(listen_socket[*sock].sa.sa.sa_family != (*sa)->sa.sa_family) { - for(int i = 0; i < listen_sockets; i++) { - if(listen_socket[i].sa.sa.sa_family == (*sa)->sa.sa_family) { + if(mesh->listen_socket[*sock].sa.sa.sa_family != (*sa)->sa.sa_family) { + for(int i = 0; i < mesh->listen_sockets; i++) { + if(mesh->listen_socket[i].sa.sa.sa_family == (*sa)->sa.sa_family) { *sock = i; break; } @@ -417,15 +415,15 @@ static void choose_broadcast_address(const node_t *n, const sockaddr_t **sa, int } }; - *sock = rand() % listen_sockets; + *sock = rand() % mesh->listen_sockets; - if(listen_socket[*sock].sa.sa.sa_family == AF_INET6) { + if(mesh->listen_socket[*sock].sa.sa.sa_family == AF_INET6) { if(mesh->localdiscovery_address.sa.sa_family == AF_INET6) { mesh->localdiscovery_address.in6.sin6_port = n->prevedge->address.in.sin_port; *sa = &mesh->localdiscovery_address; } else { broadcast_ipv6.in6.sin6_port = n->prevedge->address.in.sin_port; - broadcast_ipv6.in6.sin6_scope_id = listen_socket[*sock].sa.in6.sin6_scope_id; + broadcast_ipv6.in6.sin6_scope_id = mesh->listen_socket[*sock].sa.in6.sin6_scope_id; *sa = &broadcast_ipv6; } } else { @@ -484,7 +482,7 @@ bool send_sptps_data(void *handle, uint8_t type, const char *data, size_t len) { else choose_udp_address(to, &sa, &sock); - if(sendto(listen_socket[sock].udp.fd, data, len, 0, &sa->sa, SALEN(sa->sa)) < 0 && !sockwouldblock(sockerrno)) { + if(sendto(mesh->listen_socket[sock].udp.fd, data, len, 0, &sa->sa, SALEN(sa->sa)) < 0 && !sockwouldblock(sockerrno)) { if(sockmsgsize(sockerrno)) { if(to->maxmtu >= len) to->maxmtu = len - 1; @@ -661,7 +659,7 @@ void handle_incoming_vpn_data(void *data, int flags) { return; } - n->sock = ls - listen_socket; + n->sock = ls - mesh->listen_socket; receive_udppacket(n, &pkt); }