Skip to content

getaddrinfo invalid port number #74896

Description

@smejkar
mannequin
BPO 30711
Nosy @smejkar
PRs
  • bpo-30711: getaddrinfo invalid port number #2436
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2017-06-20.13:26:15.605>
    labels = ['extension-modules', 'type-bug', '3.7']
    title = 'getaddrinfo invalid port number'
    updated_at = <Date 2017-06-27.11:24:31.770>
    user = 'https://github.com/smejkar'

    bugs.python.org fields:

    activity = <Date 2017-06-27.11:24:31.770>
    actor = 'smejkar'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Extension Modules']
    creation = <Date 2017-06-20.13:26:15.605>
    creator = 'smejkar'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 30711
    keywords = ['patch']
    message_count = 3.0
    messages = ['296423', '296737', '297021']
    nosy_count = 1.0
    nosy_names = ['smejkar']
    pr_nums = ['2436']
    priority = 'normal'
    resolution = None
    stage = None
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue30711'
    versions = ['Python 3.7']

    Activity

    1. smejkar commented on Jun 20, 2017

      smejkarmannequin
      MannequinAuthor

      Some getaddrinfo implementations do not detect invalid numeric services and blindly pass the port number to htons(). For example, service "960179" is returned as port 42675.

      glibc
      https://sourceware.org/bugzilla/show_bug.cgi?id=16208
      https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/posix/getaddrinfo.c;h=a8bdd9a1829409bd797637b2c4fca4d67a11012d;hb=HEAD#l435
      https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/posix/getaddrinfo.c;h=a8bdd9a1829409bd797637b2c4fca4d67a11012d;hb=HEAD#l2313

      AIX 7.1 libc
      Broken

      Modules/getaddrinfo
      https://github.com/python/cpython/blob/master/Modules/getaddrinfo.c#L342

      On the other hand, for example, OpenBSD and musl check the port range
      https://github.com/openbsd/src/blob/master/lib/libc/asr/getaddrinfo_async.c#L477
      https://git.musl-libc.org/cgit/musl/tree/src/network/lookup_serv.c#n53

      Modules/getaddrinfo should be fixed.

      The configure script should detect whether the system getaddrinfo is broken. If so, a wrapper that checks numeric services, and returns EAI_SERVICE or calls the system getaddrinfo should be used in place of the system getaddrinfo.

    2. added
      stdlibStandard Library Python modules in the Lib/ directory
      type-bugAn unexpected behavior, bug, or error
      and removed
      stdlibStandard Library Python modules in the Lib/ directory
      on Jun 20, 2017
    3. smejkar commented on Jun 23, 2017

      smejkarmannequin
      MannequinAuthor

      See also bpo-30710.

    4. smejkar commented on Jun 27, 2017

      smejkarmannequin
      MannequinAuthor

      See also bpo-30786.

    5. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      3.7 (EOL)end of lifeextension-modulesC modules in the Modules dirtopic-socketRelated to the socket, socketserver and selectors modulestype-bugAn unexpected behavior, bug, or error

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions