diff options
author | Michael K. Johnson <johnsonm@redhat.com> | 1997-09-30 23:53:29 +0000 |
---|---|---|
committer | Michael K. Johnson <johnsonm@redhat.com> | 1997-09-30 23:53:29 +0000 |
commit | d698eaf561087d2375a2a6cad79100669a387bc7 (patch) | |
tree | 186a5a94c9488f1f2d484a63b1993984107aa140 /src/usernetctl.c | |
parent | 3bc8f95b0064a0e1990e95e272b453deb3dff78c (diff) | |
download | initscripts-d698eaf561087d2375a2a6cad79100669a387bc7.tar initscripts-d698eaf561087d2375a2a6cad79100669a387bc7.tar.gz initscripts-d698eaf561087d2375a2a6cad79100669a387bc7.tar.bz2 initscripts-d698eaf561087d2375a2a6cad79100669a387bc7.tar.xz initscripts-d698eaf561087d2375a2a6cad79100669a387bc7.zip |
Added report option for usernet.
Diffstat (limited to 'src/usernetctl.c')
-rw-r--r-- | src/usernetctl.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/usernetctl.c b/src/usernetctl.c index f642f332..ece0544b 100644 --- a/src/usernetctl.c +++ b/src/usernetctl.c @@ -11,7 +11,7 @@ /* this will be running setuid root, so be careful! */ void usage(void) { - fprintf(stderr, "usage: usernetctl <interface-config> <up|down>\n"); + fprintf(stderr, "usage: usernetctl <interface-config> <up|down|report>\n"); exit(1); } @@ -106,6 +106,7 @@ int main(int argc, char ** argv) { char * ifaceConfig; char * chptr; char * cmd; + int report = 0; if (argc != 3) usage(); @@ -113,6 +114,8 @@ int main(int argc, char ** argv) { cmd = "./ifup"; } else if (!strcmp(argv[2], "down")) { cmd = "./ifdown"; + } else if (!strcmp(argv[2], "report")) { + report = 1; } else { usage(); } @@ -157,12 +160,18 @@ int main(int argc, char ** argv) { } /* else fall through */ case FOUND_FALSE: - fprintf(stderr, "Users are not allowed to control this interface.\n"); + if (! report) + fprintf(stderr, + "Users are not allowed to control this interface.\n"); exit(1); break; } - /* looks good to me -- let's go for it */ + /* looks good to me -- let's go for it if we are changing the interface, + * report good status to the user otherwise */ + + if (report) + exit(0); /* pppd wants the real uid to be the same as the effective (god only knows why when it works fine setuid out of the box) */ |