-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adsuck: can't udp bind: Can't assign requested address #3
Comments
Removing the inet6 part solves the issue on OpenBSD 5.6. And as AF_INET is hardcoded, you can't use ipv6 anyway.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
The text was updated successfully, but these errors were encountered: