]> PatchyGit - patchyircd.git/commitdiff
wrap setsockopt
authorEgor <egor@patchysicp.xyz>
Tue, 18 Mar 2025 23:56:48 +0000 (01:56 +0200)
committerEgor <egor@patchysicp.xyz>
Tue, 18 Mar 2025 23:56:48 +0000 (01:56 +0200)
src/main.cpp

index 8ce6856..45c02ca 100644 (file)
@@ -19,6 +19,10 @@ struct listener {
        struct tls *ctx;
 };
 
+static int setsockint(int sockfd, int level, int optname, int optval)
+{
+       return setsockopt(sockfd, level, optname, (void *)&optval, sizeof(optval));
+}
 static SOCKET create_listen_sock(const char *ip, const char *port)
 {
        struct addrinfo hints, *res;
@@ -39,13 +43,12 @@ static SOCKET create_listen_sock(const char *ip, const char *port)
                exit(EXIT_FAILURE);
        }
        // Set socket options
-       int opt = 1;
-       if(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void*)&opt, sizeof(opt)) == -1) {
+       if (setsockint(sock, SOL_SOCKET, SO_REUSEADDR, 1) == -1) {
                net_perror("ERROR SOCKET");
                freeaddrinfo(res);
                exit(EXIT_FAILURE);
        }
-       if(res->ai_family == AF_INET6 && setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (void*)&opt, sizeof(opt)) == -1) {
+       if (res->ai_family == AF_INET6 && setsockint(sock, IPPROTO_IPV6, IPV6_V6ONLY, 1) == -1) {
                net_perror("ERROR SOCKET IPV6");
                freeaddrinfo(res);
                exit(EXIT_FAILURE);
@@ -81,19 +84,15 @@ static void accept_from_sock(struct listener *listener)
 
                {
                        // enable keepalive
-                       int opt = 1;
-                       setsockopt(newSocket, SOL_SOCKET, SO_KEEPALIVE, (void*)&opt, sizeof(opt));
+                       setsockint(newSocket, SOL_SOCKET, SO_KEEPALIVE, 1);
 #ifdef TCP_KEEPIDLE
-                       opt = 30;
-                       setsockopt(newSocket, IPPROTO_TCP, TCP_KEEPIDLE, (void*)&opt, sizeof(opt));
+                       setsockint(newSocket, IPPROTO_TCP, TCP_KEEPIDLE, 30);
 #endif
 #ifdef TCP_KEEPINTVL
-                       opt = 1;
-                       setsockopt(newSocket, IPPROTO_TCP, TCP_KEEPINTVL, (void*)&opt, sizeof(opt));
+                       setsockint(newSocket, IPPROTO_TCP, TCP_KEEPINTVL, 1);
 #endif
 #ifdef TCP_KEEPCNT
-                       opt = 10;
-                       setsockopt(newSocket, IPPROTO_TCP, TCP_KEEPCNT, (void*)&opt, sizeof(opt));
+                       setsockint(newSocket, IPPROTO_TCP, TCP_KEEPCNT, 10);
 #endif
                }