[Bug 265489] IPV6 Non-Local Bind Operation timeout.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 03 Aug 2022 02:49:50 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265489 --- Comment #2 from todenerey@gmail.com --- (In reply to Zhenlei Huang from comment #1) #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <netinet/in.h> #include <sys/socket.h> const char *bind_ip = " "; // My /64 block ip. const char *HOST = "2a01:4f8:c0c:bd0a::1"; const int PORT = 80; int main() { int sockfd; struct sockaddr_in6 sin; struct sockaddr_in6 sa; sockfd = socket(AF_INET6, SOCK_STREAM, 0); if(sockfd == -1) { perror("Socket error: "); return 1; } int on = 1; setsockopt(sockfd, IPPROTO_IPV6, IPV6_BINDANY, &on, sizeof(on)); sin.sin6_family = AF_INET6; sin.sin6_port = htons(0); if(inet_pton(AF_INET6, bind_ip, &sin.sin6_addr) != 1) { fprintf(stderr, "Invalid bind source address.\n"); return 1; } sa.sin6_family = AF_INET6; sa.sin6_port = htons(PORT); if(inet_pton(AF_INET6, HOST, &sa.sin6_addr) != 1) { fprintf(stderr, "Invalid host address.\n"); return 1; } if(bind(sockfd, (struct sockaddr *) &sin, sizeof(sin)) == -1) { perror("Bind error: "); return 1; } if(connect(sockfd, (struct sockaddr *)&sa, sizeof(sa)) != 0) { perror("Connect error: "); return 1; } printf("Connection successful!\n"); close(sockfd); return 0; } -- You are receiving this mail because: You are the assignee for the bug.