From c0dc37f484d00f45484c769a8a166f66debfb11b Mon Sep 17 00:00:00 2001 From: A13501350 <18516149786@163.com> Date: Mon, 22 Sep 2025 18:06:50 +0800 Subject: [PATCH] mujiansu --- .github/workflows/test-ci-windows.yml | 1 - iis/mymodule.cpp | 50 +++++++++------------------ 2 files changed, 16 insertions(+), 35 deletions(-) diff --git a/.github/workflows/test-ci-windows.yml b/.github/workflows/test-ci-windows.yml index 38cd8136..d2c0eb27 100644 --- a/.github/workflows/test-ci-windows.yml +++ b/.github/workflows/test-ci-windows.yml @@ -224,7 +224,6 @@ jobs: $crsRules = @( "Include coreruleset/crs-setup.conf", - "Include coreruleset/rules/*.conf", "Include coreruleset/plugins/*-config.conf", "Include coreruleset/plugins/*-before.conf", "Include coreruleset/rules/*.conf", diff --git a/iis/mymodule.cpp b/iis/mymodule.cpp index d4bec9ba..7e29933b 100644 --- a/iis/mymodule.cpp +++ b/iis/mymodule.cpp @@ -91,40 +91,22 @@ class REQUEST_STORED_CONTEXT : public IHttpStoredContext char *GetIpAddr(apr_pool_t *pool, PSOCKADDR pAddr) { - if (pAddr == NULL) { - return ""; - } - - char ipbuf[INET6_ADDRSTRLEN] = {0}; - const char *res = ""; - - switch (pAddr->sa_family) { - case AF_INET: - { - SOCKADDR_IN *sin = (SOCKADDR_IN *)pAddr; - if (InetNtopA(AF_INET, &sin->sin_addr, ipbuf, sizeof(ipbuf)) != NULL) { - res = (const char *)apr_pstrdup(pool, ipbuf); - } else { - res = ""; - } - } - break; - case AF_INET6: - { - SOCKADDR_IN6 *sin6 = (SOCKADDR_IN6 *)pAddr; - if (InetNtopA(AF_INET6, &sin6->sin6_addr, ipbuf, sizeof(ipbuf)) != NULL) { - res = (const char *)apr_pstrdup(pool, ipbuf); - } else { - res = ""; - } - } - break; - default: - res = ""; - break; - } - - return (char *)res; + if (pAddr == NULL) { + return ""; + } + + DWORD addrSize = pAddr->sa_family == AF_INET ? sizeof(SOCKADDR_IN) : sizeof(SOCKADDR_IN6); + char* buf = (char*)apr_palloc(pool, NI_MAXHOST); + if (buf == NULL) { + return ""; + } + buf[0] = '\0'; + + if (GetNameInfo(pAddr, addrSize, buf, NI_MAXHOST, NULL, 0, NI_NUMERICHOST) != 0) { + return ""; + } + + return buf; } apr_sockaddr_t *CopySockAddr(apr_pool_t *pool, PSOCKADDR pAddr)