turns out there is one more error message that can signal missing IPv6

support in the kernel
master
leitner 20 years ago
parent 265e2df10c
commit 9210337fa5

@ -1,4 +1,5 @@
0.23: 0.23:
also recognize EPFNOSUPPORT as EAFNOSUPPORT (groan)
0.22: 0.22:
uh, the scope_id detection #defined the wrong constant. libowfat uh, the scope_id detection #defined the wrong constant. libowfat

@ -11,6 +11,9 @@
#ifndef EAFNOSUPPORT #ifndef EAFNOSUPPORT
#define EAFNOSUPPORT EINVAL #define EAFNOSUPPORT EINVAL
#endif #endif
#ifndef EPFNOSUPPORT
#define EPFNOSUPPORT EAFNOSUPPORT
#endif
int socket_tcp6(void) int socket_tcp6(void)
{ {
@ -21,7 +24,7 @@ int socket_tcp6(void)
if (noipv6) goto compat; if (noipv6) goto compat;
s = winsock2errno(socket(PF_INET6,SOCK_STREAM,0)); s = winsock2errno(socket(PF_INET6,SOCK_STREAM,0));
if (s == -1) { if (s == -1) {
if (errno == EINVAL || errno == EAFNOSUPPORT) { if (errno == EINVAL || errno == EAFNOSUPPORT || errno == EPFNOSUPPORT) {
compat: compat:
s=socket(AF_INET,SOCK_STREAM,0); s=socket(AF_INET,SOCK_STREAM,0);
noipv6=1; noipv6=1;

@ -11,6 +11,9 @@
#ifndef EAFNOSUPPORT #ifndef EAFNOSUPPORT
#define EAFNOSUPPORT EINVAL #define EAFNOSUPPORT EINVAL
#endif #endif
#ifndef EPFNOSUPPORT
#define EPFNOSUPPORT EAFNOSUPPORT
#endif
int socket_udp6(void) int socket_udp6(void)
{ {
@ -21,7 +24,7 @@ int socket_udp6(void)
if (noipv6) goto compat; if (noipv6) goto compat;
s = winsock2errno(socket(PF_INET6,SOCK_DGRAM,0)); s = winsock2errno(socket(PF_INET6,SOCK_DGRAM,0));
if (s == -1) { if (s == -1) {
if (errno == EINVAL || errno == EAFNOSUPPORT) { if (errno == EINVAL || errno == EAFNOSUPPORT || errno == EPFNOSUPPORT) {
compat: compat:
s=winsock2errno(socket(AF_INET,SOCK_DGRAM,0)); s=winsock2errno(socket(AF_INET,SOCK_DGRAM,0));
noipv6=1; noipv6=1;

Loading…
Cancel
Save