Bug 467485 - Applications using ucred which compiled in F8 fail in F9.
Applications using ucred which compiled in F8 fail in F9.
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: glibc (Show other bugs)
9
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-10-17 13:54 EDT by Michael H. Warfield
Modified: 2008-10-18 14:38 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-10-18 14:38:00 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Michael H. Warfield 2008-10-17 13:54:28 EDT
This is a problem in glibc-headers but I don't see a category for that and this is as close as I can get.

I have a network application that compiles and runs in Fedora 8 but which fails in Fedora 9 complaining that it is unable to determine the size of a structure of type "ucred".  That structure is defined in /usr/include/bits/socket.h.  The telling difference is that in F9 it's under and #ifdef as follows:

F8:

/* User visible structure for SCM_CREDENTIALS message */

struct ucred
{
  pid_t pid;                    /* PID of sending process.  */
  uid_t uid;                    /* UID of sending process.  */
  gid_t gid;                    /* GID of sending process.  */
};


F9:

#ifdef __USE_GNU
/* User visible structure for SCM_CREDENTIALS message */
struct ucred
{
  pid_t pid;                    /* PID of sending process.  */
  uid_t uid;                    /* UID of sending process.  */
  gid_t gid;                    /* GID of sending process.  */
};
#endif

What gives?  And defining __USE_GNU in the calling application did not
solve the problem.  One of the intervening includes must be undefining it.

I don't see the reason for this change since all it does is eliminate
the ucred structure definition without defining any replacement.  The
application clearly compiled and worked under F8 and it compiles and
works under F9 if I remove that #ifdef, so I don't understand what it's
there for or what it's accomplishing since it won't conflict with any
other definition.

F8:     glibc-headers-2.7-2
F9:     glibc-headers-2.8-8
Comment 1 Michael H. Warfield 2008-10-18 14:38:00 EDT
Problem resolved on mailing list. Not a bug.

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