summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2005-03-01 01:49:58 +0000
committerRich Megginson <rmeggins@redhat.com>2005-03-01 01:49:58 +0000
commit1c2f5d2e70534ca35999165302bcc9abfdbac79e (patch)
tree4871ee7b1ccce4d9269d7b10f7ee876353009b6c
parent606a96781b8bd30ff8331d04c7eed86c3963f7e7 (diff)
downloadds-1c2f5d2e70534ca35999165302bcc9abfdbac79e.tar.gz
ds-1c2f5d2e70534ca35999165302bcc9abfdbac79e.tar.xz
ds-1c2f5d2e70534ca35999165302bcc9abfdbac79e.zip
readding because otherwise Windows is horked
-rw-r--r--httpd/src/ntnsapi.c130
-rw-r--r--include/nt/nsapi.h106
2 files changed, 236 insertions, 0 deletions
diff --git a/httpd/src/ntnsapi.c b/httpd/src/ntnsapi.c
new file mode 100644
index 00000000..4e545f12
--- /dev/null
+++ b/httpd/src/ntnsapi.c
@@ -0,0 +1,130 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+/*
+ * Aruna Victor
+ * NT NSAPI works differently from UNIX. The DLL doesn't know the addresses
+ * of the functions in the server process and needs to be told them.
+ */
+
+#include <nt/nsapi.h>
+
+#ifdef BUILD_DLL
+
+#include <libadmin/libadmin.h>
+#include <libaccess/aclproto.h>
+#include <libaccess/nsadb.h>
+#include <base/fsmutex.h>
+#include <i18n.h>
+#include <base/ereport.h>
+
+VOID NsapiDummy()
+{
+ int i = 0;
+ SafTable = (SafFunction **)MALLOC(400 * sizeof(VOID*));
+
+ /* Force references to libadmin */
+ SafTable[i++] = (SafFunction *)get_userdb_dir;
+ /* Functions from libadmin:error.c */
+ SafTable[i++] = (SafFunction *)report_error;
+ /* Functions from libadmin:template.c */
+ SafTable[i++] = (SafFunction *)helpJavaScriptForTopic;
+
+ /* Force references to base */
+ SafTable[i++] = (SafFunction *)fsmutex_init;
+
+}
+#endif /* BUILD_DLL */
+
+VOID InitializeSafFunctions()
+{
+
+ SafTable = (SafFunction **)MALLOC(400 * sizeof(VOID *));
+
+/* Functions from file.h */
+ SafTable[SYSTEM_STAT] = (SafFunction *)system_stat;
+ SafTable[SYSTEM_FOPENRO] = (SafFunction *)system_fopenRO;
+ SafTable[SYSTEM_FOPENWA] = (SafFunction *)system_fopenWA;
+ SafTable[SYSTEM_FOPENRW] = (SafFunction *)system_fopenRW;
+ SafTable[SYSTEM_NOCOREDUMPS] = (SafFunction *)system_nocoredumps;
+ SafTable[SYSTEM_FWRITE] = (SafFunction *)system_fwrite;
+ SafTable[SYSTEM_FWRITE_ATOMIC] = (SafFunction *)system_fwrite_atomic;
+ SafTable[SYSTEM_WINERR] = (SafFunction *)system_winerr;
+ SafTable[SYSTEM_WINSOCKERR] = (SafFunction *)system_winsockerr;
+
+ SafTable[FILE_NOTFOUND] = (SafFunction *)file_notfound;
+ SafTable[FILE_UNIX2LOCAL] = (SafFunction *)file_unix2local;
+ SafTable[DIR_OPEN] = (SafFunction *)dir_open;
+ SafTable[DIR_READ] = (SafFunction *)dir_read;
+ SafTable[DIR_CLOSE] = (SafFunction *)dir_close;
+
+/* Functions from ereport.h */
+ SafTable[EREPORT] = (SafFunction *)ereport ;
+
+#ifdef NET_SSL
+/* Functions from minissl.h */
+ SafTable[SSL_CLOSE] = (SafFunction *)PR_Close;
+ SafTable[SSL_SOCKET] = (SafFunction *)PR_NewTCPSocket;
+ SafTable[SSL_GET_SOCKOPT] = (SafFunction *)PR_GetSocketOption;
+ SafTable[SSL_SET_SOCKOPT] = (SafFunction *)PR_SetSocketOption;
+ SafTable[SSL_BIND] = (SafFunction *)PR_Bind;
+ SafTable[SSL_LISTEN] = (SafFunction *)PR_Listen;
+ SafTable[SSL_ACCEPT] = (SafFunction *)PR_Accept;
+ SafTable[SSL_READ] = (SafFunction *)PR_Read;
+ SafTable[SSL_WRITE] = (SafFunction *)PR_Write;
+ SafTable[SSL_GETPEERNAME] = (SafFunction *)PR_GetPeerName;
+#endif /* NET_SSL */
+
+
+/* Functions from shexp.h */
+ SafTable[SHEXP_VALID] = (SafFunction *)shexp_valid;
+ SafTable[SHEXP_MATCH] = (SafFunction *)shexp_match;
+ SafTable[SHEXP_CMP] = (SafFunction *)shexp_cmp;
+ SafTable[SHEXP_CASECMP] = (SafFunction *)shexp_casecmp;
+
+/* Functions from systhr.h */
+ SafTable[SYSTHREAD_START] = (SafFunction *)systhread_start;
+ SafTable[SYSTHREAD_ATTACH] = (SafFunction *)systhread_attach;
+ SafTable[SYSTHREAD_TERMINATE] = (SafFunction *)systhread_terminate;
+ SafTable[SYSTHREAD_SLEEP] = (SafFunction *)systhread_sleep;
+ SafTable[SYSTHREAD_INIT] = (SafFunction *)systhread_init;
+ SafTable[SYSTHREAD_NEWKEY] = (SafFunction *)systhread_newkey;
+ SafTable[SYSTHREAD_GETDATA] = (SafFunction *)systhread_getdata;
+ SafTable[SYSTHREAD_SETDATA] = (SafFunction *)systhread_setdata;
+
+/* Functions from systems.h */
+ SafTable[UTIL_STRCASECMP] = (SafFunction *)util_strcasecmp;
+ SafTable[UTIL_STRNCASECMP] = (SafFunction *)util_strncasecmp;
+
+/* Functions from util.h */
+ SafTable[UTIL_HOSTNAME] = (SafFunction *)util_hostname;
+ SafTable[UTIL_ITOA] = (SafFunction *)util_itoa;
+ SafTable[UTIL_VSPRINTF] = (SafFunction *)util_vsprintf;
+ SafTable[UTIL_SPRINTF] = (SafFunction *)util_sprintf;
+ SafTable[UTIL_VSNPRINTF] = (SafFunction *)util_vsnprintf;
+ SafTable[UTIL_SNPRINTF] = (SafFunction *)util_snprintf;
+
+ SafTable[LOG_ERROR_EVENT] = (SafFunction *)LogErrorEvent;
+
+/* Functions from aclproto.h */
+ SafTable[ACL_LISTCONCAT] = (SafFunction *)ACL_ListConcat;
+
+/* Functions from i18n.h */
+ SafTable[GETCLIENTLANG] = (SafFunction *)GetClientLanguage;
+
+/* Functions from file.h */
+ SafTable[SYSTEM_FOPENWT] = (SafFunction *)system_fopenWT;
+ SafTable[SYSTEM_MALLOC] = (SafFunction *)system_malloc;
+ SafTable[SYSTEM_FREE] = (SafFunction *)system_free;
+ SafTable[SYSTEM_REALLOC] = (SafFunction *)system_realloc;
+ SafTable[SYSTEM_STRDUP] = (SafFunction *)system_strdup;
+
+/* Functions from crit.h */
+ SafTable[CRIT_INIT] = (SafFunction *)crit_init;
+ SafTable[CRIT_ENTER] = (SafFunction *)crit_enter;
+ SafTable[CRIT_EXIT] = (SafFunction *)crit_exit;
+ SafTable[CRIT_TERMINATE] = (SafFunction *)crit_terminate;
+ SafTable[SYSTHREAD_CURRENT] = (SafFunction *)systhread_current;
+}
diff --git a/include/nt/nsapi.h b/include/nt/nsapi.h
new file mode 100644
index 00000000..fb01d004
--- /dev/null
+++ b/include/nt/nsapi.h
@@ -0,0 +1,106 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+/*
+ * Aruna Victor
+ */
+
+#include <windows.h>
+#include <stdio.h>
+
+#include <base/file.h>
+#include <base/eventlog.h>
+#include <base/util.h>
+#include <base/shexp.h>
+#include <base/systhr.h>
+#include <base/crit.h>
+#include <base/systhr.h>
+
+#include <ssl.h>
+typedef void * (SafFunction)();
+SafFunction **SafTable;
+__declspec(dllexport) int InitSafTable(SafFunction *Table);
+
+/* Functions from file.h */
+#define SYSTEM_FOPENRO 22
+#define SYSTEM_FOPENWA 23
+#define SYSTEM_FOPENRW 24
+#define SYSTEM_FCLOSE 25
+#define SYSTEM_NOCOREDUMPS 26
+#define SYSTEM_FWRITE 27
+#define SYSTEM_FWRITE_ATOMIC 28
+#define SYSTEM_WINERR 29
+#define SYSTEM_WINSOCKERR 30
+#define FILE_NOTFOUND 31
+#define SYSTEM_STAT 32
+
+#define FILE_UNIX2LOCAL 34
+#define DIR_OPEN 35
+#define DIR_READ 36
+#define DIR_CLOSE 37
+
+/* Functions from ereport.h */
+#define EREPORT 80
+
+/* Functions from minissl.h */
+#define SSL_CLOSE 90
+#define SSL_SOCKET 91
+#define SSL_GET_SOCKOPT 92
+#define SSL_SET_SOCKOPT 93
+#define SSL_BIND 94
+#define SSL_LISTEN 95
+#define SSL_ACCEPT 96
+#define SSL_READ 97
+#define SSL_WRITE 98
+#define SSL_GETPEERNAME 99
+
+/* Functions from systhr.h */
+#define SYSTHREAD_START 133
+#define SYSTHREAD_ATTACH 134
+#define SYSTHREAD_TERMINATE 135
+#define SYSTHREAD_SLEEP 136
+#define SYSTHREAD_INIT 137
+#define SYSTHREAD_NEWKEY 138
+#define SYSTHREAD_GETDATA 139
+#define SYSTHREAD_SETDATA 140
+
+#define LOG_ERROR_EVENT 149
+
+/* Functions from shexp.h */
+#define SHEXP_VALID 160
+#define SHEXP_MATCH 161
+#define SHEXP_CMP 162
+#define SHEXP_CASECMP 163
+
+/* Functions from systems.h */
+#define UTIL_STRCASECMP 170
+#define UTIL_STRNCASECMP 171
+
+/* Functions from util.h */
+#define UTIL_HOSTNAME 187
+#define UTIL_ITOA 198
+#define UTIL_VSPRINTF 199
+#define UTIL_SPRINTF 200
+#define UTIL_VSNPRINTF 201
+#define UTIL_SNPRINTF 202
+
+/* Functions from conf.h */
+#define CONF_INIT 207
+
+/* robm Functions added in 2.0 */
+#define SYSTEM_FOPENWT 261
+#define SYSTEM_MALLOC 262
+#define SYSTEM_FREE 263
+#define SYSTEM_REALLOC 264
+#define SYSTEM_STRDUP 265
+
+#define CRIT_INIT 267
+#define CRIT_ENTER 268
+#define CRIT_EXIT 269
+#define CRIT_TERMINATE 270
+#define SYSTHREAD_CURRENT 271
+
+#define ACL_LISTCONCAT 312
+#define GETCLIENTLANG 313