- event_set(&listen_socket[listen_sockets].ev_tcp,
- listen_socket[listen_sockets].tcp,
- EV_READ|EV_PERSIST,
- handle_new_meta_connection, NULL);
- if(event_add(&listen_socket[listen_sockets].ev_tcp, NULL) < 0) {
- logger(LOG_WARNING, _("event_add failed: %s"), strerror(errno));
- close(listen_socket[listen_sockets].tcp);
- close(listen_socket[listen_sockets].udp);
- continue;
- }
-
- event_set(&listen_socket[listen_sockets].ev_udp,
- listen_socket[listen_sockets].udp,
- EV_READ|EV_PERSIST,
- handle_incoming_vpn_data, NULL);
- if(event_add(&listen_socket[listen_sockets].ev_udp, NULL) < 0) {
- logger(LOG_WARNING, _("event_add failed: %s"), strerror(errno));
- close(listen_socket[listen_sockets].tcp);
- close(listen_socket[listen_sockets].udp);
- event_del(&listen_socket[listen_sockets].ev_tcp);
- continue;
- }
+ if(!check_port(mesh)) {
+ logger(mesh, MESHLINK_WARNING, "Could not bind to any port, trying to bind to port 0");
+ free(mesh->myport);
+ mesh->myport = xstrdup("0");
+ }