Security fix.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@6321 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
richard 2000-03-18 13:07:45 +00:00
parent 009d8dacbb
commit e663897512
2 changed files with 19 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2000-03-18 Richard Frith-Macdonald <rfm@gnu.org>
* Tools/gdomap.c: Become an unpriveliged user after binding to
port 538 (for which we need to be root). This should relieve
some security considerations.
2000-03-18 Richard Frith-Macdonald <rfm@gnu.org> 2000-03-18 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSNumber.m: Added private methods from concrete class. * Source/NSNumber.m: Added private methods from concrete class.

View file

@ -1173,6 +1173,19 @@ init_ports()
exit(1); exit(1);
} }
/*
* Try to become a 'safe' user now that we have
* done everything that needs root priv.
*/
if (getuid () != 0)
{
setuid (getuid ());
}
else
{
setuid (-1);
}
/* /*
* Set up masks to say we are interested in these descriptors. * Set up masks to say we are interested in these descriptors.
*/ */
@ -2984,7 +2997,6 @@ main(int argc, char** argv)
printf(" tcp_foreign, udp_foreign.\n"); printf(" tcp_foreign, udp_foreign.\n");
printf("-U name unregister name locally then quit.\n"); printf("-U name unregister name locally then quit.\n");
printf("-a file use config file for interface list.\n"); printf("-a file use config file for interface list.\n");
printf("-p disable udp broadcast for probe\n");
printf("-c file use config file for probe.\n"); printf("-c file use config file for probe.\n");
printf("-d extra debug logging.\n"); printf("-d extra debug logging.\n");
printf("-f avoid fork() to make debugging easy\n"); printf("-f avoid fork() to make debugging easy\n");