mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 13:21:22 +00:00
lib: Fix priviledge modification for vty group specified
When attempting to switch runtime permissions over to the correct group specified for the vty group, if the user specified to run as does not have that vty group then do warn about the issue and stop running Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reported-by: Thomas Martin <tmartincpp@gmail.com>
This commit is contained in:
parent
4a9ea50e1b
commit
b8b341d7c3
12
lib/privs.c
12
lib/privs.c
@ -664,6 +664,7 @@ zprivs_init(struct zebra_privs_t *zprivs)
|
||||
struct group *grentry = NULL;
|
||||
gid_t groups[NGROUPS_MAX];
|
||||
int i, ngroups = 0;
|
||||
int found = 0;
|
||||
|
||||
if (!zprivs)
|
||||
{
|
||||
@ -729,8 +730,17 @@ zprivs_init(struct zebra_privs_t *zprivs)
|
||||
|
||||
for ( i = 0; i < ngroups; i++ )
|
||||
if ( groups[i] == zprivs_state.vtygrp )
|
||||
break;
|
||||
{
|
||||
found++;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!found)
|
||||
{
|
||||
fprintf (stderr, "privs_init: user(%s) is not part of vty group specified(%s)\n",
|
||||
zprivs->user, zprivs->vty_group);
|
||||
exit (1);
|
||||
}
|
||||
if ( i >= ngroups && ngroups < (int) ZEBRA_NUM_OF(groups) )
|
||||
{
|
||||
groups[i] = zprivs_state.vtygrp;
|
||||
|
Loading…
Reference in New Issue
Block a user