]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
bind to unix sockets correctly for ACCEPT
authorAlan T. DeKok <aland@freeradius.org>
Wed, 24 Jan 2024 15:27:12 +0000 (10:27 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 24 Jan 2024 15:27:12 +0000 (10:27 -0500)
src/lib/bio/fd_open.c

index eb3b57ee1d0e198f46449ef370ed4f6110c3d172..c93755a2de4bbba11db6815e4b9fb174fb4784c2 100644 (file)
@@ -909,13 +909,18 @@ int fr_bio_fd_open(fr_bio_t *bio, fr_bio_fd_config_t const *cfg)
                switch (my->info.socket.af) {
                case AF_INET:
                        if (fr_bio_fd_server_ipv4(fd, &my->info.socket, cfg) < 0) goto fail;
+
+                       if (fr_bio_fd_socket_bind(my, cfg) < 0) goto fail;
                        break;
 
                case AF_INET6:
                        if (fr_bio_fd_server_ipv6(fd, &my->info.socket, cfg) < 0) goto fail;
+
+                       if (fr_bio_fd_socket_bind(my, cfg) < 0) goto fail;
                        break;
 
-               case AF_LOCAL:
+               case AF_LOCAL:  
+                       if (fr_bio_fd_socket_bind_unix(my, cfg) < 0) goto fail;
                        break;
 
                default:
@@ -923,8 +928,6 @@ int fr_bio_fd_open(fr_bio_t *bio, fr_bio_fd_config_t const *cfg)
                        goto fail;
                }
 
-               if (fr_bio_fd_socket_bind(my, cfg) < 0) goto fail;
-
                if (fr_bio_fd_init_accept(my) < 0) goto fail;
                break;
        }