diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-02-09 06:09:26 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-02-09 06:09:26 +0100 |
commit | f65dd8e0969d6c43913da51b585437c7f8447cac (patch) | |
tree | 0540f61287c0e8c754959e89adaf91b80171e5f1 | |
parent | 7512349b3bb7ec147195cf25864f637e1a99c569 (diff) | |
download | libmicrohttpd-f65dd8e0969d6c43913da51b585437c7f8447cac.tar.gz libmicrohttpd-f65dd8e0969d6c43913da51b585437c7f8447cac.zip |
allow passing pf instead of just v6 flag to listen socket creation
-rw-r--r-- | src/lib/mhd_sockets.c | 19 | ||||
-rw-r--r-- | src/lib/mhd_sockets.h | 4 |
2 files changed, 7 insertions, 16 deletions
diff --git a/src/lib/mhd_sockets.c b/src/lib/mhd_sockets.c index ddcc1f25..356d288f 100644 --- a/src/lib/mhd_sockets.c +++ b/src/lib/mhd_sockets.c | |||
@@ -464,31 +464,22 @@ MHD_socket_noninheritable_ (MHD_socket sock) | |||
464 | /** | 464 | /** |
465 | * Create a listen socket, with noninheritable flag if possible. | 465 | * Create a listen socket, with noninheritable flag if possible. |
466 | * | 466 | * |
467 | * @param use_ipv6 if set to non-zero IPv6 is used | 467 | * @param pf protocol family to use |
468 | * @return created socket or MHD_INVALID_SOCKET in case of errors | 468 | * @return created socket or MHD_INVALID_SOCKET in case of errors |
469 | */ | 469 | */ |
470 | MHD_socket | 470 | MHD_socket |
471 | MHD_socket_create_listen_ (bool use_ipv6) | 471 | MHD_socket_create_listen_ (int pf) |
472 | { | 472 | { |
473 | int domain; | ||
474 | MHD_socket fd; | 473 | MHD_socket fd; |
475 | int cloexec_set; | 474 | int cloexec_set; |
476 | 475 | ||
477 | #ifdef HAVE_INET6 | ||
478 | domain = (use_ipv6) ? PF_INET6 : PF_INET; | ||
479 | #else /* ! HAVE_INET6 */ | ||
480 | if (use_ipv6) | ||
481 | return MHD_INVALID_SOCKET; | ||
482 | domain = PF_INET; | ||
483 | #endif /* ! HAVE_INET6 */ | ||
484 | |||
485 | #if defined(MHD_POSIX_SOCKETS) && defined(SOCK_CLOEXEC) | 476 | #if defined(MHD_POSIX_SOCKETS) && defined(SOCK_CLOEXEC) |
486 | fd = socket (domain, | 477 | fd = socket (pf, |
487 | SOCK_STREAM | SOCK_CLOEXEC, | 478 | SOCK_STREAM | SOCK_CLOEXEC, |
488 | 0); | 479 | 0); |
489 | cloexec_set = !0; | 480 | cloexec_set = !0; |
490 | #elif defined(MHD_WINSOCK_SOCKETS) && defined (WSA_FLAG_NO_HANDLE_INHERIT) | 481 | #elif defined(MHD_WINSOCK_SOCKETS) && defined (WSA_FLAG_NO_HANDLE_INHERIT) |
491 | fd = WSASocketW (domain, | 482 | fd = WSASocketW (pf, |
492 | SOCK_STREAM, | 483 | SOCK_STREAM, |
493 | 0, | 484 | 0, |
494 | NULL, | 485 | NULL, |
@@ -500,7 +491,7 @@ MHD_socket_create_listen_ (bool use_ipv6) | |||
500 | #endif /* !SOCK_CLOEXEC */ | 491 | #endif /* !SOCK_CLOEXEC */ |
501 | if (MHD_INVALID_SOCKET == fd) | 492 | if (MHD_INVALID_SOCKET == fd) |
502 | { | 493 | { |
503 | fd = socket (domain, | 494 | fd = socket (pf, |
504 | SOCK_STREAM, | 495 | SOCK_STREAM, |
505 | 0); | 496 | 0); |
506 | cloexec_set = 0; | 497 | cloexec_set = 0; |
diff --git a/src/lib/mhd_sockets.h b/src/lib/mhd_sockets.h index c999ea35..9be34144 100644 --- a/src/lib/mhd_sockets.h +++ b/src/lib/mhd_sockets.h | |||
@@ -751,10 +751,10 @@ MHD_socket_noninheritable_ (MHD_socket sock); | |||
751 | /** | 751 | /** |
752 | * Create a listen socket, with noninheritable flag if possible. | 752 | * Create a listen socket, with noninheritable flag if possible. |
753 | * | 753 | * |
754 | * @param use_ipv6 if set to non-zero IPv6 is used | 754 | * @param pf protocol family to use |
755 | * @return created socket or MHD_INVALID_SOCKET in case of errors | 755 | * @return created socket or MHD_INVALID_SOCKET in case of errors |
756 | */ | 756 | */ |
757 | MHD_socket | 757 | MHD_socket |
758 | MHD_socket_create_listen_ (bool use_ipv6); | 758 | MHD_socket_create_listen_ (int pf); |
759 | 759 | ||
760 | #endif /* ! MHD_SOCKETS_H */ | 760 | #endif /* ! MHD_SOCKETS_H */ |