]> git.proxmox.com Git - mirror_frr.git/blobdiff - ldpd/socket.c
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / ldpd / socket.c
index b31db2c7bc3feecd63d56aea34e64b46b3d75012..ec6d8be3d5d6569da050ccbc5db0f0f3e1cee9e9 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: ISC
 /*     $OpenBSD$ */
 
 /*
@@ -5,18 +6,6 @@
  * Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
  * Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org>
  * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
 #include <zebra.h>
@@ -79,7 +68,7 @@ ldp_create_socket(int af, enum socket_type type)
                sock_set_bindany(fd, 1);
                break;
        }
-       frr_elevate_privs(&ldpd_privs) {
+       frr_with_privs(&ldpd_privs) {
                if (sock_set_reuse(fd, 1) == -1) {
                        close(fd);
                        return (-1);
@@ -209,7 +198,7 @@ sock_set_nonblock(int fd)
 
        flags |= O_NONBLOCK;
 
-       if ((flags = fcntl(fd, F_SETFL, flags)) == -1)
+       if (fcntl(fd, F_SETFL, flags) == -1)
                fatal("fcntl F_SETFL");
 }
 
@@ -223,7 +212,7 @@ sock_set_cloexec(int fd)
 
        flags |= FD_CLOEXEC;
 
-       if ((flags = fcntl(fd, F_SETFD, flags)) == -1)
+       if (fcntl(fd, F_SETFD, flags) == -1)
                fatal("fcntl F_SETFD");
 }
 
@@ -254,7 +243,7 @@ int
 sock_set_bindany(int fd, int enable)
 {
 #ifdef HAVE_SO_BINDANY
-       frr_elevate_privs(&ldpd_privs) {
+       frr_with_privs(&ldpd_privs) {
                if (setsockopt(fd, SOL_SOCKET, SO_BINDANY, &enable,
                               sizeof(int)) < 0) {
                        log_warn("%s: error setting SO_BINDANY", __func__);
@@ -269,7 +258,7 @@ sock_set_bindany(int fd, int enable)
        }
        return (0);
 #elif defined(IP_BINDANY)
-       frr_elevate_privs(&ldpd_privs) {
+       frr_with_privs(&ldpd_privs) {
                if (setsockopt(fd, IPPROTO_IP, IP_BINDANY, &enable, sizeof(int))
                    < 0) {
                        log_warn("%s: error setting IP_BINDANY", __func__);
@@ -304,7 +293,7 @@ sock_set_md5sig(int fd, int af, union ldpd_addr *addr, const char *password)
 #if HAVE_DECL_TCP_MD5SIG
        addr2sa(af, addr, 0, &su);
 
-       frr_elevate_privs(&ldpe_privs) {
+       frr_with_privs(&ldpe_privs) {
                ret = sockopt_tcp_signature(fd, &su, password);
                save_errno = errno;
        }
@@ -320,7 +309,7 @@ sock_set_md5sig(int fd, int af, union ldpd_addr *addr, const char *password)
 int
 sock_set_ipv4_tos(int fd, int tos)
 {
-       if (setsockopt(fd, IPPROTO_IP, IP_TOS, (int *)&tos, sizeof(tos)) < 0) {
+       if (setsockopt(fd, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) < 0) {
                log_warn("%s: error setting IP_TOS to 0x%x", __func__, tos);
                return (-1);
        }
@@ -329,7 +318,7 @@ sock_set_ipv4_tos(int fd, int tos)
 }
 
 int
-sock_set_ipv4_recvif(int fd, int enable)
+sock_set_ipv4_recvif(int fd, ifindex_t enable)
 {
        return (setsockopt_ifindex(AF_INET, fd, enable));
 }