From: Quentin Young Date: Sat, 20 Apr 2019 00:41:30 +0000 (+0000) Subject: vrrpd: use frr_elevate_privs X-Git-Tag: base_7.2~330^2~15 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=c94d18955e8a1e239c063c62ddde00559c91840c;p=matthieu%2Ffrr.git vrrpd: use frr_elevate_privs Missed a few in the uplift. Signed-off-by: Quentin Young --- diff --git a/vrrpd/vrrp.c b/vrrpd/vrrp.c index d24f918b12..f98b230c62 100644 --- a/vrrpd/vrrp.c +++ b/vrrpd/vrrp.c @@ -1087,13 +1087,12 @@ static int vrrp_socket(struct vrrp_router *r) setsockopt_ipv4_multicast_loop(r->sock_tx, 0); /* Bind Rx socket to exact interface */ - vrrp_privs.change(ZPRIVS_RAISE); + frr_elevate_privs(&vrrp_privs) { ret = setsockopt(r->sock_rx, SOL_SOCKET, SO_BINDTODEVICE, r->vr->ifp->name, strlen(r->vr->ifp->name)); } - vrrp_privs.change(ZPRIVS_LOWER); if (ret) { zlog_warn(VRRP_LOGPFX VRRP_LOGPFX_VRID VRRP_LOGPFX_FAM "Failed to bind Rx socket to %s: %s", @@ -1198,13 +1197,12 @@ static int vrrp_socket(struct vrrp_router *r) setsockopt_ipv6_multicast_loop(r->sock_tx, 0); /* Bind Rx socket to exact interface */ - vrrp_privs.change(ZPRIVS_RAISE); + frr_elevate_privs(&vrrp_privs) { ret = setsockopt(r->sock_rx, SOL_SOCKET, SO_BINDTODEVICE, r->vr->ifp->name, strlen(r->vr->ifp->name)); } - vrrp_privs.change(ZPRIVS_LOWER); if (ret) { zlog_warn(VRRP_LOGPFX VRRP_LOGPFX_VRID VRRP_LOGPFX_FAM "Failed to bind Rx socket to %s: %s", diff --git a/vrrpd/vrrp_ndisc.c b/vrrpd/vrrp_ndisc.c index 8a439e97ca..8081533ebc 100644 --- a/vrrpd/vrrp_ndisc.c +++ b/vrrpd/vrrp_ndisc.c @@ -211,11 +211,10 @@ int vrrp_ndisc_una_send_all(struct vrrp_router *r) void vrrp_ndisc_init(void) { - vrrp_privs.change(ZPRIVS_RAISE); + frr_elevate_privs(&vrrp_privs) { ndisc_fd = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_IPV6)); } - vrrp_privs.change(ZPRIVS_LOWER); if (ndisc_fd > 0) { DEBUGD(&vrrp_dbg_sock,