On Mon, Mar 18, 2002 at 09:41:34AM +0100, Joerg Schilling wrote:
POSIX sucks more. It even contradicts itself. There are dozen of broken things in it.
This is often heard by people like you, but they are getting quiet when it comes to making concrete examples.
Besides the broken realpath() interface, there are two other deficiances which come to my mind immediately:
1. No way to get hold of the open file descriptors. This lead to poor work arounds like looping over all possible file descriptors and running close() on them before an exec(). This basically enforces that RLIMIT_NOFILE has a reasonably low soft limit (although the standard allows any arbitrary high value, even 2^31 - 1, which will break some apps). Note that close on exec is not a solution for a library that wants to call fork/exec.
2. No way to raise permissions, only to lower them. This has really hurt the Unix world in leading to very effect security holes, because daemons like ftp must run as root initally, before they can fork/exec, accept a connection and then lower permission. In the Hurd you can raise and lower permissions arbitrarily (you can even drop all permissions and run without any uids or gids).
You can call both defects of UNIX, and POSIX only documents them properly. I sometimes find confusing things or small typos etc in my POSIX draft, but I don't keep a list of those.
Thanks, Marcus