summaryrefslogtreecommitdiff
path: root/usr.sbin/map-mbone
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1996-09-11 19:15:37 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1996-09-11 19:15:37 +0000
commitf09f4c6aa02ea4012faa8491d629b9c8c3b77c71 (patch)
treee4f10a011c58422d098a486f61efcccea73c260a /usr.sbin/map-mbone
parent7021cb8f932f18e085425d77aee0302c44bb8da6 (diff)
revoke privs at start; tested by fenner@parc.xerox.com
Diffstat (limited to 'usr.sbin/map-mbone')
-rw-r--r--usr.sbin/map-mbone/mapper.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/usr.sbin/map-mbone/mapper.c b/usr.sbin/map-mbone/mapper.c
index 7a273d01aee..43134c69671 100644
--- a/usr.sbin/map-mbone/mapper.c
+++ b/usr.sbin/map-mbone/mapper.c
@@ -844,13 +844,16 @@ int main(argc, argv)
{
int flood = FALSE, graph = FALSE;
- setlinebuf(stderr);
-
if (geteuid() != 0) {
- fprintf(stderr, "must be root\n");
- exit(1);
+ fprintf(stderr, "map-mbone: must be root\n");
+ exit(1);
}
+ init_igmp();
+ setuid(getuid());
+
+ setlinebuf(stderr);
+
argv++, argc--;
while (argc > 0 && argv[0][0] == '-') {
switch (argv[0][1]) {
@@ -899,8 +902,6 @@ int main(argc, argv)
if (debug)
fprintf(stderr, "Debug level %u\n", debug);
- init_igmp();
-
{ /* Find a good local address for us. */
int udp;
struct sockaddr_in addr;