]> git.kaiwu.me - nginx.git/commitdiff
Win32: removed unused winsock extension function pointers
authorVadim Zhestikov <v.zhestikov@f5.com>
Mon, 5 Oct 2026 20:28:14 +0000 (13:28 -0700)
committerVadimZhestikov <108960056+VadimZhestikov@users.noreply.github.com>
Thu, 15 Oct 2026 15:06:49 +0000 (08:06 -0700)
src/os/win32/ngx_socket.h
src/os/win32/ngx_win32_config.h
src/os/win32/ngx_win32_init.c

index 5b6138944abf20786c591db5ccc996921d35903b..eaf29860d40b2ed35a3ad89bc6a0f017ef47cc80 100644 (file)
@@ -43,168 +43,6 @@ int ngx_socket_nread(ngx_socket_t s, int *n);
 #define ngx_close_socket_n  "closesocket()"
 
 
-#ifndef WSAID_ACCEPTEX
-
-typedef BOOL (PASCAL FAR * LPFN_ACCEPTEX)(
-    IN SOCKET sListenSocket,
-    IN SOCKET sAcceptSocket,
-    IN PVOID lpOutputBuffer,
-    IN DWORD dwReceiveDataLength,
-    IN DWORD dwLocalAddressLength,
-    IN DWORD dwRemoteAddressLength,
-    OUT LPDWORD lpdwBytesReceived,
-    IN LPOVERLAPPED lpOverlapped
-    );
-
-#define WSAID_ACCEPTEX                                                       \
-    {0xb5367df1,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
-
-#endif
-
-
-#ifndef WSAID_GETACCEPTEXSOCKADDRS
-
-typedef VOID (PASCAL FAR * LPFN_GETACCEPTEXSOCKADDRS)(
-    IN PVOID lpOutputBuffer,
-    IN DWORD dwReceiveDataLength,
-    IN DWORD dwLocalAddressLength,
-    IN DWORD dwRemoteAddressLength,
-    OUT struct sockaddr **LocalSockaddr,
-    OUT LPINT LocalSockaddrLength,
-    OUT struct sockaddr **RemoteSockaddr,
-    OUT LPINT RemoteSockaddrLength
-    );
-
-#define WSAID_GETACCEPTEXSOCKADDRS                                           \
-        {0xb5367df2,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
-
-#endif
-
-
-#ifndef WSAID_TRANSMITFILE
-
-#ifndef TF_DISCONNECT
-
-#define TF_DISCONNECT           1
-#define TF_REUSE_SOCKET         2
-#define TF_WRITE_BEHIND         4
-#define TF_USE_DEFAULT_WORKER   0
-#define TF_USE_SYSTEM_THREAD    16
-#define TF_USE_KERNEL_APC       32
-
-typedef struct _TRANSMIT_FILE_BUFFERS {
-    LPVOID Head;
-    DWORD HeadLength;
-    LPVOID Tail;
-    DWORD TailLength;
-} TRANSMIT_FILE_BUFFERS, *PTRANSMIT_FILE_BUFFERS, FAR *LPTRANSMIT_FILE_BUFFERS;
-
-#endif
-
-typedef BOOL (PASCAL FAR * LPFN_TRANSMITFILE)(
-    IN SOCKET hSocket,
-    IN HANDLE hFile,
-    IN DWORD nNumberOfBytesToWrite,
-    IN DWORD nNumberOfBytesPerSend,
-    IN LPOVERLAPPED lpOverlapped,
-    IN LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers,
-    IN DWORD dwReserved
-    );
-
-#define WSAID_TRANSMITFILE                                                   \
-    {0xb5367df0,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
-
-#endif
-
-
-#ifndef WSAID_TRANSMITPACKETS
-
-/* OpenWatcom has a swapped TP_ELEMENT_FILE and TP_ELEMENT_MEMORY definition */
-
-#ifndef TP_ELEMENT_FILE
-
-#ifdef _MSC_VER
-#pragma warning(disable:4201) /* Nonstandard extension, nameless struct/union */
-#endif
-
-typedef struct _TRANSMIT_PACKETS_ELEMENT {
-    ULONG dwElFlags;
-#define TP_ELEMENT_MEMORY   1
-#define TP_ELEMENT_FILE     2
-#define TP_ELEMENT_EOP      4
-    ULONG cLength;
-    union {
-        struct {
-            LARGE_INTEGER nFileOffset;
-            HANDLE        hFile;
-        };
-        PVOID             pBuffer;
-    };
-} TRANSMIT_PACKETS_ELEMENT, *PTRANSMIT_PACKETS_ELEMENT,
-    FAR *LPTRANSMIT_PACKETS_ELEMENT;
-
-#ifdef _MSC_VER
-#pragma warning(default:4201)
-#endif
-
-#endif
-
-typedef BOOL (PASCAL FAR * LPFN_TRANSMITPACKETS) (
-    SOCKET hSocket,
-    TRANSMIT_PACKETS_ELEMENT *lpPacketArray,
-    DWORD nElementCount,
-    DWORD nSendSize,
-    LPOVERLAPPED lpOverlapped,
-    DWORD dwFlags
-    );
-
-#define WSAID_TRANSMITPACKETS                                                \
-    {0xd9689da0,0x1f90,0x11d3,{0x99,0x71,0x00,0xc0,0x4f,0x68,0xc8,0x76}}
-
-#endif
-
-
-#ifndef WSAID_CONNECTEX
-
-typedef BOOL (PASCAL FAR * LPFN_CONNECTEX) (
-    IN SOCKET s,
-    IN const struct sockaddr FAR *name,
-    IN int namelen,
-    IN PVOID lpSendBuffer OPTIONAL,
-    IN DWORD dwSendDataLength,
-    OUT LPDWORD lpdwBytesSent,
-    IN LPOVERLAPPED lpOverlapped
-    );
-
-#define WSAID_CONNECTEX \
-    {0x25a207b9,0xddf3,0x4660,{0x8e,0xe9,0x76,0xe5,0x8c,0x74,0x06,0x3e}}
-
-#endif
-
-
-#ifndef WSAID_DISCONNECTEX
-
-typedef BOOL (PASCAL FAR * LPFN_DISCONNECTEX) (
-    IN SOCKET s,
-    IN LPOVERLAPPED lpOverlapped,
-    IN DWORD  dwFlags,
-    IN DWORD  dwReserved
-    );
-
-#define WSAID_DISCONNECTEX                                                   \
-    {0x7fda2e11,0x8630,0x436f,{0xa0,0x31,0xf5,0x36,0xa6,0xee,0xc1,0x57}}
-
-#endif
-
-
-extern LPFN_ACCEPTEX              ngx_acceptex;
-extern LPFN_GETACCEPTEXSOCKADDRS  ngx_getacceptexsockaddrs;
-extern LPFN_TRANSMITFILE          ngx_transmitfile;
-extern LPFN_TRANSMITPACKETS       ngx_transmitpackets;
-extern LPFN_CONNECTEX             ngx_connectex;
-extern LPFN_DISCONNECTEX          ngx_disconnectex;
-
-
 #if (NGX_HAVE_POLL && !defined POLLIN)
 
 /*
index 704561355c297308e00e38bc73406b26f2f932f4..a7639ed2f4b2732f0fab30a527211a143ec9fee6 100644 (file)
@@ -38,7 +38,6 @@
 
 #include <winsock2.h>
 #include <ws2tcpip.h>  /* ipv6 */
-#include <mswsock.h>
 #include <shellapi.h>
 #include <stddef.h>    /* offsetof() */
 
index de66a44eb55fc755277789567b4ef852c53c2ff2..1472d705062c1c7b03fed65e661e68ca3ae89965 100644 (file)
@@ -42,21 +42,6 @@ typedef struct {
 static u_int               osviex;
 static OSVERSIONINFOEX     osvi;
 
-/* Should these pointers be per protocol ? */
-LPFN_ACCEPTEX              ngx_acceptex;
-LPFN_GETACCEPTEXSOCKADDRS  ngx_getacceptexsockaddrs;
-LPFN_TRANSMITFILE          ngx_transmitfile;
-LPFN_TRANSMITPACKETS       ngx_transmitpackets;
-LPFN_CONNECTEX             ngx_connectex;
-LPFN_DISCONNECTEX          ngx_disconnectex;
-
-static GUID ax_guid = WSAID_ACCEPTEX;
-static GUID as_guid = WSAID_GETACCEPTEXSOCKADDRS;
-static GUID tf_guid = WSAID_TRANSMITFILE;
-static GUID tp_guid = WSAID_TRANSMITPACKETS;
-static GUID cx_guid = WSAID_CONNECTEX;
-static GUID dx_guid = WSAID_DISCONNECTEX;
-
 
 #if (NGX_LOAD_WSAPOLL)
 ngx_wsapoll_pt             WSAPoll;
@@ -67,8 +52,6 @@ ngx_uint_t                 ngx_have_wsapoll;
 ngx_int_t
 ngx_os_init(ngx_log_t *log)
 {
-    DWORD         bytes;
-    SOCKET        s;
     WSADATA       wsd;
     ngx_err_t     err;
     ngx_time_t   *tp;
@@ -153,82 +136,6 @@ ngx_os_init(ngx_log_t *log)
     /* STUB: ngx_uint_t max */
     ngx_max_wsabufs = 1024 * 1024;
 
-    /*
-     * get AcceptEx(), GetAcceptExSockAddrs(), TransmitFile(),
-     * TransmitPackets(), ConnectEx(), and DisconnectEx() addresses
-     */
-
-    s = ngx_socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
-    if (s == (ngx_socket_t) -1) {
-        ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
-                      ngx_socket_n " failed");
-        return NGX_ERROR;
-    }
-
-    if (WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER, &ax_guid, sizeof(GUID),
-                 &ngx_acceptex, sizeof(LPFN_ACCEPTEX), &bytes, NULL, NULL)
-        == -1)
-    {
-        ngx_log_error(NGX_LOG_NOTICE, log, ngx_socket_errno,
-                      "WSAIoctl(SIO_GET_EXTENSION_FUNCTION_POINTER, "
-                               "WSAID_ACCEPTEX) failed");
-    }
-
-    if (WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER, &as_guid, sizeof(GUID),
-                 &ngx_getacceptexsockaddrs, sizeof(LPFN_GETACCEPTEXSOCKADDRS),
-                 &bytes, NULL, NULL)
-        == -1)
-    {
-        ngx_log_error(NGX_LOG_NOTICE, log, ngx_socket_errno,
-                      "WSAIoctl(SIO_GET_EXTENSION_FUNCTION_POINTER, "
-                               "WSAID_GETACCEPTEXSOCKADDRS) failed");
-    }
-
-    if (WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER, &tf_guid, sizeof(GUID),
-                 &ngx_transmitfile, sizeof(LPFN_TRANSMITFILE), &bytes,
-                 NULL, NULL)
-        == -1)
-    {
-        ngx_log_error(NGX_LOG_NOTICE, log, ngx_socket_errno,
-                      "WSAIoctl(SIO_GET_EXTENSION_FUNCTION_POINTER, "
-                               "WSAID_TRANSMITFILE) failed");
-    }
-
-    if (WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER, &tp_guid, sizeof(GUID),
-                 &ngx_transmitpackets, sizeof(LPFN_TRANSMITPACKETS), &bytes,
-                 NULL, NULL)
-        == -1)
-    {
-        ngx_log_error(NGX_LOG_NOTICE, log, ngx_socket_errno,
-                      "WSAIoctl(SIO_GET_EXTENSION_FUNCTION_POINTER, "
-                               "WSAID_TRANSMITPACKETS) failed");
-    }
-
-    if (WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER, &cx_guid, sizeof(GUID),
-                 &ngx_connectex, sizeof(LPFN_CONNECTEX), &bytes,
-                 NULL, NULL)
-        == -1)
-    {
-        ngx_log_error(NGX_LOG_NOTICE, log, ngx_socket_errno,
-                      "WSAIoctl(SIO_GET_EXTENSION_FUNCTION_POINTER, "
-                               "WSAID_CONNECTEX) failed");
-    }
-
-    if (WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER, &dx_guid, sizeof(GUID),
-                 &ngx_disconnectex, sizeof(LPFN_DISCONNECTEX), &bytes,
-                 NULL, NULL)
-        == -1)
-    {
-        ngx_log_error(NGX_LOG_NOTICE, log, ngx_socket_errno,
-                      "WSAIoctl(SIO_GET_EXTENSION_FUNCTION_POINTER, "
-                               "WSAID_DISCONNECTEX) failed");
-    }
-
-    if (ngx_close_socket(s) == -1) {
-        ngx_log_error(NGX_LOG_ALERT, log, ngx_socket_errno,
-                      ngx_close_socket_n " failed");
-    }
-
 #if (NGX_LOAD_WSAPOLL)
     {
     HMODULE  hmod;