Differences From Artifact [4ddf302e5d]:
- File src/platform/POSIX/OFSystemInfo+NetworkInterfaces.m — part of check-in [b5e3f01a59] at 2023-08-29 12:16:10 on branch trunk — Fix compilation with Apple GCC 4.0.1 & 4.2.1 (user: js, size: 18861) [annotate] [blame] [check-ins using] [more...]
To Artifact [a1d7049810]:
- File
src/platform/POSIX/OFSystemInfo+NetworkInterfaces.m
— part of check-in
[841dd6ddef]
at
2023-10-15 17:40:11
on branch trunk
— Don't rely on inet6_getscopeid for KAME
OpenBSD uses KAME but doesn't have inet6_getscopeid. (user: js, size: 19084) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
223 224 225 226 227 228 229 | sockaddrSize); # if defined(OF_HAVE_IPV6) && defined(HAVE_IF_NAMETOINDEX) if (address.sockaddr.in6.sin6_family == AF_INET6 && address.sockaddr.in6.sin6_addr.s6_addr[0] == 0xFE && (address.sockaddr.in6.sin6_addr.s6_addr[1] & 0xC0) == 0x80) { | | > | < > > > | > | > > | > | < | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | sockaddrSize); # if defined(OF_HAVE_IPV6) && defined(HAVE_IF_NAMETOINDEX) if (address.sockaddr.in6.sin6_family == AF_INET6 && address.sockaddr.in6.sin6_addr.s6_addr[0] == 0xFE && (address.sockaddr.in6.sin6_addr.s6_addr[1] & 0xC0) == 0x80) { # if defined(__KAME__) # define addr6 address.sockaddr.in6.sin6_addr.s6_addr address.sockaddr.in6.sin6_scope_id = (addr6[2] << 8) | addr6[3]; addr6[2] = addr6[3] = 0; # undef addr6 # elif defined(HAVE_IF_NAMETOINDEX) address.sockaddr.in6.sin6_scope_id = if_nametoindex( [name cStringWithEncoding: encoding]); # endif } # endif [addresses addItem: &address]; next: # ifdef HAVE_STRUCT_SOCKADDR_SA_LEN if (current->ifr_addr.sa_len > sizeof(struct sockaddr)) buffer += sizeof(struct ifreq) - sizeof(struct sockaddr) + current->ifr_addr.sa_len; else # endif buffer += sizeof(struct ifreq); } } @finally { free(ifrs); closesocket(sock); } # endif |
︙ | ︙ |