diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2018-08-10 18:46:07 +0200 |
|---|---|---|
| committer | Quentin Young <qlyoung@cumulusnetworks.com> | 2018-08-14 20:02:05 +0000 |
| commit | 6bb30c2cbaed955383758c64cf51382dd1978cb9 (patch) | |
| tree | 156023fc555eda4843d96a708e1e115fddfba927 /lib/sockunion.c | |
| parent | 01b9e3fd0d354d7d4c60b1c0240f269a4fd08990 (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.c | 14 |
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; |
