8000 adsuck: can't udp bind: Can't assign requested address · Issue #3 · conformal/adsuck · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
adsuck: can't udp bind: Can't assign requested address #3
Open
@higgsd

Description

@higgsd

There are a several of problems in udp_bind() that are triggered by using the -l (ell) flag.

  • The 'addr' field only has space for IPv4 addresses but you attempt to call inet_pton(AF_INET6...). This corrupts the stack and coredumps the process on my machine.

  • Even if an INET6 address could be parsed, you are hardcoding AF_INET everywhere else.

  • The sin_len and sin_zero fields of sockaddr_in are not being set. One (or both) of these are now causing bind to consistently return errno 49 (can't assign requested address) in OpenBSD 5.6. This worked in 5.5, though I haven't figured out what changed.

    3804 adsuck CALL socket(PF_INET,0x2<SOCK_DGRAM>,IPPROTO_IP)
    3804 adsuck RET socket 3
    3804 adsuck CALL bind(0x3,0xcfbc8594,0x10)
    3804 adsuck STRU struct sockaddr { AF_INET, 127.0.0.1:53 }
    3804 adsuck RET bind -1 errno 49 Can't assign requested address

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0