Bug 56038 - setresuid and setresgid not prototyped in unistd.h
Summary: setresuid and setresgid not prototyped in unistd.h
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: man-pages
Version: 7.2
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: Trond Eivind Glomsrxd
QA Contact: Aaron Brown
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-11-11 15:42 UTC by Richard Lloyd
Modified: 2007-04-18 16:38 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2001-11-13 20:47:52 UTC
Embargoed:


Attachments (Terms of Use)

Description Richard Lloyd 2001-11-11 15:42:40 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.77 [en] (X11; U; HP-UX B.11.00 9000/712; Nav)

Description of problem:
If I do a "man setresuid" on RH 7.2, I get told that the prototypes
for both setresuid and setresguid are in <unistd.h>. Sadly, they're
not ! I can't even find them in any file under /usr/include.

Also, the man page claims it's a "Linux-specific" function,
but it actually also exists on HP-UX (and maybe other non-Linux
machines too ?).

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. "man setresuid".
2. find /usr/include -exec grep setresuid {} \; -print


Actual Results:  Man page for setresuid indicates that <unistd.h> should
prototype
the function.

The find command searches down the /usr/include tree looking for
any reference to setresuid. It fails to find the prototype.

Expected Results:  I should have got the prototype defined in <unistd.h>
like the
man page says.

Additional info:

<unistd.h> is part of glibc-devel (which isn't listed as a
component in this Bugzilla interface !) - so this problem is actually
probably more in the realm of the glibc coders than Red Hat, but
I thought you'd like to know anyway...

The workaround is straightforward - just define the prototypes
yourself as the man page lists them:

       int setresuid(uid_t ruid, uid_t euid, uid_t suid);
       int setresgid(gid_t rgid, gid_t egid, gid_t sgid);

But really, I shouldn't have to do this myself...

Comment 1 Jakub Jelinek 2001-11-12 17:59:15 UTC
According to Ulrich Drepper, this is intentional.
So instead the man pages should have #include <unistd.h> deleted.
What do you need it for?

Comment 2 Trond Eivind Glomsrxd 2001-11-13 20:47:46 UTC
jakub: The prototypes can't be found in any header? You have to write them
yourself? That doesn't seem like a good thing....

Comment 3 Trond Eivind Glomsrxd 2001-11-15 17:19:03 UTC
This information was added to man-pages-1.43-2, but I think the headers should
be available somewhere...


Note You need to log in before you can comment on or make changes to this bug.