From 0e60f79d1c19268563d1d1a94f12155251e19b9e Mon Sep 17 00:00:00 2001 From: "William A. Rowe Jr" Date: Wed, 20 Sep 2000 04:54:06 +0000 Subject: [PATCH] Get mod_auth_dbm building using Apache's sdbmlib under WinNT. Bad conditional... need a better test to determine if we are using sdbm. Also - consistify linkage for expat-lite/sdmb to the same model as all the modules (no more nasty "conflicting linkage, use /nodefaultlib" msg.) PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86257 13f79535-47bb-0310-9956-ffa450edef68 --- Apache.dsw | 26 ++++++++- Makefile.win | 3 ++ modules/aaa/mod_auth_dbm.c | 20 +++++-- modules/aaa/mod_auth_dbm.dsp | 96 ++++++++++++++++++++++++++++++++++ os/win32/BaseAddr.ref | 1 + srclib/expat-lite/xmlparse.dsp | 4 +- srclib/expat-lite/xmltok.dsp | 4 +- 7 files changed, 146 insertions(+), 8 deletions(-) create mode 100644 modules/aaa/mod_auth_dbm.dsp diff --git a/Apache.dsw b/Apache.dsw index 7a7651cf46..8bbe67b30d 100644 --- a/Apache.dsw +++ b/Apache.dsw @@ -1,4 +1,4 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 +Microsoft Developer Studio Workspace File, Format Version 5.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### @@ -87,6 +87,27 @@ Package=<4> ############################################################################### +Project: "ApacheModuleAuthDBM"=".\os\win32\ApacheModuleAuthDBM.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name ApacheCoreDll + End Project Dependency + Begin Project Dependency + Project_Dep_Name aprlibdll + End Project Dependency + Begin Project Dependency + Project_Dep_Name sdbmlib + End Project Dependency +}}} + +############################################################################### + Project: "ApacheModuleAuthDigest"=".\os\win32\ApacheModuleAuthDigest.dsp" - Package Owner=<4> Package=<5> @@ -356,6 +377,9 @@ Package=<4> Begin Project Dependency Project_Dep_Name xmlparse End Project Dependency + Begin Project Dependency + Project_Dep_Name ApacheModuleAuthDBM + End Project Dependency }}} ############################################################################### diff --git a/Makefile.win b/Makefile.win index 3958fdd4dd..008e9881b8 100644 --- a/Makefile.win +++ b/Makefile.win @@ -101,6 +101,7 @@ _build: $(MAKE) $(MAKEOPT) -f ApacheModuleSpeling.mak CFG="ApacheModuleSpeling - Win32 $(LONG)" RECURSE=0 $(CTARGET) $(MAKE) $(MAKEOPT) -f ApacheModuleUserTrack.mak CFG="ApacheModuleUserTrack - Win32 $(LONG)" RECURSE=0 $(CTARGET) $(MAKE) $(MAKEOPT) -f ApacheModuleRewrite.mak CFG="ApacheModuleRewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET) + $(MAKE) $(MAKEOPT) -f ApacheModuleAuthDBM.mak CFG="ApacheModuleAuthDBM - Win32 $(LONG)" RECURSE=0 $(CTARGET) cd ..\.. # cd modules\proxy # $(MAKE) $(MAKEOPT) -f ApacheModuleProxy.mak CFG="ApacheModuleProxy - Win32 $(LONG)" RECURSE=0 $(CTARGET) @@ -129,12 +130,14 @@ _install: copy os\win32\ApacheModuleAuthAnon$(SHORT)\ApacheModuleAuthAnon.dll $(INSTDIR)\modules copy os\win32\ApacheModuleAuthDigest$(SHORT)\ApacheModuleAuthDigest.dll $(INSTDIR)\modules copy os\win32\ApacheModuleCERNMeta$(SHORT)\ApacheModuleCERNMeta.dll $(INSTDIR)\modules + copy os\win32\ApacheModuleDAV$(SHORT)\ApacheModuleDAV.dll $(INSTDIR)\modules copy os\win32\ApacheModuleExpires$(SHORT)\ApacheModuleExpires.dll $(INSTDIR)\modules copy os\win32\ApacheModuleFileCache$(SHORT)\ApacheModuleFileCache.dll $(INSTDIR)\modules copy os\win32\ApacheModuleHeaders$(SHORT)\ApacheModuleHeaders.dll $(INSTDIR)\modules copy os\win32\ApacheModuleRewrite$(SHORT)\ApacheModuleRewrite.dll $(INSTDIR)\modules copy os\win32\ApacheModuleSpeling$(SHORT)\ApacheModuleSpeling.dll $(INSTDIR)\modules copy os\win32\ApacheModuleUserTrack$(SHORT)\ApacheModuleUserTrack.dll $(INSTDIR)\modules + copy os\win32\ApacheModuleAuthDBM$(SHORT)\ApacheModuleAuthDBM.dll $(INSTDIR)\modules # copy modules\proxy\$(LONG)\ApacheModuleProxy.dll $(INSTDIR)\modules copy support\$(LONG)\ab.exe $(INSTDIR)\bin copy support\$(LONG)\htpasswd.exe $(INSTDIR)\bin diff --git a/modules/aaa/mod_auth_dbm.c b/modules/aaa/mod_auth_dbm.c index 253b7e3bc6..49dabab67d 100644 --- a/modules/aaa/mod_auth_dbm.c +++ b/modules/aaa/mod_auth_dbm.c @@ -76,7 +76,15 @@ #include "http_log.h" #include "http_protocol.h" #include "http_request.h" /* for ap_hook_(check_user_id | auth_checker)*/ -#if defined(__GLIBC__) && defined(__GLIBC_MINOR__) \ + +#if defined(WIN32) /* XXX: A better feature test is needed here */ +#include "sdbm.h" +#define DBM SDBM +#define datum sdbm_datum +#define dbm_open sdbm_open +#define dbm_fetch sdbm_fetch +#define dbm_close sdbm_close +#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) \ && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1 #include #else @@ -152,6 +160,7 @@ static char *get_dbm_pw(request_rec *r, char *user, char *auth_dbmpwfile) DBM *f; datum d, q; char *pw = NULL; + apr_status_t retval; q.dptr = user; #ifndef NETSCAPE_DBM_COMPAT @@ -160,10 +169,15 @@ static char *get_dbm_pw(request_rec *r, char *user, char *auth_dbmpwfile) q.dsize = strlen(q.dptr) + 1; #endif - +#ifdef WIN32 /* XXX: Same bad symbol here - need feature macro */ + if (!(retval = dbm_open(&f, auth_dbmpwfile, O_RDONLY, 0664, r->pool))) { + ap_log_rerror(APLOG_MARK, APLOG_ERR, errno, r, + "could not open sdbm auth file: %s", auth_dbmpwfile); +#else if (!(f = dbm_open(auth_dbmpwfile, O_RDONLY, 0664))) { - ap_log_rerror(APLOG_MARK, APLOG_ERR, errno, r, + ap_log_rerror(APLOG_MARK, APLOG_ERR, retval, r, "could not open dbm auth file: %s", auth_dbmpwfile); +#endif return NULL; } diff --git a/modules/aaa/mod_auth_dbm.dsp b/modules/aaa/mod_auth_dbm.dsp new file mode 100644 index 0000000000..1427266475 --- /dev/null +++ b/modules/aaa/mod_auth_dbm.dsp @@ -0,0 +1,96 @@ +# Microsoft Developer Studio Project File - Name="ApacheModuleAuthDBM" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=ApacheModuleAuthDBM - 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 "ApacheModuleAuthDBM.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 "ApacheModuleAuthDBM.mak" CFG="ApacheModuleAuthDBM - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "ApacheModuleAuthDBM - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "ApacheModuleAuthDBM - 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)" == "ApacheModuleAuthDBM - 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 ".\ApacheModuleAuthDBMR" +# PROP Intermediate_Dir ".\ApacheModuleAuthDBMR" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /I "..\..\lib\apr\include" /I "..\..\lib\sdbm" /I ".\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /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 0x809 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ApacheCore.lib aprlib.lib kernel32.lib /nologo /subsystem:windows /dll /map /machine:I386 /libpath:"..\..\CoreR" /libpath:"..\..\lib\apr\Release" /base:@BaseAddr.ref,mod_auth_dbm +# ADD LINK32 ApacheCore.lib aprlib.lib kernel32.lib /nologo /subsystem:windows /dll /map /machine:I386 /libpath:"..\..\CoreR" /libpath:"..\..\lib\apr\Release" /base:@BaseAddr.ref,mod_auth_dbm + +!ELSEIF "$(CFG)" == "ApacheModuleAuthDBM - 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 ".\ApacheModuleAuthDBMD" +# PROP Intermediate_Dir ".\ApacheModuleAuthDBMD" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /I "..\..\lib\apr\include" /I "..\..\lib\sdbm" /I ".\\" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /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 0x809 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ApacheCore.lib aprlib.lib kernel32.lib /nologo /subsystem:windows /dll /map /debug /machine:I386 /libpath:"..\..\CoreD" /libpath:"..\..\lib\apr\Debug" /base:@BaseAddr.ref,mod_auth_dbm +# ADD LINK32 ApacheCore.lib aprlib.lib kernel32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /libpath:"..\..\CoreD" /libpath:"..\..\lib\apr\Debug" /base:@BaseAddr.ref,mod_auth_dbm +# SUBTRACT LINK32 /incremental:no /map + +!ENDIF + +# Begin Target + +# Name "ApacheModuleAuthDBM - Win32 Release" +# Name "ApacheModuleAuthDBM - Win32 Debug" +# Begin Source File + +SOURCE=..\..\modules\standard\mod_auth_dbm.c +# End Source File +# End Target +# End Project diff --git a/os/win32/BaseAddr.ref b/os/win32/BaseAddr.ref index 1f7f70eba7..b2441525f8 100644 --- a/os/win32/BaseAddr.ref +++ b/os/win32/BaseAddr.ref @@ -22,3 +22,4 @@ mod_status 0x6FE50000 0x00010000 mod_usertrack 0x6FE40000 0x00010000 mod_proxy 0x6FE20000 0x00020000 mod_file_cache 0x6FE00000 0x00020000 +mod_auth_dbm 0x6FDF0000 0x00010000 diff --git a/srclib/expat-lite/xmlparse.dsp b/srclib/expat-lite/xmlparse.dsp index 350a56a8f8..454df6d164 100644 --- a/srclib/expat-lite/xmlparse.dsp +++ b/srclib/expat-lite/xmlparse.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLPARSE_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLPARSE_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLPARSE_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "NDEBUG" @@ -69,7 +69,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLPARSE_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLPARSE_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLPARSE_EXPORTS" /YX /FD /GZ /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "_DEBUG" diff --git a/srclib/expat-lite/xmltok.dsp b/srclib/expat-lite/xmltok.dsp index 15376b7a3b..ad9c0f42b9 100644 --- a/srclib/expat-lite/xmltok.dsp +++ b/srclib/expat-lite/xmltok.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLTOK_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLTOK_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLTOK_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "NDEBUG" @@ -69,7 +69,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLTOK_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLTOK_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLTOK_EXPORTS" /YX /FD /GZ /c # SUBTRACT CPP /Fr # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -- 2.50.1