]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
clang on OSX does not produce nearly enough errors.
authorAlan T. DeKok <aland@freeradius.org>
Mon, 22 Jan 2024 23:58:45 +0000 (18:58 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 22 Jan 2024 23:58:45 +0000 (18:58 -0500)
CI produces many more errors and complaints.

src/lib/bio/fd.c
src/lib/bio/fd_open.c
src/lib/bio/mem.c
src/lib/bio/mem.h

index 7f4702dfd0a68fb1bf60890a1297fd81a8328377..89292e13b3506a0f5a5d41f20be6f054391ca608 100644 (file)
  * @copyright 2024 Network RADIUS SAS (legal@networkradius.com)
  */
 
-#ifdef __linux__
-/*
- *     for accept4()
- */
-#define _GNU_SOURCE
-#endif
-
 #include <freeradius-devel/bio/fd_priv.h>
 #include <freeradius-devel/bio/null.h>
 
@@ -206,7 +199,7 @@ retry:
                addr->socket.inet.dst_ipaddr = my->info.socket.inet.src_ipaddr;
                addr->socket.inet.dst_port = my->info.socket.inet.src_port;
 
-               (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, addr->socket.inet.src_port,
+               (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, &addr->socket.inet.src_port,
                                               &sockaddr, salen);
                return rcode;
        }
@@ -298,7 +291,6 @@ static ssize_t fd_fd_recvfromto_common(fr_bio_fd_t *my, void *packet_ctx, void *
        int tries = 0;
        ssize_t rcode;
        struct sockaddr_storage from;
-       socklen_t from_len;
        fr_bio_fd_packet_ctx_t *addr = fr_bio_fd_packet_ctx(my, packet_ctx);
 
        my->info.read_blocked = false;
@@ -315,7 +307,7 @@ static ssize_t fd_fd_recvfromto_common(fr_bio_fd_t *my, void *packet_ctx, void *
                .msg_control    = my->cbuf,
                .msg_controllen = sizeof(my->cbuf),
                .msg_name       = &from,
-               .msg_namelen    = &from_len,
+               .msg_namelen    = sizeof(from),
                .msg_iov        = &my->iov,
                .msg_iovlen     = 1,
                .msg_flags      = 0,
@@ -327,7 +319,7 @@ retry:
                ADDR_INIT;
 
                (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, &addr->socket.inet.src_port,
-                                              &from, from_len);
+                                              &from, my->msgh.msg_namelen);
 
                return rcode;
        }
@@ -439,7 +431,7 @@ static ssize_t fr_bio_fd_sendfromto4(fr_bio_t *bio, void *packet_ctx, const void
                .msg_control    = my->cbuf,
                // controllen is set below
                .msg_name       = &to,
-               .msg_namelen    = &to_len,
+               .msg_namelen    = to_len,
                .msg_iov        = &my->iov,
                .msg_iovlen     = 1,
                .msg_flags      = 0,
@@ -667,7 +659,7 @@ static ssize_t fr_bio_fd_try_connect(fr_bio_fd_t *my)
         struct sockaddr_storage sockaddr;
 
        if (my->info.socket.af != AF_UNIX) {
-               rcode = fr_ipaddr_to_sockaddr(&sockaddr, &salen, &my->info.socket.inet.dst_ipaddr, &my->info.socket.inet.dst_port);
+               rcode = fr_ipaddr_to_sockaddr(&sockaddr, &salen, &my->info.socket.inet.dst_ipaddr, my->info.socket.inet.dst_port);
        } else {
                rcode = fr_filename_to_sockaddr((struct sockaddr_un *) &sockaddr, &salen, my->info.socket.unix.path);
        }
@@ -830,7 +822,7 @@ retry:
 
                ADDR_INIT;
 
-               (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, addr->socket.inet.src_port,
+               (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, &addr->socket.inet.src_port,
                                               &sockaddr, salen);
 
                addr->socket.inet.dst_ipaddr = my->info.socket.inet.src_ipaddr;
@@ -951,7 +943,7 @@ fr_bio_t *fr_bio_fd_alloc(TALLOC_CTX *ctx, fr_bio_cb_funcs_t *cb, fr_socket_t co
                if ((my->info.socket.fd >= 0) &&
                    (fr_bio_fd_init(&my->bio, sock) < 0)) {
                        talloc_free(my);
-                       return -1;
+                       return NULL;
                }
        } else {
                /*
index e719c37dbed0cee4f0aab4cb43d0d4e232709aca..e2d0a9802bcf814532b906df38142ea56c1d2fd3 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <freeradius-devel/bio/fd_priv.h>
 #include <freeradius-devel/util/file.h>
+#include <freeradius-devel/util/cap.h>
 
 #include <sys/stat.h>
 #include <net/if.h>
@@ -361,7 +362,7 @@ static int fr_bio_fd_socket_unix_mkdir(int *dirfd, char const **filename, fr_bio
         *
         *      slashes[1] points to the slash after 'radiusd', which doesn't exist.
         */
-       slashes[0] = '\0';
+       *slashes[0] = '\0';
 
        /*
         *      If the grandparent doesn't exist, then we don't create it.
@@ -379,8 +380,8 @@ static int fr_bio_fd_socket_unix_mkdir(int *dirfd, char const **filename, fr_bio
        /*
         *      Create the parent directory.
         */
-       slashes[0] = '/';
-       slashes[1] = '\0';
+       *slashes[0] = '/';
+       *slashes[1] = '\0';
        if (mkdirat(parent_fd, dir, 0700) < 0) {
                fr_strerror_printf("Failed creating directory %s: %s", dir, fr_syserror(errno));
        close_parent:
index e30b5f9bca060f03733fc24a11a9ab378516c191..3310a3129a2971800acb2ee6d2844d2bdde36c72 100644 (file)
@@ -619,8 +619,7 @@ fr_bio_t *fr_bio_mem_alloc(TALLOC_CTX *ctx, size_t read_size, size_t write_size,
  *
  *  Writes pass straight through to the next bio.
  */
-fr_bio_t *fr_bio_mem_packet_alloc(TALLOC_CTX *ctx, size_t read_size, fr_bio_t *next,
-                                 fr_bio_verify_t verify, void *uctx)
+fr_bio_t *fr_bio_mem_packet_alloc(TALLOC_CTX *ctx, size_t read_size, fr_bio_verify_t verify, fr_bio_t *next)   
 {
        fr_bio_mem_t *my;
 
index 338d9c034744bb0f2c6427e0a6dfe7a414a3cf34..8d51a7a4c66665fa8f9fd961b680a7e17fa323fc 100644 (file)
@@ -51,8 +51,7 @@ typedef fr_bio_verify_action_t (*fr_bio_verify_t)(fr_bio_t *bio, void *packet_ct
 
 fr_bio_t       *fr_bio_mem_alloc(TALLOC_CTX *ctx, size_t read_size, size_t write_size, fr_bio_t *next) CC_HINT(nonnull);
 
-fr_bio_t       *fr_bio_mem_packet_alloc(TALLOC_CTX *ctx, size_t read_size, fr_bio_t *next,
-                                        fr_bio_verify_t verify, void *uctx) CC_HINT(nonnull(1,3,4));
+fr_bio_t       *fr_bio_mem_packet_alloc(TALLOC_CTX *ctx, size_t read_size, fr_bio_verify_t verify, fr_bio_t *next) CC_HINT(nonnull);
 
 fr_bio_t       *fr_bio_mem_source_alloc(TALLOC_CTX *ctx, size_t buffer_size, fr_bio_t *next) CC_HINT(nonnull);