diff options
author | Rich Megginson <rmeggins@redhat.com> | 2005-03-01 01:49:58 +0000 |
---|---|---|
committer | Rich Megginson <rmeggins@redhat.com> | 2005-03-01 01:49:58 +0000 |
commit | 1c2f5d2e70534ca35999165302bcc9abfdbac79e (patch) | |
tree | 4871ee7b1ccce4d9269d7b10f7ee876353009b6c | |
parent | 606a96781b8bd30ff8331d04c7eed86c3963f7e7 (diff) | |
download | ds-1c2f5d2e70534ca35999165302bcc9abfdbac79e.tar.gz ds-1c2f5d2e70534ca35999165302bcc9abfdbac79e.tar.xz ds-1c2f5d2e70534ca35999165302bcc9abfdbac79e.zip |
readding because otherwise Windows is horked
-rw-r--r-- | httpd/src/ntnsapi.c | 130 | ||||
-rw-r--r-- | include/nt/nsapi.h | 106 |
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 |