diff options
| author | paul <paul> | 2003-06-04 13:59:38 +0000 | 
|---|---|---|
| committer | paul <paul> | 2003-06-04 13:59:38 +0000 | 
| commit | edd7c245d3a77012abf801da00d5664ebaa5f749 (patch) | |
| tree | d4fada229d7980fb751f28c9a979aa88de1a0af0 /zebra/ipforward_proc.c | |
| parent | a159ed935b580ed99111a185734ddd9c973e7691 (diff) | |
2003-06-04 Paul Jakma <paul@dishone.st>
	* Merge of zebra privileges
Diffstat (limited to 'zebra/ipforward_proc.c')
| -rw-r--r-- | zebra/ipforward_proc.c | 32 | 
1 files changed, 31 insertions, 1 deletions
diff --git a/zebra/ipforward_proc.c b/zebra/ipforward_proc.c index eb8cef01f1..a31ec84b67 100644 --- a/zebra/ipforward_proc.c +++ b/zebra/ipforward_proc.c @@ -22,6 +22,11 @@  #include <zebra.h> +#include "log.h" +#include "privs.h" + +extern struct zebra_privs_t zserv_privs; +  char proc_net_snmp[] = "/proc/net/snmp";  static void @@ -68,9 +73,15 @@ int  ipforward_on ()  {    FILE *fp; +   +  if ( zserv_privs.change(ZPRIVS_RAISE) ) +  	zlog_err ("Can't raise privileges, %s", strerror (errno) );    fp = fopen (proc_ipv4_forwarding, "w"); -   + +  if ( zserv_privs.change(ZPRIVS_LOWER) ) +  	zlog_err ("Can't lower privileges, %s", strerror (errno)); +        if (fp == NULL)      return -1; @@ -86,7 +97,14 @@ ipforward_off ()  {    FILE *fp; +  if ( zserv_privs.change(ZPRIVS_RAISE) ) +  	zlog_err ("Can't raise privileges, %s", strerror (errno)); +    fp = fopen (proc_ipv4_forwarding, "w"); + +  if ( zserv_privs.change(ZPRIVS_LOWER) ) +  	zlog_err ("Can't lower privileges, %s", strerror (errno)); +    if (fp == NULL)      return -1; @@ -124,7 +142,13 @@ ipforward_ipv6_on ()  {    FILE *fp; +  if ( zserv_privs.change(ZPRIVS_RAISE) ) +  	zlog_err ("Can't raise privileges, %s", strerror (errno)); +    fp = fopen (proc_ipv6_forwarding, "w"); + +  if ( zserv_privs.change(ZPRIVS_LOWER) ) +  	zlog_err ("Can't lower privileges, %s", strerror (errno));    if (fp == NULL)      return -1; @@ -141,7 +165,13 @@ ipforward_ipv6_off ()  {    FILE *fp; +  if ( zserv_privs.change(ZPRIVS_RAISE) ) +  	zlog_err ("Can't raise privileges, %s", strerror (errno)); +    fp = fopen (proc_ipv6_forwarding, "w"); + +  if ( zserv_privs.change(ZPRIVS_LOWER) ) +  	zlog_err ("Can't lower privileges, %s", strerror (errno));    if (fp == NULL)      return -1;  | 
