From c0b7206652b2852bc574694e7ba07ba1c2acdc00 Mon Sep 17 00:00:00 2001 From: hongbotian Date: Mon, 30 Nov 2015 03:10:21 -0500 Subject: delete app Change-Id: Id4c572809969ebe89e946e88063eaed262cff3f2 Signed-off-by: hongbotian --- .../httpd-2.0.64/srclib/apr/misc/netware/apr.xdc | Bin 128 -> 0 bytes .../srclib/apr/misc/netware/aprlib.def | 3 - .../httpd-2.0.64/srclib/apr/misc/netware/charset.c | 34 -- .../srclib/apr/misc/netware/libprews.c | 179 --------- .../httpd-2.0.64/srclib/apr/misc/netware/rand.c | 72 ---- .../httpd-2.0.64/srclib/apr/misc/netware/start.c | 180 --------- .../httpd-2.0.64/srclib/apr/misc/os2/randbyte.c | 123 ------ .../srclib/apr/misc/unix/.libs/charset.o | Bin 23920 -> 0 bytes .../httpd-2.0.64/srclib/apr/misc/unix/.libs/env.o | Bin 5688 -> 0 bytes .../srclib/apr/misc/unix/.libs/errorcodes.o | Bin 16784 -> 0 bytes .../srclib/apr/misc/unix/.libs/getopt.o | Bin 21456 -> 0 bytes .../srclib/apr/misc/unix/.libs/otherchild.o | Bin 15944 -> 0 bytes .../httpd-2.0.64/srclib/apr/misc/unix/.libs/rand.o | Bin 9368 -> 0 bytes .../srclib/apr/misc/unix/.libs/start.o | Bin 9200 -> 0 bytes .../srclib/apr/misc/unix/.libs/version.o | Bin 3960 -> 0 bytes .../app/httpd-2.0.64/srclib/apr/misc/unix/Makefile | 16 - .../httpd-2.0.64/srclib/apr/misc/unix/Makefile.in | 16 - .../httpd-2.0.64/srclib/apr/misc/unix/charset.c | 83 ----- .../httpd-2.0.64/srclib/apr/misc/unix/charset.lo | 12 - .../httpd-2.0.64/srclib/apr/misc/unix/charset.o | Bin 23816 -> 0 bytes rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.c | 97 ----- .../app/httpd-2.0.64/srclib/apr/misc/unix/env.lo | 12 - rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.o | Bin 5632 -> 0 bytes .../httpd-2.0.64/srclib/apr/misc/unix/errorcodes.c | 414 --------------------- .../srclib/apr/misc/unix/errorcodes.lo | 12 - .../httpd-2.0.64/srclib/apr/misc/unix/errorcodes.o | Bin 15416 -> 0 bytes .../app/httpd-2.0.64/srclib/apr/misc/unix/getopt.c | 309 --------------- .../httpd-2.0.64/srclib/apr/misc/unix/getopt.lo | 12 - .../app/httpd-2.0.64/srclib/apr/misc/unix/getopt.o | Bin 21152 -> 0 bytes .../httpd-2.0.64/srclib/apr/misc/unix/otherchild.c | 246 ------------ .../srclib/apr/misc/unix/otherchild.lo | 12 - .../httpd-2.0.64/srclib/apr/misc/unix/otherchild.o | Bin 16384 -> 0 bytes .../app/httpd-2.0.64/srclib/apr/misc/unix/rand.c | 209 ----------- .../app/httpd-2.0.64/srclib/apr/misc/unix/rand.lo | 12 - .../app/httpd-2.0.64/srclib/apr/misc/unix/rand.o | Bin 9288 -> 0 bytes .../app/httpd-2.0.64/srclib/apr/misc/unix/start.c | 89 ----- .../app/httpd-2.0.64/srclib/apr/misc/unix/start.lo | 12 - .../app/httpd-2.0.64/srclib/apr/misc/unix/start.o | Bin 9256 -> 0 bytes .../httpd-2.0.64/srclib/apr/misc/unix/version.c | 35 -- .../httpd-2.0.64/srclib/apr/misc/unix/version.lo | 12 - .../httpd-2.0.64/srclib/apr/misc/unix/version.o | Bin 3928 -> 0 bytes .../httpd-2.0.64/srclib/apr/misc/win32/apr_app.c | 80 ---- .../httpd-2.0.64/srclib/apr/misc/win32/charset.c | 55 --- .../app/httpd-2.0.64/srclib/apr/misc/win32/env.c | 192 ---------- .../httpd-2.0.64/srclib/apr/misc/win32/internal.c | 102 ----- .../app/httpd-2.0.64/srclib/apr/misc/win32/misc.c | 237 ------------ .../app/httpd-2.0.64/srclib/apr/misc/win32/rand.c | 69 ---- .../app/httpd-2.0.64/srclib/apr/misc/win32/start.c | 230 ------------ .../app/httpd-2.0.64/srclib/apr/misc/win32/utf8.c | 254 ------------- 49 files changed, 3420 deletions(-) delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/apr.xdc delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/aprlib.def delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/charset.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/libprews.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/rand.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/start.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/os2/randbyte.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/charset.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/env.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/errorcodes.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/getopt.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/otherchild.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/rand.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/start.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/version.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/Makefile delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/Makefile.in delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.lo delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.lo delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/errorcodes.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/errorcodes.lo delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/errorcodes.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/getopt.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/getopt.lo delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/getopt.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.lo delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/rand.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/rand.lo delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/rand.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/start.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/start.lo delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/start.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/version.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/version.lo delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/version.o delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/apr_app.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/charset.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/env.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/internal.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/misc.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/rand.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/start.c delete mode 100644 rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/utf8.c (limited to 'rubbos/app/httpd-2.0.64/srclib/apr/misc') diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/apr.xdc b/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/apr.xdc deleted file mode 100644 index 12a7f6ba..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/apr.xdc and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/aprlib.def b/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/aprlib.def deleted file mode 100644 index 0a2a01eb..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/aprlib.def +++ /dev/null @@ -1,3 +0,0 @@ -MODULE LIBC.NLM -MODULE WS2_32.NLM -EXPORT @aprlib.imp diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/charset.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/charset.c deleted file mode 100644 index b79add10..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/charset.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr.h" -#include "apr_strings.h" -#include "apr_portable.h" - -/* static struct utsname sysinfo; */ - -/* XXX This needs to be fixed to produce the correct system language */ - -APR_DECLARE(const char*) apr_os_default_encoding (apr_pool_t *pool) -{ - return apr_pstrdup(pool, "CP1252"); -} - - -APR_DECLARE(const char*) apr_os_locale_encoding (apr_pool_t *pool) -{ - return apr_os_default_encoding(pool); -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/libprews.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/libprews.c deleted file mode 100644 index 53a630d2..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/libprews.c +++ /dev/null @@ -1,179 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include -#include -#include -#include "novsock2.h" - -#include "apr_pools.h" -#include "apr_private.h" - - -/* library-private data...*/ -int gLibId = -1; -void *gLibHandle = (void *) NULL; -NXMutex_t *gLibLock = (NXMutex_t *) NULL; - -/* internal library function prototypes...*/ -int DisposeLibraryData(void *); - -int _NonAppStart -( - void *NLMHandle, - void *errorScreen, - const char *cmdLine, - const char *loadDirPath, - size_t uninitializedDataLength, - void *NLMFileHandle, - int (*readRoutineP)( int conn, void *fileHandle, size_t offset, - size_t nbytes, size_t *bytesRead, void *buffer ), - size_t customDataOffset, - size_t customDataSize, - int messageCount, - const char **messages -) -{ - WSADATA wsaData; - apr_status_t status; - - NX_LOCK_INFO_ALLOC(liblock, "Per-Application Data Lock", 0); - -#pragma unused(cmdLine) -#pragma unused(loadDirPath) -#pragma unused(uninitializedDataLength) -#pragma unused(NLMFileHandle) -#pragma unused(readRoutineP) -#pragma unused(customDataOffset) -#pragma unused(customDataSize) -#pragma unused(messageCount) -#pragma unused(messages) - - - gLibId = register_library(DisposeLibraryData); - - if (gLibId < -1) - { - OutputToScreen(errorScreen, "Unable to register library with kernel.\n"); - return -1; - } - - gLibHandle = NLMHandle; - - gLibLock = NXMutexAlloc(0, 0, &liblock); - - if (!gLibLock) - { - OutputToScreen(errorScreen, "Unable to allocate library data lock.\n"); - return -1; - } - - apr_netware_setup_time(); - - if ((status = apr_pool_initialize()) != APR_SUCCESS) - return status; - - return WSAStartup((WORD) MAKEWORD(2, 0), &wsaData); -} - -void _NonAppStop( void ) -{ - apr_pool_terminate(); - - WSACleanup(); - - unregister_library(gLibId); - NXMutexFree(gLibLock); -} - -int _NonAppCheckUnload( void ) -{ - return 0; -} - -int register_NLM(void *NLMHandle) -{ - APP_DATA *app_data = (APP_DATA*) get_app_data(gLibId); - - NXLock(gLibLock); - if (!app_data) { - app_data = (APP_DATA*)library_malloc(gLibHandle, sizeof(APP_DATA)); - - if (app_data) { - memset (app_data, 0, sizeof(APP_DATA)); - set_app_data(gLibId, app_data); - app_data->gs_nlmhandle = NLMHandle; - } - } - - if (app_data && (!app_data->initialized)) { - app_data->initialized = 1; - NXUnlock(gLibLock); - return 0; - } - - NXUnlock(gLibLock); - return 1; -} - -int unregister_NLM(void *NLMHandle) -{ - APP_DATA *app_data = (APP_DATA*) get_app_data(gLibId); - - NXLock(gLibLock); - if (app_data) { - app_data->initialized = 0; - NXUnlock(gLibLock); - return 0; - } - NXUnlock(gLibLock); - return 1; -} - -int DisposeLibraryData(void *data) -{ - if (data) - { - library_free(data); - } - - return 0; -} - -int setGlobalPool(void *data) -{ - APP_DATA *app_data = (APP_DATA*) get_app_data(gLibId); - - NXLock(gLibLock); - - if (app_data && !app_data->gPool) { - app_data->gPool = data; - } - - NXUnlock(gLibLock); - return 1; -} - -void* getGlobalPool() -{ - APP_DATA *app_data = (APP_DATA*) get_app_data(gLibId); - - if (app_data) { - return app_data->gPool; - } - - return NULL; -} - diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/rand.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/rand.c deleted file mode 100644 index f1f43bec..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/rand.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define APR_WANT_MEMFUNC -#include "apr_want.h" -#include "apr_general.h" -#include "apr_private.h" - -#if APR_HAS_RANDOM - -#include - -static int NXSeedRandomInternal( size_t width, void *seed ) -{ - static int init = 0; - int *s = (int *) seed; - union { int x; char y[4]; } u; - - if (!init) { - srand(NXGetSystemTick()); - init = 1; - } - - if (width > 3) - { - do - { - *s++ = rand(); - } - while ((width -= 4) > 3); - } - - if (width > 0) - { - char *p = (char *) s; - - u.x = rand(); - - while (width > 0) - *p++ = u.y[width--]; - } - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_generate_random_bytes(unsigned char *buf, -#ifdef APR_ENABLE_FOR_1_0 - apr_size_t length) -#else - int length) -#endif -{ - if (NXSeedRandom(length, buf) != 0) { - return NXSeedRandomInternal (length, buf); - } - return APR_SUCCESS; -} - -#endif /* APR_HAS_RANDOM */ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/start.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/start.c deleted file mode 100644 index 29488e3a..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/netware/start.c +++ /dev/null @@ -1,180 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr.h" -#include "apr_general.h" -#include "apr_pools.h" -#include "apr_signal.h" - -#include "apr_arch_misc.h" /* for WSAHighByte / WSALowByte */ -#include "apr_arch_proc_mutex.h" /* for apr_proc_mutex_unix_setup_lock() */ -#include "apr_arch_internal_time.h" - -/* -** Resource tag signatures for using NetWare WinSock 2. These will no longer -** be needed by anyone once the new WSAStartupWithNlmHandle() is available -** since WinSock will make the calls to AllocateResourceTag(). -*/ -#define WS_LOAD_ENTRY_SIGNATURE (*(unsigned long *) "WLDE") -#define WS_SKT_SIGNATURE (*(unsigned long *) "WSKT") -#define WS_LOOKUP_SERVICE_SIGNATURE (*(unsigned long *) "WLUP") -#define WS_WSAEVENT_SIGNATURE (*(unsigned long *) "WEVT") -#define WS_CPORT_SIGNATURE (*(unsigned long *) "WCPT") - - -int (*WSAStartupWithNLMHandle)( WORD version, LPWSADATA data, void *handle ) = NULL; -int (*WSACleanupWithNLMHandle)( void *handle ) = NULL; - -static int wsa_startup_with_handle (WORD wVersionRequested, LPWSADATA data, void *handle) -{ - APP_DATA *app_data; - - if (!(app_data = (APP_DATA*) get_app_data(gLibId))) - return APR_EGENERAL; - - app_data->gs_startup_rtag = AllocateResourceTag(handle, "WinSock Start-up", WS_LOAD_ENTRY_SIGNATURE); - app_data->gs_socket_rtag = AllocateResourceTag(handle, "WinSock socket()", WS_SKT_SIGNATURE); - app_data->gs_lookup_rtag = AllocateResourceTag(handle, "WinSock Look-up", WS_LOOKUP_SERVICE_SIGNATURE); - app_data->gs_event_rtag = AllocateResourceTag(handle, "WinSock Event", WS_WSAEVENT_SIGNATURE); - app_data->gs_pcp_rtag = AllocateResourceTag(handle, "WinSock C-Port", WS_CPORT_SIGNATURE); - - return WSAStartupRTags(wVersionRequested, data, - app_data->gs_startup_rtag, - app_data->gs_socket_rtag, - app_data->gs_lookup_rtag, - app_data->gs_event_rtag, - app_data->gs_pcp_rtag); -} - -static int wsa_cleanup_with_handle (void *handle) -{ - APP_DATA *app_data; - - if (!(app_data = (APP_DATA*) get_app_data(gLibId))) - return APR_EGENERAL; - - return WSACleanupRTag(app_data->gs_startup_rtag); -} - -static int UnregisterAppWithWinSock (void *nlm_handle) -{ - if (!WSACleanupWithNLMHandle) - { - if (!(WSACleanupWithNLMHandle = ImportPublicObject(gLibHandle, "WSACleanupWithNLMHandle"))) - WSACleanupWithNLMHandle = wsa_cleanup_with_handle; - } - - return (*WSACleanupWithNLMHandle)(nlm_handle); -} - -static int RegisterAppWithWinSock (void *nlm_handle) -{ - int err; - WSADATA wsaData; - WORD wVersionRequested = MAKEWORD(WSAHighByte, WSALowByte); - - if (!WSAStartupWithNLMHandle) - { - if (!(WSAStartupWithNLMHandle = ImportPublicObject(gLibHandle, "WSAStartupWithNLMHandle"))) - WSAStartupWithNLMHandle = wsa_startup_with_handle; - } - - err = (*WSAStartupWithNLMHandle)(wVersionRequested, &wsaData, nlm_handle); - - if (LOBYTE(wsaData.wVersion) != WSAHighByte || - HIBYTE(wsaData.wVersion) != WSALowByte) { - - UnregisterAppWithWinSock (nlm_handle); - return APR_EEXIST; - } - - return err; -} - -APR_DECLARE(apr_status_t) apr_app_initialize(int *argc, - const char * const * *argv, - const char * const * *env) -{ - /* An absolute noop. At present, only Win32 requires this stub, but it's - * required in order to move command arguments passed through the service - * control manager into the process, and it's required to fix the char* - * data passed in from win32 unicode into utf-8, win32's apr internal fmt. - */ - return apr_initialize(); -} - -APR_DECLARE(apr_status_t) apr_initialize(void) -{ - apr_pool_t *pool; - int err; - void *nlmhandle = getnlmhandle(); - - /* Register the NLM as using APR. If it is already - registered then just return. */ - if (register_NLM(nlmhandle) != 0) { - return APR_SUCCESS; - } - - /* apr_pool_initialize() is being called from the library - startup code since all of the memory resources belong - to the library rather than the application. */ - - if (apr_pool_create(&pool, NULL) != APR_SUCCESS) { - return APR_ENOPOOL; - } - - apr_pool_tag(pool, "apr_initilialize"); - - err = RegisterAppWithWinSock (nlmhandle); - - if (err) { - return err; - } - - apr_signal_init(pool); - - return APR_SUCCESS; -} - -APR_DECLARE_NONSTD(void) apr_terminate(void) -{ - APP_DATA *app_data; - - /* Get our instance data for shutting down. */ - if (!(app_data = (APP_DATA*) get_app_data(gLibId))) - return; - - /* Unregister the NLM. If it is not registered - then just return. */ - if (unregister_NLM(app_data->gs_nlmhandle) != 0) { - return; - } - - /* apr_pool_terminate() is being called from the - library shutdown code since the memory resources - belong to the library rather than the application */ - - /* Just clean up the memory for the app that is going - away. */ - netware_pool_proc_cleanup (); - - UnregisterAppWithWinSock (app_data->gs_nlmhandle); -} - -APR_DECLARE(void) apr_terminate2(void) -{ - apr_terminate(); -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/os2/randbyte.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/os2/randbyte.c deleted file mode 100644 index 4020e31f..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/os2/randbyte.c +++ /dev/null @@ -1,123 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* The high resolution timer API provides access to the hardware timer - * running at around 1.1MHz. The amount this changes in a time slice is - * varies randomly due to system events, hardware interrupts etc - */ -static UCHAR randbyte_hrtimer() -{ - QWORD t1, t2; - UCHAR byte; - - DosTmrQueryTime(&t1); - DosSleep(5); - DosTmrQueryTime(&t2); - - byte = (t2.ulLo - t1.ulLo) & 0xFF; - byte ^= (t2.ulLo - t1.ulLo) >> 8; - return byte; -} - - - -/* A bunch of system information like memory & process stats. - * Not highly random but every bit helps.... - */ -static UCHAR randbyte_sysinfo() -{ - UCHAR byte = 0; - UCHAR SysVars[100]; - int b; - - DosQuerySysInfo(1, QSV_FOREGROUND_PROCESS, SysVars, sizeof(SysVars)); - - for (b = 0; b < 100; b++) { - byte ^= SysVars[b]; - } - - return byte; -} - - - -/* Similar in concept to randbyte_hrtimer() but accesses the CPU's internal - * counters which run at the CPU's MHz speed. We get separate - * idle / busy / interrupt cycle counts which should provide very good - * randomness due to interference of hardware events. - * This only works on newer CPUs (at least PPro or K6) and newer OS/2 versions - * which is why it's run-time linked. - */ - -static APIRET APIENTRY(*DosPerfSysCall) (ULONG ulCommand, ULONG ulParm1, - ULONG ulParm2, ULONG ulParm3) = NULL; -static HMODULE hDoscalls = 0; -#define CMD_KI_RDCNT (0x63) - -typedef struct _CPUUTIL { - ULONG ulTimeLow; /* Low 32 bits of time stamp */ - ULONG ulTimeHigh; /* High 32 bits of time stamp */ - ULONG ulIdleLow; /* Low 32 bits of idle time */ - ULONG ulIdleHigh; /* High 32 bits of idle time */ - ULONG ulBusyLow; /* Low 32 bits of busy time */ - ULONG ulBusyHigh; /* High 32 bits of busy time */ - ULONG ulIntrLow; /* Low 32 bits of interrupt time */ - ULONG ulIntrHigh; /* High 32 bits of interrupt time */ -} CPUUTIL; - - -static UCHAR randbyte_perf() -{ - UCHAR byte = 0; - CPUUTIL util; - int c; - - if (hDoscalls == 0) { - char failed_module[20]; - ULONG rc; - - rc = DosLoadModule(failed_module, sizeof(failed_module), "DOSCALLS", - &hDoscalls); - - if (rc == 0) { - rc = DosQueryProcAddr(hDoscalls, 976, NULL, (PFN *)&DosPerfSysCall); - - if (rc) { - DosPerfSysCall = NULL; - } - } - } - - if (DosPerfSysCall) { - if (DosPerfSysCall(CMD_KI_RDCNT, (ULONG)&util, 0, 0) == 0) { - for (c = 0; c < sizeof(util); c++) { - byte ^= ((UCHAR *)&util)[c]; - } - } - else { - DosPerfSysCall = NULL; - } - } - - return byte; -} - - - -static UCHAR randbyte() -{ - return randbyte_hrtimer() ^ randbyte_sysinfo() ^ randbyte_perf(); -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/charset.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/charset.o deleted file mode 100644 index 10062ca8..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/charset.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/env.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/env.o deleted file mode 100644 index c4a911b2..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/env.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/errorcodes.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/errorcodes.o deleted file mode 100644 index b859d41d..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/errorcodes.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/getopt.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/getopt.o deleted file mode 100644 index 3ce5cd4f..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/getopt.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/otherchild.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/otherchild.o deleted file mode 100644 index 816cd352..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/otherchild.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/rand.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/rand.o deleted file mode 100644 index 97f49838..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/rand.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/start.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/start.o deleted file mode 100644 index 83415657..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/start.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/version.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/version.o deleted file mode 100644 index f1272498..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/.libs/version.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/Makefile b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/Makefile deleted file mode 100644 index f25e2120..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -srcdir = . - - -TARGETS = \ - start.lo getopt.lo otherchild.lo errorcodes.lo rand.lo version.lo \ - charset.lo env.lo - -# bring in rules.mk for standard functionality -include /bottlenecks/rubbos/app/httpd-2.0.64/srclib/apr/build/apr_rules.mk - -INCDIR=../../include -OSDIR=$(INCDIR)/arch/unix -DEFOSDIR=$(INCDIR)/arch/unix -INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) - -# DO NOT REMOVE diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/Makefile.in b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/Makefile.in deleted file mode 100644 index fffd81c1..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/Makefile.in +++ /dev/null @@ -1,16 +0,0 @@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -TARGETS = \ - start.lo getopt.lo otherchild.lo errorcodes.lo rand.lo version.lo \ - charset.lo env.lo - -# bring in rules.mk for standard functionality -@INCLUDE_RULES@ - -INCDIR=../../include -OSDIR=$(INCDIR)/arch/@OSDIR@ -DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@ -INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) - -# DO NOT REMOVE diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.c deleted file mode 100644 index 57018a7c..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.c +++ /dev/null @@ -1,83 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr.h" -#include "apr_private.h" -#include "apr_strings.h" -#include "apr_portable.h" - -#ifdef HAVE_LANGINFO_H -#include -#endif - -/* - * simple heuristic to determine codepage of source code so that - * literal strings (e.g., "GET /\r\n") in source code can be translated - * properly - * - * If appropriate, a symbol can be set at configure time to determine - * this. On EBCDIC platforms, it will be important how the code was - * unpacked. - */ - -APR_DECLARE(const char*) apr_os_default_encoding (apr_pool_t *pool) -{ -#ifdef __MVS__ -# ifdef __CODESET__ - return __CODESET__; -# else - return "IBM-1047"; -# endif -#endif - - if ('}' == 0xD0) { - return "IBM-1047"; - } - - if ('{' == 0xFB) { - return "EDF04"; - } - - if ('A' == 0xC1) { - return "EBCDIC"; /* not useful */ - } - - if ('A' == 0x41) { - return "ISO8859-1"; /* not necessarily true */ - } - - return "unknown"; -} - - -APR_DECLARE(const char*) apr_os_locale_encoding (apr_pool_t *pool) -{ -#if defined(HAVE_NL_LANGINFO) && defined(CODESET) - const char *charset; - - charset = nl_langinfo(CODESET); - if (charset && *charset) { -#ifdef _OSD_POSIX /* Bug workaround - delete as soon as fixed in OSD_POSIX */ - /* Some versions of OSD_POSIX return nl_langinfo(CODESET)="^[nN]" */ - /* Ignore the bogus information and use apr_os_default_encoding() */ - if (charset[0] != '^') -#endif - return apr_pstrdup(pool, charset); - } -#endif - - return apr_os_default_encoding(pool); -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.lo b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.lo deleted file mode 100644 index d3e19344..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.lo +++ /dev/null @@ -1,12 +0,0 @@ -# charset.lo - a libtool object file -# Generated by ltmain.sh - GNU libtool 1.5.26 (1.1220.2.493 2008/02/01 16:58:18) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/charset.o' - -# Name of the non-PIC object. -non_pic_object='charset.o' - diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.o deleted file mode 100644 index 218e464a..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/charset.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.c deleted file mode 100644 index 9ba6b61e..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.c +++ /dev/null @@ -1,97 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define APR_WANT_STRFUNC -#include "apr_want.h" -#include "apr.h" -#include "apr_private.h" -#include "apr_env.h" - -#if APR_HAVE_UNISTD_H -#include -#endif -#if APR_HAVE_STDLIB_H -#include -#endif - -APR_DECLARE(apr_status_t) apr_env_get(char **value, - const char *envvar, - apr_pool_t *pool) -{ -#ifdef HAVE_GETENV - - char *val = getenv(envvar); - if (!val) - return APR_ENOENT; - *value = val; - return APR_SUCCESS; - -#else - return APR_ENOTIMPL; -#endif -} - - -APR_DECLARE(apr_status_t) apr_env_set(const char *envvar, - const char *value, - apr_pool_t *pool) -{ -#if defined(HAVE_SETENV) - - if (0 > setenv(envvar, value, 1)) - return APR_ENOMEM; - return APR_SUCCESS; - -#elif defined(HAVE_PUTENV) - - apr_size_t elen = strlen(envvar); - apr_size_t vlen = strlen(value); - char *env = apr_palloc(pool, elen + vlen + 2); - char *p = env + elen; - - memcpy(env, envvar, elen); - *p++ = '='; - memcpy(p, value, vlen); - p[vlen] = '\0'; - - if (0 > putenv(env)) - return APR_ENOMEM; - return APR_SUCCESS; - -#else - return APR_ENOTIMPL; -#endif -} - - -APR_DECLARE(apr_status_t) apr_env_delete(const char *envvar, apr_pool_t *pool) -{ -#ifdef HAVE_UNSETENV - - unsetenv(envvar); - return APR_SUCCESS; - -#else - /* hint: some platforms allow envvars to be unset via - * putenv("varname")... that isn't Single Unix spec, - * but if your platform doesn't have unsetenv() it is - * worth investigating and potentially adding a - * configure check to decide when to use that form of - * putenv() here - */ - return APR_ENOTIMPL; -#endif -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.lo b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.lo deleted file mode 100644 index 7140ef3f..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.lo +++ /dev/null @@ -1,12 +0,0 @@ -# env.lo - a libtool object file -# Generated by ltmain.sh - GNU libtool 1.5.26 (1.1220.2.493 2008/02/01 16:58:18) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/env.o' - -# Name of the non-PIC object. -non_pic_object='env.o' - diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.o deleted file mode 100644 index 2189927c..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/env.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/errorcodes.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/errorcodes.c deleted file mode 100644 index ec81ca9d..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/errorcodes.c +++ /dev/null @@ -1,414 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr_arch_misc.h" -#include "apr_strings.h" -#include "apr_lib.h" -#include "apr_dso.h" - -#if APR_HAVE_NETDB_H -#include -#endif -#ifdef HAVE_DLFCN_H -#include -#endif - -/* - * stuffbuffer - like apr_cpystrn() but returns the address of the - * dest buffer instead of the address of the terminating '\0' - */ -static char *stuffbuffer(char *buf, apr_size_t bufsize, const char *s) -{ - apr_cpystrn(buf,s,bufsize); - return buf; -} - -static char *apr_error_string(apr_status_t statcode) -{ - switch (statcode) { - case APR_ENOPOOL: - return "A new pool could not be created."; - case APR_EBADDATE: - return "An invalid date has been provided"; - case APR_EINVALSOCK: - return "An invalid socket was returned"; - case APR_ENOPROC: - return "No process was provided and one was required."; - case APR_ENOTIME: - return "No time was provided and one was required."; - case APR_ENODIR: - return "No directory was provided and one was required."; - case APR_ENOLOCK: - return "No lock was provided and one was required."; - case APR_ENOPOLL: - return "No poll structure was provided and one was required."; - case APR_ENOSOCKET: - return "No socket was provided and one was required."; - case APR_ENOTHREAD: - return "No thread was provided and one was required."; - case APR_ENOTHDKEY: - return "No thread key structure was provided and one was required."; - case APR_ENOSHMAVAIL: - return "No shared memory is currently available"; - case APR_EDSOOPEN: -#if APR_HAS_DSO && defined(HAVE_LIBDL) - return dlerror(); -#else - return "DSO load failed"; -#endif /* HAVE_LIBDL */ - case APR_EBADIP: - return "The specified IP address is invalid."; - case APR_EBADMASK: - return "The specified network mask is invalid."; - - case APR_INCHILD: - return - "Your code just forked, and you are currently executing in the " - "child process"; - case APR_INPARENT: - return - "Your code just forked, and you are currently executing in the " - "parent process"; - case APR_DETACH: - return "The specified thread is detached"; - case APR_NOTDETACH: - return "The specified thread is not detached"; - case APR_CHILD_DONE: - return "The specified child process is done executing"; - case APR_CHILD_NOTDONE: - return "The specified child process is not done executing"; - case APR_TIMEUP: - return "The timeout specified has expired"; - case APR_INCOMPLETE: - return "Partial results are valid but processing is incomplete"; - case APR_BADCH: - return "Bad character specified on command line"; - case APR_BADARG: - return "Missing parameter for the specified command line option"; - case APR_EOF: - return "End of file found"; - case APR_NOTFOUND: - return "Could not find specified socket in poll list."; - case APR_ANONYMOUS: - return "Shared memory is implemented anonymously"; - case APR_FILEBASED: - return "Shared memory is implemented using files"; - case APR_KEYBASED: - return "Shared memory is implemented using a key system"; - case APR_EINIT: - return - "There is no error, this value signifies an initialized " - "error code"; - case APR_ENOTIMPL: - return "This function has not been implemented on this platform"; - case APR_EMISMATCH: - return "passwords do not match"; - case APR_EABSOLUTE: - return "The given path is absolute"; - case APR_ERELATIVE: - return "The given path is relative"; - case APR_EINCOMPLETE: - return "The given path is incomplete"; - case APR_EABOVEROOT: - return "The given path was above the root path"; - case APR_EBADPATH: - return "The given path misformatted or contained invalid characters"; - case APR_EPATHWILD: - return "The given path contained wildcard characters"; - case APR_EPROC_UNKNOWN: - return "The process is not recognized."; - default: - return "Error string not specified yet"; - } -} - - -#ifdef OS2 -#include - -int apr_canonical_error(apr_status_t err); - -static char *apr_os_strerror(char* buf, apr_size_t bufsize, int err) -{ - char result[200]; - unsigned char message[HUGE_STRING_LEN]; - ULONG len; - char *pos; - int c; - - if (err >= 10000 && err < 12000) { /* socket error codes */ - return stuffbuffer(buf, bufsize, - strerror(apr_canonical_error(err+APR_OS_START_SYSERR))); - } - else if (DosGetMessage(NULL, 0, message, HUGE_STRING_LEN, err, - "OSO001.MSG", &len) == 0) { - len--; - message[len] = 0; - pos = result; - - if (len >= sizeof(result)) - len = sizeof(result-1); - - for (c=0; ccont = cont; - (*os)->reset = 0; - (*os)->errfn = (apr_getopt_err_fn_t*)(fprintf); - (*os)->errarg = (void*)(stderr); - - (*os)->place = EMSG; - (*os)->argc = argc; - - /* The argv parameter must be compatible with main()'s argv, since - that's the primary purpose of this function. But people might - want to use this function with arrays other than the main argv, - and we shouldn't touch the caller's data. So we copy. */ - argv_buff = apr_palloc(cont, (argc + 1) * sizeof(const char *)); - memcpy(argv_buff, argv, argc * sizeof(const char *)); - (*os)->argv = argv_buff; - (*os)->argv[argc] = NULL; - - (*os)->interleave = 0; - (*os)->ind = 1; - (*os)->skip_start = 1; - (*os)->skip_end = 1; - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_getopt(apr_getopt_t *os, const char *opts, - char *optch, const char **optarg) -{ - const char *oli; /* option letter list index */ - - if (os->reset || !*os->place) { /* update scanning pointer */ - os->reset = 0; - if (os->ind >= os->argc || *(os->place = os->argv[os->ind]) != '-') { - os->place = EMSG; - *optch = os->opt; - return (APR_EOF); - } - if (os->place[1] && *++os->place == '-') { /* found "--" */ - ++os->ind; - os->place = EMSG; - *optch = os->opt; - return (APR_EOF); - } - } /* option letter okay? */ - if ((os->opt = (int) *os->place++) == (int) ':' || - !(oli = strchr(opts, os->opt))) { - /* - * if the user didn't specify '-' as an option, - * assume it means -1. - */ - if (os->opt == (int) '-') { - *optch = os->opt; - return (APR_EOF); - } - if (!*os->place) - ++os->ind; - if (os->errfn && *opts != ':') { - (os->errfn)(os->errarg, "%s: illegal option -- %c\n", - apr_filepath_name_get(*os->argv), os->opt); - } - *optch = os->opt; - return (APR_BADCH); - } - if (*++oli != ':') { /* don't need argument */ - *optarg = NULL; - if (!*os->place) - ++os->ind; - } - else { /* need an argument */ - if (*os->place) /* no white space */ - *optarg = os->place; - else if (os->argc <= ++os->ind) { /* no arg */ - os->place = EMSG; - if (*opts == ':') { - *optch = os->opt; - return (APR_BADARG); - } - if (os->errfn) { - (os->errfn)(os->errarg, - "%s: option requires an argument -- %c\n", - apr_filepath_name_get(*os->argv), os->opt); - } - *optch = os->opt; - return (APR_BADCH); - } - else /* white space */ - *optarg = os->argv[os->ind]; - os->place = EMSG; - ++os->ind; - } - *optch = os->opt; - return APR_SUCCESS; -} - -/* Reverse the sequence argv[start..start+len-1]. */ -static void reverse(const char **argv, int start, int len) -{ - const char *temp; - - for (; len >= 2; start++, len -= 2) { - temp = argv[start]; - argv[start] = argv[start + len - 1]; - argv[start + len - 1] = temp; - } -} - -/* - * Permute os->argv with the goal that non-option arguments will all - * appear at the end. os->skip_start is where we started skipping - * non-option arguments, os->skip_end is where we stopped, and os->ind - * is where we are now. - */ -static void permute(apr_getopt_t *os) -{ - int len1 = os->skip_end - os->skip_start; - int len2 = os->ind - os->skip_end; - - if (os->interleave) { - /* - * Exchange the sequences argv[os->skip_start..os->skip_end-1] and - * argv[os->skip_end..os->ind-1]. The easiest way to do that is - * to reverse the entire range and then reverse the two - * sub-ranges. - */ - reverse(os->argv, os->skip_start, len1 + len2); - reverse(os->argv, os->skip_start, len2); - reverse(os->argv, os->skip_start + len2, len1); - } - - /* Reset skip range to the new location of the non-option sequence. */ - os->skip_start += len2; - os->skip_end += len2; -} - -/* Helper function to print out an error involving a long option */ -static apr_status_t serr(apr_getopt_t *os, const char *err, const char *str, - apr_status_t status) -{ - if (os->errfn) - (os->errfn)(os->errarg, "%s: %s: %s\n", - apr_filepath_name_get(*os->argv), err, str); - return status; -} - -/* Helper function to print out an error involving a short option */ -static apr_status_t cerr(apr_getopt_t *os, const char *err, int ch, - apr_status_t status) -{ - if (os->errfn) - (os->errfn)(os->errarg, "%s: %s: %c\n", - apr_filepath_name_get(*os->argv), err, ch); - return status; -} - -APR_DECLARE(apr_status_t) apr_getopt_long(apr_getopt_t *os, - const apr_getopt_option_t *opts, - int *optch, const char **optarg) -{ - const char *p; - int i; - - /* Let the calling program reset option processing. */ - if (os->reset) { - os->place = EMSG; - os->ind = 1; - os->reset = 0; - } - - /* - * We can be in one of two states: in the middle of processing a - * run of short options, or about to process a new argument. - * Since the second case can lead to the first one, handle that - * one first. */ - p = os->place; - if (*p == '\0') { - /* If we are interleaving, skip non-option arguments. */ - if (os->interleave) { - while (os->ind < os->argc && *os->argv[os->ind] != '-') - os->ind++; - os->skip_end = os->ind; - } - if (os->ind >= os->argc || *os->argv[os->ind] != '-') { - os->ind = os->skip_start; - return APR_EOF; - } - - p = os->argv[os->ind++] + 1; - if (*p == '-' && p[1] != '\0') { /* Long option */ - /* Search for the long option name in the caller's table. */ - apr_size_t len = 0; - - p++; - for (i = 0; ; i++) { - if (opts[i].optch == 0) /* No match */ - return serr(os, "invalid option", p - 2, APR_BADCH); - - if (opts[i].name) { - len = strlen(opts[i].name); - if (strncmp(p, opts[i].name, len) == 0 - && (p[len] == '\0' || p[len] == '=')) - break; - } - } - *optch = opts[i].optch; - - if (opts[i].has_arg) { - if (p[len] == '=') /* Argument inline */ - *optarg = p + len + 1; - else { - if (os->ind >= os->argc) /* Argument missing */ - return serr(os, "missing argument", p - 2, APR_BADARG); - else /* Argument in next arg */ - *optarg = os->argv[os->ind++]; - } - } else { - *optarg = NULL; - if (p[len] == '=') - return serr(os, "erroneous argument", p - 2, APR_BADARG); - } - permute(os); - return APR_SUCCESS; - } else { - if (*p == '-') { /* Bare "--"; we're done */ - permute(os); - os->ind = os->skip_start; - return APR_EOF; - } - else - if (*p == '\0') /* Bare "-" is illegal */ - return serr(os, "invalid option", p, APR_BADCH); - } - } - - /* - * Now we're in a run of short options, and *p is the next one. - * Look for it in the caller's table. - */ - for (i = 0; ; i++) { - if (opts[i].optch == 0) /* No match */ - return cerr(os, "invalid option character", *p, APR_BADCH); - - if (*p == opts[i].optch) - break; - } - *optch = *p++; - - if (opts[i].has_arg) { - if (*p != '\0') /* Argument inline */ - *optarg = p; - else { - if (os->ind >= os->argc) /* Argument missing */ - return cerr(os, "missing argument", *optch, APR_BADARG); - else /* Argument in next arg */ - *optarg = os->argv[os->ind++]; - } - os->place = EMSG; - } else { - *optarg = NULL; - os->place = p; - } - - permute(os); - return APR_SUCCESS; -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/getopt.lo b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/getopt.lo deleted file mode 100644 index fffb2aa4..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/getopt.lo +++ /dev/null @@ -1,12 +0,0 @@ -# getopt.lo - a libtool object file -# Generated by ltmain.sh - GNU libtool 1.5.26 (1.1220.2.493 2008/02/01 16:58:18) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/getopt.o' - -# Name of the non-PIC object. -non_pic_object='getopt.o' - diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/getopt.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/getopt.o deleted file mode 100644 index be33d356..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/getopt.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.c deleted file mode 100644 index 0ea57739..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.c +++ /dev/null @@ -1,246 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr.h" -#include "apr_arch_misc.h" -#include "apr_arch_threadproc.h" -#include "apr_arch_file_io.h" - -#if APR_HAS_OTHER_CHILD - -#ifdef HAVE_TIME_H -#include -#endif -#ifdef HAVE_SYS_SELECT_H -#include -#endif -#if APR_HAVE_SYS_WAIT_H -#include -#endif -#ifdef BEOS -#include /* for fd_set definition! */ -#endif - -static apr_other_child_rec_t *other_children = NULL; - -static apr_status_t other_child_cleanup(void *data) -{ - apr_other_child_rec_t **pocr, *nocr; - - for (pocr = &other_children; *pocr; pocr = &(*pocr)->next) { - if ((*pocr)->data == data) { - nocr = (*pocr)->next; - (*(*pocr)->maintenance) (APR_OC_REASON_UNREGISTER, (*pocr)->data, -1); - *pocr = nocr; - /* XXX: um, well we've just wasted some space in pconf ? */ - return APR_SUCCESS; - } - } - return APR_SUCCESS; -} - -APR_DECLARE(void) apr_proc_other_child_register(apr_proc_t *proc, - void (*maintenance) (int reason, void *, int status), - void *data, apr_file_t *write_fd, apr_pool_t *p) -{ - apr_other_child_rec_t *ocr; - - ocr = apr_palloc(p, sizeof(*ocr)); - ocr->p = p; - ocr->proc = proc; - ocr->maintenance = maintenance; - ocr->data = data; - if (write_fd == NULL) { - ocr->write_fd = (apr_os_file_t) -1; - } - else { -#ifdef WIN32 - /* This should either go away as part of eliminating apr_proc_probe_writable_fds - * or write_fd should point to an apr_file_t - */ - ocr->write_fd = write_fd->filehand; -#else - ocr->write_fd = write_fd->filedes; -#endif - - } - ocr->next = other_children; - other_children = ocr; - apr_pool_cleanup_register(p, ocr->data, other_child_cleanup, - apr_pool_cleanup_null); -} - -APR_DECLARE(void) apr_proc_other_child_unregister(void *data) -{ - apr_other_child_rec_t *cur; - - cur = other_children; - while (cur) { - if (cur->data == data) { - break; - } - cur = cur->next; - } - - /* segfault if this function called with invalid parm */ - apr_pool_cleanup_kill(cur->p, cur->data, other_child_cleanup); - other_child_cleanup(data); -} - -APR_DECLARE(apr_status_t) apr_proc_other_child_alert(apr_proc_t *proc, - int reason, - int status) -{ - apr_other_child_rec_t *ocr, *nocr; - - for (ocr = other_children; ocr; ocr = nocr) { - nocr = ocr->next; - if (ocr->proc->pid != proc->pid) - continue; - - ocr->proc = NULL; - (*ocr->maintenance) (reason, ocr->data, status); - return APR_SUCCESS; - } - return APR_EPROC_UNKNOWN; -} - -APR_DECLARE(void) apr_proc_other_child_refresh(apr_other_child_rec_t *ocr, - int reason) -{ - /* Todo: - * Implement code to detect if pipes are still alive. - */ -#ifdef WIN32 - DWORD status; - - if (ocr->proc == NULL) - return; - - if (!ocr->proc->hproc) { - /* Already mopped up, perhaps we apr_proc_kill'ed it, - * they should have already unregistered! - */ - ocr->proc = NULL; - (*ocr->maintenance) (APR_OC_REASON_LOST, ocr->data, -1); - } - else if (!GetExitCodeProcess(ocr->proc->hproc, &status)) { - CloseHandle(ocr->proc->hproc); - ocr->proc->hproc = NULL; - ocr->proc = NULL; - (*ocr->maintenance) (APR_OC_REASON_LOST, ocr->data, -1); - } - else if (status == STILL_ACTIVE) { - (*ocr->maintenance) (reason, ocr->data, -1); - } - else { - CloseHandle(ocr->proc->hproc); - ocr->proc->hproc = NULL; - ocr->proc = NULL; - (*ocr->maintenance) (APR_OC_REASON_DEATH, ocr->data, status); - } - -#else /* ndef Win32 */ - pid_t waitret; - int status; - - if (ocr->proc == NULL) - return; - - waitret = waitpid(ocr->proc->pid, &status, WNOHANG); - if (waitret == ocr->proc->pid) { - ocr->proc = NULL; - (*ocr->maintenance) (APR_OC_REASON_DEATH, ocr->data, status); - } - else if (waitret == 0) { - (*ocr->maintenance) (reason, ocr->data, -1); - } - else if (waitret == -1) { - /* uh what the heck? they didn't call unregister? */ - ocr->proc = NULL; - (*ocr->maintenance) (APR_OC_REASON_LOST, ocr->data, -1); - } -#endif -} - -APR_DECLARE(void) apr_proc_other_child_refresh_all(int reason) -{ - apr_other_child_rec_t *ocr, *next_ocr; - - for (ocr = other_children; ocr; ocr = next_ocr) { - next_ocr = ocr->next; - apr_proc_other_child_refresh(ocr, reason); - } -} - -#else /* !APR_HAS_OTHER_CHILD */ - -APR_DECLARE(void) apr_proc_other_child_register(apr_proc_t *proc, - void (*maintenance) (int reason, void *, int status), - void *data, apr_file_t *write_fd, apr_pool_t *p) -{ - return; -} - -APR_DECLARE(void) apr_proc_other_child_unregister(void *data) -{ - return; -} - -APR_DECLARE(apr_status_t) apr_proc_other_child_alert(apr_proc_t *proc, - int reason, - int status) -{ - return APR_ENOTIMPL; -} - -APR_DECLARE(void) apr_proc_other_child_refresh(apr_other_child_rec_t *ocr, - int reason) -{ - return; -} - -APR_DECLARE(void) apr_proc_other_child_refresh_all(int reason) -{ - return; -} - -#endif /* APR_HAS_OTHER_CHILD */ - - -/* XXX: deprecated for removal in 1.0 - * The checks behaved differently between win32 and unix, while - * the old win32 code did a health check, the unix code called - * other_child_check only at restart. - */ -APR_DECLARE(void) apr_proc_other_child_check(void) -{ -#ifdef WIN32 - apr_proc_other_child_refresh_all(APR_OC_REASON_RUNNING); -#else - apr_proc_other_child_refresh_all(APR_OC_REASON_RESTART); -#endif -} - -/* XXX: deprecated for removal in 1.0 - * This really didn't test any sort of read - it simply notified - * the maintenance function that the process had died. - */ -APR_DECLARE(apr_status_t) apr_proc_other_child_read(apr_proc_t *proc, int status) -{ - return apr_proc_other_child_alert(proc, APR_OC_REASON_DEATH, status); -} - diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.lo b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.lo deleted file mode 100644 index 3db8e42d..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.lo +++ /dev/null @@ -1,12 +0,0 @@ -# otherchild.lo - a libtool object file -# Generated by ltmain.sh - GNU libtool 1.5.26 (1.1220.2.493 2008/02/01 16:58:18) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/otherchild.o' - -# Name of the non-PIC object. -non_pic_object='otherchild.o' - diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.o deleted file mode 100644 index 35ea63f9..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/otherchild.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/rand.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/rand.c deleted file mode 100644 index 843c13fc..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/rand.c +++ /dev/null @@ -1,209 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define APR_WANT_MEMFUNC -#include "apr_want.h" -#include "apr_general.h" - -#include "apr_arch_misc.h" -#include -#if APR_HAVE_SYS_TYPES_H -#include -#endif -#if APR_HAVE_SYS_SOCKET_H -#include -#endif -#if APR_HAVE_FCNTL_H -#include -#endif -#if APR_HAVE_UNISTD_H -#include -#endif -#if APR_HAVE_SYS_UN_H -#include -#endif - -#ifndef SHUT_RDWR -#define SHUT_RDWR 2 -#endif - -#if APR_HAS_RANDOM - -APR_DECLARE(apr_status_t) apr_generate_random_bytes(unsigned char *buf, -#ifdef APR_ENABLE_FOR_1_0 - apr_size_t length) -#else - int length) -#endif -{ -#ifdef DEV_RANDOM - - int fd = -1; - - /* On BSD/OS 4.1, /dev/random gives out 8 bytes at a time, then - * gives EOF, so reading 'length' bytes may require opening the - * device several times. */ - do { - apr_ssize_t rc; - - if (fd == -1) - if ((fd = open(DEV_RANDOM, O_RDONLY)) == -1) - return errno; - - rc = read(fd, buf, length); - if (rc < 0) { - int errnum = errno; - close(fd); - return errnum; - } - else if (rc == 0) { - close(fd); - fd = -1; /* force open() again */ - } - else { - buf += rc; - length -= rc; - } - } while (length > 0); - - close(fd); -#elif defined(OS2) - static UCHAR randbyte(); - unsigned int idx; - - for (idx=0; idx 0; egdsockname++) { - egd_path_len = strlen(*egdsockname); - - if (egd_path_len > sizeof(addr.sun_path)) { - return APR_EINVAL; - } - - memset(&addr, 0, sizeof(struct sockaddr_un)); - addr.sun_family = AF_UNIX; - memcpy(addr.sun_path, *egdsockname, egd_path_len); - egd_addr_len = APR_OFFSETOF(struct sockaddr_un, sun_path) + - egd_path_len; - - egd_socket = socket(PF_UNIX, SOCK_STREAM, 0); - - if (egd_socket == -1) { - return errno; - } - - rv = connect(egd_socket, (struct sockaddr*)&addr, egd_addr_len); - - if (rv == -1) { - bad_errno = errno; - continue; - } - - /* EGD can only return 255 bytes of data at a time. Silly. */ - while (length > 0) { - apr_ssize_t srv; - req[0] = 2; /* We'll block for now. */ - req[1] = length > 255 ? 255: length; - - srv = write(egd_socket, req, 2); - if (srv == -1) { - bad_errno = errno; - shutdown(egd_socket, SHUT_RDWR); - close(egd_socket); - break; - } - - if (srv != 2) { - shutdown(egd_socket, SHUT_RDWR); - close(egd_socket); - return APR_EGENERAL; - } - - resp_expected = req[1]; - srv = read(egd_socket, resp, resp_expected); - if (srv == -1) { - bad_errno = errno; - shutdown(egd_socket, SHUT_RDWR); - close(egd_socket); - return bad_errno; - } - - memcpy(curbuf, resp, srv); - curbuf += srv; - length -= srv; - } - - shutdown(egd_socket, SHUT_RDWR); - close(egd_socket); - } - - if (length > 0) { - /* We must have iterated through the list of sockets, - * and no go. Return the errno. - */ - return bad_errno; - } - -#elif defined(HAVE_TRUERAND) /* use truerand */ - - extern int randbyte(void); /* from the truerand library */ - unsigned int idx; - - /* this will increase the startup time of the server, unfortunately... - * (generating 20 bytes takes about 8 seconds) - */ - for (idx=0; idxmajor = APR_MAJOR_VERSION; - pvsn->minor = APR_MINOR_VERSION; - pvsn->patch = APR_PATCH_VERSION; -#ifdef APR_IS_DEV_VERSION - pvsn->is_dev = 1; -#else - pvsn->is_dev = 0; -#endif -} - -APR_DECLARE(const char *) apr_version_string(void) -{ - return APR_VERSION_STRING; -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/version.lo b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/version.lo deleted file mode 100644 index dc9f16e3..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/version.lo +++ /dev/null @@ -1,12 +0,0 @@ -# version.lo - a libtool object file -# Generated by ltmain.sh - GNU libtool 1.5.26 (1.1220.2.493 2008/02/01 16:58:18) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/version.o' - -# Name of the non-PIC object. -non_pic_object='version.o' - diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/version.o b/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/version.o deleted file mode 100644 index bb339315..00000000 Binary files a/rubbos/app/httpd-2.0.64/srclib/apr/misc/unix/version.o and /dev/null differ diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/apr_app.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/apr_app.c deleted file mode 100644 index baac96e8..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/apr_app.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Usage Notes: - * - * this module, and the misc/win32/utf8.c modules must be - * compiled APR_EXPORT_STATIC and linked to an application with - * the /entry:wmainCRTStartup flag. This module becomes the true - * wmain entry point, and passes utf-8 reformatted argv and env - * arrays to the application's main function. - * - * This module is only compatible with Unicode-only executables. - * Mixed (Win9x backwards compatible) binaries should refer instead - * to the apr_startup.c module. - * - * _dbg_malloc/realloc is used in place of the usual API, in order - * to convince the MSVCRT that they created these entities. If we - * do not create them as _CRT_BLOCK entities, the crt will fault - * on an assert. We are not worrying about the crt's locks here, - * since we are single threaded [so far]. - */ - -#include "apr_general.h" -#include "ShellAPI.h" -#include "crtdbg.h" -#include "wchar.h" -#include "apr_arch_file_io.h" -#include "assert.h" -#include "apr_private.h" -#include "apr_arch_misc.h" - -/* This symbol is _private_, although it must be exported. - */ - -extern int main(int argc, const char **argv, const char **env); - -int wmain(int argc, const wchar_t **wargv, const wchar_t **wenv) -{ - char **argv; - char **env; - int dupenv; - - (void)apr_wastrtoastr(&argv, wargv, argc); - - dupenv = apr_wastrtoastr(&env, wenv, -1); - - _environ = _malloc_dbg((dupenv + 1) * sizeof (char *), - _CRT_BLOCK, __FILE__, __LINE__ ); - memcpy(_environ, env, (dupenv + 1) * sizeof (char *)); - - /* MSVCRT will attempt to maintain the wide environment calls - * on _putenv(), which is bogus if we've passed a non-ascii - * string to _putenv(), since they use MultiByteToWideChar - * and breaking the implicit utf-8 assumption we've built. - * - * Reset _wenviron for good measure. - */ - if (_wenviron) { - wenv = _wenviron; - _wenviron = NULL; - free((wchar_t **)wenv); - } - - apr_app_init_complete = 1; - - return main(argc, argv, env); -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/charset.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/charset.c deleted file mode 100644 index 41135b25..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/charset.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr.h" -#include "apr_strings.h" -#include "apr_portable.h" - - -APR_DECLARE(const char*) apr_os_default_encoding (apr_pool_t *pool) -{ - return apr_psprintf(pool, "CP%u", (unsigned) GetACP()); -} - - -APR_DECLARE(const char*) apr_os_locale_encoding (apr_pool_t *pool) -{ -#ifdef _UNICODE - int i; -#endif -#if defined(_WIN32_WCE) - LCID locale = GetUserDefaultLCID(); -#else - LCID locale = GetThreadLocale(); -#endif - int len = GetLocaleInfo(locale, LOCALE_IDEFAULTANSICODEPAGE, NULL, 0); - char *cp = apr_palloc(pool, (len * sizeof(TCHAR)) + 2); - if (0 < GetLocaleInfo(locale, LOCALE_IDEFAULTANSICODEPAGE, (TCHAR*) (cp + 2), len)) - { - /* Fix up the returned number to make a valid codepage name of - the form "CPnnnn". */ - cp[0] = 'C'; - cp[1] = 'P'; -#ifdef _UNICODE - for(i = 0; i < len; i++) { - cp[i + 2] = (char) ((TCHAR*) (cp + 2))[i]; - } -#endif - return cp; - } - - return apr_os_default_encoding(pool); -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/env.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/env.c deleted file mode 100644 index 644f59b8..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/env.c +++ /dev/null @@ -1,192 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define APR_WANT_STRFUNC -#include "apr_want.h" -#include "apr.h" -#include "apr_arch_misc.h" -#include "apr_arch_utf8.h" -#include "apr_env.h" -#include "apr_errno.h" -#include "apr_pools.h" -#include "apr_strings.h" - -#if APR_HAS_UNICODE_FS && !defined(_WIN32_WCE) -static apr_status_t widen_envvar_name (apr_wchar_t *buffer, - apr_size_t bufflen, - const char *envvar) -{ - apr_size_t inchars; - apr_status_t status; - - inchars = strlen(envvar) + 1; - status = apr_conv_utf8_to_ucs2(envvar, &inchars, buffer, &bufflen); - if (status == APR_INCOMPLETE) - status = APR_ENAMETOOLONG; - - return status; -} -#endif - - -APR_DECLARE(apr_status_t) apr_env_get(char **value, - const char *envvar, - apr_pool_t *pool) -{ -#if defined(_WIN32_WCE) - return APR_ENOTIMPL; -#else - char *val = NULL; - DWORD size; - -#if APR_HAS_UNICODE_FS - IF_WIN_OS_IS_UNICODE - { - apr_wchar_t wenvvar[APR_PATH_MAX]; - apr_size_t inchars, outchars; - apr_wchar_t *wvalue, dummy; - apr_status_t status; - - status = widen_envvar_name(wenvvar, APR_PATH_MAX, envvar); - if (status) - return status; - - SetLastError(0); - size = GetEnvironmentVariableW(wenvvar, &dummy, 0); - if (GetLastError() == ERROR_ENVVAR_NOT_FOUND) - /* The environment variable doesn't exist. */ - return APR_ENOENT; - - if (size == 0) { - /* The environment value exists, but is zero-length. */ - *value = apr_pstrdup(pool, ""); - return APR_SUCCESS; - } - - wvalue = apr_palloc(pool, size * sizeof(*wvalue)); - size = GetEnvironmentVariableW(wenvvar, wvalue, size); - - inchars = wcslen(wvalue) + 1; - outchars = 3 * inchars; /* Enough for any UTF-8 representation */ - val = apr_palloc(pool, outchars); - status = apr_conv_ucs2_to_utf8(wvalue, &inchars, val, &outchars); - if (status) - return status; - } -#endif -#if APR_HAS_ANSI_FS - ELSE_WIN_OS_IS_ANSI - { - char dummy; - - SetLastError(0); - size = GetEnvironmentVariableA(envvar, &dummy, 0); - if (GetLastError() == ERROR_ENVVAR_NOT_FOUND) - /* The environment variable doesn't exist. */ - return APR_ENOENT; - - if (size == 0) { - /* The environment value exists, but is zero-length. */ - *value = apr_pstrdup(pool, ""); - return APR_SUCCESS; - } - - val = apr_palloc(pool, size); - size = GetEnvironmentVariableA(envvar, val, size); - if (size == 0) - /* Mid-air collision?. Somebody must've changed the env. var. */ - return APR_INCOMPLETE; - } -#endif - - *value = val; - return APR_SUCCESS; -#endif -} - - -APR_DECLARE(apr_status_t) apr_env_set(const char *envvar, - const char *value, - apr_pool_t *pool) -{ -#if defined(_WIN32_WCE) - return APR_ENOTIMPL; -#else -#if APR_HAS_UNICODE_FS - IF_WIN_OS_IS_UNICODE - { - apr_wchar_t wenvvar[APR_PATH_MAX]; - apr_wchar_t *wvalue; - apr_size_t inchars, outchars; - apr_status_t status; - - status = widen_envvar_name(wenvvar, APR_PATH_MAX, envvar); - if (status) - return status; - - outchars = inchars = strlen(value) + 1; - wvalue = apr_palloc(pool, outchars * sizeof(*wvalue)); - status = apr_conv_utf8_to_ucs2(value, &inchars, wvalue, &outchars); - if (status) - return status; - - if (!SetEnvironmentVariableW(wenvvar, wvalue)) - return apr_get_os_error(); - } -#endif -#if APR_HAS_ANSI_FS - ELSE_WIN_OS_IS_ANSI - { - if (!SetEnvironmentVariableA(envvar, value)) - return apr_get_os_error(); - } -#endif - - return APR_SUCCESS; -#endif -} - - -APR_DECLARE(apr_status_t) apr_env_delete(const char *envvar, apr_pool_t *pool) -{ -#if defined(_WIN32_WCE) - return APR_ENOTIMPL; -#else -#if APR_HAS_UNICODE_FS - IF_WIN_OS_IS_UNICODE - { - apr_wchar_t wenvvar[APR_PATH_MAX]; - apr_status_t status; - - status = widen_envvar_name(wenvvar, APR_PATH_MAX, envvar); - if (status) - return status; - - if (!SetEnvironmentVariableW(wenvvar, NULL)) - return apr_get_os_error(); - } -#endif -#if APR_HAS_ANSI_FS - ELSE_WIN_OS_IS_ANSI - { - if (!SetEnvironmentVariableA(envvar, NULL)) - return apr_get_os_error(); - } -#endif - - return APR_SUCCESS; -#endif -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/internal.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/internal.c deleted file mode 100644 index b045bd42..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/internal.c +++ /dev/null @@ -1,102 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr_private.h" - -#include "apr_arch_misc.h" -#include "apr_arch_file_io.h" -#include -#include - -/* This module is the source of -static- helper functions that are - * entirely internal to apr. If the fn is exported - it does not - * belong here. - * - * Namespace decoration is still required to protect us from symbol - * clashes in static linkages. - */ - - -/* Shared by apr_app.c and start.c - * - * An internal apr function to convert an array of strings (either - * a counted or NULL terminated list, such as an argv[argc] or env[] - * list respectively) from wide Unicode strings to narrow utf-8 strings. - * These are allocated from the MSVCRT's _CRT_BLOCK to trick the system - * into trusting our store. - */ -int apr_wastrtoastr(char const * const * *retarr, - wchar_t const * const *arr, int args) -{ - apr_size_t elesize = 0; - char **newarr; - char *elements; - char *ele; - int arg; - - if (args < 0) { - for (args = 0; arr[args]; ++args) - ; - } - - newarr = _malloc_dbg((args + 1) * sizeof(char *), - _CRT_BLOCK, __FILE__, __LINE__); - - for (arg = 0; arg < args; ++arg) { - newarr[arg] = (void*)(wcslen(arr[arg]) + 1); - elesize += (apr_size_t)newarr[arg]; - } - - /* This is a safe max allocation, we will realloc after - * processing and return the excess to the free store. - * 3 ucs bytes hold any single wchar_t value (16 bits) - * 4 ucs bytes will hold a wchar_t pair value (20 bits) - */ - elesize = elesize * 3 + 1; - ele = elements = _malloc_dbg(elesize * sizeof(char), - _CRT_BLOCK, __FILE__, __LINE__); - - for (arg = 0; arg < args; ++arg) { - apr_size_t len = (apr_size_t)newarr[arg]; - apr_size_t newlen = elesize; - - newarr[arg] = ele; - (void)apr_conv_ucs2_to_utf8(arr[arg], &len, - newarr[arg], &elesize); - - newlen -= elesize; - ele += newlen; - assert(elesize && (len == 0)); - } - - newarr[arg] = NULL; - *(ele++) = '\0'; - - /* Return to the free store if the heap realloc is the least bit optimized - */ - ele = _realloc_dbg(elements, ele - elements, - _CRT_BLOCK, __FILE__, __LINE__); - - if (ele != elements) { - apr_size_t diff = ele - elements; - for (arg = 0; arg < args; ++arg) { - newarr[arg] += diff; - } - } - - *retarr = newarr; - return args; -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/misc.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/misc.c deleted file mode 100644 index f121cac9..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/misc.c +++ /dev/null @@ -1,237 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr_private.h" -#include "apr_arch_misc.h" -#include "crtdbg.h" -#include "apr_arch_file_io.h" -#include "assert.h" -#include "apr_lib.h" - -APR_DECLARE_DATA apr_oslevel_e apr_os_level = APR_WIN_UNK; - -apr_status_t apr_get_oslevel(apr_oslevel_e *level) -{ - if (apr_os_level == APR_WIN_UNK) - { - static OSVERSIONINFO oslev; - oslev.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&oslev); - - if (oslev.dwPlatformId == VER_PLATFORM_WIN32_NT) - { - static unsigned int servpack = 0; - char *pservpack; - if (pservpack = oslev.szCSDVersion) { - while (*pservpack && !apr_isdigit(*pservpack)) { - pservpack++; - } - if (*pservpack) - servpack = atoi(pservpack); - } - - if (oslev.dwMajorVersion < 3) { - apr_os_level = APR_WIN_UNSUP; - } - else if (oslev.dwMajorVersion == 3) { - if (oslev.dwMajorVersion < 50) { - apr_os_level = APR_WIN_UNSUP; - } - else if (oslev.dwMajorVersion == 50) { - apr_os_level = APR_WIN_NT_3_5; - } - else { - apr_os_level = APR_WIN_NT_3_51; - } - } - else if (oslev.dwMajorVersion == 4) { - if (servpack < 2) - apr_os_level = APR_WIN_NT_4; - else if (servpack <= 2) - apr_os_level = APR_WIN_NT_4_SP2; - else if (servpack <= 3) - apr_os_level = APR_WIN_NT_4_SP3; - else if (servpack <= 4) - apr_os_level = APR_WIN_NT_4_SP4; - else if (servpack <= 5) - apr_os_level = APR_WIN_NT_4_SP5; - else - apr_os_level = APR_WIN_NT_4_SP6; - } - else if (oslev.dwMajorVersion == 5) { - if (oslev.dwMinorVersion == 0) { - if (servpack == 0) - apr_os_level = APR_WIN_2000; - else if (servpack == 1) - apr_os_level = APR_WIN_2000_SP1; - else - apr_os_level = APR_WIN_2000_SP2; - } - else { - apr_os_level = APR_WIN_XP; - } - } - else { - apr_os_level = APR_WIN_XP; - } - } -#ifndef WINNT - else if (oslev.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) { - char *prevision; - if (prevision = oslev.szCSDVersion) { - while (*prevision && !apr_isupper(*prevision)) { - prevision++; - } - } - else prevision = ""; - - if (oslev.dwMinorVersion < 10) { - if (*prevision < 'C') - apr_os_level = APR_WIN_95; - else - apr_os_level = APR_WIN_95_OSR2; - } - else if (oslev.dwMinorVersion < 90) { - if (*prevision < 'A') - apr_os_level = APR_WIN_98; - else - apr_os_level = APR_WIN_98_SE; - } - else { - apr_os_level = APR_WIN_ME; - } - } -#endif -#ifdef _WIN32_WCE - else if (oslev.dwPlatformId == VER_PLATFORM_WIN32_CE) - { - if (oslev.dwMajorVersion < 3) { - apr_os_level = APR_WIN_UNSUP; - } - else { - apr_os_level = APR_WIN_CE_3; - } - } -#endif - else { - apr_os_level = APR_WIN_UNSUP; - } - } - - *level = apr_os_level; - - if (apr_os_level < APR_WIN_UNSUP) { - return APR_EGENERAL; - } - - return APR_SUCCESS; -} - - -/* This is the helper code to resolve late bound entry points - * missing from one or more releases of the Win32 API - */ - -static const char* const lateDllName[DLL_defined] = { - "kernel32", "advapi32", "mswsock", "ws2_32", "shell32", "ntdll.dll" }; -static HMODULE lateDllHandle[DLL_defined] = { - NULL, NULL, NULL, NULL, NULL, NULL }; - -FARPROC apr_load_dll_func(apr_dlltoken_e fnLib, char* fnName, int ordinal) -{ - if (!lateDllHandle[fnLib]) { - lateDllHandle[fnLib] = LoadLibrary(lateDllName[fnLib]); - if (!lateDllHandle[fnLib]) - return NULL; - } - if (ordinal) - return GetProcAddress(lateDllHandle[fnLib], (char *) ordinal); - else - return GetProcAddress(lateDllHandle[fnLib], fnName); -} - -/* Declared in include/arch/win32/apr_dbg_win32_handles.h - */ -APR_DECLARE_NONSTD(HANDLE) apr_dbg_log(char* fn, HANDLE ha, char* fl, int ln, - int nh, /* HANDLE hv, char *dsc */...) -{ - static DWORD tlsid = 0xFFFFFFFF; - static HANDLE fh = NULL; - static long ctr = 0; - static CRITICAL_SECTION cs; - long seq; - DWORD wrote; - char *sbuf; - - seq = (InterlockedIncrement)(&ctr); - - if (tlsid == 0xFFFFFFFF) { - tlsid = (TlsAlloc)(); - } - - sbuf = (TlsGetValue)(tlsid); - if (!fh || !sbuf) { - sbuf = (malloc)(1024); - (TlsSetValue)(tlsid, sbuf); - sbuf[1023] = '\0'; - if (!fh) { - (GetModuleFileName)(NULL, sbuf, 250); - sprintf(strchr(sbuf, '\0'), ".%d", - (GetCurrentProcessId)()); - fh = (CreateFile)(sbuf, GENERIC_WRITE, 0, NULL, - CREATE_ALWAYS, 0, NULL); - (InitializeCriticalSection)(&cs); - } - } - - if (!nh) { - (sprintf)(sbuf, "%08x %08x %08x %s() %s:%d\n", - (DWORD)ha, seq, GetCurrentThreadId(), fn, fl, ln); - (EnterCriticalSection)(&cs); - (WriteFile)(fh, sbuf, strlen(sbuf), &wrote, NULL); - (LeaveCriticalSection)(&cs); - } - else { - va_list a; - va_start(a,nh); - (EnterCriticalSection)(&cs); - do { - HANDLE *hv = va_arg(a, HANDLE*); - char *dsc = va_arg(a, char*); - if (strcmp(dsc, "Signaled") == 0) { - if ((DWORD)ha >= STATUS_WAIT_0 - && (DWORD)ha < STATUS_ABANDONED_WAIT_0) { - hv += (DWORD)ha; - } - else if ((DWORD)ha >= STATUS_ABANDONED_WAIT_0 - && (DWORD)ha < STATUS_USER_APC) { - hv += (DWORD)ha - STATUS_ABANDONED_WAIT_0; - dsc = "Abandoned"; - } - else if ((DWORD)ha == WAIT_TIMEOUT) { - dsc = "Timed Out"; - } - } - (sprintf)(sbuf, "%08x %08x %08x %s(%s) %s:%d\n", - (DWORD*)*hv, seq, GetCurrentThreadId(), - fn, dsc, fl, ln); - (WriteFile)(fh, sbuf, strlen(sbuf), &wrote, NULL); - } while (--nh); - (LeaveCriticalSection)(&cs); - va_end(a); - } - return ha; -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/rand.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/rand.c deleted file mode 100644 index e72637bf..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/rand.c +++ /dev/null @@ -1,69 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "apr.h" -#include "apr_private.h" -#include "apr_general.h" -#include "apr_portable.h" -#include "apr_arch_misc.h" - - -APR_DECLARE(apr_status_t) apr_generate_random_bytes(unsigned char * buf, -#ifdef APR_ENABLE_FOR_1_0 - apr_size_t length) -#else - int length) -#endif -{ - HCRYPTPROV hProv; - apr_status_t res = APR_SUCCESS; - - /* 0x40 bit = CRYPT_SILENT, only introduced in more recent PSDKs - * and will only work for Win2K and later. - */ - DWORD flags = CRYPT_VERIFYCONTEXT - | ((apr_os_level >= APR_WIN_2000) ? 0x40 : 0); - - if (!CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, flags)) { - return apr_get_os_error(); - } - if (!CryptGenRandom(hProv, length, buf)) { - res = apr_get_os_error(); - } - CryptReleaseContext(hProv, 0); - return res; -} - - -APR_DECLARE(apr_status_t) apr_os_uuid_get(unsigned char *uuid_data) -{ - /* Note: this call doesn't actually require CoInitialize() first - * - * XXX: we should scramble the bytes or some such to eliminate the - * possible misuse/abuse since uuid is based on the NIC address, and - * is therefore not only a uniqifier, but an identity (which might not - * be appropriate in all cases. - * - * Note that Win2000, XP and later no longer suffer from this problem, - * a scrambling fix is only needed for (apr_os_level < APR_WIN_2000) - */ - if (FAILED(UuidCreate((UUID *)uuid_data))) { - return APR_EGENERAL; - } - return APR_SUCCESS; -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/start.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/start.c deleted file mode 100644 index f25776be..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/start.c +++ /dev/null @@ -1,230 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr_private.h" -#include "apr_general.h" -#include "apr_pools.h" -#include "apr_signal.h" -#include "shellapi.h" - -#include "apr_arch_misc.h" /* for WSAHighByte / WSALowByte */ -#include "wchar.h" -#include "apr_arch_file_io.h" /* bring in unicode-ness */ -#include "apr_arch_threadproc.h" /* bring in apr_threadproc_init */ -#include "crtdbg.h" -#include "assert.h" - -/* This symbol is _private_, although it must be exported. - */ -int APR_DECLARE_DATA apr_app_init_complete = 0; - -#if !defined(_WIN32_WCE) -/* Used by apr_app_initialize to reprocess the environment - * - * An internal apr function to convert a double-null terminated set - * of single-null terminated strings from wide Unicode to narrow utf-8 - * as a list of strings. These are allocated from the MSVCRT's - * _CRT_BLOCK to trick the system into trusting our store. - */ -static int warrsztoastr(const char * const * *retarr, - const wchar_t * arrsz, int args) -{ - const apr_wchar_t *wch; - apr_size_t totlen; - apr_size_t newlen; - apr_size_t wsize; - char **newarr; - int arg; - - if (args < 0) { - for (args = 1, wch = arrsz; wch[0] || wch[1]; ++wch) - if (!*wch) - ++args; - } - wsize = 1 + wch - arrsz; - - newarr = _malloc_dbg((args + 1) * sizeof(char *), - _CRT_BLOCK, __FILE__, __LINE__); - - /* This is a safe max allocation, we will realloc after - * processing and return the excess to the free store. - * 3 ucs bytes hold any single wchar_t value (16 bits) - * 4 ucs bytes will hold a wchar_t pair value (20 bits) - */ - newlen = totlen = wsize * 3 + 1; - newarr[0] = _malloc_dbg(newlen * sizeof(char), - _CRT_BLOCK, __FILE__, __LINE__); - - (void)apr_conv_ucs2_to_utf8(arrsz, &wsize, - newarr[0], &newlen); - - assert(newlen && !wsize); - /* Return to the free store if the heap realloc is the least bit optimized - */ - newarr[0] = _realloc_dbg(newarr[0], totlen - newlen, - _CRT_BLOCK, __FILE__, __LINE__); - - for (arg = 1; arg < args; ++arg) { - newarr[arg] = newarr[arg - 1] + 2; - while (*(newarr[arg]++)) { - /* continue */; - } - } - - newarr[arg] = NULL; - - *retarr = newarr; - return args; -} -#endif - -/* Reprocess the arguments to main() for a completely apr-ized application - */ - -APR_DECLARE(apr_status_t) apr_app_initialize(int *argc, - const char * const * *argv, - const char * const * *env) -{ - apr_status_t rv = apr_initialize(); - - if (rv != APR_SUCCESS) { - return rv; - } - -#if defined(_WIN32_WCE) - apr_app_init_complete = 1; -#elif APR_HAS_UNICODE_FS - IF_WIN_OS_IS_UNICODE - { - apr_wchar_t **wstrs; - apr_wchar_t *sysstr; - int wstrc; - int dupenv; - - if (apr_app_init_complete) { - return rv; - } - - apr_app_init_complete = 1; - - sysstr = GetCommandLineW(); - if (sysstr) { - wstrs = CommandLineToArgvW(sysstr, &wstrc); - if (wstrs) { - *argc = apr_wastrtoastr(argv, wstrs, wstrc); - GlobalFree(wstrs); - } - } - - sysstr = GetEnvironmentStringsW(); - dupenv = warrsztoastr(&_environ, sysstr, -1); - - if (env) { - *env = _malloc_dbg((dupenv + 1) * sizeof (char *), - _CRT_BLOCK, __FILE__, __LINE__ ); - memcpy((void*)*env, _environ, (dupenv + 1) * sizeof (char *)); - } - else { - } - - FreeEnvironmentStringsW(sysstr); - - /* MSVCRT will attempt to maintain the wide environment calls - * on _putenv(), which is bogus if we've passed a non-ascii - * string to _putenv(), since they use MultiByteToWideChar - * and breaking the implicit utf-8 assumption we've built. - * - * Reset _wenviron for good measure. - */ - if (_wenviron) { - apr_wchar_t **wenv = _wenviron; - _wenviron = NULL; - free(wenv); - } - - } -#endif - return rv; -} - -static int initialized = 0; - -/* Provide to win32/thread.c */ -extern DWORD tls_apr_thread; - -APR_DECLARE(apr_status_t) apr_initialize(void) -{ - apr_pool_t *pool; - apr_status_t status; - int iVersionRequested; - WSADATA wsaData; - int err; - apr_oslevel_e osver; - - if (initialized++) { - return APR_SUCCESS; - } - - /* Initialize apr_os_level global */ - if (apr_get_oslevel(&osver) != APR_SUCCESS) { - return APR_EEXIST; - } - - tls_apr_thread = TlsAlloc(); - if ((status = apr_pool_initialize()) != APR_SUCCESS) - return status; - - if (apr_pool_create(&pool, NULL) != APR_SUCCESS) { - return APR_ENOPOOL; - } - - apr_pool_tag(pool, "apr_initialize"); - - iVersionRequested = MAKEWORD(WSAHighByte, WSALowByte); - err = WSAStartup((WORD) iVersionRequested, &wsaData); - if (err) { - return err; - } - if (LOBYTE(wsaData.wVersion) != WSAHighByte || - HIBYTE(wsaData.wVersion) != WSALowByte) { - WSACleanup(); - return APR_EEXIST; - } - - apr_signal_init(pool); - - apr_threadproc_init(pool); - - return APR_SUCCESS; -} - -APR_DECLARE_NONSTD(void) apr_terminate(void) -{ - initialized--; - if (initialized) { - return; - } - apr_pool_terminate(); - - WSACleanup(); - - TlsFree(tls_apr_thread); -} - -APR_DECLARE(void) apr_terminate2(void) -{ - apr_terminate(); -} diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/utf8.c b/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/utf8.c deleted file mode 100644 index b37dba44..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/misc/win32/utf8.c +++ /dev/null @@ -1,254 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr.h" -#include "apr_private.h" -#include "apr_errno.h" -#include "apr_arch_utf8.h" - -/* Implement the design principal specified by RFC 2718 2.2.5 - * Guidelines for new URL Schemes - within the APR. - * - * Since many architectures support unicode, and UCS2 is the most - * efficient storage used by those archictures, these functions - * exist to validate a UCS string. It is up to the operating system - * to determine the validitity of the string in the context of it's - * native language support. File systems that support filename - * characters of 0x80-0xff but have no support of Unicode will find - * this function useful only for validating the character sequences - * and rejecting poorly encoded strings, if RFC 2718 2.2.5 naming is - * desired. - * - * from RFC 2279 UTF-8, a transformation format of ISO 10646 - * - * UCS-4 range (hex.) UTF-8 octet sequence (binary) - * 1:2 0000 0000-0000 007F 0xxxxxxx - * 2:2 0000 0080-0000 07FF 110XXXXx 10xxxxxx - * 3:2 0000 0800-0000 FFFF 1110XXXX 10Xxxxxx 10xxxxxx - * 4:4 0001 0000-001F FFFF 11110zXX 10XXxxxx 10xxxxxx 10xxxxxx - * inv 0020 0000-03FF FFFF 111110XX 10XXXxxx 10xxxxxx 10xxxxxx 10xxxxxx - * inv 0400 0000-7FFF FFFF 1111110X 10XXXXxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx - * - * One of the X values must be one for the encoding length to be legit. - * Neither the z bit, nor the final two forms, are used for ucs-2 - * - * "Pairs of UCS-2 values between D800 and DFFF (surrogate pairs in - * Unicode parlance), being actually UCS-4 characters transformed - * through UTF-16, need special treatment: the UTF-16 transformation - * must be undone, yielding a UCS-4 character that is then transformed - * as above." - * - * from RFC2781 UTF-16: the compressed ISO 10646 encoding bitmask - * - * U' = U - 0x10000 - * U' = 000000000000yyyyyyyyyyxxxxxxxxxx - * W1 = 110110yyyyyyyyyy - * W2 = 110111xxxxxxxxxx - * - * apr_conv_utf8_to_ucs2 out bytes:sizeof(in) * 1 <= Req <= sizeof(in) * 2 - * - * apr_conv_ucs2_to_utf8 out words:sizeof(in) / 2 <= Req <= sizeof(in) * 3 / 2 - */ - -APR_DECLARE(apr_status_t) apr_conv_utf8_to_ucs2(const char *in, - apr_size_t *inbytes, - apr_wchar_t *out, - apr_size_t *outwords) -{ - apr_int64_t newch, mask; - apr_size_t expect, eating; - int ch; - - while (*inbytes && *outwords) - { - ch = (unsigned char)(*in++); - if (!(ch & 0200)) { - /* US-ASCII-7 plain text - */ - --*inbytes; - --*outwords; - *(out++) = ch; - } - else - { - if ((ch & 0300) != 0300) { - /* Multibyte Continuation is out of place - */ - return APR_EINVAL; - } - else - { - /* Multibyte Sequence Lead Character - * - * Compute the expected bytes while adjusting - * or lead byte and leading zeros mask. - */ - mask = 0340; - expect = 1; - while ((ch & mask) == mask) { - mask |= mask >> 1; - if (++expect > 3) /* (truly 5 for ucs-4) */ - return APR_EINVAL; - } - newch = ch & ~mask; - eating = expect + 1; - if (*inbytes <= expect) - return APR_INCOMPLETE; - /* Reject values of excessive leading 0 bits - * utf-8 _demands_ the shortest possible byte length - */ - if (expect == 1) { - if (!(newch & 0036)) - return APR_EINVAL; - } - else { - /* Reject values of excessive leading 0 bits - */ - if (!newch && !((unsigned char)*in & 0077 & (mask << 1))) - return APR_EINVAL; - if (expect == 2) { - /* Reject values D800-DFFF when not utf16 encoded - * (may not be an appropriate restriction for ucs-4) - */ - if (newch == 0015 && ((unsigned char)*in & 0040)) - return APR_EINVAL; - } - else if (expect == 3) { - /* Short circuit values > 110000 - */ - if (newch > 4) - return APR_EINVAL; - if (newch == 4 && ((unsigned char)*in & 0060)) - return APR_EINVAL; - } - } - /* Where the boolean (expect > 2) is true, we will need - * an extra word for the output. - */ - if (*outwords < (apr_size_t)(expect > 2) + 1) - break; /* buffer full */ - while (expect--) - { - /* Multibyte Continuation must be legal */ - if (((ch = (unsigned char)*(in++)) & 0300) != 0200) - return APR_EINVAL; - newch <<= 6; - newch |= (ch & 0077); - } - *inbytes -= eating; - /* newch is now a true ucs-4 character - * - * now we need to fold to ucs-2 - */ - if (newch < 0x10000) - { - --*outwords; - *(out++) = (apr_wchar_t) newch; - } - else - { - *outwords -= 2; - newch -= 0x10000; - *(out++) = (apr_wchar_t) (0xD800 | (newch >> 10)); - *(out++) = (apr_wchar_t) (0xDC00 | (newch & 0x03FF)); - } - } - } - } - /* Buffer full 'errors' aren't errors, the client must inspect both - * the inbytes and outwords values - */ - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_conv_ucs2_to_utf8(const apr_wchar_t *in, - apr_size_t *inwords, - char *out, - apr_size_t *outbytes) -{ - apr_int64_t newch, require; - apr_size_t need; - char *invout; - int ch; - - while (*inwords && *outbytes) - { - ch = (unsigned short)(*in++); - if (ch < 0x80) - { - --*inwords; - --*outbytes; - *(out++) = (unsigned char) ch; - } - else - { - if ((ch & 0xFC00) == 0xDC00) { - /* Invalid Leading ucs-2 Multiword Continuation Character - */ - return APR_EINVAL; - } - if ((ch & 0xFC00) == 0xD800) { - /* Leading ucs-2 Multiword Character - */ - if (*inwords < 2) { - /* Missing ucs-2 Multiword Continuation Character - */ - return APR_INCOMPLETE; - } - if (((unsigned short)(*in) & 0xFC00) != 0xDC00) { - /* Invalid ucs-2 Multiword Continuation Character - */ - return APR_EINVAL; - } - newch = (ch & 0x03FF) << 10 | ((unsigned short)(*in++) & 0x03FF); - newch += 0x10000; - } - else { - /* ucs-2 Single Word Character - */ - newch = ch; - } - /* Determine the absolute minimum utf-8 bytes required - */ - require = newch >> 11; - need = 1; - while (require) - require >>= 5, ++need; - if (need >= *outbytes) - break; /* Insufficient buffer */ - *inwords -= (need > 2) + 1; - *outbytes -= need + 1; - /* Compute the utf-8 characters in last to first order, - * calculating the lead character length bits along the way. - */ - ch = 0200; - out += need + 1; - invout = out; - while (need--) { - ch |= ch >> 1; - *(--invout) = (unsigned char)(0200 | (newch & 0077)); - newch >>= 6; - } - /* Compute the lead utf-8 character and move the dest offset - */ - *(--invout) = (unsigned char)(ch | newch); - } - } - /* Buffer full 'errors' aren't errors, the client must inspect both - * the inwords and outbytes values - */ - return APR_SUCCESS; -} -- cgit 1.2.3-korg