]> git.meshlink.io Git - meshlink/blobdiff - src/net_setup.c
Don't use assert() to check the results of pthread_*() calls.
[meshlink] / src / net_setup.c
index d0e450039913c995298f304f3b4003730ad606f8..a82d5d97817610ca611195927a264713e4129141 100644 (file)
@@ -301,7 +301,7 @@ static bool load_node(meshlink_handle_t *mesh, const char *name, void *priv) {
        return true;
 }
 
-static int setup_tcp_listen_socket(meshlink_handle_t *mesh, const struct addrinfo *aip) {
+int setup_tcp_listen_socket(meshlink_handle_t *mesh, const struct addrinfo *aip) {
        int nfd = socket(aip->ai_family, SOCK_STREAM, IPPROTO_TCP);
 
        if(nfd == -1) {
@@ -339,7 +339,7 @@ static int setup_tcp_listen_socket(meshlink_handle_t *mesh, const struct addrinf
        return nfd;
 }
 
-static int setup_udp_socket(meshlink_handle_t *mesh, const struct addrinfo *aip) {
+int setup_udp_listen_socket(meshlink_handle_t *mesh, const struct addrinfo *aip) {
        int nfd = socket(aip->ai_family, SOCK_DGRAM, IPPROTO_UDP);
 
        if(nfd == -1) {
@@ -422,7 +422,7 @@ static bool add_listen_sockets(meshlink_handle_t *mesh) {
                .ai_family = AF_UNSPEC,
                .ai_socktype = SOCK_STREAM,
                .ai_protocol = IPPROTO_TCP,
-               .ai_flags = AI_PASSIVE,
+               .ai_flags = AI_PASSIVE | AI_NUMERICSERV,
        };
 
        int err = getaddrinfo(NULL, mesh->myport, &hint, &ai);
@@ -470,7 +470,7 @@ static bool add_listen_sockets(meshlink_handle_t *mesh) {
 
                /* If TCP worked, then we require that UDP works as well. */
 
-               int udp_fd = setup_udp_socket(mesh, aip);
+               int udp_fd = setup_udp_listen_socket(mesh, aip);
 
                if(udp_fd == -1) {
                        closesocket(tcp_fd);
@@ -521,13 +521,7 @@ static bool add_listen_sockets(meshlink_handle_t *mesh) {
 /*
   Configure node_t mesh->self and set up the local sockets (listen only)
 */
-bool setup_myself(meshlink_handle_t *mesh) {
-       /* Set some defaults */
-
-       mesh->maxtimeout = 900;
-
-       /* Done */
-
+static bool setup_myself(meshlink_handle_t *mesh) {
        mesh->self->nexthop = mesh->self;
 
        node_add(mesh, mesh->self);
@@ -565,7 +559,6 @@ bool setup_myself(meshlink_handle_t *mesh) {
 
        /* Done. */
 
-       mesh->last_config_check = mesh->loop.now.tv_sec;
        mesh->last_unreachable = mesh->loop.now.tv_sec;
 
        return true;