Browse Source

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

support in the kernel
master
Felix von Leitner 17 years ago
parent
commit
dfa738fe14
  1. 1
      CHANGES
  2. 5
      socket/socket_tcp6.c
  3. 5
      socket/socket_udp6.c

1
CHANGES

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

5
socket/socket_tcp6.c

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

5
socket/socket_udp6.c

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

Loading…
Cancel
Save