Please sign in to comment.
Support IPv6 addresses with scope IDs
The scope ID specifies the interface that the system should use when sending packets to a link-local address. An example of an IPv6 address with scope ID is "fe80::a00:27ff:fe84:be2%eth0". Supporting this requires two major code changes: * The scope ID is part of the sockaddr_in6 structure, not the in6_addr structure. We therefore need to store socket addresses instead of host addresses in nc_host_t. Note that since we store port numbers separately (and we can have a port range instead of a single port), the port part of the socket addresses stored in nc_host_t is undefined (0). * In netcat_resolvehost we need to use getaddrinfo (resp. getnameinfo) instead of inet_pton and gethostbyname (resp. inet_ntop and gethostbyaddr), because only those functions support scope IDs.
- Loading branch information...
Showing with 138 additions and 135 deletions.
Oops, something went wrong.