Why no setuid in linux.d?

Steven Schveighoffer schveiguy at yahoo.com
Fri Nov 19 05:08:27 PST 2010

On Fri, 19 Nov 2010 06:33:02 -0500, 0ffh  
<frank at youknow.what.todo.internetz> wrote:

> Hi,
> I've written a programme that serves port 80, which usually
> requires root access. Therefore, after acquiring the socket
> I want to relinquish root by setting the uid to nonzero.
> I needed to add "int setuid(uid_t uid);" to linux.d and
> recompile Phobos in order to do so.
> I there a specific reason that setuid (and the related
> commands setgid, getuid, geteuid, getgid and getegid)
> is/are missing in the standard version of linux.d?
> Regards, Frank

You are not required to modify phobos to prototype a C function, just do  

extern(C) int setuid(uid_t uid);

to your file that calls the function, and you are good to go.

As to why it was omitted, I'm unsure.


More information about the Digitalmars-d-learn mailing list