fd_set readfds;
-#ifdef SUPPORT_IPV4
- struct sockaddr_in serverAddrV4;
- size_t serverAddrV4len;
-#endif
-#ifdef SUPPORT_IPV6
- struct sockaddr_in6 serverAddrV6;
- size_t serverAddrV6len;
-#endif
+struct sockaddr_in serverAddrV4;
+size_t serverAddrV4len;
+struct sockaddr_in6 serverAddrV6;
+size_t serverAddrV6len;
FILE *fchanlog = NULL;
SOCKET create_listen_sock(int af, struct sockaddr *addr, size_t len)
exit(EXIT_FAILURE);
}
#endif
-#ifdef SUPPORT_IPV6
- // IPV6 Only
if(af == AF_INET6 && setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (void*)&opt, sizeof(opt)) == -1) {
net_perror("ERROR SOCKET IPV6");
exit(EXIT_FAILURE);
}
-#endif
// Set nonblock
net_nonblock(sock);
// Bind to socket
exit(EXIT_FAILURE);
}
// Listen to socket
- if(listen(sock, SOMAXCONN) == -1) {
+ if(listen(sock, LISTENING_BACKLOG) == -1) {
net_perror("ERROR LISTEN");
exit(EXIT_FAILURE);
}
memset(clients, 0, sizeof(clients));
// Setup structs
-#ifdef SUPPORT_IPV4
memset(&serverAddrV4, 0, sizeof(struct sockaddr_in));
serverAddrV4.sin_addr.s_addr = INADDR_ANY;
serverAddrV4.sin_port = htons(LISTENING_PORT);
serverAddrV4len = sizeof(serverAddrV4);
listeners_tls[listener_count] = NULL;
listeners[listener_count++] = create_listen_sock(AF_INET, (struct sockaddr*)&serverAddrV4, sizeof(struct sockaddr_in));
-#endif
-#ifdef SUPPORT_IPV6
memset(&serverAddrV6, 0, sizeof(struct sockaddr_in6));
serverAddrV6.sin6_addr = in6addr_any;
- serverAddrV6.sin6_flowinfo = 0;
serverAddrV6.sin6_port = htons(LISTENING_PORT);
serverAddrV6.sin6_family = AF_INET6;
serverAddrV6len = sizeof(serverAddrV6);
listeners_tls[listener_count] = NULL;
listeners[listener_count++] = create_listen_sock(AF_INET6, (struct sockaddr*)&serverAddrV6, sizeof(struct sockaddr_in6));
-#endif
#ifdef HAS_TLS
struct tls_config *tls_cfg;
struct tls *tls_ctx;
return fprintf(stderr, "tls_configure: %s\n", tls_error(tls_ctx)), 1;
tls_config_free(tls_cfg);
-#ifdef SUPPORT_IPV4
serverAddrV4.sin_port = htons(LISTENING_PORT_TLS);
listeners_tls[listener_count] = tls_ctx;
listeners[listener_count++] = create_listen_sock(AF_INET, (struct sockaddr*)&serverAddrV4, sizeof(struct sockaddr_in));
-#endif
-#ifdef SUPPORT_IPV6
serverAddrV6.sin6_port = htons(LISTENING_PORT_TLS);
listeners_tls[listener_count] = tls_ctx;
listeners[listener_count++] = create_listen_sock(AF_INET6, (struct sockaddr*)&serverAddrV6, sizeof(struct sockaddr_in6));
-#endif
#endif
FILE *f = fopen("init.txt", "rb");