summaryrefslogtreecommitdiff
path: root/lib/sockunion.c
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2018-08-10 18:46:07 +0200
committerQuentin Young <qlyoung@cumulusnetworks.com>2018-08-14 20:02:05 +0000
commit6bb30c2cbaed955383758c64cf51382dd1978cb9 (patch)
tree156023fc555eda4843d96a708e1e115fddfba927 /lib/sockunion.c
parent01b9e3fd0d354d7d4c60b1c0240f269a4fd08990 (diff)
*: use frr_elevate_privs() (2/2: manual)
Signed-off-by: David Lamparter <equinox@diac24.net>
Diffstat (limited to 'lib/sockunion.c')
-rw-r--r--lib/sockunion.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/lib/sockunion.c b/lib/sockunion.c
index 60597b5881..bbbfbfc424 100644
--- a/lib/sockunion.c
+++ b/lib/sockunion.c
@@ -366,16 +366,10 @@ int sockopt_mark_default(int sock, int mark, struct zebra_privs_t *cap)
#ifdef SO_MARK
int ret;
- if (cap->change(ZPRIVS_RAISE))
- flog_err(LIB_ERR_PRIVILEGES,
- "routing_socket: Can't raise privileges");
-
- ret = setsockopt(sock, SOL_SOCKET, SO_MARK, &mark, sizeof(mark));
-
- if (cap->change(ZPRIVS_LOWER))
- flog_err(LIB_ERR_PRIVILEGES,
- "routing_socket: Can't lower privileges");
-
+ frr_elevate_privs(cap) {
+ ret = setsockopt(sock, SOL_SOCKET, SO_MARK, &mark,
+ sizeof(mark));
+ }
return ret;
#else
return 0;