mirror of
https://github.com/apache/httpd.git
synced 2025-08-01 16:41:19 +00:00
complete r771579, refactoring mod_watchdog as loadable on win32
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771581 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
72
Apache.dsw
72
Apache.dsw
@ -210,6 +210,12 @@ Package=<4>
|
||||
Project_Dep_Name mod_headers
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name mod_heartbeat
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name mod_heartmonitor
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name mod_ident
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
@ -330,6 +336,9 @@ Package=<4>
|
||||
Project_Dep_Name mod_vhost_alias
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name mod_watchdog
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name ab
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
@ -1873,6 +1882,48 @@ Package=<4>
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "mod_heartbeat"=.\modules\cluster\mod_heartbeat.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libapr
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libaprutil
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libhttpd
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "mod_heartmonitor"=.\modules\cluster\mod_heartmonitor.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libapr
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libaprutil
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libhttpd
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "mod_ident"=.\modules\metadata\mod_ident.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
@ -2942,6 +2993,27 @@ Package=<4>
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "mod_watchdog"=.\modules\mappers\mod_watchdog.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libapr
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libaprutil
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libhttpd
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "rotatelogs"=.\support\rotatelogs.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
|
18
Makefile.win
18
Makefile.win
@ -336,12 +336,14 @@ _build:
|
||||
$(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
$(MAKE) $(MAKEOPT) -f mod_disk_cache.mak CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
$(MAKE) $(MAKEOPT) -f mod_socache_dbm.mak CFG="mod_socache_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
!IFDEF ALL
|
||||
$(MAKE) $(MAKEOPT) -f mod_socache_dc.mak CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
!ENDIF
|
||||
# $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
$(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
$(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
cd ..\..
|
||||
cd modules\cluster
|
||||
$(MAKE) $(MAKEOPT) -f mod_heartbeat.mak CFG="mod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
$(MAKE) $(MAKEOPT) -f mod_heartmonitor.mak CFG="mod_heartmonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
cd ..\..
|
||||
cd modules\dav\main
|
||||
$(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
cd ..\..\..
|
||||
@ -414,6 +416,7 @@ _build:
|
||||
$(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
$(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
$(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
$(MAKE) $(MAKEOPT) -f mod_watchdog.mak CFG="mod_watchdog - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
cd ..\..
|
||||
cd modules\metadata
|
||||
$(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
|
||||
@ -580,9 +583,11 @@ _copybin:
|
||||
copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\cache\$(LONG)\mod_disk_cache.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so) "$(inst_so)" <.y
|
||||
-copy modules\cache\$(LONG)\mod_socache_dc.$(src_so) "$(inst_so)" <.y
|
||||
# copy modules\cache\$(LONG)\mod_socache_dc.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\cluster\$(LONG)\mod_heartmonitor.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so) "$(inst_so)" <.y
|
||||
@ -638,6 +643,7 @@ _copybin:
|
||||
copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\mappers\$(LONG)\mod_watchdog.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
|
||||
@ -667,9 +673,7 @@ _copybin:
|
||||
copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\session\$(LONG)\mod_session_dbd.$(src_so) "$(inst_so)" <.y
|
||||
!IF EXIST("srclib\openssl")
|
||||
!IFDEF ALL
|
||||
-copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
|
||||
!ENDIF
|
||||
# copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
|
||||
copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
|
||||
-copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
|
||||
-copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
|
||||
|
123
modules/cluster/mod_heartbeat.dsp
Normal file
123
modules/cluster/mod_heartbeat.dsp
Normal file
@ -0,0 +1,123 @@
|
||||
# Microsoft Developer Studio Project File - Name="mod_heartbeat" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=mod_heartbeat - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "mod_heartbeat.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "mod_heartbeat.mak" CFG="mod_heartbeat - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "mod_heartbeat - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "mod_heartbeat - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "mod_heartbeat - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I "../mappers" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Release\mod_heartbeat_src" /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /fo"Release/mod_heartbeat.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_heartbeat.so" /d LONG_NAME="heartbeat_module for Apache"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /out:".\Release\mod_heartbeat.so" /base:@..\..\os\win32\BaseAddr.ref,mod_heartbeat.so
|
||||
# ADD LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Release\mod_heartbeat.so" /base:@..\..\os\win32\BaseAddr.ref,mod_heartbeat.so /opt:ref
|
||||
# Begin Special Build Tool
|
||||
TargetPath=.\Release\mod_heartbeat.so
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Desc=Embed .manifest
|
||||
PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2
|
||||
# End Special Build Tool
|
||||
|
||||
!ELSEIF "$(CFG)" == "mod_heartbeat - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
|
||||
# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I "../mappers" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Debug\mod_heartbeat_src" /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /fo"Debug/mod_heartbeat.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_heartbeat.so" /d LONG_NAME="heartbeat_module for Apache"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Debug\mod_heartbeat.so" /base:@..\..\os\win32\BaseAddr.ref,mod_heartbeat.so
|
||||
# ADD LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Debug\mod_heartbeat.so" /base:@..\..\os\win32\BaseAddr.ref,mod_heartbeat.so
|
||||
# Begin Special Build Tool
|
||||
TargetPath=.\Debug\mod_heartbeat.so
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Desc=Embed .manifest
|
||||
PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2
|
||||
# End Special Build Tool
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "mod_heartbeat - Win32 Release"
|
||||
# Name "mod_heartbeat - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\mod_heartbeat.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter ".h"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\mod_proxy.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\build\win32\httpd.rc
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
123
modules/cluster/mod_heartmonitor.dsp
Normal file
123
modules/cluster/mod_heartmonitor.dsp
Normal file
@ -0,0 +1,123 @@
|
||||
# Microsoft Developer Studio Project File - Name="mod_heartmonitor" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=mod_heartmonitor - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "mod_heartmonitor.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "mod_heartmonitor.mak" CFG="mod_heartmonitor - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "mod_heartmonitor - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "mod_heartmonitor - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "mod_heartmonitor - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I "../mappers" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Release\mod_heartmonitor_src" /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /fo"Release/mod_heartmonitor.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_heartmonitor.so" /d LONG_NAME="heartmonitor_module for Apache"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /out:".\Release\mod_heartmonitor.so" /base:@..\..\os\win32\BaseAddr.ref,mod_heartmonitor.so
|
||||
# ADD LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Release\mod_heartmonitor.so" /base:@..\..\os\win32\BaseAddr.ref,mod_heartmonitor.so /opt:ref
|
||||
# Begin Special Build Tool
|
||||
TargetPath=.\Release\mod_heartmonitor.so
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Desc=Embed .manifest
|
||||
PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2
|
||||
# End Special Build Tool
|
||||
|
||||
!ELSEIF "$(CFG)" == "mod_heartmonitor - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
|
||||
# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I "../mappers" /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Debug\mod_heartmonitor_src" /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /fo"Debug/mod_heartmonitor.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_heartmonitor.so" /d LONG_NAME="heartmonitor_module for Apache"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Debug\mod_heartmonitor.so" /base:@..\..\os\win32\BaseAddr.ref,mod_heartmonitor.so
|
||||
# ADD LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Debug\mod_heartmonitor.so" /base:@..\..\os\win32\BaseAddr.ref,mod_heartmonitor.so
|
||||
# Begin Special Build Tool
|
||||
TargetPath=.\Debug\mod_heartmonitor.so
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Desc=Embed .manifest
|
||||
PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2
|
||||
# End Special Build Tool
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "mod_heartmonitor - Win32 Release"
|
||||
# Name "mod_heartmonitor - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\mod_heartmonitor.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter ".h"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\mod_proxy.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\build\win32\httpd.rc
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
@ -300,11 +300,11 @@ static apr_status_t wd_startup(ap_watchdog_t *w, apr_pool_t *p)
|
||||
return rc;
|
||||
}
|
||||
|
||||
AP_DECLARE(apr_status_t) ap_watchdog_get_instance(ap_watchdog_t **watchdog,
|
||||
const char *name,
|
||||
int parent,
|
||||
int singleton,
|
||||
apr_pool_t *p)
|
||||
AP_WD_DECLARE(apr_status_t) ap_watchdog_get_instance(ap_watchdog_t **watchdog,
|
||||
const char *name,
|
||||
int parent,
|
||||
int singleton,
|
||||
apr_pool_t *p)
|
||||
{
|
||||
ap_watchdog_t *w;
|
||||
const char *pver = parent ? AP_WATCHODG_PVERSION : AP_WATCHODG_CVERSION;
|
||||
@ -330,10 +330,10 @@ AP_DECLARE(apr_status_t) ap_watchdog_get_instance(ap_watchdog_t **watchdog,
|
||||
pver, *watchdog);
|
||||
}
|
||||
|
||||
AP_DECLARE(apr_status_t) ap_watchdog_set_callback_interval(ap_watchdog_t *w,
|
||||
apr_interval_time_t interval,
|
||||
const void *data,
|
||||
ap_watchdog_callback_fn_t *callback)
|
||||
AP_WD_DECLARE(apr_status_t) ap_watchdog_set_callback_interval(ap_watchdog_t *w,
|
||||
apr_interval_time_t interval,
|
||||
const void *data,
|
||||
ap_watchdog_callback_fn_t *callback)
|
||||
{
|
||||
watchdog_list_t *c = w->callbacks;
|
||||
apr_status_t rv = APR_EOF;
|
||||
@ -355,10 +355,10 @@ AP_DECLARE(apr_status_t) ap_watchdog_set_callback_interval(ap_watchdog_t *w,
|
||||
return rv;
|
||||
}
|
||||
|
||||
AP_DECLARE(apr_status_t) ap_watchdog_register_callback(ap_watchdog_t *w,
|
||||
apr_interval_time_t interval,
|
||||
const void *data,
|
||||
ap_watchdog_callback_fn_t *callback)
|
||||
AP_WD_DECLARE(apr_status_t) ap_watchdog_register_callback(ap_watchdog_t *w,
|
||||
apr_interval_time_t interval,
|
||||
const void *data,
|
||||
ap_watchdog_callback_fn_t *callback)
|
||||
{
|
||||
watchdog_list_t *c = w->callbacks;
|
||||
|
||||
@ -726,7 +726,7 @@ static void wd_register_hooks(apr_pool_t *p)
|
||||
/* the static hooks into our module from the other parts of the server. */
|
||||
/* */
|
||||
/*--------------------------------------------------------------------------*/
|
||||
module AP_MODULE_DECLARE_DATA watchdog_module = {
|
||||
AP_MODULE_DECLARE_DATA module watchdog_module = {
|
||||
STANDARD20_MODULE_STUFF,
|
||||
NULL, /* create per-directory config structure */
|
||||
NULL, /* merge per-directory config structures */
|
||||
@ -748,22 +748,22 @@ APR_HOOK_STRUCT(
|
||||
APR_HOOK_LINK(watchdog_step)
|
||||
)
|
||||
|
||||
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(ap, AP, int, watchdog_need,
|
||||
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(ap, AP_WD, int, watchdog_need,
|
||||
(server_rec *s, const char *name,
|
||||
int parent, int singleton),
|
||||
(s, name, parent, singleton),
|
||||
DECLINED)
|
||||
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ap, AP, int, watchdog_init,
|
||||
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ap, AP_WD, int, watchdog_init,
|
||||
(server_rec *s, const char *name,
|
||||
apr_pool_t *pool),
|
||||
(s, name, pool),
|
||||
OK, DECLINED)
|
||||
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ap, AP, int, watchdog_exit,
|
||||
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ap, AP_WD, int, watchdog_exit,
|
||||
(server_rec *s, const char *name,
|
||||
apr_pool_t *pool),
|
||||
(s, name, pool),
|
||||
OK, DECLINED)
|
||||
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ap, AP, int, watchdog_step,
|
||||
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ap, AP_WD, int, watchdog_step,
|
||||
(server_rec *s, const char *name,
|
||||
apr_pool_t *pool),
|
||||
(s, name, pool),
|
||||
|
115
modules/mappers/mod_watchdog.dsp
Normal file
115
modules/mappers/mod_watchdog.dsp
Normal file
@ -0,0 +1,115 @@
|
||||
# Microsoft Developer Studio Project File - Name="mod_watchdog" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=mod_watchdog - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "mod_watchdog.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "mod_watchdog.mak" CFG="mod_watchdog - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "mod_watchdog - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "mod_watchdog - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "mod_watchdog - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "AP_WD_DECLARE_EXPORT" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Release\mod_watchdog_src" /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /fo"Release/mod_watchdog.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_watchdog.so" /d LONG_NAME="watchdog_module for Apache"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /out:".\Release\mod_watchdog.so" /base:@..\..\os\win32\BaseAddr.ref,mod_watchdog.so
|
||||
# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Release\mod_watchdog.so" /base:@..\..\os\win32\BaseAddr.ref,mod_watchdog.so /opt:ref
|
||||
# Begin Special Build Tool
|
||||
TargetPath=.\Release\mod_watchdog.so
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Desc=Embed .manifest
|
||||
PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2
|
||||
# End Special Build Tool
|
||||
|
||||
!ELSEIF "$(CFG)" == "mod_watchdog - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
|
||||
# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "AP_WD_DECLARE_EXPORT" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Debug\mod_watchdog_src" /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /fo"Debug/mod_watchdog.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_watchdog.so" /d LONG_NAME="watchdog_module for Apache"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Debug\mod_watchdog.so" /base:@..\..\os\win32\BaseAddr.ref,mod_watchdog.so
|
||||
# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Debug\mod_watchdog.so" /base:@..\..\os\win32\BaseAddr.ref,mod_watchdog.so
|
||||
# Begin Special Build Tool
|
||||
TargetPath=.\Debug\mod_watchdog.so
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Desc=Embed .manifest
|
||||
PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2
|
||||
# End Special Build Tool
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "mod_watchdog - Win32 Release"
|
||||
# Name "mod_watchdog - Win32 Debug"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\mod_watchdog.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\mod_watchdog.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\build\win32\httpd.rc
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
@ -85,6 +85,27 @@ extern "C" {
|
||||
|
||||
typedef struct ap_watchdog_t ap_watchdog_t;
|
||||
|
||||
/* Create a set of AP_WD_DECLARE(type), AP_WD_DECLARE_NONSTD(type) and
|
||||
* AP_WD_DECLARE_DATA with appropriate export and import tags for the platform
|
||||
*/
|
||||
#if !defined(WIN32)
|
||||
#define AP_WD_DECLARE(type) type
|
||||
#define AP_WD_DECLARE_NONSTD(type) type
|
||||
#define AP_WD_DECLARE_DATA
|
||||
#elif defined(AP_WD_DECLARE_STATIC)
|
||||
#define AP_WD_DECLARE(type) type __stdcall
|
||||
#define AP_WD_DECLARE_NONSTD(type) type
|
||||
#define AP_WD_DECLARE_DATA
|
||||
#elif defined(AP_WD_DECLARE_EXPORT)
|
||||
#define AP_WD_DECLARE(type) __declspec(dllexport) type __stdcall
|
||||
#define AP_WD_DECLARE_NONSTD(type) __declspec(dllexport) type
|
||||
#define AP_WD_DECLARE_DATA __declspec(dllexport)
|
||||
#else
|
||||
#define AP_WD_DECLARE(type) __declspec(dllimport) type __stdcall
|
||||
#define AP_WD_DECLARE_NONSTD(type) __declspec(dllimport) type
|
||||
#define AP_WD_DECLARE_DATA __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Callback function used for watchdog.
|
||||
* @param state Watchdog state function. See AP_WATCHODG_STATE_ .
|
||||
@ -108,7 +129,7 @@ typedef apr_status_t ap_watchdog_callback_fn_t(int state, void *data,
|
||||
* and function will create a new watchdog instance.
|
||||
* Note that default client process watchdog works in singleton mode.
|
||||
*/
|
||||
AP_DECLARE(apr_status_t) ap_watchdog_get_instance(ap_watchdog_t **watchdog,
|
||||
AP_WD_DECLARE(apr_status_t) ap_watchdog_get_instance(ap_watchdog_t **watchdog,
|
||||
const char *name,
|
||||
int parent,
|
||||
int singleton,
|
||||
@ -122,7 +143,7 @@ AP_DECLARE(apr_status_t) ap_watchdog_get_instance(ap_watchdog_t **watchdog,
|
||||
* @param data The data to pass to the callback function.
|
||||
* @return APR_SUCCESS if all went well. APR_EEXIST if already registered.
|
||||
*/
|
||||
AP_DECLARE(apr_status_t) ap_watchdog_register_callback(ap_watchdog_t *watchdog,
|
||||
AP_WD_DECLARE(apr_status_t) ap_watchdog_register_callback(ap_watchdog_t *watchdog,
|
||||
apr_interval_time_t interval,
|
||||
const void *data,
|
||||
ap_watchdog_callback_fn_t *callback);
|
||||
@ -135,7 +156,7 @@ AP_DECLARE(apr_status_t) ap_watchdog_register_callback(ap_watchdog_t *watchdog,
|
||||
* @param data The data to pass to the callback function.
|
||||
* @return APR_SUCCESS if all went well. APR_EOF if callback was not found.
|
||||
*/
|
||||
AP_DECLARE(apr_status_t) ap_watchdog_set_callback_interval(ap_watchdog_t *w,
|
||||
AP_WD_DECLARE(apr_status_t) ap_watchdog_set_callback_interval(ap_watchdog_t *w,
|
||||
apr_interval_time_t interval,
|
||||
const void *data,
|
||||
ap_watchdog_callback_fn_t *callback);
|
||||
@ -152,7 +173,7 @@ AP_DECLARE(apr_status_t) ap_watchdog_set_callback_interval(ap_watchdog_t *w,
|
||||
* should ensure their post_config hook is called after watchdog
|
||||
* post_config.
|
||||
*/
|
||||
APR_DECLARE_EXTERNAL_HOOK(ap, AP, int, watchdog_need, (server_rec *s,
|
||||
APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_need, (server_rec *s,
|
||||
const char *name,
|
||||
int parent, int singleton))
|
||||
|
||||
@ -163,7 +184,7 @@ APR_DECLARE_EXTERNAL_HOOK(ap, AP, int, watchdog_need, (server_rec *s,
|
||||
* @param name Watchdog name.
|
||||
* @param pool The pool used to create the watchdog.
|
||||
*/
|
||||
APR_DECLARE_EXTERNAL_HOOK(ap, AP, int, watchdog_init, (
|
||||
APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_init, (
|
||||
server_rec *s,
|
||||
const char *name,
|
||||
apr_pool_t *pool))
|
||||
@ -174,7 +195,7 @@ APR_DECLARE_EXTERNAL_HOOK(ap, AP, int, watchdog_init, (
|
||||
* @param name Watchdog name.
|
||||
* @param pool The pool used to create the watchdog.
|
||||
*/
|
||||
APR_DECLARE_EXTERNAL_HOOK(ap, AP, int, watchdog_exit, (
|
||||
APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_exit, (
|
||||
server_rec *s,
|
||||
const char *name,
|
||||
apr_pool_t *pool))
|
||||
@ -185,7 +206,7 @@ APR_DECLARE_EXTERNAL_HOOK(ap, AP, int, watchdog_exit, (
|
||||
* @param name Watchdog name.
|
||||
* @param pool Temporary pool destroyed after the call.
|
||||
*/
|
||||
APR_DECLARE_EXTERNAL_HOOK(ap, AP, int, watchdog_step, (
|
||||
APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_step, (
|
||||
server_rec *s,
|
||||
const char *name,
|
||||
apr_pool_t *pool))
|
||||
|
@ -1052,6 +1052,7 @@ PROXY_DECLARE(const char *) ap_proxy_location_reverse_map(request_rec *r,
|
||||
/*
|
||||
* XXX FIXME: Make sure this handled the ambiguous case of the :<PORT>
|
||||
* after the hostname
|
||||
* XXX FIXME: Ensure the /uri component is a case sensitive match
|
||||
*/
|
||||
if (r->proxyreq != PROXYREQ_REVERSE) {
|
||||
return url;
|
||||
@ -1069,56 +1070,55 @@ PROXY_DECLARE(const char *) ap_proxy_location_reverse_map(request_rec *r,
|
||||
proxy_server_conf *sconf = (proxy_server_conf *)
|
||||
ap_get_module_config(r->server->module_config, &proxy_module);
|
||||
proxy_balancer *balancer;
|
||||
const char *real;
|
||||
real = ent[i].real;
|
||||
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
|
||||
"ppr: real: %s", real);
|
||||
const char *real = ent[i].real;
|
||||
/*
|
||||
* First check if mapping against a balancer and see
|
||||
* if we have such a entity. If so, then we need to
|
||||
* find the particulars of the actual worker which may
|
||||
* or may not be the right one... basically, we need
|
||||
* to find which member actually handled this request.
|
||||
*
|
||||
* TODO: Recover the path from real and use that
|
||||
* for more exact matching
|
||||
*/
|
||||
if ((strncasecmp(real, "balancer:", 9) == 0) &&
|
||||
if ((strncasecmp(real, "balancer://", 11) == 0) &&
|
||||
(balancer = ap_proxy_get_balancer(r->pool, sconf, real))) {
|
||||
int n;
|
||||
proxy_worker *worker;
|
||||
worker = (proxy_worker *)balancer->workers->elts;
|
||||
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
|
||||
"ppr: checking balancer: %s",
|
||||
balancer->name);
|
||||
int n, l3;
|
||||
proxy_worker *worker = (proxy_worker *)balancer->workers->elts;
|
||||
const char *urlpart = ap_strchr_c(real + 11, '/');
|
||||
if (urlpart) {
|
||||
if (!urlpart[1])
|
||||
urlpart = NULL;
|
||||
else
|
||||
l3 = strlen(urlpart);
|
||||
}
|
||||
/* The balancer comparison is a bit trickier. Given the context
|
||||
* BalancerMember balancer://alias http://example.com/foo
|
||||
* ProxyPassReverse /bash balancer://alias/bar
|
||||
* translate url http://example.com/foo/bar/that to /bash/that
|
||||
*/
|
||||
for (n = 0; n < balancer->workers->nelts; n++) {
|
||||
if (worker->port) {
|
||||
u = apr_psprintf(r->pool, "%s://%s:%d/", worker->scheme,
|
||||
worker->hostname, worker->port);
|
||||
l2 = strlen(worker->name);
|
||||
if (urlpart) {
|
||||
if (worker->name[l2 - 1] == '/')
|
||||
--l2;
|
||||
if (l1 >= l2 + l3
|
||||
&& strncasecmp(worker->name, url, l2) == 0
|
||||
&& strncmp(urlpart, url + l2, l3) == 0) {
|
||||
u = apr_pstrcat(r->pool, ent[i].fake,
|
||||
&url[l2 + l3], NULL);
|
||||
return ap_construct_url(r->pool, u, r);
|
||||
}
|
||||
}
|
||||
else {
|
||||
u = apr_psprintf(r->pool, "%s://%s/", worker->scheme,
|
||||
worker->hostname);
|
||||
}
|
||||
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
|
||||
"ppr: matching member (%s) and URL (%s)",
|
||||
u, url);
|
||||
|
||||
l2 = strlen(u);
|
||||
if (l1 >= l2 && strncasecmp(u, url, l2) == 0) {
|
||||
else if (l1 >= l2 && strncasecmp(worker->name, url, l2) == 0) {
|
||||
u = apr_pstrcat(r->pool, ent[i].fake, &url[l2], NULL);
|
||||
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
|
||||
"ppr: matched member (%s)", u);
|
||||
return ap_construct_url(r->pool, u, r);
|
||||
}
|
||||
worker++;
|
||||
}
|
||||
}
|
||||
|
||||
l2 = strlen(real);
|
||||
if (l1 >= l2 && strncasecmp(real, url, l2) == 0) {
|
||||
u = apr_pstrcat(r->pool, ent[i].fake, &url[l2], NULL);
|
||||
return ap_construct_url(r->pool, u, r);
|
||||
else {
|
||||
l2 = strlen(real);
|
||||
if (l1 >= l2 && strncasecmp(real, url, l2) == 0) {
|
||||
u = apr_pstrcat(r->pool, ent[i].fake, &url[l2], NULL);
|
||||
return ap_construct_url(r->pool, u, r);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -103,3 +103,5 @@ mod_lbmethod_bybusyness.so 0x6F830000 0x00010000
|
||||
mod_lbmethod_byrequests.so 0x6F820000 0x00010000
|
||||
mod_lbmethod_bytraffic.so 0x6F810000 0x00010000
|
||||
mod_lbmethod_heartbeat.so 0x6F800000 0x00010000
|
||||
mod_heartbeat.so 0x6F7F0000 0x00010000
|
||||
mod_heartmonitor.so 0x6F7E0000 0x00010000
|
||||
|
@ -27,7 +27,6 @@ extern module win32_module;
|
||||
extern module mpm_winnt_module;
|
||||
extern module http_module;
|
||||
extern module so_module;
|
||||
extern module watchdog_module;
|
||||
|
||||
AP_DECLARE_DATA module *ap_prelinked_modules[] = {
|
||||
&core_module,
|
||||
@ -53,6 +52,5 @@ AP_DECLARE_DATA module *ap_preloaded_modules[] = {
|
||||
&mpm_winnt_module,
|
||||
&http_module,
|
||||
&so_module,
|
||||
&watchdog_module,
|
||||
NULL
|
||||
};
|
||||
|
Reference in New Issue
Block a user