summaryrefslogtreecommitdiff
path: root/modules/arch
diff options
context:
space:
mode:
authorStefan Fritsch <sf@sfritsch.de>2011-12-27 19:43:09 +0100
committerStefan Fritsch <sf@sfritsch.de>2011-12-27 19:43:09 +0100
commit5b56d06a01a150fc9685e6f913774be3f9deb49f (patch)
tree9fbfbe0313b782941f1c2c4d3cb5203817144108 /modules/arch
parent498ea95018b369e62646a98c7d7d5413b56e170c (diff)
downloadapache2-upstream/2.2.19.tar.gz
Upstream tarball 2.2.19upstream/2.2.19
Diffstat (limited to 'modules/arch')
-rw-r--r--modules/arch/netware/libprews.c7
-rw-r--r--modules/arch/netware/mod_auth_basic.def1
-rw-r--r--modules/arch/netware/mod_auth_digest.def1
-rw-r--r--modules/arch/netware/mod_authn_anon.def1
-rw-r--r--modules/arch/netware/mod_authn_dbm.def2
-rw-r--r--modules/arch/netware/mod_authn_default.def1
-rw-r--r--modules/arch/netware/mod_authn_file.def3
-rw-r--r--modules/arch/netware/mod_authz_dbm.def1
-rw-r--r--modules/arch/netware/mod_authz_default.def1
-rw-r--r--modules/arch/netware/mod_authz_groupfile.def2
-rw-r--r--modules/arch/netware/mod_authz_user.def1
-rw-r--r--modules/arch/netware/mod_cache.def5
-rw-r--r--modules/arch/netware/mod_cern_meta.def1
-rw-r--r--modules/arch/netware/mod_dav.def3
-rw-r--r--modules/arch/netware/mod_disk_cache.def3
-rw-r--r--modules/arch/netware/mod_echo.def2
-rw-r--r--modules/arch/netware/mod_expires.def1
-rw-r--r--modules/arch/netware/mod_file_cache.def2
-rw-r--r--modules/arch/netware/mod_headers.def1
-rw-r--r--modules/arch/netware/mod_info.def1
-rw-r--r--modules/arch/netware/mod_logio.def2
-rw-r--r--modules/arch/netware/mod_mem_cache.def3
-rw-r--r--modules/arch/netware/mod_mime_magic.def1
-rw-r--r--modules/arch/netware/mod_nw_ssl.c36
-rw-r--r--modules/arch/netware/mod_proxy.def6
-rw-r--r--modules/arch/netware/mod_proxy_connect.def4
-rw-r--r--modules/arch/netware/mod_proxy_ftp.def4
-rw-r--r--modules/arch/netware/mod_proxy_http.def7
-rw-r--r--modules/arch/netware/mod_rewrite.def1
-rw-r--r--modules/arch/netware/mod_speling.def1
-rw-r--r--modules/arch/netware/mod_status.def2
-rw-r--r--modules/arch/netware/mod_unique_id.def1
-rw-r--r--modules/arch/netware/mod_usertrack.def1
-rw-r--r--modules/arch/netware/mod_vhost_alias.def2
-rw-r--r--modules/arch/netware/moddavfs.def1
-rw-r--r--modules/arch/win32/mod_isapi.dep35
-rw-r--r--modules/arch/win32/mod_isapi.mak353
-rw-r--r--modules/arch/win32/mod_win32.c9
38 files changed, 412 insertions, 97 deletions
diff --git a/modules/arch/netware/libprews.c b/modules/arch/netware/libprews.c
index de29eb16..9a0b90e6 100644
--- a/modules/arch/netware/libprews.c
+++ b/modules/arch/netware/libprews.c
@@ -25,9 +25,8 @@
provide.
------------------------------------------------------------------*/
#include <netware.h>
-//#include "stddef.h"
#ifdef USE_WINSOCK
-#include "novsock2.h"
+#include <novsock2.h>
#endif
int _NonAppStart
@@ -70,11 +69,11 @@ void _NonAppStop( void )
#ifdef USE_WINSOCK
WSACleanup();
#else
- return;0;
+ return;
#endif
}
int _NonAppCheckUnload( void )
{
- return 0;
+ return 0;
}
diff --git a/modules/arch/netware/mod_auth_basic.def b/modules/arch/netware/mod_auth_basic.def
deleted file mode 100644
index 0a6f81aa..00000000
--- a/modules/arch/netware/mod_auth_basic.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT auth_basic_module
diff --git a/modules/arch/netware/mod_auth_digest.def b/modules/arch/netware/mod_auth_digest.def
deleted file mode 100644
index 6a3aa085..00000000
--- a/modules/arch/netware/mod_auth_digest.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT auth_digest_module
diff --git a/modules/arch/netware/mod_authn_anon.def b/modules/arch/netware/mod_authn_anon.def
deleted file mode 100644
index 78bb61be..00000000
--- a/modules/arch/netware/mod_authn_anon.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authn_anon_module
diff --git a/modules/arch/netware/mod_authn_dbm.def b/modules/arch/netware/mod_authn_dbm.def
deleted file mode 100644
index 7a242b03..00000000
--- a/modules/arch/netware/mod_authn_dbm.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT authn_dbm_module
-
diff --git a/modules/arch/netware/mod_authn_default.def b/modules/arch/netware/mod_authn_default.def
deleted file mode 100644
index fb94aa37..00000000
--- a/modules/arch/netware/mod_authn_default.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authn_default_module
diff --git a/modules/arch/netware/mod_authn_file.def b/modules/arch/netware/mod_authn_file.def
deleted file mode 100644
index fd0765a1..00000000
--- a/modules/arch/netware/mod_authn_file.def
+++ /dev/null
@@ -1,3 +0,0 @@
-EXPORT authn_file_module
-
-
diff --git a/modules/arch/netware/mod_authz_dbm.def b/modules/arch/netware/mod_authz_dbm.def
deleted file mode 100644
index d52639c1..00000000
--- a/modules/arch/netware/mod_authz_dbm.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authz_dbm_module
diff --git a/modules/arch/netware/mod_authz_default.def b/modules/arch/netware/mod_authz_default.def
deleted file mode 100644
index 164564f5..00000000
--- a/modules/arch/netware/mod_authz_default.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authz_default_module
diff --git a/modules/arch/netware/mod_authz_groupfile.def b/modules/arch/netware/mod_authz_groupfile.def
deleted file mode 100644
index 25d95551..00000000
--- a/modules/arch/netware/mod_authz_groupfile.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT authz_groupfile_module
-
diff --git a/modules/arch/netware/mod_authz_user.def b/modules/arch/netware/mod_authz_user.def
deleted file mode 100644
index 043418b6..00000000
--- a/modules/arch/netware/mod_authz_user.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT authz_user_module
diff --git a/modules/arch/netware/mod_cache.def b/modules/arch/netware/mod_cache.def
deleted file mode 100644
index 6fd6423b..00000000
--- a/modules/arch/netware/mod_cache.def
+++ /dev/null
@@ -1,5 +0,0 @@
-EXPORT cache_module
-EXPORT @mod_cache.imp
-
-
-
diff --git a/modules/arch/netware/mod_cern_meta.def b/modules/arch/netware/mod_cern_meta.def
deleted file mode 100644
index 5638325b..00000000
--- a/modules/arch/netware/mod_cern_meta.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT cern_meta_module
diff --git a/modules/arch/netware/mod_dav.def b/modules/arch/netware/mod_dav.def
deleted file mode 100644
index fb56c92f..00000000
--- a/modules/arch/netware/mod_dav.def
+++ /dev/null
@@ -1,3 +0,0 @@
-EXPORT dav_module
-EXPORT @dav.imp
-
diff --git a/modules/arch/netware/mod_disk_cache.def b/modules/arch/netware/mod_disk_cache.def
deleted file mode 100644
index 0a9440ad..00000000
--- a/modules/arch/netware/mod_disk_cache.def
+++ /dev/null
@@ -1,3 +0,0 @@
-IMPORT @mod_cache.imp
-EXPORT disk_cache_module
-
diff --git a/modules/arch/netware/mod_echo.def b/modules/arch/netware/mod_echo.def
deleted file mode 100644
index 694135a5..00000000
--- a/modules/arch/netware/mod_echo.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT echo_module
-
diff --git a/modules/arch/netware/mod_expires.def b/modules/arch/netware/mod_expires.def
deleted file mode 100644
index bc416630..00000000
--- a/modules/arch/netware/mod_expires.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT expires_module
diff --git a/modules/arch/netware/mod_file_cache.def b/modules/arch/netware/mod_file_cache.def
deleted file mode 100644
index 8ab98cfb..00000000
--- a/modules/arch/netware/mod_file_cache.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT file_cache_module
-
diff --git a/modules/arch/netware/mod_headers.def b/modules/arch/netware/mod_headers.def
deleted file mode 100644
index 2fe35a85..00000000
--- a/modules/arch/netware/mod_headers.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT headers_module
diff --git a/modules/arch/netware/mod_info.def b/modules/arch/netware/mod_info.def
deleted file mode 100644
index ce71cb37..00000000
--- a/modules/arch/netware/mod_info.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT info_module
diff --git a/modules/arch/netware/mod_logio.def b/modules/arch/netware/mod_logio.def
deleted file mode 100644
index 68c70891..00000000
--- a/modules/arch/netware/mod_logio.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT logio_module
-
diff --git a/modules/arch/netware/mod_mem_cache.def b/modules/arch/netware/mod_mem_cache.def
deleted file mode 100644
index 531d6871..00000000
--- a/modules/arch/netware/mod_mem_cache.def
+++ /dev/null
@@ -1,3 +0,0 @@
-IMPORT @mod_cache.imp
-EXPORT mem_cache_module
-
diff --git a/modules/arch/netware/mod_mime_magic.def b/modules/arch/netware/mod_mime_magic.def
deleted file mode 100644
index 95307476..00000000
--- a/modules/arch/netware/mod_mime_magic.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT mime_magic_module
diff --git a/modules/arch/netware/mod_nw_ssl.c b/modules/arch/netware/mod_nw_ssl.c
index e294763a..b3df153b 100644
--- a/modules/arch/netware/mod_nw_ssl.c
+++ b/modules/arch/netware/mod_nw_ssl.c
@@ -41,9 +41,11 @@
#include "httpd.h"
#include "http_config.h"
+#include "http_connection.h"
+#include "http_core.h"
#include "http_log.h"
#include "http_protocol.h"
-#include "http_core.h"
+#include "http_request.h"
#include "ap_listen.h"
#include "apr_strings.h"
#include "apr_portable.h"
@@ -132,7 +134,7 @@ static ap_listen_rec *nw_old_listeners;
#define get_nwssl_cfg(srv) (NWSSLSrvConfigRec *) ap_get_module_config(srv->module_config, &nwssl_module)
-static void build_cert_list (apr_pool_t *p)
+static void build_cert_list(apr_pool_t *p)
{
int i;
char **rootcerts = (char **)certlist->elts;
@@ -233,12 +235,10 @@ static int make_secure_socket(apr_pool_t *pconf, const struct sockaddr_in *serve
char* key, int mutual, server_rec *sconf)
{
int s;
- int one = 1;
char addr[MAX_ADDRESS];
struct sslserveropts opts;
unsigned int optParam;
WSAPROTOCOL_INFO SecureProtoInfo;
- int no = 1;
if (server->sin_addr.s_addr != htonl(INADDR_ANY))
apr_snprintf(addr, sizeof(addr), "address %s port %d",
@@ -291,7 +291,7 @@ static int make_secure_socket(apr_pool_t *pconf, const struct sockaddr_in *serve
}
if (mutual) {
- optParam = 0x07; // SO_SSL_AUTH_CLIENT
+ optParam = 0x07; /* SO_SSL_AUTH_CLIENT */
if(WSAIoctl(s, SO_SSL_SET_FLAGS, (char*)&optParam,
sizeof(optParam), NULL, 0, NULL, NULL, NULL)) {
@@ -309,7 +309,7 @@ static int make_secure_socket(apr_pool_t *pconf, const struct sockaddr_in *serve
return s;
}
-int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
+static int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
{
int rcode;
struct tlsclientopts sWS2Opts;
@@ -346,17 +346,17 @@ int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
sWS2Opts.options = &sNWTLSOpts;
if (numcerts) {
- sNWTLSOpts.walletProvider = WAL_PROV_DER; //the wallet provider defined in wdefs.h
- sNWTLSOpts.TrustedRootList = certarray; //array of certs in UNICODE format
- sNWTLSOpts.numElementsInTRList = numcerts; //number of certs in TRList
+ sNWTLSOpts.walletProvider = WAL_PROV_DER; /* the wallet provider defined in wdefs.h */
+ sNWTLSOpts.TrustedRootList = certarray; /* array of certs in UNICODE format */
+ sNWTLSOpts.numElementsInTRList = numcerts; /* number of certs in TRList */
}
else {
/* setup the socket for SSL */
unicpy(keyFileName, L"SSL CertificateIP");
- sWS2Opts.wallet = keyFileName; /* no client certificate */
+ sWS2Opts.wallet = keyFileName; /* no client certificate */
sWS2Opts.walletlen = unilen(keyFileName);
- sNWTLSOpts.walletProvider = WAL_PROV_KMO; //the wallet provider defined in wdefs.h
+ sNWTLSOpts.walletProvider = WAL_PROV_KMO; /* the wallet provider defined in wdefs.h */
}
/* make the IOCTL call */
@@ -364,7 +364,7 @@ int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
sizeof(struct tlsclientopts), NULL, 0, NULL,
NULL, NULL);
- /* make sure that it was successfull */
+ /* make sure that it was successful */
if(SOCKET_ERROR == rcode ){
ap_log_error(APLOG_MARK, APLOG_ERR, 0, c->base_server,
"Error: %d with ioctl (SO_TLS_SET_CLIENT)", WSAGetLastError());
@@ -372,7 +372,7 @@ int convert_secure_socket(conn_rec *c, apr_socket_t *csd)
return rcode;
}
-int SSLize_Socket(SOCKET socketHnd, char *key, request_rec *r)
+static int SSLize_Socket(SOCKET socketHnd, char *key, request_rec *r)
{
int rcode;
struct tlsserveropts sWS2Opts;
@@ -406,7 +406,7 @@ int SSLize_Socket(SOCKET socketHnd, char *key, request_rec *r)
loc2uni(UNI_LOCAL_DEFAULT, SASKey, key, 0, 0);
- //setup the tlsserveropts struct
+ /* setup the tlsserveropts struct */
sWS2Opts.wallet = SASKey;
sWS2Opts.walletlen = unilen(SASKey);
sWS2Opts.sidtimeout = 0;
@@ -414,7 +414,7 @@ int SSLize_Socket(SOCKET socketHnd, char *key, request_rec *r)
sWS2Opts.siddir = NULL;
sWS2Opts.options = &sNWTLSOpts;
- //setup the nwtlsopts structure
+ /* setup the nwtlsopts structure */
sNWTLSOpts.walletProvider = WAL_PROV_KMO;
sNWTLSOpts.keysList = NULL;
@@ -546,7 +546,6 @@ static const char *set_secure_upgradeable_listener(cmd_parms *cmd, void *dummy,
const char *ips, const char* key)
{
NWSSLSrvConfigRec* sc = get_nwssl_cfg(cmd->server);
- seclistenup_rec *listen_node;
const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
char *ports, *addr;
unsigned short port;
@@ -626,8 +625,6 @@ static int nwssl_pre_config(apr_pool_t *pconf, apr_pool_t *plog,
apr_pool_t *ptemp)
{
seclisten_rec* ap_old_seclisteners;
- char *ports, *addr;
- unsigned short port;
ap_listen_rec **walk;
seclisten_rec **secwalk;
apr_sockaddr_t *sa;
@@ -724,7 +721,6 @@ static int nwssl_post_config(apr_pool_t *pconf, apr_pool_t *plog,
ap_listen_rec *walk;
seclisten_rec *secwalk, *lastsecwalk;
apr_sockaddr_t *sa;
- int found_listener = 0;
/* Walk the old listeners list and compare it to the secure
listeners list and remove any secure listener records that
@@ -896,8 +892,6 @@ static int isSecureUpgraded (const request_rec *r)
static int nwssl_hook_Fixup(request_rec *r)
{
- int i;
-
if (!isSecure(r) && !isSecureUpgraded(r))
return DECLINED;
diff --git a/modules/arch/netware/mod_proxy.def b/modules/arch/netware/mod_proxy.def
deleted file mode 100644
index ab02a53c..00000000
--- a/modules/arch/netware/mod_proxy.def
+++ /dev/null
@@ -1,6 +0,0 @@
-EXPORT proxy_module
-EXPORT proxy_hook_scheme_handler
-EXPORT proxy_hook_canon_handler
-EXPORT ap_proxy_ssl_enable
-EXPORT ap_proxy_ssl_disable
-EXPORT proxy_run_fixups
diff --git a/modules/arch/netware/mod_proxy_connect.def b/modules/arch/netware/mod_proxy_connect.def
deleted file mode 100644
index 13611140..00000000
--- a/modules/arch/netware/mod_proxy_connect.def
+++ /dev/null
@@ -1,4 +0,0 @@
-EXPORT proxy_connect_module
-IMPORT proxy_module
-IMPORT proxy_hook_scheme_handler
-IMPORT proxy_hook_canon_handler
diff --git a/modules/arch/netware/mod_proxy_ftp.def b/modules/arch/netware/mod_proxy_ftp.def
deleted file mode 100644
index f2dba7d6..00000000
--- a/modules/arch/netware/mod_proxy_ftp.def
+++ /dev/null
@@ -1,4 +0,0 @@
-EXPORT proxy_ftp_module
-IMPORT proxy_module
-IMPORT proxy_hook_scheme_handler
-IMPORT proxy_hook_canon_handler
diff --git a/modules/arch/netware/mod_proxy_http.def b/modules/arch/netware/mod_proxy_http.def
deleted file mode 100644
index b24358b1..00000000
--- a/modules/arch/netware/mod_proxy_http.def
+++ /dev/null
@@ -1,7 +0,0 @@
-EXPORT proxy_http_module
-IMPORT proxy_module
-IMPORT proxy_hook_scheme_handler
-IMPORT proxy_run_fixups
-IMPORT proxy_hook_canon_handler
-IMPORT ap_proxy_ssl_enable
-IMPORT ap_proxy_ssl_disable
diff --git a/modules/arch/netware/mod_rewrite.def b/modules/arch/netware/mod_rewrite.def
deleted file mode 100644
index cfdcf6b1..00000000
--- a/modules/arch/netware/mod_rewrite.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT rewrite_module
diff --git a/modules/arch/netware/mod_speling.def b/modules/arch/netware/mod_speling.def
deleted file mode 100644
index 3d45a6aa..00000000
--- a/modules/arch/netware/mod_speling.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT speling_module
diff --git a/modules/arch/netware/mod_status.def b/modules/arch/netware/mod_status.def
deleted file mode 100644
index 9a5a32d4..00000000
--- a/modules/arch/netware/mod_status.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT status_module
-
diff --git a/modules/arch/netware/mod_unique_id.def b/modules/arch/netware/mod_unique_id.def
deleted file mode 100644
index 0b72c1ec..00000000
--- a/modules/arch/netware/mod_unique_id.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT unique_id_module
diff --git a/modules/arch/netware/mod_usertrack.def b/modules/arch/netware/mod_usertrack.def
deleted file mode 100644
index 7264c41e..00000000
--- a/modules/arch/netware/mod_usertrack.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT usertrack_module
diff --git a/modules/arch/netware/mod_vhost_alias.def b/modules/arch/netware/mod_vhost_alias.def
deleted file mode 100644
index 574b85f9..00000000
--- a/modules/arch/netware/mod_vhost_alias.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORT vhost_alias_module
-
diff --git a/modules/arch/netware/moddavfs.def b/modules/arch/netware/moddavfs.def
deleted file mode 100644
index 67ec3117..00000000
--- a/modules/arch/netware/moddavfs.def
+++ /dev/null
@@ -1 +0,0 @@
-EXPORT dav_fs_module
diff --git a/modules/arch/win32/mod_isapi.dep b/modules/arch/win32/mod_isapi.dep
new file mode 100644
index 00000000..0e41488b
--- /dev/null
+++ b/modules/arch/win32/mod_isapi.dep
@@ -0,0 +1,35 @@
+# Microsoft Developer Studio Generated Dependency File, included by mod_isapi.mak
+
+..\..\..\build\win32\httpd.rc : \
+ "..\..\..\include\ap_release.h"\
+
+
+.\mod_isapi.c : \
+ "..\..\..\include\ap_config.h"\
+ "..\..\..\include\ap_mmn.h"\
+ "..\..\..\include\ap_regex.h"\
+ "..\..\..\include\ap_release.h"\
+ "..\..\..\include\http_config.h"\
+ "..\..\..\include\http_core.h"\
+ "..\..\..\include\http_log.h"\
+ "..\..\..\include\http_protocol.h"\
+ "..\..\..\include\http_request.h"\
+ "..\..\..\include\httpd.h"\
+ "..\..\..\include\mod_core.h"\
+ "..\..\..\include\os.h"\
+ "..\..\..\include\util_cfgtree.h"\
+ "..\..\..\include\util_filter.h"\
+ "..\..\..\include\util_script.h"\
+ "..\..\..\srclib\apr-util\include\apr_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional.h"\
+ "..\..\..\srclib\apr-util\include\apr_optional_hooks.h"\
+ "..\..\..\srclib\apr-util\include\apr_uri.h"\
+ "..\..\..\srclib\apr\include\apr_hash.h"\
+ "..\..\..\srclib\apr\include\apr_lib.h"\
+ "..\..\..\srclib\apr\include\apr_mmap.h"\
+ "..\..\..\srclib\apr\include\apr_poll.h"\
+ "..\..\..\srclib\apr\include\apr_portable.h"\
+ "..\..\..\srclib\apr\include\apr_strings.h"\
+ "..\..\..\srclib\apr\include\apr_thread_rwlock.h"\
+ ".\mod_isapi.h"\
+
diff --git a/modules/arch/win32/mod_isapi.mak b/modules/arch/win32/mod_isapi.mak
new file mode 100644
index 00000000..7edb7cba
--- /dev/null
+++ b/modules/arch/win32/mod_isapi.mak
@@ -0,0 +1,353 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_isapi.dsp
+!IF "$(CFG)" == ""
+CFG=mod_isapi - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_isapi - Win32 Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_isapi - Win32 Release" && "$(CFG)" != "mod_isapi - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!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_isapi.mak" CFG="mod_isapi - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_isapi - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_isapi - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_isapi.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_isapi.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_isapi.obj"
+ -@erase "$(INTDIR)\mod_isapi.res"
+ -@erase "$(INTDIR)\mod_isapi_src.idb"
+ -@erase "$(INTDIR)\mod_isapi_src.pdb"
+ -@erase "$(OUTDIR)\mod_isapi.exp"
+ -@erase "$(OUTDIR)\mod_isapi.lib"
+ -@erase "$(OUTDIR)\mod_isapi.pdb"
+ -@erase "$(OUTDIR)\mod_isapi.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_isapi_src" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_isapi.res" /i "../../../include" /i "../../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_isapi.so" /d LONG_NAME="isapi_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_isapi.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_isapi.pdb" /debug /out:"$(OUTDIR)\mod_isapi.so" /implib:"$(OUTDIR)\mod_isapi.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_isapi.so /opt:ref
+LINK32_OBJS= \
+ "$(INTDIR)\mod_isapi.obj" \
+ "$(INTDIR)\mod_isapi.res" \
+ "..\..\..\srclib\apr\Release\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Release\libaprutil-1.lib" \
+ "..\..\..\Release\libhttpd.lib"
+
+"$(OUTDIR)\mod_isapi.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\mod_isapi.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_isapi.so"
+ if exist .\Release\mod_isapi.so.manifest mt.exe -manifest .\Release\mod_isapi.so.manifest -outputresource:.\Release\mod_isapi.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_isapi.so" "$(DS_POSTBUILD_DEP)"
+
+!ELSE
+
+ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_isapi.so" "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_isapi.obj"
+ -@erase "$(INTDIR)\mod_isapi.res"
+ -@erase "$(INTDIR)\mod_isapi_src.idb"
+ -@erase "$(INTDIR)\mod_isapi_src.pdb"
+ -@erase "$(OUTDIR)\mod_isapi.exp"
+ -@erase "$(OUTDIR)\mod_isapi.lib"
+ -@erase "$(OUTDIR)\mod_isapi.pdb"
+ -@erase "$(OUTDIR)\mod_isapi.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../../include" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_isapi_src" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_isapi.res" /i "../../../include" /i "../../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_isapi.so" /d LONG_NAME="isapi_module for Apache"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_isapi.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_isapi.pdb" /debug /out:"$(OUTDIR)\mod_isapi.so" /implib:"$(OUTDIR)\mod_isapi.lib" /base:@..\..\..\os\win32\BaseAddr.ref,mod_isapi.so
+LINK32_OBJS= \
+ "$(INTDIR)\mod_isapi.obj" \
+ "$(INTDIR)\mod_isapi.res" \
+ "..\..\..\srclib\apr\Debug\libapr-1.lib" \
+ "..\..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
+ "..\..\..\Debug\libhttpd.lib"
+
+"$(OUTDIR)\mod_isapi.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\mod_isapi.so
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_isapi.so"
+ if exist .\Debug\mod_isapi.so.manifest mt.exe -manifest .\Debug\mod_isapi.so.manifest -outputresource:.\Debug\mod_isapi.so;2
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("mod_isapi.dep")
+!INCLUDE "mod_isapi.dep"
+!ELSE
+!MESSAGE Warning: cannot find "mod_isapi.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release" || "$(CFG)" == "mod_isapi - Win32 Debug"
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+"libapr - Win32 Release" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
+ cd "..\..\modules\arch\win32"
+
+"libapr - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\arch\win32"
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+"libapr - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
+ cd "..\..\modules\arch\win32"
+
+"libapr - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\arch\win32"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+"libaprutil - Win32 Release" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
+ cd "..\..\modules\arch\win32"
+
+"libaprutil - Win32 ReleaseCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
+ cd "..\..\modules\arch\win32"
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+"libaprutil - Win32 Debug" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
+ cd "..\..\modules\arch\win32"
+
+"libaprutil - Win32 DebugCLEAN" :
+ cd ".\..\..\..\srclib\apr-util"
+ $(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
+ cd "..\..\modules\arch\win32"
+
+!ENDIF
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+"libhttpd - Win32 Release" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
+ cd ".\modules\arch\win32"
+
+"libhttpd - Win32 ReleaseCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
+ cd ".\modules\arch\win32"
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+"libhttpd - Win32 Debug" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
+ cd ".\modules\arch\win32"
+
+"libhttpd - Win32 DebugCLEAN" :
+ cd ".\..\..\.."
+ $(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
+ cd ".\modules\arch\win32"
+
+!ENDIF
+
+SOURCE=..\..\..\build\win32\httpd.rc
+
+!IF "$(CFG)" == "mod_isapi - Win32 Release"
+
+
+"$(INTDIR)\mod_isapi.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_isapi.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_isapi.so" /d LONG_NAME="isapi_module for Apache" $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "mod_isapi - Win32 Debug"
+
+
+"$(INTDIR)\mod_isapi.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x409 /fo"$(INTDIR)\mod_isapi.res" /i "../../../include" /i "../../../srclib/apr/include" /i ".\..\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_isapi.so" /d LONG_NAME="isapi_module for Apache" $(SOURCE)
+
+
+!ENDIF
+
+SOURCE=.\mod_isapi.c
+
+"$(INTDIR)\mod_isapi.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
diff --git a/modules/arch/win32/mod_win32.c b/modules/arch/win32/mod_win32.c
index 181f66d7..c2397ea1 100644
--- a/modules/arch/win32/mod_win32.c
+++ b/modules/arch/win32/mod_win32.c
@@ -475,8 +475,11 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
memmove(buffer, buffer + 3, bytes -= 3);
}
- /* Script or executable, that is the question... */
- if ((bytes >= 2) && (buffer[0] == '#') && (buffer[1] == '!')) {
+ /* Script or executable, that is the question...
+ * we check here also for '! so that .vbs scripts can work as CGI.
+ */
+ if ((bytes >= 2) && ((buffer[0] == '#') || (buffer[0] == '\''))
+ && (buffer[1] == '!')) {
/* Assuming file is a script since it starts with a shebang */
for (i = 2; i < bytes; i++) {
if ((buffer[i] == '\r') || (buffer[i] == '\n')) {
@@ -511,7 +514,7 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
if (!interpreter) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"%s is not executable; ensure interpreted scripts have "
- "\"#!\" first line", *cmd);
+ "\"#!\" or \"'!\" first line", *cmd);
return APR_EBADF;
}