This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug network/17722] Resolver inet_* namespace


https://sourceware.org/bugzilla/show_bug.cgi?id=17722

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  8ac5a76a99e51a91eac9cecbe941fc05ddf11e03 (commit)
      from  66ce3cb12f74d3dbd4018ce6498a36348acf7e83 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8ac5a76a99e51a91eac9cecbe941fc05ddf11e03

commit 8ac5a76a99e51a91eac9cecbe941fc05ddf11e03
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Dec 17 18:09:11 2014 +0000

    Fix resolver inet_* namespace (bug 17722).

    Parts of the resolver brought in by pthreads (at least) use inet_*
    functions that aren't in the 1995/6 edition of POSIX that introduced
    pthreads (or in one case, use __inet_aton which is then defined in the
    same file as non-weak inet_addr).  This patch fixes this by making the
    affected functions into weak alias for __inet_* and using those names
    in the problematic resolver code.

    Tested for x86_64 (testsuite, and that disassembly of installed shared
    libraries is unchanged by the patch).

        [BZ #17722]
        * inet/inet_mkadr.c (inet_makeaddr): Rename to __inet_makeaddr and
        define as weak alias of __inet_makeaddr.
        * resolv/inet_addr.c (inet_addr): Rename to __inet_addr and define
        as weak alias of __inet_addr.
        * resolv/inet_pton.c (inet_pton): Rename to __inet_pton and define
        as weak alias of __inet_pton.  Use libc_hidden_weak.
        * include/arpa/inet.h (__inet_pton): Declare.  Use
        libc_hidden_proto.
        (inet_makeaddr): Don't use libc_hidden_proto.
        (__inet_makeaddr): Declare.  Use libc_hidden_proto.
        * resolv/res_init.c (__res_vinit): Use __inet_pton instead of
        inet_pton.  Use __inet_makeaddr instead of inet_makeaddr.
        * conform/Makefile (test-xfail-POSIX/pthread.h/linknamespace):
        Remove variable.
        (test-xfail-POSIX/sched.h/linknamespace): Likewise.
        (test-xfail-POSIX/time.h/linknamespace): Likewise.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog           |   20 ++++++++++++++++++++
 NEWS                |    3 ++-
 conform/Makefile    |    3 ---
 include/arpa/inet.h |    5 ++++-
 inet/inet_mkadr.c   |    5 +++--
 resolv/inet_addr.c  |    3 ++-
 resolv/inet_pton.c  |    6 ++++--
 resolv/res_init.c   |    4 ++--
 8 files changed, 37 insertions(+), 12 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]