You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by wr...@apache.org on 2002/07/21 11:19:19 UTC
cvs commit: httpd-2.0/modules/arch/win32 Makefile.in config.m4 .cvsignore mod_isapi.c mod_isapi.h
wrowe 2002/07/21 02:19:19
Modified: modules/arch/win32 .cvsignore mod_isapi.c mod_isapi.h
Added: modules/arch/win32 Makefile.in config.m4
Log:
A half hour to waste waiting for builds... this is what you get.
mod_isapi will build and run on OSX... presume others as well unless
I choose some awful errno values for portability.
Revision Changes Path
1.3 +11 -0 httpd-2.0/modules/arch/win32/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/arch/win32/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 5 Jun 2002 14:56:45 -0000 1.2
+++ .cvsignore 21 Jul 2002 09:19:19 -0000 1.3
@@ -1,5 +1,16 @@
+.deps
+.libs
+*.la
+modules.mk
+Makefile
+*.lo
+*.slo
+*.so
Debug
Release
+*.plg
+*.aps
+*.dep
*.mak
*.rc
BuildLog.htm
1.83 +7 -6 httpd-2.0/modules/arch/win32/mod_isapi.c
Index: mod_isapi.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/arch/win32/mod_isapi.c,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- mod_isapi.c 26 Jun 2002 19:45:06 -0000 1.82
+++ mod_isapi.c 21 Jul 2002 09:19:19 -0000 1.83
@@ -308,7 +308,7 @@
* location, etc) they apply to.
*/
isa->report_version = MAKELONG(0, 5); /* Revision 5.0 */
- isa->timeout = INFINITE; /* microsecs */
+ isa->timeout = 300 * 1000000; /* microsecs, not used */
rv = apr_dso_load(&isa->handle, isa->filename, p);
if (rv)
@@ -515,7 +515,7 @@
**********************************************************/
/* Our "Connection ID" structure */
-typedef struct isapi_cid {
+struct isapi_cid {
EXTENSION_CONTROL_BLOCK *ecb;
isapi_dir_conf dconf;
isapi_loaded *isa;
@@ -524,7 +524,7 @@
PFN_HSE_IO_COMPLETION completion;
void *completion_arg;
apr_thread_mutex_t *completed;
-} isapi_cid;
+};
int APR_THREAD_FUNC GetServerVariable (isapi_cid *cid,
char *variable_name,
@@ -1158,17 +1158,18 @@
*/
if (subreq->path_info && *subreq->path_info) {
apr_cpystrn(info->lpszPath + info->cchMatchingPath,
- subreq->path_info, MAX_PATH - info->cchMatchingPath);
+ subreq->path_info,
+ sizeof(info->lpszPath) - info->cchMatchingPath);
info->cchMatchingURL -= strlen(subreq->path_info);
if (subreq->finfo.filetype == APR_DIR
- && info->cchMatchingPath < MAX_PATH - 1) {
+ && info->cchMatchingPath < sizeof(info->lpszPath) - 1) {
/* roll forward over path_info's first slash */
++info->cchMatchingPath;
++info->cchMatchingURL;
}
}
else if (subreq->finfo.filetype == APR_DIR
- && info->cchMatchingPath < MAX_PATH - 1) {
+ && info->cchMatchingPath < sizeof(info->lpszPath) - 1) {
/* Add a trailing slash for directory */
info->lpszPath[info->cchMatchingPath++] = '/';
info->lpszPath[info->cchMatchingPath] = '\0';
1.2 +24 -2 httpd-2.0/modules/arch/win32/mod_isapi.h
Index: mod_isapi.h
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/arch/win32/mod_isapi.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mod_isapi.h 14 May 2002 05:23:54 -0000 1.1
+++ mod_isapi.h 21 Jul 2002 09:19:19 -0000 1.2
@@ -78,7 +78,8 @@
/* Our internal 'HCONN' representation, always opaque to the user.
*/
-typedef struct isapi_cid isapi_cid, *HCONN;
+typedef struct isapi_cid isapi_cid;
+typedef struct isapi_cid *HCONN;
/* Prototypes of the essential functions exposed by mod_isapi
* for the module to communicate with Apache.
@@ -201,7 +202,7 @@
} HSE_TF_INFO;
typedef struct HSE_URL_MAPEX_INFO {
- char lpszPath[MAX_PATH];
+ char lpszPath[260];
apr_uint32_t dwFlags;
apr_uint32_t cchMatchingPath;
apr_uint32_t cchMatchingURL;
@@ -250,6 +251,27 @@
#define HSE_STATUS_SUCCESS_AND_KEEP_CONN 2 /* 1 vs 2 Ignored, we choose */
#define HSE_STATUS_PENDING 3 /* Emulated (thread lock) */
#define HSE_STATUS_ERROR 4
+
+/* Anticipated error code for common faults within mod_isapi itself
+ */
+#ifndef ERROR_INSUFFICIENT_BUFFER
+#define ERROR_INSUFFICIENT_BUFFER ENOBUFS
+#endif
+#ifndef ERROR_INVALID_INDEX
+#define ERROR_INVALID_INDEX EINVAL
+#endif
+#ifndef ERROR_INVALID_PARAMETER
+#define ERROR_INVALID_PARAMETER EINVAL
+#endif
+#ifndef ERROR_READ_FAULT
+#define ERROR_READ_FAULT EIO
+#endif
+#ifndef ERROR_WRITE_FAULT
+#define ERROR_WRITE_FAULT EIO
+#endif
+#ifndef ERROR_SUCCESS
+#define ERROR_SUCCESS 0
+#endif
/* Valid flags passed with TerminateExtension()
*/
1.1 httpd-2.0/modules/arch/win32/Makefile.in
Index: Makefile.in
===================================================================
# a modules Makefile has no explicit targets -- they will be defined by
# whatever modules are enabled. just grab special.mk to deal with this.
include $(top_srcdir)/build/special.mk
1.1 httpd-2.0/modules/arch/win32/config.m4
Index: config.m4
===================================================================
dnl modules enabled in this directory by default
dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]])
APACHE_MODPATH_INIT(arch/win32)
APACHE_MODULE(isapi, isapi extension support, , , no)
APR_ADDTO(LT_LDFLAGS,-export-dynamic)
APACHE_MODPATH_FINISH