Porting sudo to QNX6
Norton Allen
allen at huarp.harvard.edu
Thu May 15 12:49:58 EDT 2003
Greeting,
I have successfully compiled sudo under QNX6.2.0, but I did
have a couple snags I had to work around:
set_perms:
When uid=0 and euid=user-uid, the call to setreuid(0,0)
fails. This is reportedly due to changes in the Unix98
standard. What's illegal is not setting the euid to 0,
but 'setting' the real uid to 0. The legal call is
setreuid(-1,0).
I'm not sure what the most portable way to patch this is.
In the PERM_FULL_ROOT and PERM_ROOT cases, are there
any assumptions about the uid and euid? Is it just that
one or the other is 0? If euid is 0, we can do anything,
so setreuid(0,0) is fine. If euid!=0, then uid had
better be 0, so setreuid(-1,0) would be the correct
call.
tgetpass:
The select header does not define NFDBITS et. al.
This is somewhat academic because select() is
broken for terminals in edit mode, so I configure
--with-password-timeout=0, but tgetpass still
needs to be able to compile the select code,
so I hacked in a bit of stuff.
Why did you choose to use select rather than alarm()?
That approach seems over-complicated, considering
you are waiting on just one fd.
I'm more than happy to provide real patches, but I
wanted to get some idea how you would like me to
address these issues first.
-Norton Allen
Software Engineer
Anderson Group - Stratospheric Chemistry Research
Harvard University
More information about the sudo-workers
mailing list