diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2004-12-02 21:35:50 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2004-12-02 21:35:50 +0000 |
commit | 10ab58e6b1c9afbd1da1d2f17288d7b4cc7f35df (patch) | |
tree | 008826d95aae581a2fa1091d1e15bcf50c4ffe0a /usr.sbin/httpd | |
parent | 2e6917edd9a469ad247efb00d442fd4d7be8d19c (diff) |
king bula sez: in Attic/ you shall rot
Diffstat (limited to 'usr.sbin/httpd')
135 files changed, 0 insertions, 20580 deletions
diff --git a/usr.sbin/httpd/src/os/.indent.pro b/usr.sbin/httpd/src/os/.indent.pro deleted file mode 100644 index a9fbe9f9a1f..00000000000 --- a/usr.sbin/httpd/src/os/.indent.pro +++ /dev/null @@ -1,54 +0,0 @@ --i4 -npsl -di0 -br -nce -d0 -cli0 -npcs -nfc1 --TBUFF --TFILE --TTRANS --TUINT4 --T_trans --Tallow_options_t --Tapache_sfio --Tarray_header --Tbool_int --Tbuf_area --Tbuff_struct --Tbuffy --Tcmd_how --Tcmd_parms --Tcommand_rec --Tcommand_struct --Tconn_rec --Tcore_dir_config --Tcore_server_config --Tdir_maker_func --Tevent --Tglobals_s --Thandler_func --Thandler_rec --Tjoblist_s --Tlisten_rec --Tmerger_func --Tmode_t --Tmodule --Tmodule_struct --Tmutex --Tn_long --Tother_child_rec --Toverrides_t --Tparent_score --Tpid_t --Tpiped_log --Tpool --Trequest_rec --Trequire_line --Trlim_t --Tscoreboard --Tsemaphore --Tserver_addr_rec --Tserver_rec --Tserver_rec_chain --Tshort_score --Ttable --Ttable_entry --Tthread --Tu_wide_int --Tvtime_t --Twide_int diff --git a/usr.sbin/httpd/src/os/bs2000/Makefile.tmpl b/usr.sbin/httpd/src/os/bs2000/Makefile.tmpl deleted file mode 100644 index 4d6c1ca21d8..00000000000 --- a/usr.sbin/httpd/src/os/bs2000/Makefile.tmpl +++ /dev/null @@ -1,84 +0,0 @@ -CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) -LIBS=$(EXTRA_LIBS) $(LIBS1) -INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) -LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) - -OBJS= os.o os-inline.o bs2login.o - -LIB= libos.a - -all: $(LIB) - -$(LIB): $(OBJS) - rm -f $@ - ar cr $@ $(OBJS) - $(RANLIB) $@ - -.c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $< - -clean: - rm -f $(OBJS) $(LIB) - -distclean: clean - -rm -f Makefile - -# We really don't expect end users to use this rule. It works only with -# gcc, and rebuilds Makefile.tmpl. You have to re-run Configure after -# using it. -depend: - cp Makefile.tmpl Makefile.tmpl.bak \ - && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \ - && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \ - && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' \ - -e '1,$$s: $(OSDIR)/: $$(OSDIR)/:g' Makefile.new \ - > Makefile.tmpl \ - && rm Makefile.new - -$(OBJS): Makefile - -# DO NOT REMOVE -bs2login.o: bs2login.c -bs2login.o: $(INCDIR)/httpd.h -bs2login.o: $(INCDIR)/ap_config.h -bs2login.o: $(INCDIR)/ap_mmn.h -bs2login.o: $(INCDIR)/ap_config_auto.h -bs2login.o: os.h -bs2login.o: $(INCDIR)/ap_ctype.h -bs2login.o: $(INCDIR)/hsregex.h -bs2login.o: $(INCDIR)/ap_alloc.h -bs2login.o: $(INCDIR)/buff.h -bs2login.o: $(INCDIR)/ap.h -bs2login.o: ebcdic.h -bs2login.o: $(INCDIR)/util_uri.h -bs2login.o: $(INCDIR)/http_config.h -bs2login.o: $(INCDIR)/http_log.h -ebcdic.o: ebcdic.c -ebcdic.o: $(INCDIR)/ap_config.h -ebcdic.o: $(INCDIR)/ap_mmn.h -ebcdic.o: $(INCDIR)/ap_config_auto.h -ebcdic.o: os.h -ebcdic.o: $(INCDIR)/ap_ctype.h -ebcdic.o: $(INCDIR)/hsregex.h -ebcdic.o: ebcdic.h -os-inline.o: os-inline.c -os-inline.o: $(INCDIR)/ap_config.h -os-inline.o: $(INCDIR)/ap_mmn.h -os-inline.o: $(INCDIR)/ap_config_auto.h -os-inline.o: os.h -os-inline.o: $(INCDIR)/ap_ctype.h -os-inline.o: $(INCDIR)/hsregex.h -os.o: os.c -os.o: $(INCDIR)/httpd.h -os.o: $(INCDIR)/ap_config.h -os.o: $(INCDIR)/ap_mmn.h -os.o: $(INCDIR)/ap_config_auto.h -os.o: os.h -os.o: $(INCDIR)/ap_ctype.h -os.o: $(INCDIR)/hsregex.h -os.o: $(INCDIR)/ap_alloc.h -os.o: $(INCDIR)/buff.h -os.o: $(INCDIR)/ap.h -os.o: ebcdic.h -os.o: $(INCDIR)/util_uri.h -os.o: $(INCDIR)/http_core.h diff --git a/usr.sbin/httpd/src/os/bs2000/bs2login.c b/usr.sbin/httpd/src/os/bs2000/bs2login.c deleted file mode 100644 index 2a98082164f..00000000000 --- a/usr.sbin/httpd/src/os/bs2000/bs2login.c +++ /dev/null @@ -1,297 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef _OSD_POSIX -#include "httpd.h" -#include "http_config.h" -#include "http_log.h" -#include <ctype.h> -#include <sys/utsname.h> - -#define ACCT_LEN 8 -#define USER_LEN 8 - -static const char *bs2000_account = NULL; -typedef enum -{ - bs2_unknown, /* not initialized yet. */ - bs2_noFORK, /* no fork() because -X flag was specified */ - bs2_FORK, /* only fork() because uid != 0 */ - bs2_FORK_RINI, /* prior to A17, regular fork() and _rini() was used. */ - bs2_RFORK_RINI, /* for A17, use of _rfork() and _rini() was required */ - bs2_UFORK /* As of A18, the new ufork() is used. */ -} bs2_ForkType; - -static bs2_ForkType forktype = bs2_unknown; - - -static void ap_pad(char *dest, size_t size, char ch) -{ - int i = strlen(dest); /* Leave space for trailing '\0' */ - - while (i < size-1) - dest[i++] = ch; - - dest[size-1] = '\0'; /* Guarantee for trailing '\0' */ -} - -static void ap_str_toupper(char *str) -{ - while (*str) { - *str = ap_toupper(*str); - ++str; - } -} - -/* Determine the method for forking off a child in such a way as to - * set both the POSIX and BS2000 user id's to the unprivileged user. - */ -static bs2_ForkType os_forktype(void) -{ - struct utsname os_version; - - /* have we checked the OS version before? If yes return the previous - * result - the OS release isn't going to change suddenly! - */ - if (forktype != bs2_unknown) { - return forktype; - } - - /* If the user is unprivileged, use the normal fork() only. */ - if (getuid() != 0) { - return forktype = bs2_FORK; - } - - if (uname(&os_version) < 0) - { - ap_log_error(APLOG_MARK, APLOG_ALERT, NULL, - "uname() failed - aborting."); - exit(APEXIT_CHILDFATAL); - } - - /* - * Old BS2000/OSD versions (before XPG4 SPEC1170) don't work with Apache. - * Anyway, simply return a fork(). - */ - if (strcmp(os_version.release, "01.0A") == 0 || - strcmp(os_version.release, "02.0A") == 0 || - strcmp(os_version.release, "02.1A") == 0) - { - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, NULL, - "Error: unsupported OS version. " - "You may encounter problems."); - forktype = bs2_FORK; - } - - /* The following versions are special: - * OS versions before A17 needs regular fork() and _rini(). - * A17 requires _rfork() and _rini(), - * and later versions need ufork(). - */ - else if (strcmp(os_version.release, "01.1A") == 0 || - strcmp(os_version.release, "03.0A") == 0 || - strcmp(os_version.release, "03.1A") == 0 || - strcmp(os_version.release, "04.0A") == 0) - { - if (strcmp (os_version.version, "A18") >= 0) - forktype = bs2_UFORK; - - else if (strcmp (os_version.version, "A17") < 0) - forktype = bs2_FORK_RINI; - - else - forktype = bs2_RFORK_RINI; - } - - /* All later OS versions will hopefully use ufork() only ;-) */ - else - forktype = bs2_UFORK; - - return forktype; -} - - - -/* This routine is called by http_core for the BS2000Account directive */ -/* It stores the account name for later use */ -const char *os_set_account(pool *p, const char *account) -{ - char account_temp[ACCT_LEN+1]; - - ap_cpystrn(account_temp, account, sizeof account_temp); - - /* Make account all upper case */ - ap_str_toupper(account_temp); - - /* Pad to length 8 */ - ap_pad(account_temp, sizeof account_temp, ' '); - - bs2000_account = ap_pstrdup(p, account_temp); - return NULL; -} - -/* This routine complements the setuid() call: it causes the BS2000 job - * environment to be switched to the target user's user id. - * That is important if CGI scripts try to execute native BS2000 commands. - */ -int os_init_job_environment(server_rec *server, const char *user_name, int one_process) -{ - _rini_struct inittask; - char username[USER_LEN+1]; - bs2_ForkType type = os_forktype(); - - /* We can be sure that no change to uid==0 is possible because of - * the checks in http_core.c:set_user() - */ - - /* The _rini() function works only after a prior _rfork(). - * In the case of one_process, it would fail. - */ - if (one_process) { - - type = forktype = bs2_noFORK; - - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, server, - "The debug mode of Apache should only " - "be started by an unprivileged user!"); - return 0; - } - - /* If no _rini() is required, then return quickly. */ - if (type != bs2_RFORK_RINI && type != bs2_FORK_RINI) - return 0; - - /* An Account is required for _rini() */ - if (bs2000_account == NULL) - { - ap_log_error(APLOG_MARK, APLOG_ALERT|APLOG_NOERRNO, server, - "No BS2000Account configured - cannot switch to User %s", - user_name); - exit(APEXIT_CHILDFATAL); - } - - ap_cpystrn(username, user_name, sizeof username); - - /* Make user name all upper case */ - ap_str_toupper(username); - - /* Pad to length 8 */ - ap_pad(username, sizeof username, ' '); - - inittask.username = username; - inittask.account = bs2000_account; - inittask.processor_name = " "; - - /* Switch to the new logon user (setuid() and setgid() are done later) */ - /* Only the super user can switch identities. */ - if (_rini(&inittask) != 0) { - - ap_log_error(APLOG_MARK, APLOG_ALERT, server, - "_rini: BS2000 auth failed for user \"%s\" acct \"%s\"", - inittask.username, inittask.account); - - exit(APEXIT_CHILDFATAL); - } - - return 0; -} - -/* BS2000 requires a "special" version of fork() before a setuid()/_rini() call */ -pid_t os_fork(const char *user) -{ - pid_t pid; - char username[USER_LEN+1]; - - switch (os_forktype()) { - case bs2_FORK: - case bs2_FORK_RINI: - pid = fork(); - break; - - case bs2_RFORK_RINI: - pid = _rfork(); - break; - - case bs2_UFORK: - ap_cpystrn(username, user, sizeof username); - - /* Make user name all upper case - for some versions of ufork() */ - ap_str_toupper(username); - - pid = ufork(username); - if (pid == -1 && errno == EPERM) { - ap_log_error(APLOG_MARK, APLOG_EMERG, - NULL, "ufork: Possible mis-configuration " - "for user %s - Aborting.", user); - exit(1); - } - break; - - default: - pid = 0; - break; - } - - return pid; -} - -#else /* _OSD_POSIX */ -void bs2login_is_not_here() -{ -} -#endif /* _OSD_POSIX */ diff --git a/usr.sbin/httpd/src/os/bs2000/ebcdic.h b/usr.sbin/httpd/src/os/bs2000/ebcdic.h deleted file mode 100644 index dba32d49099..00000000000 --- a/usr.sbin/httpd/src/os/bs2000/ebcdic.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef EBCDIC_H -#define EBCDIC_H "$Id: ebcdic.h,v 1.5 2002/03/29 02:08:07 beck Exp $" - -#include <ap_ebcdic.h> - -#endif /*EBCDIC_H*/ diff --git a/usr.sbin/httpd/src/os/bs2000/os-inline.c b/usr.sbin/httpd/src/os/bs2000/os-inline.c deleted file mode 100644 index e58917af369..00000000000 --- a/usr.sbin/httpd/src/os/bs2000/os-inline.c +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file contains functions which can be inlined if the compiler - * has an "inline" modifier. Because of this, this file is both a - * header file and a compilable module. - * - * Only inlineable functions should be defined in here. They must all - * include the INLINE modifier. - * - * If the compiler supports inline, this file will be #included as a - * header file from os.h to create all the inline function - * definitions. INLINE will be defined to whatever is required on - * function definitions to make them inline declarations. - * - * If the compiler does not support inline, this file will be compiled - * as a normal C file into libos.a (along with os.c). In this case - * INLINE will _not_ be set so we can use this to test if we are - * compiling this source file. - */ - -#ifndef INLINE -#define INLINE - -/* Anything required only when compiling */ -#include "ap_config.h" - -#endif - -INLINE int ap_os_is_path_absolute(const char *file) -{ - return (file && file[0] == '/' ? 1 : 0); -} diff --git a/usr.sbin/httpd/src/os/bs2000/os.c b/usr.sbin/httpd/src/os/bs2000/os.c deleted file mode 100644 index d7f656c0fb2..00000000000 --- a/usr.sbin/httpd/src/os/bs2000/os.c +++ /dev/null @@ -1,70 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -/* - * This file will include OS specific functions which are not inlineable. - * Any inlineable functions should be defined in os-inline.c instead. - */ - -#include "httpd.h" -#include "http_core.h" -#include "os.h" - -#ifdef HAVE_DLFCN_H -#include "../unix/os.c" -#endif diff --git a/usr.sbin/httpd/src/os/bs2000/os.h b/usr.sbin/httpd/src/os/bs2000/os.h deleted file mode 100644 index d3a64281b88..00000000000 --- a/usr.sbin/httpd/src/os/bs2000/os.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef APACHE_OS_H -#define APACHE_OS_H - -#define PLATFORM "BS2000" - -/* - * This file in included in all Apache source code. It contains definitions - * of facilities available on _this_ operating system (HAVE_* macros), - * and prototypes of OS specific functions defined in os.c or os-inline.c - */ - -#if !defined(INLINE) && defined(USE_GNU_INLINE) -/* Compiler supports inline, so include the inlineable functions as - * part of the header - */ -#define INLINE extern ap_inline - -INLINE int ap_os_is_path_absolute(const char *file); - -#include "os-inline.c" -#endif - -#ifndef INLINE -/* Compiler does not support inline, so prototype the inlineable functions - * as normal - */ -extern int ap_os_is_path_absolute(const char *file); -#endif - -/* Other ap_os_ routines not used by this platform */ - -#define ap_os_is_filename_valid(f) (1) -#define ap_os_kill(pid, sig) kill(pid, sig) - -#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE) && !defined(HAVE_RINI_STRUCT) -typedef struct { - char *username; - char *account; - char *processor_name; -} _rini_struct; - -extern int _rini(_rini_struct *); -#endif /* !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE) */ - -extern pid_t os_fork(const char *user); -#ifdef _OSD_POSIX -struct pool; -extern const char *os_set_account(struct pool *p, const char *account); -struct server_rec; -extern int os_init_job_environment(struct server_rec *s, const char *user_name, int one_process); -#endif - -#ifdef HAVE_DLFCN_H -#include <dlfcn.h> -#define ap_os_dso_handle_t void * -void ap_os_dso_init(void); -void * ap_os_dso_load(const char *); -void ap_os_dso_unload(void *); -void * ap_os_dso_sym(void *, const char *); -const char *ap_os_dso_error(void); -#endif - -#endif /*! APACHE_OS_H*/ diff --git a/usr.sbin/httpd/src/os/cygwin/Makefile.tmpl b/usr.sbin/httpd/src/os/cygwin/Makefile.tmpl deleted file mode 100644 index 5123c5a3840..00000000000 --- a/usr.sbin/httpd/src/os/cygwin/Makefile.tmpl +++ /dev/null @@ -1,46 +0,0 @@ -CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) -LIBS=$(EXTRA_LIBS) $(LIBS1) -INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) -LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) - -OBJS= os.o os-inline.o - -LIB= libos.a - -all: $(LIB) - -$(LIB): $(OBJS) - rm -f $@ - ar cr $@ $(OBJS) - $(RANLIB) $@ - -.c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $< - -clean: - rm -f $(OBJS) $(LIB) - -distclean: clean - -rm -f Makefile - -# We really don't expect end users to use this rule. It works only with -# gcc, and rebuilds Makefile.tmpl. You have to re-run Configure after -# using it. -depend: - cp Makefile.tmpl Makefile.tmpl.bak \ - && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \ - && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \ - && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' \ - -e '1,$$s: $(OSDIR)/: $$(OSDIR)/:g' Makefile.new \ - > Makefile.tmpl \ - && rm Makefile.new - -$(OBJS): Makefile - -# DO NOT REMOVE -os-inline.o: os-inline.c $(INCDIR)/ap_config.h \ - $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h \ - $(OSDIR)/os.h $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h -os.o: os.c $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \ - $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \ - $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h os.h diff --git a/usr.sbin/httpd/src/os/cygwin/os-inline.c b/usr.sbin/httpd/src/os/cygwin/os-inline.c deleted file mode 100644 index 54ff49a6391..00000000000 --- a/usr.sbin/httpd/src/os/cygwin/os-inline.c +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file contains functions which can be inlined if the compiler - * has an "inline" modifier. Because of this, this file is both a - * header file and a compilable module. - * - * Only inlineable functions should be defined in here. They must all - * include the INLINE modifier. - * - * If the compiler supports inline, this file will be #included as a - * header file from os.h to create all the inline function - * definitions. INLINE will be defined to whatever is required on - * function definitions to make them inline declarations. - * - * If the compiler does not support inline, this file will be compiled - * as a normal C file into libos.a (along with os.c). In this case - * INLINE will _not_ be set so we can use this to test if we are - * compiling this source file. - */ - -#ifndef INLINE -#define INLINE - -/* Anything required only when compiling */ -#include "ap_config.h" - -#endif - -INLINE int ap_os_is_path_absolute(const char *file) -{ - return file[0] == '/'; -} diff --git a/usr.sbin/httpd/src/os/cygwin/os.c b/usr.sbin/httpd/src/os/cygwin/os.c deleted file mode 100644 index e9457e9324b..00000000000 --- a/usr.sbin/httpd/src/os/cygwin/os.c +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file will include OS specific functions which are not inlineable. - * Any inlineable functions should be defined in os-inline.c instead. - */ - -#include "ap_config.h" -#include "os.h" - - -/* some linkers complain unless there's at least one function in each - * .o file... and extra prototype is for gcc -Wmissing-prototypes - */ -extern void ap_is_not_here(void); -void ap_is_not_here(void) {} - -/* - * Abstraction layer for loading - * Apache modules under run-time via - * dynamic shared object (DSO) mechanism - */ - -void ap_os_dso_init(void) -{ -} - -void *ap_os_dso_load(const char *path) -{ - return dlopen(path, RTLD_NOW | RTLD_GLOBAL); -} - -void ap_os_dso_unload(void *handle) -{ - dlclose(handle); - - return; -} - -void *ap_os_dso_sym(void *handle, const char *symname) -{ - return dlsym(handle, symname); -} - -const char *ap_os_dso_error(void) -{ - return dlerror(); -} diff --git a/usr.sbin/httpd/src/os/cygwin/os.h b/usr.sbin/httpd/src/os/cygwin/os.h deleted file mode 100644 index b465a1e46d9..00000000000 --- a/usr.sbin/httpd/src/os/cygwin/os.h +++ /dev/null @@ -1,181 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef APACHE_OS_H -#define APACHE_OS_H - -#include "ap_config.h" - -/* - * Define the API_EXPORT declaration for creating a dynamic - * loadable library (DLL) version of Apache on Cygwin 1.x platforms. - */ - -#ifndef API_EXPORT -#ifdef SHARED_CORE -# ifdef SHARED_MODULE -# define API_VAR_EXPORT __declspec(dllimport) -# define API_EXPORT(type) __declspec(dllimport) type -# define MODULE_VAR_EXPORT __declspec(dllexport) -# else -# define API_VAR_EXPORT __declspec(dllexport) -# define API_EXPORT(type) __declspec(dllexport) type -# endif /* def SHARED_MODULE */ -#endif /* def SHARED_CORE */ -#endif /* ndef API_EXPORT */ - -/* - * We don't consider the Cygwin 1.x support neither an Unix nor - * a Win32 platform. Basicly it's something between both, so that - * is why we introduce our own PLATFORM define. - */ -#ifndef PLATFORM -#define PLATFORM "Cygwin" -#endif - -/* - * Define winsock.h and winsock2.h stuff taken from Win32 API in case we - * want to do socket communication in Win32 native way rather then using - * Cygwin's POSIX wrapper to the native ones. These are needed for - * main/buff.c and main/http_main.c. They are linked against libwsock32.a - * for the import declarations of the corresponding Win32 native DLLs. - */ -#ifdef CYGWIN_WINSOCK -#define WSAEWOULDBLOCK (10035) -#define SOCKET_ERROR (-1) - -#define WIN32API_IMPORT(type) __declspec(dllimport) type __stdcall - -WIN32API_IMPORT(int) WSAGetLastError(void); -WIN32API_IMPORT(int) WSASetLastError(int); -WIN32API_IMPORT(int) ioctlsocket(unsigned int, long, unsigned long *); -WIN32API_IMPORT(void) Sleep(unsigned int); -#endif /* CYGWIN_WINSOCK */ - -/* - * This file in included in all Apache source code. It contains definitions - * of facilities available on _this_ operating system (HAVE_* macros), - * and prototypes of OS specific functions defined in os.c or os-inline.c - */ - -#if !defined(INLINE) && defined(USE_GNU_INLINE) -/* Compiler supports inline, so include the inlineable functions as - * part of the header - */ -#define INLINE extern ap_inline - -INLINE int ap_os_is_path_absolute(const char *file); - -/* - * The inline things are the same as in the os/unix branch, so include - * that one rather than our own copy that would be the same. - */ -#include "os-inline.c" - -#else - -/* Compiler does not support inline, so prototype the inlineable functions - * as normal - */ -extern int ap_os_is_path_absolute(const char *file); -#endif - -/* Other ap_os_ routines not used by this platform */ - -#define ap_os_is_filename_valid(f) (1) -#define ap_os_kill(pid, sig) kill(pid, sig) - -/* - * Abstraction layer for loading - * Apache modules under run-time via - * dynamic shared object (DSO) mechanism - */ - -#ifdef HAVE_DL_H -#include <dl.h> -#endif - -#ifdef HAVE_DLFCN_H -#include <dlfcn.h> -#else -void *dlopen(const char *, int); -int dlclose(void *); -void *dlsym(void *, const char *); -const char *dlerror(void); -#endif - -/* probably on an older system that doesn't support RTLD_NOW or RTLD_LAZY. - * The below define is a lie since we are really doing RTLD_LAZY since the - * system doesn't support RTLD_NOW. - */ -#ifndef RTLD_NOW -#define RTLD_NOW 1 -#endif - -#ifndef RTLD_GLOBAL -#define RTLD_GLOBAL 0 -#endif - -#define ap_os_dso_handle_t void * -void ap_os_dso_init(void); -void * ap_os_dso_load(const char *); -void ap_os_dso_unload(void *); -void * ap_os_dso_sym(void *, const char *); -const char *ap_os_dso_error(void); - -#endif /* !APACHE_OS_H */ diff --git a/usr.sbin/httpd/src/os/mpeix/Makefile.tmpl b/usr.sbin/httpd/src/os/mpeix/Makefile.tmpl deleted file mode 100644 index 827f3dc9b60..00000000000 --- a/usr.sbin/httpd/src/os/mpeix/Makefile.tmpl +++ /dev/null @@ -1,49 +0,0 @@ -CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) -LIBS=$(EXTRA_LIBS) $(LIBS1) -INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) -LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) - -LIBOBJS= os.o os-inline.o dlopen.o gettimeofday.o -OBJS= $(LIBOBJS) - -LIB= libos.a - -all: $(LIB) - -$(LIB): $(LIBOBJS) - rm -f $@ - ar cr $@ $(LIBOBJS) - $(RANLIB) $@ - -.c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $< - -clean: - rm -f $(OBJS) $(LIB) - -distclean: clean - -rm -f Makefile - -# We really don't expect end users to use this rule. It works only with -# gcc, and rebuilds Makefile.tmpl. You have to re-run Configure after -# using it. -depend: - cp Makefile.tmpl Makefile.tmpl.bak \ - && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \ - && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \ - && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' \ - -e '1,$$s: $(OSDIR)/: $$(OSDIR)/:g' Makefile.new \ - > Makefile.tmpl \ - && rm Makefile.new - -$(OBJS): Makefile - -# DO NOT REMOVE -dlopen.o: dlopen.c -gettimeofday.o: gettimeofday.c -os-inline.o: os-inline.c $(INCDIR)/ap_config.h \ - $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h \ - $(OSDIR)/os.h $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h -os.o: os.c $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \ - $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \ - $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h os.h diff --git a/usr.sbin/httpd/src/os/mpeix/README b/usr.sbin/httpd/src/os/mpeix/README deleted file mode 100644 index 81c23bc950c..00000000000 --- a/usr.sbin/httpd/src/os/mpeix/README +++ /dev/null @@ -1,274 +0,0 @@ - Using Apache With HP MPE/iX - -This document explains how to compile, install, configure and run Apache -1.3 under HP MPE/iX. - -The bug reporting page and new-httpd mailing list are NOT provided to -answer questions about configuration or running Apache. Before you submit a -bug report or request, first consult this document, the Frequently Asked -Questions page and the other relevant documentation topics. If you still -have a question or problem, post it to the comp.sys.hp.mpe newsgroup or the -associated HP3000-L mailing list, where many Apache users and several -contributors are more than willing to answer new and obscure questions -about using Apache on MPE/iX. - -deja.com's newsgroup archives offer easy browsing of previous questions. -Searching the newsgroup archives, you will usually find your question was -already asked and answered by other users! - ---------------------------------------------------------------------------- - - * Requirements - * Implementation Considerations - * Binary Distributions - * Create the Accounting Structure - * Downloading Apache - * Compiling Apache - * Installing Apache - * Configuring Apache - * Running Apache - * Controlling Apache - ---------------------------------------------------------------------------- - -Requirements - -Apache 1.3 requires MPE/iX 6.0 or greater. It will NOT run on earlier -releases of MPE/iX. The following MPE/iX patches (or their superseding -descendants) are relevant to Apache: - - * MPE/iX 6.0: - o MPEKXT3B - fixes an MPE bug that results in transient "permission - denied" errors being returned by the server to the browser. - o MPELX36A - enhances the kill() function so that MPE users with SM - capability can send signals to Apache for shutdown, restart, etc. - o MPELX44C - fixes an MPE bug that prevents DSO modules from being - dynamically loaded. - o MPELX51C - enhances the kill() function so that Apache can use it - when the Apache parent UID is different from the Apache children - UID (strongly recommended). - o NSTxxxxx - the latest network transport patch should always be - installed when using TCP/IP applications such as Apache. - * MPE/iX 6.5: - o MPELX44D - fixes an MPE bug that prevents DSO modules from being - dynamically loaded. - o MPELX51D - enhances the kill() function so that Apache can use it - when the Apache parent UID is different from the Apache children - UID (strongly recommended). - o NSTxxxxx - the latest network transport patch should always be - installed when using TCP/IP applications such as Apache. - ---------------------------------------------------------------------------- - -Implementation Considerations - -While MPE has a very good POSIX implementation that enables fairly simple -porting of Unix applications such as Apache, there are some Unix concepts -which just don't exist or aren't fully implemented in MPE, and so this may -force some functionality changes in the package being ported. - -Significant MPE vs. Unix OS differences - - * MPE lacks the concept of a Unix UID=0 root user with special - privileges. Where Unix functions require a user to be executing as - root, MPE requires the user to be executing in priv mode, so the - program file must be linked with PM (Priv Mode) capability, and the - Unix function calls must be bracketed by GETPRIVMODE() and - GETUSERMODE() calls. The following Unix functions used by Apache are - affected: - o bind() for ports less than 1024 - o setgid() - o setuid() - * MPE's support for UIDs and GIDs is more limited than Unix. Every MPE - account maps to a unique GID. Each MPE account can contain multiple - MPE users, and every MPE user maps to a unique UID (UID 0 is not - supported). The current UID for a process must correspond to an MPE - user within the MPE account that corresponds to the current GID of the - process. - * MPE child processes cannot survive the death of their parent. When - the parent terminates, any remaining children will be killed. - * MPE doesn't initialize the envp parameter when invoking the main() of - a new process. Use the global variable environ instead of envp. - * MPE link() exists, but always returns EIMPL. Use rename() or symlinks - instead of hard links. - * MPE doesn't allow the @ character in filenames. - * MPE lacks support for TCP_NODELAY, but that's the default anyway. - * MPE lacks support for SO_KEEPALIVE. - * MPE lacks support for process groups. - * MPE inetd only passes stdin (and NOT stdout) to the invoked service. - But you can write to stdin just fine. - -Major Apache functionality issues - - * Beginning with HP-supported Apache 1.3.9 and HP WebWise MPE/iX Secure - Web Server A.01.00 (based on Apache 1.3.9), the User and Group - directives in httpd.conf are now unconditionally executed as - corresponding setuid()/setgid() calls. Previously this was only done - if HTTPD was being run as MANAGER.SYS. This functionality change was - submitted back to the 1.3.13-dev source tree at www.apache.org. The - Apache for Unix behavior is to only honor User and Group if running as - root. - * Beginning with HP-supported Apache 1.3.9 and HP WebWise MPE/iX Secure - Web Server A.01.00 (based on Apache 1.3.9), the SVIPC shared memory - macros SHM_R and SHM_W have been modified from their traditional - owner-only-read and owner-only-write values to be owner-and-group-read - and owner-and-group-write on MPE/iX in order to allow increased - parent/child flexibility in spite of MPE's limited POSIX UID/GID - support. This functionality change was submitted back to the - 1.3.13-dev source tree at www.apache.org. The Apache for Unix - behavior uses the traditional owner-only values of SHM_R and SHM_W. - -Minor Apache functionality issues - - * Apache for Unix must be run as root to bind to TCP ports 1-1023. - Apache for MPE must call GETPRIVMODE() to bind to TCP ports 1-1023; PM - is not used for ports greater than 1023. The standard web server HTTP - port is 80. - * Apache for Unix in standalone mode will detach itself and run in the - background as a system-type process. Apache for MPE in standalone mode - cannot detach itself and run in the background because MPE POSIX - doesn't allow this (the detached child would be killed when the parent - terminated). Therefore you must use an MPE batch job to run Apache in - standalone mode. - * Apache for Unix uses process groups to manage child processes. Apache - for MPE cannot use process groups because MPE POSIX doesn't support - this. The implications of this are unknown. - * Apache for Unix uses the setsockopt() option TCP_NODELAY. Apache for - MPE does not, because MPE doesn't support it. But TCP_NODELAY is the - default MPE behavior anyway. - * Apache for Unix uses the setsockopt() option SO_KEEPALIVE. Apache for - MPE does not, because MPE doesn't support it. - * Apache for Unix under inetd reads from the socket via stdin and writes - via stdout. Apache for MPE under inetd reads *AND* writes the socket - via stdin. I consider MPE 5.5 inetd to be broken and poorly - documented, so I submitted SR 5003355016 to address this. If HP ever - alters the MPE inetd to pass the socket the way HPUX inetd does (not - likely in the grand scheme of things), the existing Apache for MPE - code will break. - * Apache for Unix will use the @ character in proxy cache filenames, but - since @ is illegal in MPE filenames, Apache for MPE uses the % - character instead. - ---------------------------------------------------------------------------- - -Binary Distributions - -HP ships a fully supported Apache binary distribution with the Fundamental -Operating System (FOS) in MPE/iX 6.5 and later. This distribution can be -found in the APACHE account. - -HP supplies fully supported Apache binary distributions for MPE/iX 6.0 or -later available for downloading from -http://jazz.external.hp.com/src/apache/. - -Mark Bixby supplies Apache binary distributions for MPE/iX available for -downloading from http://www.bixby.org/mark/apacheix.html. Binaries from -bixby.org are NOT supported by HP. HP only supports binaries distributed -by HP. - -All of the binary distributions mentioned above may possibly include -functionality that hasn't yet been submitted back to the Apache Software -Foundation (though submitting back is the intended goal). Please read the -documentation that comes with these binaries in order to determine -functionality differences (if any) compared to the latest sources available -from the ASF. - -If you will be using one of these binary distributions, please stop reading -this document and start reading the specific distribution documentation for -installation details. - ---------------------------------------------------------------------------- - -Create the Accounting Structure - -Apache can be installed under the account of your choice. For the purposes -of this document, the APACHE account will be used: - - 1. :HELLO MANAGER.SYS - 2. :NEWACCT APACHE,MGR - 3. :ALTACCT APACHE;PASS=xxxxxxxx;CAP=AM,AL,ND,SF,BA,IA,PM,PH - 4. :ALTGROUP PUB.APACHE;CAP=BA,IA,PM,PH;ACCESS=(R,L,X:AC;W,A,S:AL) - 5. :ALTUSER MGR.APACHE;CAP=AM,AL,ND,SF,BA,IA,PM,PH;HOME=PUB - 6. :NEWUSER SERVER.APACHE - 7. :ALTUSER SERVER.APACHE;CAP=ND,SF,BA,IA,PH;HOME=PUB - -Downloading Apache - -Use your web browser to download the Apache source tarball from -http://www.apache.org/dist/. Then ftp upload the tarball to your e3000 as -show below: - -C:\Temp>ftp 3000.host.name -Connected to 3000.host.name. -220 HP ARPA FTP Server [A0009H09] (C) Hewlett-Packard Co. 1990 -User (3000.host.name:(none)): MGR.APACHE -331 Password required for MGR.APACHE. Syntax: acctpass -Password:xxxxxxxx -230 User logged on -ftp> quote type L 8 -200 Type set to L (byte size 8). -ftp> put apache_v.u.ff.tar.Z /tmp/apache.tar.Z -200 PORT command ok. -150 File: /tmp/apache.tar.Z opened; data connection will be opened -226 Transfer complete. -ftp: 2685572 bytes sent in 2.75Seconds 976.57Kbytes/sec. -ftp> quit -221 Server is closing command connection - -Unpack the tarball: - - 1. :HELLO MGR.APACHE - 2. :XEQ SH.HPBIN.SYS -L - 3. $ mkdir src - 4. $ chmod 700 src - 5. $ cd src - 6. $ tar xvfopz /tmp/apache.tar.Z - -Compiling Apache - -It is STRONGLY recommended to use gcc instead of the HP C/iX compiler. You -can obtain gcc from http://jazz.external.hp.com/src/gnu/gnuframe.html. - - 1. $ cd apache_v.uu.ff - 2. $ ./configure --prefix=/APACHE/PUB --enable-module=xxx - --enable-module=yyy ...etc... - 3. $ make - -Installing Apache - - 1. $ make install - 2. $ cd /APACHE/PUB - 3. $ mv bin/httpd HTTPD - 4. $ ln -s HTTPD bin/httpd - 5. $ callci "xeq linkedit.pub.sys 'altprog HTTPD;cap=ia,ba,ph,pm'" - -Configuring Apache - -Edit /APACHE/PUB/conf/httpd.conf and customize as needed for your -environment. Be sure to make the following mandatory changes: - - * User SERVER.APACHE - * Group APACHE - -Running Apache - -Simply create and :STREAM the following standalone server job in order to -start Apache: - -!JOB JHTTPD,MGR.APACHE;OUTCLASS=,2 -!XEQ SH.HPBIN.SYS "-c 'umask 007; ./HTTPD -f /APACHE/PUB/conf/httpd.conf'" -!eoj - -Controlling Apache - -Log on as MGR.APACHE (or MANAGER.SYS or any other SM user if you've -installed MPELX36A on 6.0) in order to shutdown or restart Apache via the -use of signals. - -To shut down Apache from the POSIX shell: - -$ kill `cat /APACHE/PUB/logs/httpd.pid` - -To shut down Apache from the CI: - -:XEQ SH.HPBIN.SYS '-c "kill `cat /APACHE/PUB/logs/httpd.pid`"' diff --git a/usr.sbin/httpd/src/os/mpeix/dlopen.c b/usr.sbin/httpd/src/os/mpeix/dlopen.c deleted file mode 100644 index dbe5fc8ceb2..00000000000 --- a/usr.sbin/httpd/src/os/mpeix/dlopen.c +++ /dev/null @@ -1,224 +0,0 @@ -/* - * dlopen()/dlsym()/dlclose()/dlerror() emulation code for MPE - * - * This is not intended to be a 100% complete implementation. - */ - -#include "httpd.h" - -typedef struct { - char libname[PATH_MAX + 3]; - } t_mpe_dld, *p_mpe_dld; - -/* - * hpunload() is an undocumented and unsupported function used to unload - * NMXL library symbols. While it isn't listed in the Intrinsics manual - * or SYSINTR.PUB.SYS, it performs the same level of parameter checking - * that a regular intrinsic does. The parameter contents are the same - * as for HPGETPROCPLABEL(), with the exception of symbolname which can - * use the wildcard of " @ " which means unload ALL symbols RIGHT NOW. - */ - -extern void hpunload( - int parms, /* option extensible hidden parameter */ - char * symbolname, - char * libname, - int * status, - int * symboltype, - int casesensitive); - -#ifdef __GNUC__ -extern void HPGETPROCPLABEL( - int parms, /* option extensible hidden parameter */ - char * symbolname, - void * symboladdr, - int * status, - char * libname, - int casesensitive, - int symboltype, - int * datasize, - int position, - int searchpath, - int binding); - -extern void HPERRMSG( - int parms, /* option extensible hidden parameter */ - int displaycode, - int depth, - short errorproc, - int errornum, - char * buffer, - short * buflength, - int * status); -#else -#pragma intrinsic HPERRMSG -#pragma intrinsic HPGETPROCPLABEL -#endif - -int mpe_dl_status = 0; -char mpe_dl_errmsg[1024]; -char mpe_dl_symname[128]; -int mpe_dl_symtype; /* 0=proc, 1=data, 2=malloc, 3=hpunload */ - -/* - * dlopen() - */ - -void *dlopen(const char *libname, int flag) { - -t_mpe_dld *handle; -char cwd[PATH_MAX+3]; -char library[PATH_MAX+3]; -void *symaddr; -int datalen; - -/* Save the library name in absolute format for later use */ -if (libname[0] != '/') { - getcwd(cwd, sizeof(cwd)); - ap_snprintf(library, sizeof(library), " %s/%s ", cwd, libname); -} else - ap_snprintf(library, sizeof(library), " %s ", libname); - -#define MPE_WITHOUT_MPELX44 -#ifdef MPE_WITHOUT_MPELX44 -/* -Unfortunately if we simply tried to load the module structure data item -directly in dlsym(), it would complain about unresolved function pointer -references. - -However, if we first load an actual dummy procedure, we can then subsequently -load the data item without trouble. Go figure. - -This bug is fixed by patch MPELX44A on MPE/iX 6.0 and patch MPELX44B on -MPE/iX 6.5. -*/ - -/* Load the dummy procedure mpe_dl_stub */ -ap_cpystrn(mpe_dl_symname, " mpe_dl_stub ", sizeof(mpe_dl_symname)); -mpe_dl_symtype = 0; - -HPGETPROCPLABEL( -#ifdef __GNUC__ - 8, -#endif - mpe_dl_symname, &symaddr, &mpe_dl_status, library, 1, - mpe_dl_symtype, &datalen, 1, 0, 0); - -/* We consider it to be a failure if the dummy procedure doesn't exist */ -/* if (mpe_dl_status != 0) return NULL; */ -/* Or not. If we failed to load mpe_dl_stub, press on and try to load the - real data item later in dlsym(). */ -#endif /* MPE_WITHOUT_MPELX44 */ - -mpe_dl_symtype = 2; - -/* Allocate a handle */ -if ((handle = (t_mpe_dld *)malloc(sizeof(t_mpe_dld))) == NULL) return NULL; - -/* Initialize the handle fields */ -memset(handle, 0, sizeof(t_mpe_dld)); - -ap_cpystrn(handle->libname,library,sizeof(handle->libname)); - -return handle; -} - -/* - * dlsym() - */ - -void *dlsym(void *handle, const char *symbol) { - -t_mpe_dld *myhandle = handle; -int datalen; -void * symaddr = NULL; - -ap_snprintf(mpe_dl_symname, sizeof(mpe_dl_symname), " %s ", symbol); -mpe_dl_symtype = 1; - -HPGETPROCPLABEL( -#ifdef __GNUC__ - 8, -#endif - mpe_dl_symname, &symaddr, &mpe_dl_status, myhandle->libname, 1, - mpe_dl_symtype, &datalen, 1, 0, 0); - -if (mpe_dl_status != 0) { - return NULL; -} else { - return symaddr; -} - -} - -/* - * dlclose() - */ - -int dlclose(void *handle) { - -p_mpe_dld myhandle = handle; - -mpe_dl_symtype = 3; - -/* unload ALL symbols from the library RIGHT NOW */ -hpunload(5, " @ ", myhandle->libname, &mpe_dl_status, NULL, 0); - -free(handle); - -if (mpe_dl_status == 0) - return 0; -else - return -1; - -} - -/* - * dlerror() - */ - -const char *dlerror(void) { - -char errmsg[1024]; -short buflen = sizeof(errmsg)-1; -int status; -char prefix[80]; - -if (mpe_dl_status == 0) return NULL; - -switch (mpe_dl_symtype) { - case 0: - ap_snprintf(prefix,sizeof(prefix), - "HPGETPROCPLABEL() failed on procedure%s",mpe_dl_symname); - break; - case 1: - ap_snprintf(prefix,sizeof(prefix), - "HPGETPROCPLABEL() failed on data item%s",mpe_dl_symname); - break; - case 3: - ap_cpystrn(prefix,"hpunload() failed",sizeof(prefix)); - break; - default: - ap_cpystrn(prefix,"Unknown MPE dynaloader error",sizeof(prefix)); - break; -} - -/* Obtain the error message for the most recent mpe_dl_status value */ -HPERRMSG( -#ifdef __GNUC__ - 7, -#endif - 3, 0, 0, mpe_dl_status, (char *)&errmsg, &buflen, &status); - -if (status == 0) - errmsg[buflen] = '\0'; -else - ap_snprintf(errmsg,sizeof(errmsg), - "HPERRMSG failed (status=%x); MPE loader status = %x", - status, mpe_dl_status); - -ap_snprintf(mpe_dl_errmsg,sizeof(mpe_dl_errmsg),"%s\n%s",prefix,errmsg); - -return (char *)&mpe_dl_errmsg; - -} diff --git a/usr.sbin/httpd/src/os/mpeix/gettimeofday.c b/usr.sbin/httpd/src/os/mpeix/gettimeofday.c deleted file mode 100644 index 3b593fa1cd2..00000000000 --- a/usr.sbin/httpd/src/os/mpeix/gettimeofday.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - stub for gettimeofday(): - gettimeofday() is UNIX, not POSIX -*/ - -/*-------------------------------------------------------------------*/ -/* */ -/* gettimeofday */ -/* */ -/*-------------------------------------------------------------------*/ -/* */ -/* #include <time.h> */ -/* */ -/* int gettimeofday( */ -/* struct timeval *tp, */ -/* struct timezone *tzp, */ -/* ); */ -/* */ -/*-------------------------------------------------------------------*/ -/* */ -/* This function returns seconds and microseconds since midnight */ -/* January 1, 1970. The microseconds is actually only accurate to */ -/* the millisecond. */ -/* */ -/* Note: To pick up the definitions of structs timeval and timezone */ -/* from the <time.h> include file, the directive */ -/* _SOCKET_SOURCE must be used. */ -/* */ -/*-------------------------------------------------------------------*/ -/* */ -/* RETURN VALUE */ -/* A 0 return value indicates that the call succeeded. A -1 return */ -/* value indicates an error occurred; errno is set to indicate the */ -/* error. */ -/* */ -/*-------------------------------------------------------------------*/ -/* */ -/* ERRORS */ -/* EFAULT not implemented yet. */ -/* */ -/*-------------------------------------------------------------------*/ -/* Changes: */ -/* 2-91 DR. Created. */ -/* */ -/*-------------------------------------------------------------------*/ - - -/* need _SOCKET_SOURCE to pick up structs timeval and timezone in time.h */ -#ifndef _SOCKET_SOURCE -# define _SOCKET_SOURCE -#endif - -#include <time.h> /* structs timeval & timezone, - difftime(), localtime(), mktime(), time() */ - -#pragma intrinsic TIMER - - - -int -gettimeofday(struct timeval *tp, struct timezone *tpz) -{ - static unsigned long basetime = 0; - static int dsttime = 0; - static int minuteswest = 0; - static int oldtime = 0; - register int newtime; - int TIMER(); - - - /*-------------------------------------------------------------------*/ - /* Setup a base from which all future time will be computed. */ - /*-------------------------------------------------------------------*/ - if ( basetime == 0 ) - { - time_t gmt_time; - time_t loc_time; - struct tm *loc_time_tm; - - gmt_time = time( NULL ); - loc_time_tm = localtime( &gmt_time ) ; - loc_time = mktime( loc_time_tm ); - - oldtime = TIMER(); - basetime = (unsigned long) ( loc_time - (oldtime/1000) ); - - /*----------------------------------------------------------------*/ - /* The calling process must be restarted if timezone or dst */ - /* changes. */ - /*----------------------------------------------------------------*/ - minuteswest = (int) (difftime( loc_time, gmt_time ) / 60); - dsttime = loc_time_tm->tm_isdst; - } - - /*-------------------------------------------------------------------*/ - /* Get the new time value. The timer value rolls over every 24 days, */ - /* so if the delta is negative, the basetime value is adjusted. */ - /*-------------------------------------------------------------------*/ - newtime = TIMER(); - if ( newtime < oldtime ) basetime += 2073600; - oldtime = newtime; - - /*-------------------------------------------------------------------*/ - /* Return the timestamp info. */ - /*-------------------------------------------------------------------*/ - tp->tv_sec = basetime + newtime/1000; - tp->tv_usec = (newtime%1000) * 1000; /* only accurate to milli */ - if (tpz) - { - tpz->tz_minuteswest = minuteswest; - tpz->tz_dsttime = dsttime; - } - - return 0; - -} /* gettimeofday() */ diff --git a/usr.sbin/httpd/src/os/mpeix/mpe_dl_stub.c b/usr.sbin/httpd/src/os/mpeix/mpe_dl_stub.c deleted file mode 100644 index 876ba16575c..00000000000 --- a/usr.sbin/httpd/src/os/mpeix/mpe_dl_stub.c +++ /dev/null @@ -1 +0,0 @@ -int mpe_dl_stub(void) { return 0; }; diff --git a/usr.sbin/httpd/src/os/mpeix/os-inline.c b/usr.sbin/httpd/src/os/mpeix/os-inline.c deleted file mode 100644 index 54ff49a6391..00000000000 --- a/usr.sbin/httpd/src/os/mpeix/os-inline.c +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file contains functions which can be inlined if the compiler - * has an "inline" modifier. Because of this, this file is both a - * header file and a compilable module. - * - * Only inlineable functions should be defined in here. They must all - * include the INLINE modifier. - * - * If the compiler supports inline, this file will be #included as a - * header file from os.h to create all the inline function - * definitions. INLINE will be defined to whatever is required on - * function definitions to make them inline declarations. - * - * If the compiler does not support inline, this file will be compiled - * as a normal C file into libos.a (along with os.c). In this case - * INLINE will _not_ be set so we can use this to test if we are - * compiling this source file. - */ - -#ifndef INLINE -#define INLINE - -/* Anything required only when compiling */ -#include "ap_config.h" - -#endif - -INLINE int ap_os_is_path_absolute(const char *file) -{ - return file[0] == '/'; -} diff --git a/usr.sbin/httpd/src/os/mpeix/os.c b/usr.sbin/httpd/src/os/mpeix/os.c deleted file mode 100644 index d3884a5dc47..00000000000 --- a/usr.sbin/httpd/src/os/mpeix/os.c +++ /dev/null @@ -1 +0,0 @@ -#include "../unix/os.c" diff --git a/usr.sbin/httpd/src/os/mpeix/os.h b/usr.sbin/httpd/src/os/mpeix/os.h deleted file mode 100644 index 5bae765fc13..00000000000 --- a/usr.sbin/httpd/src/os/mpeix/os.h +++ /dev/null @@ -1,148 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef APACHE_OS_H -#define APACHE_OS_H - -#include "ap_config.h" - -#ifndef PLATFORM -#define PLATFORM "MPE/iX" -#endif - -/* - * This file in included in all Apache source code. It contains definitions - * of facilities available on _this_ operating system (HAVE_* macros), - * and prototypes of OS specific functions defined in os.c or os-inline.c - */ - -#if !defined(INLINE) && defined(USE_GNU_INLINE) -/* Compiler supports inline, so include the inlineable functions as - * part of the header - */ -#define INLINE extern ap_inline - -INLINE int ap_os_is_path_absolute(const char *file); - -#include "os-inline.c" - -#else - -/* Compiler does not support inline, so prototype the inlineable functions - * as normal - */ -extern int ap_os_is_path_absolute(const char *file); -#endif - -/* Other ap_os_ routines not used by this platform */ - -#define ap_os_is_filename_valid(f) (1) -#define ap_os_kill(pid, sig) kill(pid, sig) - -/* - * Abstraction layer for loading - * Apache modules under run-time via - * dynamic shared object (DSO) mechanism - */ - -#ifdef HAVE_DL_H -#include <dl.h> -#endif - -/* - * Do not use native AIX DSO support - */ -#ifdef AIX -#undef HAVE_DLFCN_H -#endif - -#ifdef HAVE_DLFCN_H -#include <dlfcn.h> -#else -void *dlopen(const char *, int); -int dlclose(void *); -void *dlsym(void *, const char *); -const char *dlerror(void); -#endif - -/* probably on an older system that doesn't support RTLD_NOW or RTLD_LAZY. - * The below define is a lie since we are really doing RTLD_LAZY since the - * system doesn't support RTLD_NOW. - */ -#ifndef RTLD_NOW -#define RTLD_NOW 1 -#endif - -#ifndef RTLD_GLOBAL -#define RTLD_GLOBAL 0 -#endif - -#if (defined(__FreeBSD__) ||\ - defined(__OpenBSD__) ||\ - defined(__NetBSD__) ) && !defined(__ELF__) -#define DLSYM_NEEDS_UNDERSCORE -#endif - -#define ap_os_dso_handle_t void * -void ap_os_dso_init(void); -void * ap_os_dso_load(const char *); -void ap_os_dso_unload(void *); -void * ap_os_dso_sym(void *, const char *); -const char *ap_os_dso_error(void); - -#endif /* !APACHE_OS_H */ diff --git a/usr.sbin/httpd/src/os/netware/Apache.def b/usr.sbin/httpd/src/os/netware/Apache.def deleted file mode 100644 index 9f1c81463d9..00000000000 --- a/usr.sbin/httpd/src/os/netware/Apache.def +++ /dev/null @@ -1,4 +0,0 @@ -# NLMs Apache depends on - -MODULE clib.nlm -MODULE apachec.nlm diff --git a/usr.sbin/httpd/src/os/netware/ApacheCore.imp b/usr.sbin/httpd/src/os/netware/ApacheCore.imp deleted file mode 100644 index 2055ccdf67f..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheCore.imp +++ /dev/null @@ -1,425 +0,0 @@ - ap_MD5Final, - ap_MD5Init, - ap_MD5Update, - ap_acquire_mutex, - ap_add_cgi_vars, - ap_add_common_vars, - ap_add_loaded_module, - ap_add_module, - ap_add_named_module, - ap_add_per_dir_conf, - ap_add_per_url_conf, - ap_add_version_component, - ap_allow_options, - ap_allow_overrides, - ap_append_arrays, - ap_array_cat, - ap_auth_name, - ap_auth_type, - ap_basic_http_header, - ap_bclose, - ap_bcreate, - ap_bfilbuf, - ap_bfileno, - ap_bflsbuf, - ap_bflush, - ap_bgetopt, - ap_bgets, - ap_bhalfduplex, - ap_block_alarms, - ap_blookc, - ap_bnonblock, - ap_bonerror, - ap_bpushfd, - ap_bputs, - ap_bread, - ap_bsetflag, - ap_bsetopt, - ap_bskiplf, - ap_bspawn_child, - ap_bwrite, - ap_bytes_in_free_blocks, - ap_bytes_in_pool, - ap_call_exec, - ap_can_exec, - ap_cfg_closefile, - ap_cfg_getc, - ap_cfg_getline, - ap_chdir_file, - ap_check_alarm, - ap_check_cmd_context, - ap_checkmask, - ap_cleanup_for_exec, - ap_clear_module_list, - ap_clear_pool, - ap_clear_table, - ap_close_piped_log, - ap_construct_server, - ap_construct_url, - ap_content_type_tolower, - ap_copy_array, - ap_copy_array_hdr, - ap_copy_table, - ap_count_dirs, - ap_cpystrn, - ap_create_environment, - ap_create_mutex, - ap_create_per_dir_config, - ap_custom_response, - ap_default_port_for_request, - ap_default_port_for_scheme, - ap_default_type, - ap_destroy_mutex, - ap_destroy_pool, - ap_destroy_sub_req, - ap_die, - ap_discard_request_body, - ap_document_root, - ap_each_byterange, - ap_error_log2stderr, - ap_escape_html, - ap_escape_path_segment, - ap_escape_quotes, - ap_escape_shell_cmd, - ap_exists_scoreboard_image, - ap_finalize_request_protocol, - ap_find_command, - ap_find_command_in_modules, - ap_find_last_token, - ap_find_linked_module, - ap_find_module_name, - ap_find_path_info, - ap_find_token, - ap_get_basic_auth_pw, - ap_get_client_block, - ap_get_gmtoff, - ap_get_limit_req_body, - ap_get_remote_host, - ap_get_remote_logname, - ap_get_server_built, - ap_get_server_name, - ap_get_server_port, - ap_get_server_version, - ap_get_time, - ap_get_token, - ap_getparents, - ap_getword, - ap_getword_conf, - ap_getword_conf_nc, - ap_getword_nc, - ap_getword_nulls, - ap_getword_nulls_nc, - ap_getword_white, - ap_getword_white_nc, - ap_gm_timestr_822, - ap_gname2id, - ap_handle_command, - ap_hard_timeout, - ap_ht_time, - ap_ind, - ap_index_of_response, - ap_init_virtual_host, - ap_internal_redirect, - ap_internal_redirect_handler, - ap_is_directory, - ap_is_fnmatch, - ap_is_initial_req, - ap_is_matchexp, - ap_is_url, - ap_kill_cleanup, - ap_kill_cleanups_for_fd, - ap_kill_cleanups_for_socket, - ap_kill_timeout, - ap_log_assert, - ap_log_error_old, - ap_log_reason, - ap_log_unixerr, - ap_make_array, - ap_make_dirstr, - ap_make_dirstr_parent, - ap_make_dirstr_prefix, - ap_make_full_path, - ap_make_sub_pool, - ap_make_table, - ap_matches_request_vhost, - ap_md5, - ap_md5_binary, - ap_md5contextTo64, - ap_md5digest, - ap_meets_conditions, - ap_no2slash, - ap_note_auth_failure, - ap_note_basic_auth_failure, - ap_note_cleanups_for_fd, - ap_note_cleanups_for_file, - ap_note_cleanups_for_socket, - ap_note_digest_auth_failure, - ap_note_subprocess, - ap_open_mutex, - ap_open_piped_log, - ap_os_escape_path, - ap_overlap_tables, - ap_overlay_tables, - ap_palloc, - ap_parseHTTPdate, - ap_parse_hostinfo_components, - ap_parse_uri, - ap_parse_uri_components, - ap_pcalloc, - ap_pcfg_open_custom, - ap_pcfg_openfile, - ap_pclosedir, - ap_pclosef, - ap_pclosesocket, - ap_pduphostent, - ap_pfclose, - ap_pfdopen, - ap_pfopen, - ap_pgethostbyname, - ap_popendir, - ap_popenf, - ap_popenf_ex, - ap_pregcomp, - ap_pregfree, - ap_pregsub, - ap_psignature, - ap_psocket, - ap_psocket_ex, - ap_pstrdup, - ap_pstrndup, - ap_push_array, - ap_pvsprintf, - ap_rationalize_mtime, - ap_register_cleanup, - ap_release_mutex, - ap_remove_loaded_module, - ap_remove_module, - ap_requires, - ap_reset_timeout, - ap_rflush, - ap_rind, - ap_rputc, - ap_rputs, - ap_run_cleanup, - ap_run_sub_req, - ap_rwrite, - ap_satisfies, - ap_scan_script_header_err, - ap_scan_script_header_err_buff, - ap_scan_script_header_err_core, - ap_send_fb, - ap_send_fb_length, - ap_send_fd, - ap_send_fd_length, - ap_send_http_header, - ap_send_http_trace, - ap_send_mmap, - ap_send_size, - ap_server_root_relative, - ap_set_byterange, - ap_set_content_length, - ap_set_etag, - ap_set_keepalive, - ap_set_last_modified, - ap_setup_client_block, - ap_should_client_block, - ap_soft_timeout, - ap_some_auth_required, - ap_spawn_child, - ap_srm_command_loop, - ap_str_tolower, - ap_strcasecmp_match, - ap_strcmp_match, - ap_sub_req_lookup_file, - ap_sub_req_lookup_uri, - ap_sync_scoreboard_image, - ap_table_add, - ap_table_addn, - ap_table_get, - ap_table_merge, - ap_table_mergen, - ap_table_set, - ap_table_setn, - ap_table_unset, - ap_tm2sec, - ap_uname2id, - ap_unblock_alarms, - ap_unescape_url, - ap_unparse_uri_components, - ap_update_mtime, - ap_uudecode, - ap_uuencode, - ap_vbprintf, - ap_vformatter, - ap_vsnprintf, - regcomp, - regexec, - regfree, - access_module, - alias_module, - ap_bprintf, - ap_bvputs, - ap_day_snames, - ap_extended_status, - ap_limit_section, - ap_loaded_modules, - ap_log_error, - ap_log_printf, - ap_log_rerror, - ap_month_snames, - ap_null_cleanup, - ap_psprintf, - ap_pstrcat, - ap_restart_time, - ap_rprintf, - ap_rvputs, - ap_scoreboard_image, - ap_send_header_field, - ap_server_argv0, - ap_server_root, - ap_set_file_slot, - ap_set_flag_slot, - ap_set_string_slot, - ap_set_string_slot_lower, - ap_snprintf, - ap_suexec_enabled, - ap_table_do, - apache_main, - asis_module, - auth_module, - autoindex_module, - config_log_module, - core_module, - dir_module, - env_module, - imap_module, - includes_module, - mime_module, - negotiation_module, - setenvif_module, - so_module, - top_module, - ap_fnmatch, - ap_method_number_of, - ap_exists_config_define, - ap_single_module_configure, - ap_make_etag, - ap_array_pstrcat, - ap_find_list_item, - ap_MD5Encode, - ap_validate_password, - ap_size_list_item, - ap_get_list_item, - ap_scoreboard_fname, - ap_pid_fname, - ap_excess_requests_per_child, - ap_threads_per_child, - ap_max_requests_per_child, - ap_daemons_to_start, - ap_daemons_min_free, - ap_daemons_max_free, - ap_daemons_limit, - ap_user_name, - ap_user_id, - ap_group_id, - ap_standalone, - ap_server_confname, - ap_sub_req_method_uri, - ap_regerror, - ap_regexec, - ap_field_noparam, - ap_pbase64decode, - ap_pbase64encode, - ap_base64encode, - ap_base64encode_binary, - ap_base64encode_len, - ap_base64decode, - ap_base64decode_binary, - ap_base64decode_len, - ap_SHA1Init, - ap_SHA1Update_binary, - ap_SHA1Update, - ap_SHA1Final, - ap_sha1_base64, - ap_my_generation, - ap_get_virthost_addr, - ap_listeners, - ap_listenbacklog, - clean_parent_exit, - init_tsd, - ap_set_config_vectors, - ap_strcasestr, - ap_to64, - ap_vrprintf, - regerror, - ap_add_file_conf, - ap_configtestonly, - ap_is_rdirectory, - ap_remove_spaces, - ap_scan_script_header_err_strs, - ap_start_shutdown, - ap_start_restart, - ap_stripprefix, - ap_send_error_response, - ap_os_canonical_filename, - ap_os_case_canonical_filename, - ap_os_http_method, - ap_os_default_port, - os_readdir, - os_opendir, - os_closedir, - ap_update_vhost_from_headers, - ap_update_vhost_given_ip, - ap_set_name_virtual_host, - ap_parse_vhost_addrs, - ap_fini_vhost_config, - ap_init_vhost_config, - ap_check_access, - ap_check_auth, - ap_check_user_id, - ap_translate_name, - ap_find_types, - ap_run_fixups, - ap_invoke_handler, - ap_log_transaction, - ap_header_parse, - ap_run_post_read_request, - ap_single_module_configure, - ap_init_modules, - ap_child_init_modules, - ap_child_exit_modules, - ap_setup_prelinked_modules, - ap_show_directives, - ap_show_modules, - ap_parse_htaccess, - ap_process_resource_config, - ap_create_request_config, - ap_merge_per_dir_configs, - ap_bind_address, - ap_core_reorder_directories, - ap_coredump_dir, - ap_force_library_loading, - ap_get_local_host, - ap_get_virthost_addr, - ap_init_alloc, - ap_keepalive_timeout, - ap_listenbacklog, - ap_lock_fname, - ap_log_pid, - ap_open_logs, - ap_process_request, - ap_read_config, - ap_read_request, - ap_response_code_string, - ap_rfc1413, - ap_send_http_options, - ap_server_config_defines, - ap_server_post_read_config, - ap_server_pre_read_config, - ap_set_callback_and_alarm, - ap_set_sub_req_protocol, - ap_update_child_status, - ap_sendwithtimeout, - ap_recvwithtimeout, - ap_getline, - ap_get_chunk_size, diff --git a/usr.sbin/httpd/src/os/netware/ApacheCoreNW.def b/usr.sbin/httpd/src/os/netware/ApacheCoreNW.def deleted file mode 100644 index 6762ac5dfe7..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheCoreNW.def +++ /dev/null @@ -1,8 +0,0 @@ -MODULE CLIB.NLM -MODULE WS2_32.NLM -IMPORT KillMe -IMPORT kMutexAlloc -IMPORT kMutexFree -IMPORT kMutexLock -IMPORT kMutexUnlock -EXPORT @apachecore.imp diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleAuthAnon.def b/usr.sbin/httpd/src/os/netware/ApacheModuleAuthAnon.def deleted file mode 100644 index 7465f677d16..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleAuthAnon.def +++ /dev/null @@ -1,2 +0,0 @@ -EXPORT anon_auth_module - diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleAuthDBM.def b/usr.sbin/httpd/src/os/netware/ApacheModuleAuthDBM.def deleted file mode 100644 index a25efea00cb..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleAuthDBM.def +++ /dev/null @@ -1,2 +0,0 @@ -EXPORT dbm_auth_module - diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleCERNMeta.def b/usr.sbin/httpd/src/os/netware/ApacheModuleCERNMeta.def deleted file mode 100644 index cb57210ebd5..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleCERNMeta.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT cern_meta_module diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleDigest.def b/usr.sbin/httpd/src/os/netware/ApacheModuleDigest.def deleted file mode 100644 index 74575fff4f3..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleDigest.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT digest_module diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleExpires.def b/usr.sbin/httpd/src/os/netware/ApacheModuleExpires.def deleted file mode 100644 index b48301ca058..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleExpires.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT expires_module diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleHeaders.def b/usr.sbin/httpd/src/os/netware/ApacheModuleHeaders.def deleted file mode 100644 index 5c765c286e2..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleHeaders.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT headers_module diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleInfo.def b/usr.sbin/httpd/src/os/netware/ApacheModuleInfo.def deleted file mode 100644 index 66690990048..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleInfo.def +++ /dev/null @@ -1,2 +0,0 @@ -EXPORT info_module - diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleProxy.def b/usr.sbin/httpd/src/os/netware/ApacheModuleProxy.def deleted file mode 100644 index 7b1c93b7d75..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleProxy.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT proxy_module diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleRewrite.def b/usr.sbin/httpd/src/os/netware/ApacheModuleRewrite.def deleted file mode 100644 index 2f7d7e8c113..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleRewrite.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT rewrite_module diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleSpeling.def b/usr.sbin/httpd/src/os/netware/ApacheModuleSpeling.def deleted file mode 100644 index dec9ffc3662..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleSpeling.def +++ /dev/null @@ -1,2 +0,0 @@ -EXPORT speling_module - diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleStatus.def b/usr.sbin/httpd/src/os/netware/ApacheModuleStatus.def deleted file mode 100644 index 06f9577ceac..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleStatus.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT status_module diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleTLS.def b/usr.sbin/httpd/src/os/netware/ApacheModuleTLS.def deleted file mode 100644 index cd923a556e7..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleTLS.def +++ /dev/null @@ -1,3 +0,0 @@ -MODULE wspssl -EXPORT tls_module - diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleUniqueID.def b/usr.sbin/httpd/src/os/netware/ApacheModuleUniqueID.def deleted file mode 100644 index 95cfc835465..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleUniqueID.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT unique_id_module diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleUserTrack.def b/usr.sbin/httpd/src/os/netware/ApacheModuleUserTrack.def deleted file mode 100644 index bd975910c23..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleUserTrack.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT usertrack_module diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleVhostAlias.def b/usr.sbin/httpd/src/os/netware/ApacheModuleVhostAlias.def deleted file mode 100644 index 09f5dc2eae3..00000000000 --- a/usr.sbin/httpd/src/os/netware/ApacheModuleVhostAlias.def +++ /dev/null @@ -1 +0,0 @@ -EXPORT vhost_alias_module diff --git a/usr.sbin/httpd/src/os/netware/apache.xdc b/usr.sbin/httpd/src/os/netware/apache.xdc Binary files differdeleted file mode 100644 index 12a7f6ba2df..00000000000 --- a/usr.sbin/httpd/src/os/netware/apache.xdc +++ /dev/null diff --git a/usr.sbin/httpd/src/os/netware/getopt.c b/usr.sbin/httpd/src/os/netware/getopt.c deleted file mode 100644 index 969a5629e7d..00000000000 --- a/usr.sbin/httpd/src/os/netware/getopt.c +++ /dev/null @@ -1,161 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <assert.h> -#include <stdlib.h> - -#define OPTERRCOLON (1) -#define OPTERRNF (2) -#define OPTERRARG (3) - -char *optarg; -int optind = 1; -int opterr = 1; -int optopt; - -static int -optiserr(int argc, char * const *argv, int oint, const char *optstr, - int optchr, int err) -{ - if (opterr) { - fprintf(stderr, "Error in argument %d, char %d: ", oint, optchr + 1); - - switch (err) { - case OPTERRCOLON: - fprintf(stderr, ": in flags\n"); - break; - case OPTERRNF: - fprintf(stderr, "option not found %c\n", argv[oint][optchr]); - break; - case OPTERRARG: - fprintf(stderr, "no argument for option %c\n", argv[oint][optchr]); - break; - default: - fprintf(stderr, "unknown\n"); - break; - } - } - optopt = argv[oint][optchr]; - return('?'); -} - -int -getopt(int argc, char* const *argv, const char *optstr) -{ - static int optchr = 0; - static int dash = 0; /* have already seen the - */ - - char *cp; - - if (optind >= argc) - return(EOF); - - if (!dash && (argv[optind][0] != '-')) - return(EOF); - - if (!dash && (argv[optind][0] == '-') && !argv[optind][1]) { - /* - * use to specify stdin. Need to let pgm process this and - * the following args - */ - return(EOF); - } - - if ((argv[optind][0] == '-') && (argv[optind][1] == '-')) { - /* -- indicates end of args */ - optind++; - return(EOF); - } - - if (!dash) { - assert((argv[optind][0] == '-') && argv[optind][1]); - dash = 1; - optchr = 1; - } - - /* Check if the guy tries to do a -: kind of flag */ - assert(dash); - if (argv[optind][optchr] == ':') { - dash = 0; - optind++; - return(optiserr(argc, argv, optind-1, optstr, optchr, OPTERRCOLON)); - } - - if (!(cp = strchr(optstr, argv[optind][optchr]))) { - int errind = optind; - int errchr = optchr; - - if (!argv[optind][optchr+1]) { - dash = 0; - optind++; - } - else - optchr++; - return(optiserr(argc, argv, errind, optstr, errchr, OPTERRNF)); - } - - if (cp[1] == ':') { - dash = 0; - optind++; - - if(optind == argc) - return(optiserr(argc, argv, optind-1, optstr, optchr, OPTERRARG)); - optarg = argv[optind++]; - return(*cp); - } else { - if (!argv[optind][optchr+1]) { - dash = 0; - optind++; - } - else - optchr++; - return(*cp); - } - assert(0); - return(0); -} - -#ifdef TESTGETOPT -int main(int argc, char **argv) -{ - int c; - extern char *optarg; - extern int optind; - int aflg = 0; - int bflg = 0; - int errflg = 0; - char *ofile = NULL; - - while ((c = getopt(argc, argv, "abo:")) != EOF) - switch (c) { - case 'a': - if (bflg) - errflg++; - else - aflg++; - break; - case 'b': - if (aflg) - errflg++; - else - bflg++; - break; - case 'o': - ofile = optarg; - (void)printf("ofile = %s\n", ofile); - break; - case '?': - errflg++; - } - - if (errflg) { - (void)fprintf(stderr, "usage: cmd [-a|-b] [-o <filename>] files...\n"); - exit(2); - } - - for ( ; optind < argc; optind++) - (void)printf("%s\n", argv[optind]); - - return 0; -} - -#endif /* TESTGETOPT */
\ No newline at end of file diff --git a/usr.sbin/httpd/src/os/netware/getopt.h b/usr.sbin/httpd/src/os/netware/getopt.h deleted file mode 100644 index f0a4e696ce3..00000000000 --- a/usr.sbin/httpd/src/os/netware/getopt.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef GETOPT_H -#define GETOPT_H - -extern char *optarg; -extern int optind; -extern int opterr; -extern int optopt; -int getopt(int argc, char* const *argv, const char *optstr); - -#endif /* GETOPT_H */
\ No newline at end of file diff --git a/usr.sbin/httpd/src/os/netware/libpre.c b/usr.sbin/httpd/src/os/netware/libpre.c deleted file mode 100644 index 3b0956babf3..00000000000 --- a/usr.sbin/httpd/src/os/netware/libpre.c +++ /dev/null @@ -1,31 +0,0 @@ -/*------------------------------------------------------------------ - These functions are to be called when the shared NLM starts and - stops. By using these functions instead of defining a main() - and calling ExitThread(TSR_THREAD, 0), the load time of the - shared NLM is faster and memory size reduced. - - You may also want to override these in your own Apache module - to do any cleanup other than the mechanism Apache modules - provide. -------------------------------------------------------------------*/ - -int _lib_start(); -int _lib_stop(); - -#ifdef __GNUC__ -#include <string.h> /* memset */ -extern char _edata, _end ; /* end of DATA (start of BSS), end of BSS */ -#endif - -int _lib_start() -{ -#ifdef __GNUC__ - memset (&_edata, 0, &_end - &_edata); -#endif - return 0; -} - -int _lib_stop() -{ - return 0; -} diff --git a/usr.sbin/httpd/src/os/netware/libprews.c b/usr.sbin/httpd/src/os/netware/libprews.c deleted file mode 100644 index 59149f803c9..00000000000 --- a/usr.sbin/httpd/src/os/netware/libprews.c +++ /dev/null @@ -1,36 +0,0 @@ -/*------------------------------------------------------------------ - These functions are to be called when the shared NLM starts and - stops. By using these functions instead of defining a main() - and calling ExitThread(TSR_THREAD, 0), the load time of the - shared NLM is faster and memory size reduced. - - You may also want to override these in your own Apache module - to do any cleanup other than the mechanism Apache modules - provide. -------------------------------------------------------------------*/ -#include "stddef.h" -#include "ws2nlm.h" - -int _lib_start_ws(); -int _lib_stop_ws(); - -#ifdef __GNUC__ -#include <string.h> /* memset */ -extern char _edata, _end ; /* end of DATA (start of BSS), end of BSS */ -#endif - -int _lib_start_ws() -{ - WSADATA wsaData; - -#ifdef __GNUC__ - memset (&_edata, 0, &_end - &_edata); -#endif - return WSAStartup((WORD) MAKEWORD(2, 0), &wsaData); -} - -int _lib_stop_ws() -{ - WSACleanup(); - return 0; -} diff --git a/usr.sbin/httpd/src/os/netware/main_nlm.c b/usr.sbin/httpd/src/os/netware/main_nlm.c deleted file mode 100644 index 5950d4f73b5..00000000000 --- a/usr.sbin/httpd/src/os/netware/main_nlm.c +++ /dev/null @@ -1,10 +0,0 @@ -/* main_NLM.c - Apache executable stub file for NetWare - * This file's purpose in life is to load, and call the - * "real" main function, apache_main(), located in ApacheC.nlm - */ -int apache_main(int argc, char *argv[]); - -int main(int argc, char *argv[]) -{ - return apache_main(argc, argv); -} diff --git a/usr.sbin/httpd/src/os/netware/mod_log_nw.c b/usr.sbin/httpd/src/os/netware/mod_log_nw.c deleted file mode 100644 index b66401e5f85..00000000000 --- a/usr.sbin/httpd/src/os/netware/mod_log_nw.c +++ /dev/null @@ -1,1298 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -/* - * Modified by djm@va.pubnix.com: - * If no TransferLog is given explicitly, decline to log. - * - * This is module implements the TransferLog directive (same as the - * common log module), and additional directives, LogFormat and CustomLog. - * - * - * Syntax: - * - * TransferLog fn Logs transfers to fn in standard log format, unless - * a custom format is set with LogFormat - * LogFormat format Set a log format from TransferLog files - * CustomLog fn format - * Log to file fn with format given by the format - * argument - * - * CookieLog fn For backwards compatability with old Cookie - * logging module - now deprecated. - * - * There can be any number of TransferLog and CustomLog - * commands. Each request will be logged to _ALL_ the - * named files, in the appropriate format. - * - * If no TransferLog or CustomLog directive appears in a VirtualHost, - * the request will be logged to the log file(s) defined outside - * the virtual host section. If a TransferLog or CustomLog directive - * appears in the VirtualHost section, the log files defined outside - * the VirtualHost will _not_ be used. This makes this module compatable - * with the CLF and config log modules, where the use of TransferLog - * inside the VirtualHost section overrides its use outside. - * - * Examples: - * - * TransferLog logs/access_log - * <VirtualHost> - * LogFormat "... custom format ..." - * TransferLog log/virtual_only - * CustomLog log/virtual_useragents "%t %{user-agent}i" - * </VirtualHost> - * - * This will log using CLF to access_log any requests handled by the - * main server, while any requests to the virtual host will be logged - * with the "... custom format..." to virtual_only _AND_ using - * the custom user-agent log to virtual_useragents. - * - * Note that the NCSA referer and user-agent logs are easily added with - * CustomLog: - * CustomLog logs/referer "%{referer}i -> %U" - * CustomLog logs/agent "%{user-agent}i" - * - * RefererIgnore functionality can be obtained with conditional - * logging (SetEnvIf and CustomLog ... env=!VAR). - * - * But using this method allows much easier modification of the - * log format, e.g. to log hosts along with UA: - * CustomLog logs/referer "%{referer}i %U %h" - * - * The argument to LogFormat and CustomLog is a string, which can include - * literal characters copied into the log files, and '%' directives as - * follows: - * - * %...B: bytes sent, excluding HTTP headers. - * %...b: bytes sent, excluding HTTP headers in CLF format, i.e. a '-' - * when no bytes where sent (rather than a '0'. - * %...c: Status of the connection. - * 'X' = connection aborted before the response completed. - * '+' = connection may be kept alive after the response is sent. - * '-' = connection will be closed after the response is sent. - * %...{FOOBAR}e: The contents of the environment variable FOOBAR - * %...f: filename - * %...h: remote host - * %...a: remote IP-address - * %...A: local IP-address - * %...{Foobar}i: The contents of Foobar: header line(s) in the request - * sent to the client. - * %...l: remote logname (from identd, if supplied) - * %...{Foobar}n: The contents of note "Foobar" from another module. - * %...{Foobar}o: The contents of Foobar: header line(s) in the reply. - * %...p: the port the request was served to - * %...P: the process ID of the child that serviced the request. - * %...r: first line of request - * %...s: status. For requests that got internally redirected, this - * is status of the *original* request --- %...>s for the last. - * %...t: time, in common log format time format - * %...{format}t: The time, in the form given by format, which should - * be in strftime(3) format. - * %...T: the time taken to serve the request, in seconds. - * %...u: remote user (from auth; may be bogus if return status (%s) is 401) - * %...U: the URL path requested. - * %...v: the configured name of the server (i.e. which virtual host?) - * %...V: the server name according to the UseCanonicalName setting - * %...m: the request method - * %...H: the request protocol - * %...q: the query string prepended by "?", or empty if no query string - * - * The '...' can be nothing at all (e.g. "%h %u %r %s %b"), or it can - * indicate conditions for inclusion of the item (which will cause it - * to be replaced with '-' if the condition is not met). Note that - * there is no escaping performed on the strings from %r, %...i and - * %...o; some with long memories may remember that I thought this was - * a bad idea, once upon a time, and I'm still not comfortable with - * it, but it is difficult to see how to "do the right thing" with all - * of '%..i', unless we URL-escape everything and break with CLF. - * - * The forms of condition are a list of HTTP status codes, which may - * or may not be preceded by '!'. Thus, '%400,501{User-agent}i' logs - * User-agent: on 400 errors and 501 errors (Bad Request, Not - * Implemented) only; '%!200,304,302{Referer}i' logs Referer: on all - * requests which did *not* return some sort of normal status. - * - * The default LogFormat reproduces CLF; see below. - * - * The way this is supposed to work with virtual hosts is as follows: - * a virtual host can have its own LogFormat, or its own TransferLog. - * If it doesn't have its own LogFormat, it inherits from the main - * server. If it doesn't have its own TransferLog, it writes to the - * same descriptor (meaning the same process for "| ..."). - * - * --- rst */ - -#define DEFAULT_LOG_FORMAT "%h %l %u %t \"%r\" %>s %b" - -#include "httpd.h" -#include "http_config.h" -#include "http_core.h" /* For REMOTE_NAME */ -#include "http_log.h" -#include <limits.h> - -module MODULE_VAR_EXPORT config_log_module; - -static int xfer_flags = (O_WRONLY | O_APPEND | O_CREAT); -#if defined(OS2) || defined(WIN32) || defined(NETWARE) -/* OS/2 dosen't support users and groups */ -static mode_t xfer_mode = (S_IREAD | S_IWRITE); -#else -static mode_t xfer_mode = (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); -#endif - -/* POSIX.1 defines PIPE_BUF as the maximum number of bytes that is - * guaranteed to be atomic when writing a pipe. And PIPE_BUF >= 512 - * is guaranteed. So we'll just guess 512 in the event the system - * doesn't have this. Now, for file writes there is actually no limit, - * the entire write is atomic. Whether all systems implement this - * correctly is another question entirely ... so we'll just use PIPE_BUF - * because it's probably a good guess as to what is implemented correctly - * everywhere. - */ -#ifdef PIPE_BUF -#define LOG_BUFSIZE PIPE_BUF -#else -#define LOG_BUFSIZE (512) -#endif - -/* - * multi_log_state is our per-(virtual)-server configuration. We store - * an array of the logs we are going to use, each of type config_log_state. - * If a default log format is given by LogFormat, store in default_format - * (backward compat. with mod_log_config). We also store for each virtual - * server a pointer to the logs specified for the main server, so that if this - * vhost has no logs defined, we can use the main server's logs instead. - * - * So, for the main server, config_logs contains a list of the log files - * and server_config_logs in empty. For a vhost, server_config_logs - * points to the same array as config_logs in the main server, and - * config_logs points to the array of logs defined inside this vhost, - * which might be empty. - */ - -typedef struct { - char *default_format_string; - array_header *default_format; - array_header *config_logs; - array_header *server_config_logs; - table *formats; - int rotatedaily; - int rotateinterval; -} multi_log_state; - -/* - * config_log_state holds the status of a single log file. fname might - * be NULL, which means this module does no logging for this - * request. format might be NULL, in which case the default_format - * from the multi_log_state should be used, or if that is NULL as - * well, use the CLF. log_fd is -1 before the log file is opened and - * set to a valid fd after it is opened. - */ - -typedef struct { - char *fname; - char *format_string; - array_header *format; - int log_fd; - char *condition_var; -#ifdef BUFFERED_LOGS - int outcnt; - char outbuf[LOG_BUFSIZE]; -#endif - time_t time_jump; -} config_log_state; - -/* - * Format items... - * Note that many of these could have ap_sprintfs replaced with static buffers. - */ - -typedef const char *(*item_key_func) (request_rec *, char *); - -typedef struct { - item_key_func func; - char *arg; - int condition_sense; - int want_orig; - array_header *conditions; -} log_format_item; - -static char *format_integer(pool *p, int i) -{ - return ap_psprintf(p, "%d", i); -} - -static char *pfmt(pool *p, int i) -{ - if (i <= 0) { - return "-"; - } - else { - return format_integer(p, i); - } -} - -static const char *constant_item(request_rec *dummy, char *stuff) -{ - return stuff; -} - -static const char *log_remote_host(request_rec *r, char *a) -{ - return ap_get_remote_host(r->connection, r->per_dir_config, - REMOTE_NAME); -} - -static const char *log_remote_address(request_rec *r, char *a) -{ - return r->connection->remote_ip; -} - -static const char *log_local_address(request_rec *r, char *a) -{ - return r->connection->local_ip; -} - -static const char *log_remote_logname(request_rec *r, char *a) -{ - return ap_get_remote_logname(r); -} - -static const char *log_remote_user(request_rec *r, char *a) -{ - char *rvalue = r->connection->user; - - if (rvalue == NULL) { - rvalue = "-"; - } - else if (strlen(rvalue) == 0) { - rvalue = "\"\""; - } - return rvalue; -} - -static const char *log_request_line(request_rec *r, char *a) -{ - /* NOTE: If the original request contained a password, we - * re-write the request line here to contain XXXXXX instead: - * (note the truncation before the protocol string for HTTP/0.9 requests) - * (note also that r->the_request contains the unmodified request) - */ - return (r->parsed_uri.password) ? ap_pstrcat(r->pool, r->method, " ", - ap_unparse_uri_components(r->pool, &r->parsed_uri, 0), - r->assbackwards ? NULL : " ", r->protocol, NULL) - : r->the_request; -} - -static const char *log_request_file(request_rec *r, char *a) -{ - return r->filename; -} -static const char *log_request_uri(request_rec *r, char *a) -{ - return r->uri; -} -static const char *log_request_method(request_rec *r, char *a) -{ - return r->method; -} -static const char *log_request_protocol(request_rec *r, char *a) -{ - return r->protocol; -} -static const char *log_request_query(request_rec *r, char *a) -{ - return (r->args != NULL) ? ap_pstrcat(r->pool, "?", r->args, NULL) - : ""; -} -static const char *log_status(request_rec *r, char *a) -{ - return pfmt(r->pool, r->status); -} - -static const char *clf_log_bytes_sent(request_rec *r, char *a) -{ - if (!r->sent_bodyct) { - return "-"; - } - else { - long int bs; - ap_bgetopt(r->connection->client, BO_BYTECT, &bs); - return ap_psprintf(r->pool, "%ld", bs); - } -} - -static const char *log_bytes_sent(request_rec *r, char *a) -{ - if (!r->sent_bodyct) { - return "0"; - } - else { - long int bs; - ap_bgetopt(r->connection->client, BO_BYTECT, &bs); - return ap_psprintf(r->pool, "%ld", bs); - } -} - - -static const char *log_header_in(request_rec *r, char *a) -{ - return ap_table_get(r->headers_in, a); -} - -static const char *log_header_out(request_rec *r, char *a) -{ - const char *cp = ap_table_get(r->headers_out, a); - if (!strcasecmp(a, "Content-type") && r->content_type) { - cp = ap_field_noparam(r->pool, r->content_type); - } - if (cp) { - return cp; - } - return ap_table_get(r->err_headers_out, a); -} - -static const char *log_note(request_rec *r, char *a) -{ - return ap_table_get(r->notes, a); -} -static const char *log_env_var(request_rec *r, char *a) -{ - return ap_table_get(r->subprocess_env, a); -} - -static const char *log_request_time(request_rec *r, char *a) -{ - int timz; - struct tm *t; - char tstr[MAX_STRING_LEN]; - - t = ap_get_gmtoff(&timz); - - if (a && *a) { /* Custom format */ - strftime(tstr, MAX_STRING_LEN, a, t); - } - else { /* CLF format */ - char sign = (timz < 0 ? '-' : '+'); - - if (timz < 0) { - timz = -timz; - } - ap_snprintf(tstr, sizeof(tstr), "[%02d/%s/%d:%02d:%02d:%02d %c%.2d%.2d]", - t->tm_mday, ap_month_snames[t->tm_mon], t->tm_year+1900, - t->tm_hour, t->tm_min, t->tm_sec, - sign, timz / 60, timz % 60); - } - - return ap_pstrdup(r->pool, tstr); -} - -static const char *log_request_duration(request_rec *r, char *a) -{ - return ap_psprintf(r->pool, "%ld", time(NULL) - r->request_time); -} - -/* These next two routines use the canonical name:port so that log - * parsers don't need to duplicate all the vhost parsing crud. - */ -static const char *log_virtual_host(request_rec *r, char *a) -{ - return r->server->server_hostname; -} - -static const char *log_server_port(request_rec *r, char *a) -{ - return ap_psprintf(r->pool, "%u", - r->server->port ? r->server->port : ap_default_port(r)); -} - -/* This respects the setting of UseCanonicalName so that - * the dynamic mass virtual hosting trick works better. - */ -static const char *log_server_name(request_rec *r, char *a) -{ - return ap_get_server_name(r); -} - -static const char *log_child_pid(request_rec *r, char *a) -{ - return ap_psprintf(r->pool, "%ld", (long) getpid()); -} -static const char *log_connection_status(request_rec *r, char *a) -{ - if (r->connection->aborted) - return "X"; - - if ((r->connection->keepalive) && - ((r->server->keep_alive_max - r->connection->keepalives) > 0)) { - return "+"; - } - - return "-"; -} -/***************************************************************** - * - * Parsing the log format string - */ - -static struct log_item_list { - char ch; - item_key_func func; - int want_orig_default; -} log_item_keys[] = { - - { - 'h', log_remote_host, 0 - }, - { - 'a', log_remote_address, 0 - }, - { - 'A', log_local_address, 0 - }, - { - 'l', log_remote_logname, 0 - }, - { - 'u', log_remote_user, 0 - }, - { - 't', log_request_time, 0 - }, - { - 'T', log_request_duration, 1 - }, - { - 'r', log_request_line, 1 - }, - { - 'f', log_request_file, 0 - }, - { - 'U', log_request_uri, 1 - }, - { - 's', log_status, 1 - }, - { - 'b', clf_log_bytes_sent, 0 - }, - { - 'B', log_bytes_sent, 0 - }, - { - 'i', log_header_in, 0 - }, - { - 'o', log_header_out, 0 - }, - { - 'n', log_note, 0 - }, - { - 'e', log_env_var, 0 - }, - { - 'V', log_server_name, 0 - }, - { - 'v', log_virtual_host, 0 - }, - { - 'p', log_server_port, 0 - }, - { - 'P', log_child_pid, 0 - }, - { - 'H', log_request_protocol, 0 - }, - { - 'm', log_request_method, 0 - }, - { - 'q', log_request_query, 0 - }, - { - 'c', log_connection_status, 0 - }, - { - '\0' - } -}; - -static struct log_item_list *find_log_func(char k) -{ - int i; - - for (i = 0; log_item_keys[i].ch; ++i) - if (k == log_item_keys[i].ch) { - return &log_item_keys[i]; - } - - return NULL; -} - -static char *parse_log_misc_string(pool *p, log_format_item *it, - const char **sa) -{ - const char *s; - char *d; - - it->func = constant_item; - it->conditions = NULL; - - s = *sa; - while (*s && *s != '%') { - s++; - } - /* - * This might allocate a few chars extra if there's a backslash - * escape in the format string. - */ - it->arg = ap_palloc(p, s - *sa + 1); - - d = it->arg; - s = *sa; - while (*s && *s != '%') { - if (*s != '\\') { - *d++ = *s++; - } - else { - s++; - switch (*s) { - case '\\': - *d++ = '\\'; - s++; - break; - case 'n': - *d++ = '\n'; - s++; - break; - case 't': - *d++ = '\t'; - s++; - break; - default: - /* copy verbatim */ - *d++ = '\\'; - /* - * Allow the loop to deal with this *s in the normal - * fashion so that it handles end of string etc. - * properly. - */ - break; - } - } - } - *d = '\0'; - - *sa = s; - return NULL; -} - -static char *parse_log_item(pool *p, log_format_item *it, const char **sa) -{ - const char *s = *sa; - - if (*s != '%') { - return parse_log_misc_string(p, it, sa); - } - - ++s; - it->condition_sense = 0; - it->conditions = NULL; - it->want_orig = -1; - it->arg = ""; /* For safety's sake... */ - - while (*s) { - int i; - struct log_item_list *l; - - switch (*s) { - case '!': - ++s; - it->condition_sense = !it->condition_sense; - break; - - case '<': - ++s; - it->want_orig = 1; - break; - - case '>': - ++s; - it->want_orig = 0; - break; - - case ',': - ++s; - break; - - case '{': - ++s; - it->arg = ap_getword(p, &s, '}'); - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - i = *s - '0'; - while (ap_isdigit(*++s)) { - i = i * 10 + (*s) - '0'; - } - if (!it->conditions) { - it->conditions = ap_make_array(p, 4, sizeof(int)); - } - *(int *) ap_push_array(it->conditions) = i; - break; - - default: - l = find_log_func(*s++); - if (!l) { - char dummy[2]; - - dummy[0] = s[-1]; - dummy[1] = '\0'; - return ap_pstrcat(p, "Unrecognized LogFormat directive %", - dummy, NULL); - } - it->func = l->func; - if (it->want_orig == -1) { - it->want_orig = l->want_orig_default; - } - *sa = s; - return NULL; - } - } - - return "Ran off end of LogFormat parsing args to some directive"; -} - -static array_header *parse_log_string(pool *p, const char *s, const char **err) -{ - array_header *a = ap_make_array(p, 30, sizeof(log_format_item)); - char *res; - - while (*s) { - if ((res = parse_log_item(p, (log_format_item *) ap_push_array(a), &s))) { - *err = res; - return NULL; - } - } - - s = "\n"; - parse_log_item(p, (log_format_item *) ap_push_array(a), &s); - return a; -} - -/***************************************************************** - * - * Actually logging. - */ - -static const char *process_item(request_rec *r, request_rec *orig, - log_format_item *item) -{ - const char *cp; - - /* First, see if we need to process this thing at all... */ - - if (item->conditions && item->conditions->nelts != 0) { - int i; - int *conds = (int *) item->conditions->elts; - int in_list = 0; - - for (i = 0; i < item->conditions->nelts; ++i) { - if (r->status == conds[i]) { - in_list = 1; - break; - } - } - - if ((item->condition_sense && in_list) - || (!item->condition_sense && !in_list)) { - return "-"; - } - } - - /* We do. Do it... */ - - cp = (*item->func) (item->want_orig ? orig : r, item->arg); - return cp ? cp : "-"; -} - -#ifdef BUFFERED_LOGS -static void flush_log(config_log_state *cls) -{ - if (cls->outcnt && cls->log_fd != -1) { - write(cls->log_fd, cls->outbuf, cls->outcnt); - cls->outcnt = 0; - } -} -#endif - -static int config_log_transaction(request_rec *r, config_log_state *cls, - array_header *default_format) -{ - log_format_item *items; - char *str, *s; - const char **strs; - int *strl; - request_rec *orig; - int i; - int len = 0; - array_header *format; - char *envar; - int log_fd; - - multi_log_state *mls = ap_get_module_config(r->server->module_config,&config_log_module); - - if ((mls->rotatedaily || mls->rotateinterval) && - (r->request_time>=cls->time_jump) && - (*cls->fname!='|') && (strcmp(cls->fname,"/dev/null") != 0)) { - char * fname; - struct tm *time_tmp; - - if (mls->rotatedaily) { - time_tmp=localtime(&(r->request_time)); - cls->time_jump=r->request_time+((60-time_tmp->tm_sec)+60*(59-time_tmp->tm_min)+3600*(23-time_tmp->tm_hour)); - } - else - cls->time_jump = r->request_time + (60*mls->rotateinterval); - - fname = ap_pstrcat(r->pool, - ap_server_root_relative(r->pool, cls->fname), - "-", - ap_ht_time(r->pool,r->request_time,"%Y%m%d%H%M",0), - NULL - ); - - if ((log_fd = open(fname, xfer_flags, xfer_mode)) < 0) { - ap_log_error(APLOG_MARK, APLOG_ERR, r->server, - "could not open transfer log file %s.", fname); - } - else { - dup2 (log_fd, cls->log_fd); - close (log_fd); - } - } - - if (cls->fname == NULL) { - return DECLINED; - } - - /* - * See if we've got any conditional envariable-controlled logging decisions - * to make. - */ - if (cls->condition_var != NULL) { - envar = cls->condition_var; - if (*envar != '!') { - if (ap_table_get(r->subprocess_env, envar) == NULL) { - return DECLINED; - } - } - else { - if (ap_table_get(r->subprocess_env, &envar[1]) != NULL) { - return DECLINED; - } - } - } - - format = cls->format ? cls->format : default_format; - - strs = ap_palloc(r->pool, sizeof(char *) * (format->nelts)); - strl = ap_palloc(r->pool, sizeof(int) * (format->nelts)); - items = (log_format_item *) format->elts; - - orig = r; - while (orig->prev) { - orig = orig->prev; - } - while (r->next) { - r = r->next; - } - - for (i = 0; i < format->nelts; ++i) { - strs[i] = process_item(r, orig, &items[i]); - } - - for (i = 0; i < format->nelts; ++i) { - len += strl[i] = strlen(strs[i]); - } - -#ifdef BUFFERED_LOGS - if (len + cls->outcnt > LOG_BUFSIZE) { - flush_log(cls); - } - if (len >= LOG_BUFSIZE) { - str = ap_palloc(r->pool, len + 1); - for (i = 0, s = str; i < format->nelts; ++i) { - memcpy(s, strs[i], strl[i]); - s += strl[i]; - } - write(cls->log_fd, str, len); - } - else { - for (i = 0, s = &cls->outbuf[cls->outcnt]; i < format->nelts; ++i) { - memcpy(s, strs[i], strl[i]); - s += strl[i]; - } - cls->outcnt += len; - } -#else - str = ap_palloc(r->pool, len + 1); - - for (i = 0, s = str; i < format->nelts; ++i) { - memcpy(s, strs[i], strl[i]); - s += strl[i]; - } - - write(cls->log_fd, str, len); -#endif - - return OK; -} - -static int multi_log_transaction(request_rec *r) -{ - multi_log_state *mls = ap_get_module_config(r->server->module_config, - &config_log_module); - config_log_state *clsarray; - int i; - - /* - * Log this transaction.. - */ - if (mls->config_logs->nelts) { - clsarray = (config_log_state *) mls->config_logs->elts; - for (i = 0; i < mls->config_logs->nelts; ++i) { - config_log_state *cls = &clsarray[i]; - - config_log_transaction(r, cls, mls->default_format); - } - } - else if (mls->server_config_logs) { - clsarray = (config_log_state *) mls->server_config_logs->elts; - for (i = 0; i < mls->server_config_logs->nelts; ++i) { - config_log_state *cls = &clsarray[i]; - - config_log_transaction(r, cls, mls->default_format); - } - } - - return OK; -} - -/***************************************************************** - * - * Module glue... - */ - -static void *make_config_log_state(pool *p, server_rec *s) -{ - multi_log_state *mls; - - mls = (multi_log_state *) ap_palloc(p, sizeof(multi_log_state)); - mls->config_logs = ap_make_array(p, 1, sizeof(config_log_state)); - mls->default_format_string = NULL; - mls->default_format = NULL; - mls->server_config_logs = NULL; - mls->formats = ap_make_table(p, 4); - ap_table_setn(mls->formats, "CLF", DEFAULT_LOG_FORMAT); - mls->rotatedaily = 0; - mls->rotateinterval = 0; - - return mls; -} - -/* - * Use the merger to simply add a pointer from the vhost log state - * to the log of logs specified for the non-vhost configuration. Make sure - * vhosts inherit any globally-defined format names. - */ - -static void *merge_config_log_state(pool *p, void *basev, void *addv) -{ - multi_log_state *base = (multi_log_state *) basev; - multi_log_state *add = (multi_log_state *) addv; - - if (add->rotatedaily==0) { - add->rotatedaily=base->rotatedaily; - } - if (add->rotateinterval==0) { - add->rotateinterval=base->rotateinterval; - } - - add->server_config_logs = base->config_logs; - if (!add->default_format) { - add->default_format_string = base->default_format_string; - add->default_format = base->default_format; - } - add->formats = ap_overlay_tables(p, base->formats, add->formats); - - return add; -} - -/* - * Set the default logfile format, or define a nickname for a format string. - */ -static const char *log_format(cmd_parms *cmd, void *dummy, char *fmt, - char *name) -{ - const char *err_string = NULL; - multi_log_state *mls = ap_get_module_config(cmd->server->module_config, - &config_log_module); - - /* - * If we were given two arguments, the second is a name to be given to the - * format. This syntax just defines the nickname - it doesn't actually - * make the format the default. - */ - if (name != NULL) { - parse_log_string(cmd->pool, fmt, &err_string); - if (err_string == NULL) { - ap_table_setn(mls->formats, name, fmt); - } - } - else { - mls->default_format_string = fmt; - mls->default_format = parse_log_string(cmd->pool, fmt, &err_string); - } - return err_string; -} - - -static const char *add_custom_log(cmd_parms *cmd, void *dummy, char *fn, - char *fmt, char *envclause) -{ - const char *err_string = NULL; - multi_log_state *mls = ap_get_module_config(cmd->server->module_config, - &config_log_module); - config_log_state *cls; - - cls = (config_log_state *) ap_push_array(mls->config_logs); - cls->condition_var = NULL; - if (envclause != NULL) { - if (strncasecmp(envclause, "env=", 4) != 0) { - return "error in condition clause"; - } - if ((envclause[4] == '\0') - || ((envclause[4] == '!') && (envclause[5] == '\0'))) { - return "missing environment variable name"; - } - cls->condition_var = ap_pstrdup(cmd->pool, &envclause[4]); - } - - cls->fname = fn; - cls->format_string = fmt; - if (fmt == NULL) { - cls->format = NULL; - } - else { - cls->format = parse_log_string(cmd->pool, fmt, &err_string); - } - cls->log_fd = -1; - - return err_string; -} - -static const char *set_transfer_log(cmd_parms *cmd, void *dummy, char *fn) -{ - return add_custom_log(cmd, dummy, fn, NULL, NULL); -} - -static const char *set_cookie_log(cmd_parms *cmd, void *dummy, char *fn) -{ - return add_custom_log(cmd, dummy, fn, "%{Cookie}n \"%r\" %t", NULL); -} - -static const char *set_rotate_log_daily(cmd_parms *cmd, void *dummy, int arg) -{ - multi_log_state *mls = ap_get_module_config(cmd->server->module_config, - &config_log_module); - - mls->rotatedaily = arg; - if (mls->rotatedaily) - mls->rotateinterval = 0; - return NULL; -} - -static const char *set_rotate_log_interval(cmd_parms *cmd, void *dummy, char *arg) -{ - multi_log_state *mls = ap_get_module_config(cmd->server->module_config, - &config_log_module); - int interval = 0; - - if (arg) - interval = atoi(arg); - - if (interval < 0) - return NULL; - - mls->rotatedaily = 0; - mls->rotateinterval = interval; - return NULL; -} - -static const command_rec config_log_cmds[] = -{ - {"CustomLog", add_custom_log, NULL, RSRC_CONF, TAKE23, - "a file name, a custom log format string or format name, " - "and an optional \"env=\" clause (see docs)"}, - {"TransferLog", set_transfer_log, NULL, RSRC_CONF, TAKE1, - "the filename of the access log"}, - {"LogFormat", log_format, NULL, RSRC_CONF, TAKE12, - "a log format string (see docs) and an optional format name"}, - {"CookieLog", set_cookie_log, NULL, RSRC_CONF, TAKE1, - "the filename of the cookie log"}, - {"LogRotateDaily", set_rotate_log_daily, NULL, RSRC_CONF, FLAG, - "rotate logs daily (On:Off)"}, - {"LogRotateInterval", set_rotate_log_interval, NULL, RSRC_CONF, TAKE1, - "rotate logs every NNN minutes"}, - {NULL} -}; - -static config_log_state *open_config_log(server_rec *s, pool *p, - config_log_state *cls, - array_header *default_format) -{ - if (cls->log_fd > 0) { - return cls; /* virtual config shared w/main server */ - } - - if (cls->fname == NULL) { - return cls; /* Leave it NULL to decline. */ - } - - if (*cls->fname == '|') { - piped_log *pl; - - pl = ap_open_piped_log(p, cls->fname + 1); - if (pl == NULL) { - exit(1); - } - cls->log_fd = ap_piped_log_write_fd(pl); - } - else { - char * fname; - struct tm *time_tmp; - time_t time_now; - multi_log_state *mls = ap_get_module_config(s->module_config,&config_log_module); - - if ((mls->rotatedaily || mls->rotateinterval)&&(*cls->fname!='|')&&(strcmp(cls->fname,"/dev/null") != 0)) { - time_now=time(NULL); - if (mls->rotatedaily) { - time_tmp=localtime(&time_now); - cls->time_jump=time_now+((60-time_tmp->tm_sec)+60*(59-time_tmp->tm_min)+3600*(23-time_tmp->tm_hour)); - } - else - cls->time_jump = time_now + (60*mls->rotateinterval); - fname = ap_pstrcat(p, - ap_server_root_relative(p, cls->fname), - "-", - ap_ht_time(p,time_now,"%Y%m%d%H%M",0), - NULL - ); - } else { - fname = ap_server_root_relative(p, cls->fname); - } - - if ((cls->log_fd = ap_popenf_ex(p, fname, xfer_flags, xfer_mode, 1)) < 0) { - ap_log_error(APLOG_MARK, APLOG_ERR, s, - "could not open transfer log file %s.", fname); - exit(1); - } - } -#ifdef BUFFERED_LOGS - cls->outcnt = 0; -#endif - - return cls; -} - -static config_log_state *open_multi_logs(server_rec *s, pool *p) -{ - int i; - multi_log_state *mls = ap_get_module_config(s->module_config, - &config_log_module); - config_log_state *clsarray; - const char *dummy; - const char *format; - - if (mls->default_format_string) { - format = ap_table_get(mls->formats, mls->default_format_string); - if (format) { - mls->default_format = parse_log_string(p, format, &dummy); - } - } - - if (!mls->default_format) { - mls->default_format = parse_log_string(p, DEFAULT_LOG_FORMAT, &dummy); - } - - if (mls->config_logs->nelts) { - clsarray = (config_log_state *) mls->config_logs->elts; - for (i = 0; i < mls->config_logs->nelts; ++i) { - config_log_state *cls = &clsarray[i]; - - if (cls->format_string) { - format = ap_table_get(mls->formats, cls->format_string); - if (format) { - cls->format = parse_log_string(p, format, &dummy); - } - } - - cls = open_config_log(s, p, cls, mls->default_format); - } - } - else if (mls->server_config_logs) { - clsarray = (config_log_state *) mls->server_config_logs->elts; - for (i = 0; i < mls->server_config_logs->nelts; ++i) { - config_log_state *cls = &clsarray[i]; - - if (cls->format_string) { - format = ap_table_get(mls->formats, cls->format_string); - if (format) { - cls->format = parse_log_string(p, format, &dummy); - } - } - - cls = open_config_log(s, p, cls, mls->default_format); - } - } - - return NULL; -} - -static void init_config_log(server_rec *s, pool *p) -{ - /* First, do "physical" server, which gets default log fd and format - * for the virtual servers, if they don't override... - */ - - open_multi_logs(s, p); - - /* Then, virtual servers */ - - for (s = s->next; s; s = s->next) { - open_multi_logs(s, p); - } -} - -#ifdef BUFFERED_LOGS -static void flush_all_logs(server_rec *s, pool *p) -{ - multi_log_state *mls; - array_header *log_list; - config_log_state *clsarray; - int i; - - for (; s; s = s->next) { - mls = ap_get_module_config(s->module_config, &config_log_module); - log_list = NULL; - if (mls->config_logs->nelts) { - log_list = mls->config_logs; - } - else if (mls->server_config_logs) { - log_list = mls->server_config_logs; - } - if (log_list) { - clsarray = (config_log_state *) log_list->elts; - for (i = 0; i < log_list->nelts; ++i) { - flush_log(&clsarray[i]); - } - } - } -} -#endif - -module MODULE_VAR_EXPORT config_log_module = -{ - STANDARD_MODULE_STUFF, - init_config_log, /* initializer */ - NULL, /* create per-dir config */ - NULL, /* merge per-dir config */ - make_config_log_state, /* server config */ - merge_config_log_state, /* merge server config */ - config_log_cmds, /* command table */ - NULL, /* handlers */ - NULL, /* filename translation */ - NULL, /* check_user_id */ - NULL, /* check auth */ - NULL, /* check access */ - NULL, /* type_checker */ - NULL, /* fixups */ - multi_log_transaction, /* logger */ - NULL, /* header parser */ - NULL, /* child_init */ -#ifdef BUFFERED_LOGS - flush_all_logs, /* child_exit */ -#else - NULL, -#endif - NULL /* post read-request */ -}; diff --git a/usr.sbin/httpd/src/os/netware/mod_nlm.c b/usr.sbin/httpd/src/os/netware/mod_nlm.c deleted file mode 100644 index 07188ff2b8e..00000000000 --- a/usr.sbin/httpd/src/os/netware/mod_nlm.c +++ /dev/null @@ -1,149 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#include "httpd.h" -#include "http_config.h" -#include <nwadv.h> - -module MODULE_VAR_EXPORT nlm_module; -static int been_there_done_that = 0; /* Loaded the modules yet? */ - -static const char *load_module(cmd_parms *cmd, void *dummy, char *modname, char *filename) -{ - module *modp; - int nlmHandle; - const char *szModuleFile = ap_server_root_relative(cmd->pool, filename); - - if (been_there_done_that) - return NULL; - - nlmHandle = FindNLMHandle(filename); - - if (nlmHandle == NULL) { - spawnlp(P_NOWAIT, szModuleFile, NULL); - nlmHandle = FindNLMHandle(filename); - - if (nlmHandle == NULL) - return ap_pstrcat(cmd->pool, "Cannot load ", szModuleFile, - " into server", NULL); - } - - modp = (module *) ImportSymbol(nlmHandle, modname); - - if (!modp) - return ap_pstrcat(cmd->pool, "Can't find module ", modname, - " in file ", filename, NULL); - - ap_add_module(modp); - - if (modp->create_server_config) - ((void**)cmd->server->module_config)[modp->module_index] = - (*modp->create_server_config)(cmd->pool, cmd->server); - - if (modp->create_dir_config) - ((void**)cmd->server->lookup_defaults)[modp->module_index] = - (*modp->create_dir_config)(cmd->pool, NULL); - - return NULL; -} - -static const char *load_file(cmd_parms *cmd, void *dummy, char *filename) -{ - if (been_there_done_that) - return NULL; - - if (spawnlp(P_NOWAIT, ap_server_root_relative(cmd->pool, filename), NULL)) - return ap_pstrcat(cmd->pool, "Cannot load ", filename, " into server", NULL); - - return NULL; -} - -void check_loaded_modules(server_rec *dummy, pool *p) -{ - if (been_there_done_that) - return; - - been_there_done_that = 1; -} - -command_rec nlm_cmds[] = { -{ "LoadModule", load_module, NULL, RSRC_CONF, TAKE2, - "a module name, and the name of a file to load it from"}, -{ "LoadFile", load_file, NULL, RSRC_CONF, ITERATE, - "files or libraries to link into the server at runtime"}, -{ NULL } -}; - -module nlm_module = { - STANDARD_MODULE_STUFF, - check_loaded_modules, /* initializer */ - NULL, /* create per-dir config */ - NULL, /* merge per-dir config */ - NULL, /* server config */ - NULL, /* merge server config */ - nlm_cmds, /* command table */ - NULL, /* handlers */ - NULL, /* filename translation */ - NULL, /* check_user_id */ - NULL, /* check auth */ - NULL, /* check access */ - NULL, /* type_checker */ - NULL, /* logger */ - NULL /* header parser */ -}; - diff --git a/usr.sbin/httpd/src/os/netware/mod_tls.c b/usr.sbin/httpd/src/os/netware/mod_tls.c deleted file mode 100644 index 5214427e8c7..00000000000 --- a/usr.sbin/httpd/src/os/netware/mod_tls.c +++ /dev/null @@ -1,416 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -/* - * mod_tls.c - Apache SSL/TLS module for NetWare by Mike Gardiner. - * - * This module gives Apache the ability to do SSL/TLS with a minimum amount - * of effort. All of the SSL/TLS logic is already on NetWare versions 5 and - * above and is interfaced through WinSock on NetWare. As you can see in - * the code below SSL/TLS sockets can be created with three WinSock calls. - * - * To load, simply place the module in the modules directory under the main - * apache tree. Then add a "SecureListen" with two arguments. The first - * argument is an address and/or port. The second argument is the key pair - * name as created in ConsoleOne. - * - * Examples: - * - * SecureListen 443 "SSL CertificateIP" - * SecureListen 123.45.67.89:443 mycert - */ - -#define CORE_PRIVATE -#define WS_SSL - -#define MAX_ADDRESS 512 -#define MAX_KEY 80 - -#include "httpd.h" -#include "http_config.h" -#include "http_conf_globals.h" -#include "http_log.h" -#include "http_main.h" - -module MODULE_VAR_EXPORT tls_module; - -typedef struct TLSSrvConfigRec TLSSrvConfigRec; -typedef struct seclisten_rec seclisten_rec; -static fd_set listenfds; - -struct seclisten_rec { - seclisten_rec *next; - struct sockaddr_in local_addr; /* local IP address and port */ - int fd; - int used; /* Only used during restart */ - char key[MAX_KEY]; - int mutual; -}; - -struct TLSSrvConfigRec { - table *sltable; -}; - -static seclisten_rec* ap_seclisteners = NULL; - -#define get_tls_cfg(srv) (TLSSrvConfigRec *) ap_get_module_config(srv->module_config, &tls_module) - - -static int find_secure_listener(seclisten_rec *lr) -{ - seclisten_rec *sl; - - for (sl = ap_seclisteners; sl; sl = sl->next) { - if (!memcmp(&sl->local_addr, &lr->local_addr, sizeof(sl->local_addr))) { - sl->used = 1; - return sl->fd; - } - } - return -1; -} - - -static int make_secure_socket(pool *p, const struct sockaddr_in *server, - char* key, int mutual, server_rec *server_conf) -{ - int s; - int one = 1; - char addr[MAX_ADDRESS]; - struct sslserveropts opts; - struct linger li; - unsigned int optParam; - WSAPROTOCOL_INFO SecureProtoInfo; - int no = 1; - - if (server->sin_addr.s_addr != htonl(INADDR_ANY)) - ap_snprintf(addr, sizeof(addr), "address %s port %d", - inet_ntoa(server->sin_addr), ntohs(server->sin_port)); - else - ap_snprintf(addr, sizeof(addr), "port %d", ntohs(server->sin_port)); - - /* note that because we're about to slack we don't use psocket */ - ap_block_alarms(); - memset(&SecureProtoInfo, 0, sizeof(WSAPROTOCOL_INFO)); - - SecureProtoInfo.iAddressFamily = AF_INET; - SecureProtoInfo.iSocketType = SOCK_STREAM; - SecureProtoInfo.iProtocol = IPPROTO_TCP; - SecureProtoInfo.iSecurityScheme = SECURITY_PROTOCOL_SSL; - - s = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, - (LPWSAPROTOCOL_INFO)&SecureProtoInfo, 0, 0); - - if (s == INVALID_SOCKET) { - errno = WSAGetLastError(); - ap_log_error(APLOG_MARK, APLOG_CRIT, server_conf, - "make_secure_socket: failed to get a socket for %s", addr); - ap_unblock_alarms(); - return -1; - } - - if (!mutual) { - optParam = SO_SSL_ENABLE | SO_SSL_SERVER; - - if (WSAIoctl(s, SO_SSL_SET_FLAGS, (char *)&optParam, - sizeof(optParam), NULL, 0, NULL, NULL, NULL)) { - errno = WSAGetLastError(); - ap_log_error(APLOG_MARK, APLOG_CRIT, server_conf, - "make_secure_socket: for %s, WSAIoctl: (SO_SSL_SET_FLAGS)", addr); - ap_unblock_alarms(); - return -1; - } - } - - opts.cert = key; - opts.certlen = strlen(key); - opts.sidtimeout = 0; - opts.sidentries = 0; - opts.siddir = NULL; - - if (WSAIoctl(s, SO_SSL_SET_SERVER, (char *)&opts, sizeof(opts), - NULL, 0, NULL, NULL, NULL) != 0) { - errno = WSAGetLastError(); - ap_log_error(APLOG_MARK, APLOG_CRIT, server_conf, - "make_secure_socket: for %s, WSAIoctl: (SO_SSL_SET_SERVER)", addr); - ap_unblock_alarms(); - return -1; - } - - if (mutual) { - optParam = 0x07; // SO_SSL_AUTH_CLIENT - - if(WSAIoctl(s, SO_SSL_SET_FLAGS, (char*)&optParam, - sizeof(optParam), NULL, 0, NULL, NULL, NULL)) { - errno = WSAGetLastError(); - ap_log_error( APLOG_MARK, APLOG_CRIT, server_conf, - "make_secure_socket: for %s, WSAIoctl: (SO_SSL_SET_FLAGS)", addr ); - ap_unblock_alarms(); - return -1; - } - } - - if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *) &one, sizeof(int)) < 0) { - errno = WSAGetLastError(); - ap_log_error(APLOG_MARK, APLOG_CRIT, server_conf, - "make_secure_socket: for %s, setsockopt: (SO_REUSEADDR)", addr); - ap_unblock_alarms(); - return -1; - } - - one = 1; -#ifdef SO_KEEPALIVE - if (setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (char *) &one, sizeof(int)) < 0) { - errno = WSAGetLastError(); - ap_log_error(APLOG_MARK, APLOG_CRIT, server_conf, - "make_secure_socket: for %s, setsockopt: (SO_KEEPALIVE)", addr); -#endif - ap_unblock_alarms(); - return -1; - } - - if (server_conf->send_buffer_size) { - if (setsockopt(s, SOL_SOCKET, SO_SNDBUF, - (char *) &server_conf->send_buffer_size, sizeof(int)) < 0) { - errno = WSAGetLastError(); - ap_log_error(APLOG_MARK, APLOG_WARNING, server_conf, - "make_secure_socket: failed to set SendBufferSize for %s, " - "using default", addr); - ap_unblock_alarms(); - return -1; - } - } - - if (bind(s, (struct sockaddr *) server, sizeof(struct sockaddr_in)) == -1) { - errno = WSAGetLastError(); - ap_log_error(APLOG_MARK, APLOG_CRIT, server_conf, - "make_secure_socket: could not bind to %s", addr); - ap_unblock_alarms(); - return -1; - } - - if (setsockopt(s, IPPROTO_TCP, TCP_NODELAY, (char *) &no, sizeof(int)) < 0) { - errno = WSAGetLastError(); - ap_log_error(APLOG_MARK, APLOG_WARNING, server_conf, - "setsockopt: (TCP_NODELAY)"); - } - - if (listen(s, ap_listenbacklog) == -1) { - errno = WSAGetLastError(); - ap_log_error(APLOG_MARK, APLOG_ERR, server_conf, - "make_secure_socket: unable to listen for connections on %s", addr); - ap_unblock_alarms(); - return -1; - } - - ap_unblock_alarms(); - return s; -} - -static const char *set_secure_listener(cmd_parms *cmd, void *dummy, char *ips, char* key, char* mutual) -{ - TLSSrvConfigRec* sc = get_tls_cfg(cmd->server); - const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); - char *ports; - unsigned short port; - seclisten_rec *new; - - - if (err != NULL) - return err; - - ports = strchr(ips, ':'); - - if (ports != NULL) { - if (ports == ips) - return "Missing IP address"; - else if (ports[1] == '\0') - return "Address must end in :<port-number>"; - - *(ports++) = '\0'; - } - else { - ports = ips; - } - - new = ap_pcalloc(cmd->pool, sizeof(seclisten_rec)); - new->local_addr.sin_family = AF_INET; - - if (ports == ips) - new->local_addr.sin_addr.s_addr = htonl(INADDR_ANY); - else - new->local_addr.sin_addr.s_addr = ap_get_virthost_addr(ips, NULL); - - port = atoi(ports); - - if (!port) - return "Port must be numeric"; - - ap_table_set(sc->sltable, ports, "T"); - - new->local_addr.sin_port = htons(port); - new->fd = -1; - new->used = 0; - new->next = ap_seclisteners; - strcpy(new->key, key); - new->mutual = (mutual) ? 1 : 0; - ap_seclisteners = new; - return NULL; -} - -static void InitTLS(server_rec *s, pool *p) -{ - seclisten_rec* sl; - listen_rec* lr; - - for (sl = ap_seclisteners; sl != NULL; sl = sl->next) { - sl->fd = find_secure_listener(sl); - - if (sl->fd < 0) - sl->fd = make_secure_socket(p, &sl->local_addr, sl->key, sl->mutual, s); - else - ap_note_cleanups_for_socket(p, sl->fd); - - if (sl->fd >= 0) { - FD_SET(sl->fd, &listenfds); - ap_note_cleanups_for_socket(p, sl->fd); - - lr = ap_pcalloc(p, sizeof(listen_rec)); - - if (lr) { - lr->local_addr = sl->local_addr; - lr->used = 0; - lr->fd = sl->fd; - lr->next = ap_listeners; - ap_listeners = lr; - } - } else { - clean_parent_exit(1); - } - } -} - -void *tls_config_server_create(pool *p, server_rec *s) -{ - TLSSrvConfigRec *new = ap_palloc(p, sizeof(TLSSrvConfigRec)); - new->sltable = ap_make_table(p, 5); - return new; -} - -void *tls_config_server_merge(pool *p, void *basev, void *addv) -{ - TLSSrvConfigRec *base = (TLSSrvConfigRec *)basev; - TLSSrvConfigRec *add = (TLSSrvConfigRec *)addv; - TLSSrvConfigRec *merged = (TLSSrvConfigRec *)ap_palloc(p, sizeof(TLSSrvConfigRec)); - return merged; -} - -int tls_hook_Fixup(request_rec *r) -{ - TLSSrvConfigRec *sc = get_tls_cfg(r->server); - table *e = r->subprocess_env; - const char *s_secure; - char port[8]; - - - /* For some reason r->server->port always return 80 rather than - * the current port. So for now we will get it straight from - * the horses mouth. - */ - /* itoa(r->server->port, port, 10); */ - itoa(ntohs(((r->connection)->local_addr).sin_port), port, 10); - s_secure = ap_table_get(sc->sltable, port); - - if (!s_secure) - return DECLINED; - - ap_table_set(e, "HTTPS", "on"); - - return DECLINED; -} - -static const command_rec tls_module_cmds[] = { - { "SecureListen", set_secure_listener, NULL, RSRC_CONF, TAKE23, - "specify an address and/or port with a key pair name.\n" - "Optional third parameter of MUTUAL configures the port for mutual authentication."}, - { NULL } -}; - -module MODULE_VAR_EXPORT tls_module = -{ - STANDARD_MODULE_STUFF, - InitTLS, /* initializer */ - NULL, /* dir config creater */ - NULL, /* dir merger --- default is to override */ - tls_config_server_create, /* server config */ - tls_config_server_merge, /* merge server config */ - tls_module_cmds, /* command table */ - NULL, /* handlers */ - NULL, /* filename translation */ - NULL, /* check_user_id */ - NULL, /* check auth */ - NULL, /* check access */ - NULL, /* type_checker */ - NULL, /* fixups */ - NULL, /* logger */ - NULL, /* header parser */ - NULL, /* child_init */ - NULL, /* child_exit */ - tls_hook_Fixup /* post read request */ -}; - - diff --git a/usr.sbin/httpd/src/os/netware/modules.c b/usr.sbin/httpd/src/os/netware/modules.c deleted file mode 100644 index 16e6688a762..00000000000 --- a/usr.sbin/httpd/src/os/netware/modules.c +++ /dev/null @@ -1,70 +0,0 @@ -/* modules.c --- major modules compiled into Apache for NetWare. - * Only insert an entry for a module if it must be compiled into - * the core server - */ - -#include "httpd.h" -#include "http_config.h" - -extern module core_module; -extern module so_module; -extern module mime_module; -extern module access_module; -extern module auth_module; -extern module negotiation_module; -extern module includes_module; -extern module autoindex_module; -extern module dir_module; -// extern module cgi_module; -extern module userdir_module; -extern module alias_module; -extern module env_module; -extern module config_log_module; -extern module asis_module; -extern module imap_module; -extern module action_module; -extern module setenvif_module; - -module *ap_prelinked_modules[] = { - &core_module, - &so_module, - &mime_module, - &access_module, - &auth_module, - &negotiation_module, - &includes_module, - &autoindex_module, - &dir_module, -// &cgi_module, - &userdir_module, - &alias_module, - &env_module, - &config_log_module, - &asis_module, - &imap_module, - &action_module, - &setenvif_module, - NULL -}; - -module *ap_preloaded_modules[] = { - &core_module, - &so_module, - &mime_module, - &access_module, - &auth_module, - &negotiation_module, - &includes_module, - &autoindex_module, - &dir_module, -// &cgi_module, - &userdir_module, - &alias_module, - &env_module, - &config_log_module, - &asis_module, - &imap_module, - &action_module, - &setenvif_module, - NULL -}; diff --git a/usr.sbin/httpd/src/os/netware/multithread.c b/usr.sbin/httpd/src/os/netware/multithread.c deleted file mode 100644 index 2c8e41ebd48..00000000000 --- a/usr.sbin/httpd/src/os/netware/multithread.c +++ /dev/null @@ -1,104 +0,0 @@ - -#include "ap_config.h" -#include "httpd.h" -#include "http_conf_globals.h" -#include "multithread.h" -#include <nwsemaph.h> - - -thread *create_thread(void (thread_fn)(void *), void *thread_arg) -{ - int rv; - - rv = BeginThreadGroup(thread_fn, NULL, ap_thread_stack_size, thread_arg); - return((thread *)rv); -} - -int kill_thread(thread *thread_id) -{ - return(0); -} - -int await_thread(thread *thread_id, int sec_to_wait) -{ - return(0); -} - -void exit_thread(int status) -{} - -void free_thread(thread *thread_id) -{} - - -mutex * ap_create_mutex(char *name) -{ - return (mutex*)kMutexAlloc(name); -} - -mutex * ap_open_mutex(char *name) -{ - return(NULL); -} - -int ap_acquire_mutex(mutex *mutex_id) -{ - return(kMutexLock(mutex_id)); -} - -int ap_release_mutex(mutex *mutex_id) -{ - if (kMutexUnlock(mutex_id)) - return 0; - else - return 1; -} - -void ap_destroy_mutex(mutex *mutex_id) -{ - kMutexFree(mutex_id); -} - - -semaphore *create_semaphore(int initial) -{ - return((semaphore*)OpenLocalSemaphore(initial)); -} -int acquire_semaphore(semaphore *semaphore_id) -{ - return(WaitOnLocalSemaphore((long)semaphore_id)); -} -int release_semaphore(semaphore *semaphore_id) -{ - return(SignalLocalSemaphore((long)semaphore_id)); -} -void destroy_semaphore(semaphore *semaphore_id) -{ - CloseLocalSemaphore((long)semaphore_id); -} - -event *create_event(int manual, int initial, char *name) -{ - return(NULL); -} -event *open_event(char *name) -{ - return(NULL); -} -int acquire_event(event *event_id) -{ - return(0); -} -int set_event(event *event_id) -{ - return(0); -} -int reset_event(event *event_id) -{ - return(0); -} -void destroy_event(event *event_id) -{} - - - diff --git a/usr.sbin/httpd/src/os/netware/os.c b/usr.sbin/httpd/src/os/netware/os.c deleted file mode 100644 index 84f495398c0..00000000000 --- a/usr.sbin/httpd/src/os/netware/os.c +++ /dev/null @@ -1,509 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#define WS_SSL - -#include "httpd.h" -#include "ap_config.h" -#include "http_config.h" -#include "http_log.h" -#include <dirent.h> - -extern char ap_server_root[MAX_STRING_LEN]; - -void ap_os_dso_init(void) -{ -} - -void *ap_os_dso_load(const char *path) -{ - unsigned int nlmHandle; - char *moduleName = NULL; - - moduleName = strrchr(path, '/'); - - if (moduleName) { - moduleName++; - } - - nlmHandle = FindNLMHandleInAddressSpace((char*)moduleName, NULL); - - if (nlmHandle == NULL) { - spawnlp(P_NOWAIT | P_SPAWN_IN_CURRENT_DOMAIN, path, NULL); - nlmHandle = FindNLMHandleInAddressSpace((char*)moduleName, NULL); - } - - return (void *)nlmHandle; -} - -void ap_os_dso_unload(void *handle) -{ - KillMe(handle); -} - -void *ap_os_dso_sym(void *handle, const char *symname) -{ - return ImportSymbol((int)GetNLMHandle(), (char *)symname); -} - -void ap_os_dso_unsym(void *handle, const char *symname) -{ - UnimportSymbol((int)GetNLMHandle(), (char *)symname); -} - -const char *ap_os_dso_error(void) -{ - return NULL; -} - -char *remove_filename(char* str) -{ - int i, len = strlen(str); - - for (i=len; i; i--) { - if (str[i] == '\\' || str[i] == '/') { - str[i] = NULL; - break; - } - } - return str; -} - -char *bslash2slash(char* str) -{ - int i, len = strlen(str); - - for (i=0; i<len; i++) { - if (str[i] == '\\') { - str[i] = '/'; - break; - } - } - return str; -} - -void check_clean_load(module *top_module) -{ - if (top_module != NULL) { - module *m; - - ap_log_error(APLOG_MARK, APLOG_CRIT, NULL, - "abnormal shutdown detected, performing a clean shutdown: please restart apache"); - for (m = top_module; m; m = m->next) - ap_os_dso_unload((ap_os_dso_handle_t)m->dynamic_load_handle); - exit(1); - } -} - -void init_name_space() -{ - UnAugmentAsterisk(TRUE); - SetCurrentNameSpace(NW_NS_LONG); - SetTargetNameSpace(NW_NS_LONG); -} - -/* Perform complete canonicalization. On NetWare we are just - lower casing the file name so that the comparisons will match. - NetWare assumes that all physical paths are fully qualified. - Each file path must include a volume name. - */ -static char *os_canonical_filename(pool *pPool, const char *szFile) -{ - char *pNewName = ap_pstrdup(pPool, szFile); - char *slash_test; - - bslash2slash(pNewName); - /* Don't try to canonicalize a filename that isn't even valid - This way we don't mess up proxy requests or other kinds - of special filenames. - */ - if (ap_os_is_filename_valid(pNewName)) { - if ((pNewName[0] == '/') && (strchr (pNewName, ':') == NULL)) - { - char vol[256]; - - _splitpath (ap_server_root, vol, NULL, NULL, NULL); - pNewName = ap_pstrcat (pPool, vol, pNewName, NULL); - } - if ((slash_test = strchr(pNewName, ':')) && (*(slash_test+1) != '/') - && (*(slash_test+1) != '\0')) - { - char vol[_MAX_VOLUME+1]; - - _splitpath (pNewName, vol, NULL, NULL, NULL); - pNewName = ap_pstrcat (pPool, vol, "/", pNewName+strlen(vol), NULL); - } - } - return pNewName; -} - -char *ap_os_canonical_filename(pool *pPool, const char *szFile) -{ - char *pNewName = os_canonical_filename(pPool, szFile); - - /* Lower case the name so that the interal string compares work */ - strlwr(pNewName); - return pNewName; -} - - -char *ap_os_case_canonical_filename(pool *pPool, const char *szFile) -{ - /* First thing we need to do is get a copy of the - canonicalized path */ - char *pNewName = os_canonical_filename(pPool, szFile); - int volnum=0; - long dirnum=0; - long pathcount=0; - char *path; - char vol[_MAX_VOLUME+1]; - int retval, x, y; - - /* See if path exists by trying to get the volume and directory number */ - retval = FEMapPathVolumeDirToVolumeDir(pNewName, 0, 0, &volnum, &dirnum); - if (retval == 0) { - /* allocate a buffer and ask the file system for the real name of - the directory and file */ - path = ap_palloc(pPool, strlen(pNewName)+2); - FEMapVolumeAndDirectoryToPath (volnum, dirnum, path, &pathcount); - - /* The file system gives it back in a lengh preceded string so we - need to convert it to a null terminated string. */ - x = 0; - while (pathcount-- > 0) { - y = path[x]; - path[x] = '/'; - x += y + 1; - } - path[x] = '\0'; /* null terminate the full path */ - - /* Get the name of the volume so that we can prepend it onto the path */ - FEMapVolumeNumberToName (volnum, vol); - vol[vol[0]+1] = '\0'; - pNewName = ap_pstrcat (pPool, &(vol[1]), ":", path, NULL); - } - - /* At this point we either have a real case accurate canonical path or - the original name canonicalized */ - return pNewName; -} - - -/* - * ap_os_is_filename_valid is given a filename, and returns 0 if the filename - * is not valid for use on this system. On NetWare, this means it fails any - * of the tests below. Otherwise returns 1. - * - * The tests are: - * - * 1) total path length greater than MAX_PATH - * - * 2) the file path must contain a volume specifier and no / or \ - * can appear before the volume specifier. - * - * 3) anything using the octets 0-31 or characters " < > | : - * (these are reserved for Windows use in filenames. In addition - * each file system has its own additional characters that are - * invalid. See KB article Q100108 for more details). - * - * 4) anything ending in "." (no matter how many) - * (filename doc, doc. and doc... all refer to the same file) - * - * 5) any segment in which the basename (before first period) matches - * one of the DOS device names - * (the list comes from KB article Q100108 although some people - * reports that additional names such as "COM5" are also special - * devices). - * - * If the path fails ANY of these tests, the result must be to deny access. - */ - -int ap_os_is_filename_valid(const char *file) -{ - const char *segstart; - unsigned int seglength; - const char *pos; - char *colonpos, *fslashpos, *bslashpos; - static const char * const invalid_characters = "?\"<>*|:"; - static const char * const invalid_filenames[] = { - "CON", "AUX", "COM1", "COM2", "COM3", - "COM4", "LPT1", "LPT2", "LPT3", "PRN", "NUL", NULL - }; - - /* First check to make sure that we have a file so that we don't abend */ - if (file == NULL) - return 0; - - /* Test 1 */ - if (strlen(file) >= _MAX_PATH) { - /* Path too long for Windows. Note that this test is not valid - * if the path starts with //?/ or \\?\. */ - return 0; - } - - pos = file; - - /* Skip any leading non-path components. This can be either a - * drive letter such as C:, or a UNC path such as \\SERVER\SHARE\. - * We continue and check the rest of the path based on the rules above. - * This means we could eliminate valid filenames from servers which - * are not running NT (such as Samba). - */ - - colonpos = strchr (file, ':'); - - if (!colonpos) - return 0; - - pos = ++colonpos; - if (!*pos) { - /* No path information */ - /* Same as specifying volume:\ */ - return 1; - } - - while (*pos) { - unsigned int idx; - unsigned int baselength; - - while (*pos == '/' || *pos == '\\') { - pos++; - } - if (*pos == '\0') { - break; - } - segstart = pos; /* start of segment */ - while (*pos && *pos != '/' && *pos != '\\') { - pos++; - } - seglength = pos - segstart; - /* - * Now we have a segment of the path, starting at position "segstart" - * and length "seglength" - */ - - /* Test 2 */ - for (idx = 0; idx < seglength; idx++) { - if ((segstart[idx] > 0 && segstart[idx] < 32) || - strchr(invalid_characters, segstart[idx])) { - return 0; - } - } - - /* Test 2.5 */ - if (seglength == 2) { - if ( (segstart[0] == '.') && (segstart[1] == '.') ) { - return 1; - } - - } - - /* Test 3 */ - if (segstart[seglength-1] == '.') { - return 0; - } - - /* Test 4 */ - for (baselength = 0; baselength < seglength; baselength++) { - if (segstart[baselength] == '.') { - break; - } - } - - /* baselength is the number of characters in the base path of - * the segment (which could be the same as the whole segment length, - * if it does not include any dot characters). */ - if (baselength == 3 || baselength == 4) { - for (idx = 0; invalid_filenames[idx]; idx++) { - if (strlen(invalid_filenames[idx]) == baselength && - !strnicmp(invalid_filenames[idx], segstart, baselength)) { - return 0; - } - } - } - } - - return 1; -} - -#undef opendir_411 -DIR *os_opendir (const char *pathname) -{ - struct stat s; - DIR *d = opendir_411 (pathname); - - if (d) { - strcpy (d->d_name, "<<**"); - } - - if (!d) { - /* Let's check if this is an empty directory */ - if (stat(pathname, &s) != 0) - return NULL; - if (!(S_ISDIR(s.st_mode))) - return NULL; - - /* If we are here, then this appears to be a directory */ - /* We allocate a name */ - d = NULL; - d = (DIR *)malloc(sizeof(DIR)); - if (d) { - memset(d, 0, sizeof(DIR)); - strcpy(d->d_name, "**<<"); - d->d_cdatetime = 50; - - } - - } - - return d; - -} - -#undef readdir_411 -DIR *os_readdir (DIR *dirP) -{ - -/* - * First three if statements added for empty directory support. - * - */ - if ( (dirP->d_cdatetime == 50) && (dirP->d_name[0] == '*') && - (dirP->d_name[2] == '<') ) - { - strcpy (dirP->d_name, "."); - strcpy (dirP->d_nameDOS, "."); - return (dirP); - } - else if ((dirP->d_cdatetime == 50) && - (dirP->d_name[0] == '.') && - (dirP->d_name[1] == '\0')) { - strcpy (dirP->d_name, ".."); - strcpy (dirP->d_nameDOS, ".."); - return (dirP); - } - else if ( (dirP->d_cdatetime == 50) && - (dirP->d_name[0] == '.') && - (dirP->d_name[1] == '.') && - (dirP->d_name[2] == '\0') ) { - return (NULL); - } - else if ((dirP->d_name[0] == '<') && (dirP->d_name[2] == '*')) { - strcpy (dirP->d_name, "."); - strcpy (dirP->d_nameDOS, "."); - return (dirP); - } - else if ((dirP->d_name[0] == '.') && (dirP->d_name[1] == '\0')) { - strcpy (dirP->d_name, ".."); - strcpy (dirP->d_nameDOS, ".."); - return (dirP); - } - else - return readdir_411 (dirP); -} - - -#undef closedir_510 -int os_closedir (DIR *dirP) -{ -/* - * Modified to handle empty directories. - * - */ - - if (dirP == NULL) { - return 0; - } - - if ( ( (dirP->d_cdatetime == 50) && (dirP->d_name[0] == '*') && - (dirP->d_name[2] == '<') - ) || - ( (dirP->d_cdatetime == 50) && (dirP->d_name[0] == '.') && - (dirP->d_name[1] == '\0') - ) || - ( (dirP->d_cdatetime == 50) && (dirP->d_name[0] == '.') && - (dirP->d_name[1] == '.') && (dirP->d_name[2] == '\0') - ) - ) - { - - free(dirP); - dirP = NULL; - return 0; - } - else { - return closedir_510(dirP); - } - - -} - -char *ap_os_http_method(void *r) -{ - int s = ((request_rec*)r)->connection->client->fd; - unsigned int optParam; - - if (!WSAIoctl(s, SO_SSL_GET_FLAGS, NULL, 0, &optParam, sizeof(optParam), NULL, NULL, NULL)) - if (optParam & (SO_SSL_ENABLE | SO_SSL_SERVER)) return "https"; - return "http"; -} - -unsigned short ap_os_default_port(void *r) -{ - return ap_default_port_for_scheme(ap_os_http_method(r)); -} diff --git a/usr.sbin/httpd/src/os/netware/os.h b/usr.sbin/httpd/src/os/netware/os.h deleted file mode 100644 index 51ec96bd0e2..00000000000 --- a/usr.sbin/httpd/src/os/netware/os.h +++ /dev/null @@ -1,191 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef APACHE_OS_H -#define APACHE_OS_H - -#define PLATFORM "NETWARE" -#define HAVE_CANONICAL_FILENAME - -/* - * This file in included in all Apache source code. It contains definitions - * of facilities available on _this_ operating system (HAVE_* macros), - * and prototypes of OS specific functions defined in os.c or os-inline.c - */ - -typedef signed long int32; -typedef int uid_t; -typedef int gid_t; -typedef int tid_t; - -#include "ap_config.h" -#include <string.h> -#include <stddef.h> -#include <nwthread.h> -#include <nwmalloc.h> -#include <nwnamspc.h> -#include <nwlib.h> -#include <nwadv.h> -#include <ws2nlm.h> -#include <winsock2.h> -#include <fcntl.h> -#include <dirent.h> - -#define NO_LINGCLOSE -#define NO_SLACK -#define HAVE_UNISTD_H -#define NO_SETSID -#define NO_KILLPG -#define NO_WRITEV -#define NO_GETTIMEOFDAY -#define NO_TIMES -#define NO_USE_SIGACTION -#define USE_LONGJMP -#define MULTITHREAD - -#define NO_RELIABLE_PIPED_LOGS -#define CASE_BLIND_FILESYSTEM -#define NO_OTHER_CHILD - -#define USE_HSREGEX -#define NETDB_USE_INTERNET -#define N_PLAT_NLM -#define APX386 -#define ALLOC_USE_MALLOC -#define OPTIMIZE_TIMEOUTS -#define FD_SETSIZE 128 -#define NO_DBM_REWRITEMAP - -#define crypt(buf,salt) (buf) -#define sleep(t) delay(t*1000) -#define getpid() ((pid_t)GetThreadGroupID()) -#define gettid() ((tid_t)GetThreadID()) -/* Netware doesn't have symlinks so S_ISLNK is always false */ -#define S_ISLNK(m) 0 -/* Netware doesn't have isnan,isinf so they always return false */ -#define isnan(m) 0 -#define isinf(m) 0 -#define lstat(x, y) stat(x, y) -#define strcasecmp(s1, s2) stricmp(s1, s2) -#define strncasecmp(s1, s2, n) strnicmp(s1, s2, n) -#define mktemp(s) tmpnam(s) -#define _getch getch - -/* Watcom reports that ERANGE is returned properly for any out of bounds - * conditions, with a MIN/MAX_LONG value. This should be safe. - */ -#define ap_strtol strtol - -#define opendir_411(p) os_opendir(p) -#define opendir(p) os_opendir(p) -DIR *os_opendir (const char *pathname); - -#define readdir_411(p) os_readdir(p) -#define readdir(p) os_readdir(p) -DIR *os_readdir (DIR *dirP); - -#define closedir_510(p) os_closedir(p) -#define closedir(p) os_closedir(p) -int os_closedir (DIR *dirP); - -/* Prototypes */ -void AMCSocketCleanup(void); -void clean_parent_exit(int code); - -#ifdef __GNUC__ -static -#endif -inline int ap_os_is_path_absolute(const char *file) -{ - char *s = strstr (file, "://"); - - /* First make sure we aren't looking at a URL such as - a proxy:http://blah. - */ - if (!s) { - s = strchr (file, ':'); - - if (s) { - if (strncmp(s, "://", 3) != 0) - /* XXX: we assume that everything before the : is letters */ - return 1; - } - else { - if (file[0] == '/') - return 1; - } - } - - return 0; -} - -#define ap_os_dso_handle_t void * -void ap_os_dso_init(void); -void *ap_os_dso_load(const char *); -void ap_os_dso_unload(void *); -void *ap_os_dso_sym(void *, const char *); -void ap_os_dso_unsym(void *handle, const char *symname); -const char *ap_os_dso_error(void); -char *remove_filename(char*); -char *bslash2slash(char*); -void init_name_space(void); -int ap_os_is_filename_valid(const char *file); -char *ap_os_http_method(void *r); -unsigned short ap_os_default_port(void *r); -#endif /*! APACHE_OS_H*/ - diff --git a/usr.sbin/httpd/src/os/netware/precomp.h b/usr.sbin/httpd/src/os/netware/precomp.h deleted file mode 100644 index b5c7d0f86b9..00000000000 --- a/usr.sbin/httpd/src/os/netware/precomp.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma precompile_target "precomp.mch" -#define NETWARE - -#ifndef __int64 -#define __int64 long long -#endif - - - - - diff --git a/usr.sbin/httpd/src/os/netware/test_char.h b/usr.sbin/httpd/src/os/netware/test_char.h deleted file mode 100644 index 46212b121d1..00000000000 --- a/usr.sbin/httpd/src/os/netware/test_char.h +++ /dev/null @@ -1,42 +0,0 @@ -/* this file is automatically generated by gen_test_char, do not edit */ -#define T_ESCAPE_SHELL_CMD 0x01 /* chars with special meaning in the shell */ -#define T_ESCAPE_PATH_SEGMENT 0x02 /* find path segment, as defined in RFC1808 */ -#define T_OS_ESCAPE_PATH 0x04 /* escape characters in a path or uri */ -#define T_HTTP_TOKEN_STOP 0x08 /* find http tokens, as defined in RFC2616 */ -#define T_ESCAPE_LOGITEM 0x10 /* filter what should go in the log file */ - -static const unsigned char test_char_table[256] = { - 0x00, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, /*0x00...0x07*/ - 0x1e, 0x1e, 0x1f, 0x1e, 0x1e, 0x1f, 0x1e, 0x1e, /*0x08...0x0f*/ - 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, /*0x10...0x17*/ - 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, /*0x18...0x1f*/ - 0x0e, 0x00, 0x17, 0x06, 0x01, 0x07, 0x01, 0x01, /*0x20...0x27*/ - 0x09, 0x09, 0x01, 0x00, 0x08, 0x00, 0x00, 0x0a, /*0x28...0x2f*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*0x30...0x37*/ - 0x00, 0x00, 0x08, 0x0f, 0x0f, 0x08, 0x0f, 0x0f, /*0x38...0x3f*/ - 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*0x40...0x47*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*0x48...0x4f*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*0x50...0x57*/ - 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x0f, 0x07, 0x00, /*0x58...0x5f*/ - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*0x60...0x67*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*0x68...0x6f*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*0x70...0x77*/ - 0x00, 0x00, 0x00, 0x0f, 0x07, 0x0f, 0x01, 0x1e, /*0x78...0x7f*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0x80...0x87*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0x88...0x8f*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0x90...0x97*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0x98...0x9f*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xa0...0xa7*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xa8...0xaf*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xb0...0xb7*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xb8...0xbf*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xc0...0xc7*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xc8...0xcf*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xd0...0xd7*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xd8...0xdf*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xe0...0xe7*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xe8...0xef*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /*0xf0...0xf7*/ - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 /*0xf8...0xff*/ - -}; diff --git a/usr.sbin/httpd/src/os/netware/uri_delims.h b/usr.sbin/httpd/src/os/netware/uri_delims.h deleted file mode 100644 index 0c855bf7269..00000000000 --- a/usr.sbin/httpd/src/os/netware/uri_delims.h +++ /dev/null @@ -1,16 +0,0 @@ -/* this file is automatically generated by gen_uri_delims, do not edit */ -static const unsigned char uri_delims[256] = { - T_NUL,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,T_HASH,0,0,0,0, - 0,0,0,0,0,0,0,T_SLASH,0,0,0,0,0,0,0,0,0,0,T_COLON,0, - 0,0,0,T_QUESTION,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -}; diff --git a/usr.sbin/httpd/src/os/os2/Makefile.tmpl b/usr.sbin/httpd/src/os/os2/Makefile.tmpl deleted file mode 100644 index 9e21b9c69e9..00000000000 --- a/usr.sbin/httpd/src/os/os2/Makefile.tmpl +++ /dev/null @@ -1,57 +0,0 @@ -CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) -LIBS=$(EXTRA_LIBS) $(LIBS1) -INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) -LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) - -OBJS= os.o os-inline.o util_os2.o -COPY= os.h os-inline.c - -LIB= libos.a - -all: $(LIB) - -$(LIB): $(OBJS) - rm -f $@ - ar cr $@ $(OBJS) - $(RANLIB) $@ - -.c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $< - -clean: - for i in $(COPY); do rm -f $(INCDIR)/$$i ; done - rm -f $(OBJS) $(LIB) - -distclean: clean - -rm -f Makefile - -$(OBJS): Makefile - -$(INCDIR)/os.h: os.h - cp $< $@ - -$(INCDIR)/os-inline.c: os-inline.c - cp $< $@ - -# We really don't expect end users to use this rule. It works only with -# gcc, and rebuilds Makefile.tmpl. You have to re-run Configure after -# using it. -depend: - cp Makefile.tmpl Makefile.tmpl.bak \ - && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \ - && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \ - && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' \ - -e '1,$$s: $(OSDIR)/: $$(OSDIR)/:g' Makefile.new \ - > Makefile.tmpl \ - && rm Makefile.new - -# DO NOT REMOVE -os-inline.o: os-inline.c $(INCDIR)/ap_config.h \ - $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h \ - $(INCDIR)/os.h $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h -os.o: os.c os.h os-inline.c -util_os2.o: util_os2.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \ - $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h \ - $(INCDIR)/os.h $(INCDIR)/os-inline.c $(INCDIR)/ap_ctype.h \ - $(INCDIR)/hsregex.h $(INCDIR)/ap_alloc.h $(INCDIR)/buff.h \ - $(INCDIR)/ap.h $(INCDIR)/util_uri.h $(INCDIR)/http_log.h diff --git a/usr.sbin/httpd/src/os/os2/os-inline.c b/usr.sbin/httpd/src/os/os2/os-inline.c deleted file mode 100644 index 1f9e933213a..00000000000 --- a/usr.sbin/httpd/src/os/os2/os-inline.c +++ /dev/null @@ -1,34 +0,0 @@ -/* - * This file contains functions which can be inlined if the compiler - * has an "inline" modifier. Because of this, this file is both a - * header file and a compilable module. - * - * Only inlineable functions should be defined in here. They must all - * include the INLINE modifier. - * - * If the compiler supports inline, this file will be #included as a - * header file from os.h to create all the inline function - * definitions. INLINE will be defined to whatever is required on - * function definitions to make them inline declarations. - * - * If the compiler does not support inline, this file will be compiled - * as a normal C file into libos.a (along with os.c). In this case - * INLINE will _not_ be set so we can use this to test if we are - * compiling this source file. - */ - -#ifndef INLINE -#define INLINE - -/* Anything required only when compiling */ -#include "ap_config.h" - -#endif - -INLINE int ap_os_is_path_absolute(const char *file) -{ - /* For now, just do the same check that http_request.c and mod_alias.c - * do. - */ - return file && (file[0] == '/' || (file[1] == ':' && file[2] == '/')); -} diff --git a/usr.sbin/httpd/src/os/os2/os.c b/usr.sbin/httpd/src/os/os2/os.c deleted file mode 100644 index 934ca24614d..00000000000 --- a/usr.sbin/httpd/src/os/os2/os.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - * This file will include OS specific functions which are not inlineable. - * Any inlineable functions should be defined in os-inline.c instead. - */ - -#include "os.h" -#define INCL_DOS -#include <os2.h> -#include <stdio.h> -#include <string.h> - -static int rc=0; -static char errorstr[20]; - -void ap_os_dso_init(void) -{ -} - - - -ap_os_dso_handle_t ap_os_dso_load(const char *module_name) -{ - HMODULE handle; - - rc = DosLoadModule(errorstr, sizeof(errorstr), module_name, &handle); - - if (rc == 0) - return handle; - - return 0; -} - - - -void ap_os_dso_unload(ap_os_dso_handle_t handle) -{ - DosFreeModule(handle); -} - - - -void *ap_os_dso_sym(ap_os_dso_handle_t handle, const char *funcname) -{ - PFN func; - - rc = DosQueryProcAddr( handle, 0, funcname, &func ); - - if (rc == 0) - return func; - - return NULL; -} - - - -const char *ap_os_dso_error(void) -{ - static char message[200]; - strcpy(message, ap_os_error_message(rc)); - strcat(message, " for module "); - strcat(message, errorstr); - return message; -} diff --git a/usr.sbin/httpd/src/os/os2/os.h b/usr.sbin/httpd/src/os/os2/os.h deleted file mode 100644 index 5a37e4e764f..00000000000 --- a/usr.sbin/httpd/src/os/os2/os.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef APACHE_OS_H -#define APACHE_OS_H - -#define PLATFORM "OS/2" -#define HAVE_CANONICAL_FILENAME -#define HAVE_DRIVE_LETTERS -#define HAVE_UNC_PATHS - -/* - * This file in included in all Apache source code. It contains definitions - * of facilities available on _this_ operating system (HAVE_* macros), - * and prototypes of OS specific functions defined in os.c or os-inline.c - */ - -#if defined(__GNUC__) && !defined(INLINE) -/* Compiler supports inline, so include the inlineable functions as - * part of the header - */ -#define INLINE extern __inline__ - -INLINE int ap_os_is_path_absolute(const char *file); - -#include "os-inline.c" -#endif - -#ifndef INLINE -/* Compiler does not support inline, so prototype the inlineable functions - * as normal - */ -extern int ap_os_is_path_absolute(const char *file); -#endif - -/* FIXME: the following should be implemented on this platform */ -#define ap_os_is_filename_valid(f) (1) - -/* Use a specialized kill() function */ -int ap_os_kill(int pid, int sig); - -/* Maps an OS error code to an error message */ -char *ap_os_error_message(int err); - -/* OS/2 doesn't have symlinks so S_ISLNK is always false */ -#define S_ISLNK(m) 0 -#define lstat(x, y) stat(x, y) - -#define isinf(n) (!isfinite(n)) -#define HAVE_ISINF -#define HAVE_ISNAN - -/* strtol() correctly returns ERANGE on overflow, use it */ -#define ap_strtol strtol - -/* Dynamic loading functions */ -#define ap_os_dso_handle_t unsigned long -void ap_os_dso_init(void); -ap_os_dso_handle_t ap_os_dso_load(const char *); -void ap_os_dso_unload(ap_os_dso_handle_t); -void * ap_os_dso_sym(ap_os_dso_handle_t, const char *); -const char *ap_os_dso_error(void); - -#endif /* ! APACHE_OS_H */ diff --git a/usr.sbin/httpd/src/os/os2/util_os2.c b/usr.sbin/httpd/src/os/os2/util_os2.c deleted file mode 100644 index be2fff63253..00000000000 --- a/usr.sbin/httpd/src/os/os2/util_os2.c +++ /dev/null @@ -1,154 +0,0 @@ -#define INCL_DOS -#define INCL_DOSERRORS -#include <os2.h> -#include "httpd.h" -#include "http_log.h" - - -API_EXPORT(char *)ap_os_case_canonical_filename(pool *pPool, const char *szFile) -{ - char *buf; - char buf2[CCHMAXPATH]; - int rc, len; - char *pos; - -/* Remove trailing slash unless it's a root directory */ - len = strlen(szFile); - buf = ap_pstrndup(pPool, szFile, len); - - if (len > 3 && buf[len-1] == '/') - buf[--len] = 0; - - if (buf[0] == '/' && buf[1] == '/') { - /* A UNC path */ - if (strchr(buf+2, '/') == NULL) { /* Allow // or //server */ - return ap_pstrdup(pPool, buf); - } - } - - rc = DosQueryPathInfo(buf, FIL_QUERYFULLNAME, buf2, sizeof(buf2)); - - if (rc) { - if ( rc != ERROR_INVALID_NAME ) { - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, NULL, "OS/2 error %d for file %s", rc, szFile); - } - - return ap_pstrdup(pPool, szFile); - } - -/* Switch backslashes to forward */ - for (pos=buf2; *pos; pos++) - if (*pos == '\\') - *pos = '/'; - - return ap_pstrdup(pPool, buf2); -} - - - -static void fix_component(char *path, char *lastcomp) -{ - FILEFINDBUF3 fb3; - HDIR hDir = HDIR_CREATE; - ULONG numNames = 1; - ULONG rc = DosFindFirst( (UCHAR *)path, &hDir, FILE_NORMAL|FILE_DIRECTORY, &fb3, sizeof(fb3), &numNames, FIL_STANDARD ); - - if (rc == 0) - strcpy(lastcomp, fb3.achName); - - DosFindClose(hDir); -} - - - -char *ap_os_systemcase_canonical_filename(pool *pPool, const char *szFile) -{ - char *szCanonicalFile = ap_os_case_canonical_filename(pPool, szFile); - int startslash = 2, slashnum=0; - char *pos, *prevslash = NULL; - - if (szCanonicalFile[0] == '/' && szCanonicalFile[1] == '/') /* a UNC name */ - startslash = 5; - - for (pos = szCanonicalFile; *pos; pos++) { - if (*pos == '/') { - slashnum++; - if (slashnum >= startslash) { - *pos = 0; - fix_component(szCanonicalFile, prevslash+1); - *pos = '/'; - } - prevslash = pos; - } - } - - if (slashnum >= startslash) { - fix_component(szCanonicalFile, prevslash+1); - } - - return szCanonicalFile; -} - - - -API_EXPORT(char *)ap_os_canonical_filename(pool *pPool, const char *szFile) -{ - char *szCanonicalFile = ap_os_systemcase_canonical_filename(pPool, szFile); - strlwr(szCanonicalFile); - return szCanonicalFile; -} - - - -int ap_os_kill(pid_t pid, int sig) -{ -/* SIGTERM's don't work too well in OS/2 (only affects other EMX programs). - CGIs may not be, esp. REXX scripts, so use a native call instead */ - - int rc; - - if ( sig == SIGTERM ) { - rc = DosSendSignalException( pid, XCPT_SIGNAL_BREAK ); - - if ( rc ) { - errno = ESRCH; - rc = -1; - } - } else { - rc = kill(pid, sig); - } - - return rc; -} - - - -char *ap_os_error_message(int err) -{ - static char result[200]; - char message[HUGE_STRING_LEN]; - ULONG len; - char *pos; - int c; - - 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; c<len; c++) { - while (ap_isspace(message[c]) && ap_isspace(message[c+1])) /* skip multiple whitespace */ - c++; - *(pos++) = ap_isspace(message[c]) ? ' ' : message[c]; - } - - *pos = 0; - } else { - sprintf(result, "OS/2 error %d", err); - } - - return result; -} diff --git a/usr.sbin/httpd/src/os/os390/Makefile.tmpl b/usr.sbin/httpd/src/os/os390/Makefile.tmpl deleted file mode 100644 index 23c509918ef..00000000000 --- a/usr.sbin/httpd/src/os/os390/Makefile.tmpl +++ /dev/null @@ -1,64 +0,0 @@ -CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) -LIBS=$(EXTRA_LIBS) $(LIBS1) -INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) -LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) - -OBJS= os.o os-inline.o - -LIB= libos.a - -all: $(LIB) - -$(LIB): $(OBJS) - rm -f $@ - ar cr $@ $(OBJS) - $(RANLIB) $@ - -.c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $< - -clean: - rm -f $(OBJS) $(LIB) - -distclean: clean - -rm -f Makefile - -# We really don't expect end users to use this rule. It works only with -# gcc, and rebuilds Makefile.tmpl. You have to re-run Configure after -# using it. -depend: - cp Makefile.tmpl Makefile.tmpl.bak \ - && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \ - && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \ - && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' \ - -e '1,$$s: $(OSDIR)/: $$(OSDIR)/:g' Makefile.new \ - > Makefile.tmpl \ - && rm Makefile.new - -$(OBJS): Makefile - -# DO NOT REMOVE - -os-inline.o: os-inline.c -os-inline.o: $(INCDIR)/ap_config.h -os-inline.o: $(INCDIR)/ap_mmn.h -os-inline.o: $(INCDIR)/ap_config_auto.h -os-inline.o: os.h -os-inline.o: $(INCDIR)/ap_ctype.h -os-inline.o: $(INCDIR)/hsregex.h -os.o: os.c -os.o: $(INCDIR)/httpd.h -os.o: $(INCDIR)/ap_config.h -os.o: $(INCDIR)/ap_mmn.h -os.o: $(INCDIR)/ap_config_auto.h -os.o: os.h -os.o: $(INCDIR)/ap_ctype.h -os.o: $(INCDIR)/hsregex.h -os.o: $(INCDIR)/ap_alloc.h -os.o: $(INCDIR)/buff.h -os.o: $(INCDIR)/ap.h -os.o: ebcdic.h -os.o: $(INCDIR)/util_uri.h -os.o: $(INCDIR)/http_core.h - - diff --git a/usr.sbin/httpd/src/os/os390/README.os390 b/usr.sbin/httpd/src/os/os390/README.os390 deleted file mode 100644 index 547b3f6633a..00000000000 --- a/usr.sbin/httpd/src/os/os390/README.os390 +++ /dev/null @@ -1,86 +0,0 @@ -README.os390 -============== - -This file describes how one extracts the apache source files from a compressed -archive on one of the apache source code distribution web pages to an OS/390 -system. OS/390 represents characters with the ebcdic code set. The files -in the apache source trees on the web represent characters using the ascii -code set. The procedure described here de-compresses the archive file and -extracts the files from the archive while translating characters in the files -from ascii to ebcdic. Once you download the compressed archive to an OS/390 -system and follow this procedure, you will be ready to configure, compile, and -install apache on your OS/390 system. - -This procedure assumes that you will download the apache tree using a browser -on a workstation and then you will transfer the compressed archive from your -workstation to an OS/390 system. You could probably just ftp the compressed -archive to your OS/390 system ifyou like. If you download to a workstation as -described here, it is assumed that the workstation has TCP/IP and FTP installed -on it. It is also assumed that you have TCP/IP and FTP access from the -workstation to the OS/390 system you want to put apache on. - -Procedure for extracting apache source to an OS/390 system: ------------------------------------------------------------ - -- From either www.apache.org/dist or from dev.apache.org/from-CVS/apache-version - select one of the source trees with a file type of .tar.gz or .tar.Z and - download it to your workstation. Ensure that the name of the downloaded - file remains the same as the name of the file on the web page. - -- Also from the same web page download xebcdic.sh. - -- From your workstation ftp to the OS/390 system you would like to run apache - on. - - ftp os390-host-name - - You'll be prompted for user id and password. - - Once you've logged in successfully you'll get the ftp prompt. - -- FTP the .tar.gz file and xebcdic.sh files you downloaded to your workstation - to the OS/390 system. The xebcdic.sh file must be ftp'ed in ascii mode. The - apache compressed archive file must be ftp'ed in binary mode. - - put xebcdic.sh - - bin - - put apache-compressed-archive-file-name - -- End your ftp connection. - - bye or quit - -- From your OS/390 system use the xebcdic.sh shell script to de-compress and - extract the apache source. This script will de-compress the apache source - tree and will then extract all the files from the archive. As the files are - extracted, they are all translated from ascii to ebcdic. All the gif files - are then re-extracted from the archive without applying the ascii to ebcdic - translation so that they won't be corrupted. - - The name of the compressed archive file you specify to xebcdic.sh must follow - the following format: - - apache-version_timeStamp.tar.gz or - apache-version_timeStamp.tar.Z or - apache-version.tar.gz or - apache-version.tar.Z or - apache_version.tar.gz or - apache_version.tar.Z - - When you invoke the script, you may specify which file types should be - re-extracted without applying the ascii to ebcdic translation. This can be - used to save static pages as ascii improving performance when serving those - pages by avoiding the ebcdic to ascii translation at the time they are served. - Please refer to top-of-source-tree/src/README.ebcdic for information on how - to use the AddType and DefaultType directives to serve static pages without - trying to translate from ebcdic to ascii. - - - To extract the source tree and have html and txt files re-extracted - without translation specify the following: - - ./xebcdic.sh apache-compressed-archive-file-name --f=*.html --f=*.txt - - - To extract the source tree and have the static text content files that - are part of the source tree stored on your OS/390 system in ascii specify - the following: - - ./xebcdic.sh apache-compressed-archive-file-name --all-ascii-content - -- The apache source tree is now ready for you to configure, make and install. - Refer to top-of-source-tree/INSTALL for directions on how to proceed. - diff --git a/usr.sbin/httpd/src/os/os390/ebcdic.h b/usr.sbin/httpd/src/os/os390/ebcdic.h deleted file mode 100644 index 10a8000627d..00000000000 --- a/usr.sbin/httpd/src/os/os390/ebcdic.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef EBCDIC_H -#define EBCDIC_H "$Id: ebcdic.h,v 1.2 2002/03/29 02:08:07 beck Exp $" - -#include <ap_ebcdic.h> - -#endif /*EBCDIC_H*/ diff --git a/usr.sbin/httpd/src/os/os390/os-inline.c b/usr.sbin/httpd/src/os/os390/os-inline.c deleted file mode 100644 index e58917af369..00000000000 --- a/usr.sbin/httpd/src/os/os390/os-inline.c +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file contains functions which can be inlined if the compiler - * has an "inline" modifier. Because of this, this file is both a - * header file and a compilable module. - * - * Only inlineable functions should be defined in here. They must all - * include the INLINE modifier. - * - * If the compiler supports inline, this file will be #included as a - * header file from os.h to create all the inline function - * definitions. INLINE will be defined to whatever is required on - * function definitions to make them inline declarations. - * - * If the compiler does not support inline, this file will be compiled - * as a normal C file into libos.a (along with os.c). In this case - * INLINE will _not_ be set so we can use this to test if we are - * compiling this source file. - */ - -#ifndef INLINE -#define INLINE - -/* Anything required only when compiling */ -#include "ap_config.h" - -#endif - -INLINE int ap_os_is_path_absolute(const char *file) -{ - return (file && file[0] == '/' ? 1 : 0); -} diff --git a/usr.sbin/httpd/src/os/os390/os.c b/usr.sbin/httpd/src/os/os390/os.c deleted file mode 100644 index 36aee6b69bc..00000000000 --- a/usr.sbin/httpd/src/os/os390/os.c +++ /dev/null @@ -1,67 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -/* - * This file will include OS specific functions which are not inlineable. - * Any inlineable functions should be defined in os-inline.c instead. - */ - -#include "httpd.h" -#include "http_core.h" -#include "os.h" - diff --git a/usr.sbin/httpd/src/os/os390/os.h b/usr.sbin/httpd/src/os/os390/os.h deleted file mode 100644 index f949c965636..00000000000 --- a/usr.sbin/httpd/src/os/os390/os.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef APACHE_OS_H -#define APACHE_OS_H - -#define PLATFORM "OS390" - -/* - * This file in included in all Apache source code. It contains definitions - * of facilities available on _this_ operating system (HAVE_* macros), - * and prototypes of OS specific functions defined in os.c or os-inline.c - */ - -#if !defined(INLINE) && defined(USE_GNU_INLINE) -/* Compiler supports inline, so include the inlineable functions as - * part of the header - */ -#define INLINE extern ap_inline - -INLINE int ap_os_is_path_absolute(const char *file); - -#include "os-inline.c" -#endif - -#ifndef INLINE -/* Compiler does not support inline, so prototype the inlineable functions - * as normal - */ -extern int ap_os_is_path_absolute(const char *file); -#endif - -/* Other ap_os_ routines not used by this platform */ - -#define ap_os_is_filename_valid(f) (1) -#define ap_os_kill(pid, sig) kill(pid, sig) - -#endif /*! APACHE_OS_H*/ diff --git a/usr.sbin/httpd/src/os/os390/xebcdic.sh b/usr.sbin/httpd/src/os/os390/xebcdic.sh deleted file mode 100644 index 8aa69980658..00000000000 --- a/usr.sbin/httpd/src/os/os390/xebcdic.sh +++ /dev/null @@ -1,202 +0,0 @@ -#!/bin/sh -# -# xebcdic.sh fileName [--all-ascii-content] [--f=pattern ... ] -# -# This shell script decompresses an archive containing an apache source tree -# and then extracts the source files from the archive. The source files are -# translated from ASCII to EBCDIC as they are extracted from the archive. -# Once all the files have been extracted and translated, the binary files are -# re-extracted to undo the ASCII to EBCDIC translation on those files. Once -# this script is done, the extracted tree can be used on an EBCDIC based -# system. -# -# Input: fileName -- fileName has one of the following formats: -# apache-version_timeStamp.tar.gz or -# apache-version_timeStamp.tar.Z or -# apache-version.tar.gz or -# apache-version.tar.Z or -# apache_version.tar.gz or -# apache_version.tar.Z -# -# --f=pattern -- specifies that all files which match the pattern -# are to be re-extracted without ascii to ebcdic -# translation being applied. pattern is a file name -# specification that may contain path names and -# the wildcard character. All paths are assumed to -# be under the apache source tree top. Binary files -# are always re-extracted without ascii to ebcdic -# translation regardless of whether any pattern is -# specified or not. Multiple patterns may be specified -# by repeating this option. -# -# -# --all-ascii-content -- specifies that all the text content shipped -# with the apache tree should be stored in -# ascii on the OS/390 system. This re-extracts -# all the *.htm* files in the htdocs directory -# of the apache tree without doing the ascii -# to ebcdic translation. In addition to the -# *.htm* files, file htdocs/manual/LICENSE and -# file htdocs/manual/misc/HTTP_Features.tsv -# are also stored in ascii. If this option -# is specified, directives AddType and -# DefaultType need to be used to correctly -# serve the pages without trying to first -# translate from ebcdic to ascii. See -# apache-tree-top/src/README.EBCDIC. -# -# Example Invocations: -# -# ./xebcdic.sh apache_1.3.9.tar.gz: Runs gunzip, runs pax and -# extracts everything translating it to ebcdic, and re-extracts -# all gif files in the htdocs and icons directories without -# applying ascii to ebcdic translation. -# -# ./xebcdic.sh apache_1.3.9.tar.gz --f=*.htm* --f=htdocs/*.tsv: -# Runs gunzip, runs pax and extracts everything translating it to -# ebcdic, re-extracts all gif files without ascii to ebcdic -# translation, and re-extracts all the *.htm* files in the apache -# source tree and all *.tsv files in the htdocs directory of the -# apache source tree without ascii to ebcdic translation. -# -# ./xebcdic.sh apache_1.3.9.tar.gz --all-ascii-content: Runs gunzip, -# runs pax and extracts everything translating it to ebcdic, -# re-extracts all gif files without ascii to ebcdic translation, -# and re-extracts all the *.htm* files in the htdocs directory -# as well as htdocs/manual/LICENSE and -# htdocs/manual/misc/HTTP_Features.tsv without ascii to ebcdic -# translation. -# -# Output: fileName.tar.gz is replaced with fileName.tar and the apache -# source tree is extracted into a directory named apache-version or -# apache_version. All files except binary files and any files -# specified through the options are translated from ascii to -# ebcdic. -# -# Assumptions: The path to gunzip, uncompress and pax is defined and -# from where this script is invoked. -# - -echo "Input file name is: $1" - -# Verify fileName -if ! echo $1 | grep -q 'apache_.*\.tar\.gz' && \ - ! echo $1 | grep -q 'apache_.*\.tar\.Z' && \ - ! echo $1 | grep -q 'apache-.*_.*\.tar\.gz' && \ - ! echo $1 | grep -q 'apache-.*_.*\.tar\.Z' && \ - ! echo $1 | grep -q 'apache-.*\.tar\.gz' && \ - ! echo $1 | grep -q 'apache-.*\.tar\.Z' -then - echo "Filename, $1, does not follow required format." - echo "Filename should have one of the following formats:" - echo "apache-version_timeStamp.tar.gz or" - echo "apache-version_timeStamp.tar.Z or" - echo "apache-version.tar.gz or" - echo "apache-version.tar.Z or" - echo "apache_version.tar.gz or" - echo "apache_version.tar.Z" - exit 1; -fi - -if [ ! -f $1 ]; then - echo "$1 is not a file" - exit 1; -fi - -if [ ! -a $1 ]; then - echo "$1 file does not exist" - exit 1; -fi - -# Verify fileType option if specified -for option in $@ -do - case "$option" in - $1) ;; - --all-ascii-content) ;; - --f=*) ;; - *) echo "Invalid option specified. Command syntax is:" - echo "xebcdic.sh compressed-archive-file-name [--all-ascii-content]" - echo " [--f=pattern ... ]" - exit 1; - ;; - esac -done - -# Figure out whether to gunzip or uncompress -if echo $1 | grep -q 'apache[-_].*\.tar\.gz'; then - DECOMPRESS="gunzip" -else - DECOMPRESS="uncompress" -fi -echo "Decompression utility $DECOMPRESS will be used." - -# Set name of tar file after decompressing -if [ "x$DECOMPRESS" = "xgunzip" ]; then - TARFILE=`echo $1 | sed s/\.tar\.gz/\.tar/` -else - TARFILE=`echo $1 | sed s/\.tar\.Z/\.tar/` -fi -echo "Archive file name is: $TARFILE" - -# Set name of apache source tree directory -if echo $1 | grep -q 'apache-.*_.*\.tar*'; then - APDIR=`echo $1 | sed s/_.*//` -else - APDIR=`echo $1 | sed s/\.tar.*//` -fi -echo "Apache source tree top is: $APDIR" - -# Decompress input file -echo "Starting decompression of $1" -if [ "x$DECOMPRESS" = "xgunzip" ]; then - if gunzip $1; then - echo "Decompression of $1 completed successfully" - else - exit 1; - fi -else - if uncompress $1; then - echo "Decompression of $1 completed successfully" - else - exit 1; - fi -fi - -# Extract source files and translate them all from ASCII to EBCDIC - -# Determine code page for locale - -echo "Starting extraction of source files from archive $TARFILE." -echo "ASCII being translated to EBCDIC." -echo "ASCII code page assumed to be ISO8859-1." -echo "EBCDIC code page assumed to be IBM-1047." -pax -ofrom=ISO8859-1,to=IBM-1047 -rvf $TARFILE -echo "Extraction and translation of source files from archive completed." - -# Re-extract gif files without ASCII to EBCDIC translation -echo "Re-extracting gif files without ASCII to EBCDIC translation" -pax -rvf $TARFILE $(find $APDIR/htdocs -type f -name "*.gif*") -pax -rvf $TARFILE $(find $APDIR/icons -type f -name "*.gif*") - -# Re-extract appropriate files as requested by user -for option in $@; do - case "$option" in - $1) - ;; - --all-ascii-content) echo "Re-extracting files in $APDIR/htdocs without ASCII to EBCDIC translation" - pax -rvf $TARFILE $(find $APDIR/htdocs -type f -name "*.htm*") - pax -rvf $TARFILE $(find $APDIR/htdocs -type f -name "*.tsv*") - pax -rvf $TARFILE $(find $APDIR/htdocs -name "manual/LICENSE") - ;; - --f=*) PATTERN=`echo $option | sed s/--f=//` - if [ "x$PATTERN" != "x" ]; then - echo "Re-extracting files matching $PATTERN without ASCII to EBCDIC translation" - pax -rvf $TARFILE $(find $APDIR -type f -name "$PATTERN") - fi - ;; - *) - ;; - esac -done - diff --git a/usr.sbin/httpd/src/os/tpf/Makefile.tmpl b/usr.sbin/httpd/src/os/tpf/Makefile.tmpl deleted file mode 100644 index 719f603bda6..00000000000 --- a/usr.sbin/httpd/src/os/tpf/Makefile.tmpl +++ /dev/null @@ -1,41 +0,0 @@ -CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) -LIBS=$(EXTRA_LIBS) $(LIBS1) -INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) -LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) - -OBJS= os.o os-inline.o cgetop.o - -LIB= libos.a - -all: $(LIB) - -$(LIB): $(OBJS) - rm -f $@ - ar cr $@ $(OBJS) - $(RANLIB) $@ - -.c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $< - -clean: - rm -f $(OBJS) $(LIB) - -distclean: clean - -rm -f Makefile - -# We really don't expect end users to use this rule. It works only with -# gcc, and rebuilds Makefile.tmpl. You have to re-run Configure after -# using it. -depend: - cp Makefile.tmpl Makefile.tmpl.bak \ - && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \ - && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \ - && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' Makefile.new \ - > Makefile.tmpl \ - && rm Makefile.new - -$(OBJS): Makefile -os.o: os.c os-inline.c $(INCDIR)/ap_config.h -cgetop.o: cgetop.c -# DO NOT REMOVE -os.o: os.c diff --git a/usr.sbin/httpd/src/os/tpf/TPFExport b/usr.sbin/httpd/src/os/tpf/TPFExport deleted file mode 100644 index 6cc580e593f..00000000000 --- a/usr.sbin/httpd/src/os/tpf/TPFExport +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -echo " Setting TPF/c89 environment variables" -export _C89_CCMODE=1 -# replace the following with the location of your TPF include files -export _C89_INCDIRS="/u/tpf41/currentmaint/include" -export TPF=YES -export _C89_INCLIBS="" -export _C89_CSYSLIB="" -export _C89_OPTIONS="-W 0,langlvl(extended)" -echo "Done" diff --git a/usr.sbin/httpd/src/os/tpf/cgetop.c b/usr.sbin/httpd/src/os/tpf/cgetop.c deleted file mode 100644 index 21f01653be3..00000000000 --- a/usr.sbin/httpd/src/os/tpf/cgetop.c +++ /dev/null @@ -1,147 +0,0 @@ -/**********************************************************************/ -/* */ -/* Copyright (c) 1987, 1993, 1994 */ -/* The Regents of the University of California. All rights reserved. */ -/* */ -/* Redistribution and use in source and binary forms, with or without */ -/* modification, are permitted provided that the following conditions */ -/* are met: */ -/* */ -/* 1. Redistributions of source code must retain the above copyright */ -/* notice, this list of conditions and the following disclaimer. */ -/* 2. Redistributions in binary form must reproduce the above */ -/* copyright notice, this list of conditions and the following */ -/* disclaimer in the documentation and/or other materials provided */ -/* with the distribution. */ -/* 3. Neither the name of the University nor the names of its */ -/* contributors may be used to endorse or promote products derived */ -/* from this software without specific prior written permission. */ -/* */ -/* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''*/ -/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */ -/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */ -/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS */ -/* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ -/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ -/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF */ -/* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND*/ -/* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */ -/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */ -/* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF */ -/* SUCH DAMAGE. */ -/* */ -/**********************************************************************/ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getopt.c 8.2 (Berkeley) 4/2/94"; -#endif /* LIBC_SCCS and not lint */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#ifndef __CGETOP_ -extern char *optarg; -extern int opterr, optind, optopt; -int getopt (int, char * const *, const char *); -char *group_from_gid (unsigned long, int); -char *user_from_uid (unsigned long, int); -extern int optreset; -#endif - -int opterr = 1, /* if error message should be */ - /* printed */ - optind = 1, /* index into parent argv vector */ - optopt, /* character checked for validity */ - optreset; /* reset getopt */ -char *optarg; /* argument associated with */ - /* option */ - -#define BADCH (int)'?' -#define BADARG (int)':' -#define EMSG "" - -/**********************************************************************/ -/* */ -/* getopt -- */ -/* Parse argc/argv argument vector. */ -/* */ -/**********************************************************************/ -int -getopt(nargc, nargv, ostr) - int nargc; - char * const *nargv; - const char *ostr; -{ - /* removed -- BSD2TPF -- crt0 does not create __progname on TPF */ - /* extern char *__progname; */ - /* end of removed -- BSD2TPF */ - - static char *place = EMSG; /* option letter processing */ - char *oli; /* option letter list index */ - - /* added -- BSD2TPF -- emulate BSD crt0 function to set __progname */ - char empty = '\0'; - char *__progname = ∅ - if (nargv[0]) { - if ((__progname = strrchr(nargv[0], '/')) == NULL) { - __progname = nargv[0]; - } - else { - ++__progname; - } - } - /* end of added -- BSD2TPF */ - - if (optreset || !*place) { /* update scanning pointer */ - optreset = 0; - if (optind >= nargc || *(place = nargv[optind]) != '-') { - place = EMSG; - return (EOF); - } - if (place[1] && *++place == '-') { - /* found "--" */ - ++optind; - place = EMSG; - return (EOF); - } - } /* option letter okay? */ - if ((optopt = (int)*place++) == (int)':' || - !(oli = strchr(ostr, optopt))) { - /* if the user didn't */ - /* specify '-' as an option, */ - /* assume it means EOF. */ - if (optopt == (int)'-') - return (EOF); - if (!*place) - ++optind; - if (opterr && *ostr != ':') - (void)fprintf(stderr, - "%s: illegal option -- %c\n", __progname, optopt); - return (BADCH); - } - if (*++oli != ':') { /* don't need argument */ - optarg = NULL; - if (!*place) - ++optind; - } - else { /* need an argument */ - if (*place) /* no white space */ - optarg = place; - else if (nargc <= ++optind) { /* no arg */ - place = EMSG; - if (*ostr == ':') - return (BADARG); - if (opterr) - (void)fprintf(stderr, - "%s: option requires an argument -- %c\n", - __progname, optopt); - return (BADCH); - } - else /* white space */ - optarg = nargv[optind]; - place = EMSG; - ++optind; - } - return (optopt); /* dump back option letter */ -}
\ No newline at end of file diff --git a/usr.sbin/httpd/src/os/tpf/ebcdic.h b/usr.sbin/httpd/src/os/tpf/ebcdic.h deleted file mode 100644 index a46d3ff9b37..00000000000 --- a/usr.sbin/httpd/src/os/tpf/ebcdic.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef EBCDIC_H -#define EBCDIC_H "$Id: ebcdic.h,v 1.3 2002/03/29 02:08:07 beck Exp $" - -#include <ap_ebcdic.h> - -#endif /*EBCDIC_H*/ diff --git a/usr.sbin/httpd/src/os/tpf/os-inline.c b/usr.sbin/httpd/src/os/tpf/os-inline.c deleted file mode 100644 index e58917af369..00000000000 --- a/usr.sbin/httpd/src/os/tpf/os-inline.c +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file contains functions which can be inlined if the compiler - * has an "inline" modifier. Because of this, this file is both a - * header file and a compilable module. - * - * Only inlineable functions should be defined in here. They must all - * include the INLINE modifier. - * - * If the compiler supports inline, this file will be #included as a - * header file from os.h to create all the inline function - * definitions. INLINE will be defined to whatever is required on - * function definitions to make them inline declarations. - * - * If the compiler does not support inline, this file will be compiled - * as a normal C file into libos.a (along with os.c). In this case - * INLINE will _not_ be set so we can use this to test if we are - * compiling this source file. - */ - -#ifndef INLINE -#define INLINE - -/* Anything required only when compiling */ -#include "ap_config.h" - -#endif - -INLINE int ap_os_is_path_absolute(const char *file) -{ - return (file && file[0] == '/' ? 1 : 0); -} diff --git a/usr.sbin/httpd/src/os/tpf/os.c b/usr.sbin/httpd/src/os/tpf/os.c deleted file mode 100644 index b67ed430ccf..00000000000 --- a/usr.sbin/httpd/src/os/tpf/os.c +++ /dev/null @@ -1,862 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -/* - * This file will include OS specific functions which are not inlineable. - * Any inlineable functions should be defined in os-inline.c instead. - */ - -#include "httpd.h" -#include "http_core.h" -#include "os.h" -#include "scoreboard.h" -#include "http_log.h" -#include "http_conf_globals.h" -#ifdef __PIPE_ -#include <ipc.h> -#include <shm.h> -static TPF_FD_LIST *tpf_fds = NULL; -#endif - -void *tpf_shm_static_ptr = NULL; -unsigned short zinet_model; -char *argv_ptr = NULL; - -static FILE *sock_fp; -static int sock_sd; - -int tpf_select(int maxfds, fd_set *reads, fd_set *writes, fd_set *excepts, - struct timeval *tv) -{ -/* We're going to force our way through select. We're only interested reads - and TPF allows 2billion+ socket descriptors for we don't want an fd_set - that big. Just assume that maxfds-1 contains the socket descriptor we're - interested in. If it's 0, leave it alone. */ - - int sockets[1]; - int no_reads = 0; - int no_writes = 0; - int no_excepts = 0; - int timeout = 0; - int rv = 0; - - if(maxfds) { - if(tv) - timeout = tv->tv_sec * 1000 + tv->tv_usec; - sockets[0] = maxfds-1; - no_reads++; - } - else - sockets[0] = 0; - - ap_check_signals(); - if ((no_reads + no_writes + no_excepts == 0) && - (tv) && (tv->tv_sec + tv->tv_usec != 0)) { - /* TPF's select immediately returns if the sum of - no_reads, no_writes, and no_excepts is zero. - The following code makes TPF's select work a little closer - to everyone else's select: - */ -#ifdef TPF_HAVE_SAWNC - struct ev0bk evnblock; -#endif - timeout = tv->tv_sec; - if (tv->tv_usec) { - timeout++; /* round up to seconds (like TPF's select does) */ - } - if (timeout > 0) { /* paranoid check for valid timeout */ -#ifdef TPF_HAVE_SAWNC - evnblock.evnpstinf.evnbkc1 = 1; /* nbr of posts needed */ - evntc(&evnblock, EVENT_CNT, 'N', timeout, EVNTC_1052); - tpf_sawnc(&evnblock, EVENT_CNT); -#else - sleep(timeout); -#endif - } - } else { - if (timeout < 0) { /* paranoid check for valid timeout */ - timeout = 0; - } - rv = select(sockets, no_reads, no_writes, no_excepts, timeout); - } - ap_check_signals(); - - return rv; - -} - -int tpf_accept(int sockfd, struct sockaddr *peer, int *paddrlen) -{ - int socks[1]; - int rv; - - ap_check_signals(); - socks[0] = sockfd; - rv = select(socks, 1, 0, 0, TPF_ACCEPT_SECS_TO_BLOCK * 1000); - errno = sock_errno(); - if(rv>0) { - rv = accept(sockfd, peer, paddrlen); - errno = sock_errno(); - } - ap_check_signals(); - return rv; -} - -/* the getpass function is not usable on TPF */ -char *getpass(const char* prompt) -{ - errno = EIO; - return((char *)NULL); -} - -/* fork and exec functions are not defined on - TPF due to the implementation of tpf_fork() */ - -pid_t fork(void) -{ - errno = ENOSYS; - return(-1); -} - -int execl(const char *path, const char *arg0, ...) -{ - errno = ENOSYS; - return(-1); -} - -int execle(const char *path, const char *arg0, ...) -{ - errno = ENOSYS; - return(-1); -} - -int execve(const char *path, char *const argv[], char *const envp[]) -{ - errno = ENOSYS; - return(-1); -} - -int execvp(const char *file, char *const argv[]) -{ - errno = ENOSYS; - return(-1); -} - - - -int ap_tpf_spawn_child(pool *p, int (*func) (void *, child_info *), - void *data, enum kill_conditions kill_how, - int *pipe_in, int *pipe_out, int *pipe_err, - int out_fds[], int in_fds[], int err_fds[]) - -{ - - int i, temp_out, temp_in, temp_err, save_errno, pid, result=0; - int fd_flags_out, fd_flags_in, fd_flags_err; - struct tpf_fork_input fork_input; - TPF_FORK_CHILD *cld = (TPF_FORK_CHILD *) data; - array_header *env_arr = ap_table_elts ((array_header *) cld->subprocess_env); - table_entry *elts = (table_entry *) env_arr->elts; -#ifdef TPF_FORK_EXTENDED -#define WHITE " \t\n" -#define MAXARGC 49 - char *arguments; - char *args[MAXARGC + 1]; - char **envp = NULL; - pool *subpool = NULL; - -#include "util_script.h" - -#endif /* TPF_FORK_EXTENDED */ - - if (func) { - if (result=func(data, NULL)) { - return 0; /* error from child function */ - } - } - - if (pipe_out) { - fd_flags_out = fcntl(out_fds[0], F_GETFD); - fcntl(out_fds[0], F_SETFD, FD_CLOEXEC); - temp_out = dup(STDOUT_FILENO); - fcntl(temp_out, F_SETFD, FD_CLOEXEC); - dup2(out_fds[1], STDOUT_FILENO); - } - - if (pipe_in) { - fd_flags_in = fcntl(in_fds[1], F_GETFD); - fcntl(in_fds[1], F_SETFD, FD_CLOEXEC); - temp_in = dup(STDIN_FILENO); - fcntl(temp_in, F_SETFD, FD_CLOEXEC); - dup2(in_fds[0], STDIN_FILENO); - } - - if (pipe_err) { - fd_flags_err = fcntl(err_fds[0], F_GETFD); - fcntl(err_fds[0], F_SETFD, FD_CLOEXEC); - temp_err = dup(STDERR_FILENO); - fcntl(temp_err, F_SETFD, FD_CLOEXEC); - dup2(err_fds[1], STDERR_FILENO); - } - -/* set up environment variables for the tpf_fork */ - if (cld->subprocess_env) { -#ifdef TPF_FORK_EXTENDED - /* with extended tpf_fork( ) we pass the pointer to a list of pointers */ - /* that point to "key=value" strings for each env variable */ - subpool = ap_make_sub_pool(p); - envp = ap_create_environment(subpool, cld->subprocess_env); -#else - /* without extended tpf_fork( ) we setenv( ) each env variable */ - /* so the child inherits them */ - for (i = 0; i < env_arr->nelts; ++i) { - if (!elts[i].key) - continue; - setenv (elts[i].key, elts[i].val, 1); - } -#endif /* TPF_FORK_EXTENDED */ - } - - fork_input.program = (const char*) cld->filename; - fork_input.prog_type = cld->prog_type; - fork_input.istream = TPF_FORK_IS_BALANCE; - fork_input.ebw_data_length = 0; - fork_input.ebw_data = NULL; - fork_input.parm_data = NULL; - -#ifdef TPF_FORK_EXTENDED - /* use a copy of cld->filename because strtok is destructive */ - arguments = ap_pstrdup(p, cld->filename); - args[0] = strtok(arguments, WHITE); - - for (i = 0; i < MAXARGC && args[i] ; i++) { - args[i + 1] = strtok(NULL, WHITE); - } - args[MAXARGC] = NULL; - - if ((pid = tpf_fork(&fork_input, - (const char **)args, - (const char **)envp)) < 0) { -#else - if ((pid = tpf_fork(&fork_input)) < 0) { -#endif /* TPF_FORK_EXTENDED */ - save_errno = errno; - if (pipe_out) { - close(out_fds[0]); - } - if (pipe_in) { - close(in_fds[1]); - } - if (pipe_err) { - close(err_fds[0]); - } - errno = save_errno; - pid = 0; - } - -#ifdef TPF_FORK_EXTENDED - if (subpool) { - ap_destroy_pool(subpool); - } -#else - if (cld->subprocess_env) { - for (i = 0; i < env_arr->nelts; ++i) { - if (!elts[i].key) - continue; - unsetenv (elts[i].key); - } - } -#endif /* TPF_FORK_EXTENDED */ - - if (pipe_out) { - close(out_fds[1]); - dup2(temp_out, STDOUT_FILENO); - close(temp_out); - fcntl(out_fds[0], F_SETFD, fd_flags_out); - } - - if (pipe_in) { - close(in_fds[0]); - dup2(temp_in, STDIN_FILENO); - close(temp_in); - fcntl(in_fds[1], F_SETFD, fd_flags_in); - } - - - if (pipe_err) { - close(err_fds[1]); - dup2(temp_err, STDERR_FILENO); - close(temp_err); - fcntl(err_fds[0], F_SETFD, fd_flags_err); - } - - - if (pid) { - - ap_note_subprocess(p, pid, kill_how); - - if (pipe_out) { - *pipe_out = out_fds[0]; - } - if (pipe_in) { - *pipe_in = in_fds[1]; - } - if (pipe_err) { - *pipe_err = err_fds[0]; - } - } - - return pid; - -} - -pid_t os_fork(server_rec *s, int slot) -{ - struct tpf_fork_input fork_input; - APACHE_TPF_INPUT input_parms; - int count; - listen_rec *lr; - - fflush(stdin); - if (dup2(fileno(sock_fp), STDIN_FILENO) == -1) - ap_log_error(APLOG_MARK, APLOG_CRIT, s, - "unable to replace stdin with sock device driver"); - fflush(stdout); - if (dup2(fileno(sock_fp), STDOUT_FILENO) == -1) - ap_log_error(APLOG_MARK, APLOG_CRIT, s, - "unable to replace stdout with sock device driver"); - input_parms.generation = ap_my_generation; -#ifdef USE_SHMGET_SCOREBOARD - input_parms.scoreboard_heap = ap_scoreboard_image; -#endif - - lr = ap_listeners; - count = 0; - do { - input_parms.listeners[count] = lr->fd; - lr = lr->next; - count++; - } while(lr != ap_listeners); - - input_parms.slot = slot; - input_parms.restart_time = ap_restart_time; - input_parms.shm_static_ptr = tpf_shm_static_ptr; - input_parms.tpf_fds = tpf_fds; - fork_input.ebw_data = &input_parms; - fork_input.program = ap_server_argv0; - fork_input.prog_type = TPF_FORK_NAME; - fork_input.istream = TPF_FORK_IS_BALANCE; - fork_input.ebw_data_length = sizeof(input_parms); - fork_input.parm_data = argv_ptr; -#ifdef TPF_FORK_EXTENDED - return tpf_fork(&fork_input, NULL, NULL); -#else - return tpf_fork(&fork_input); -#endif /* TPF_FORK_EXTENDED */ -} - -void ap_tpf_zinet_checks(int standalone, - const char *servername, - server_rec *s) { - - INETD_IDCT_ENTRY_PTR idct; - - /* explicitly disallow "ServerType inetd" on TPF */ - if (!standalone) { - ap_log_error(APLOG_MARK, APLOG_ALERT|APLOG_NOERRNO, s, - TPF_SERVERTYPE_MSG); - exit(1); /* abort start-up of server */ - } - - /* figure out zinet model for our server from the idct slot */ - idct = inetd_getServer(servername); - if (idct) { - zinet_model = idct->model; - free(idct); - } else { - ap_log_error(APLOG_MARK, APLOG_ALERT|APLOG_NOERRNO, s, - TPF_UNABLE_TO_DETERMINE_ZINET_MODEL, servername); - exit(1); /* abort start-up of server */ - } - - /* check for valid zinet models */ - if (zinet_model != INETD_IDCF_MODEL_DAEMON && - zinet_model != INETD_IDCF_MODEL_NOLISTEN) { - ap_log_error(APLOG_MARK, APLOG_ALERT|APLOG_NOERRNO, s, - TPF_STANDALONE_CONFLICT_MSG); - exit(1); /* abort start-up of server */ - } - -#ifdef TPF_NOLISTEN_WARNING -/* nag about switching to DAEMON model */ - if (zinet_model == INETD_IDCF_MODEL_NOLISTEN) { - ap_log_error(APLOG_MARK, APLOG_WARNING|APLOG_NOERRNO, s, - TPF_NOLISTEN_WARNING); - } -#endif - -} - -int os_check_server(char *server) { - int *current_acn; - - ap_check_signals(); - - /* check that the program activation number hasn't changed */ - current_acn = (int *)cinfc_fast(CINFC_CMMACNUM); - if (ecbp2()->ce2acn != *current_acn) { - return 1; /* shutdown */ - } - - /* check our InetD status */ - if (inetd_getServerStatus(server) != INETD_SERVER_STATUS_ACTIVE) { - return 1; /* shutdown */ - } - - /* if DAEMON model, make sure parent is still around */ - if (zinet_model == INETD_IDCF_MODEL_DAEMON) { - if (getppid() == 1) { - return 1; /* shutdown */ - } - } - - return 0; /* keep on running... */ -} - -void os_note_additional_cleanups(pool *p, int sd) { - char sockfilename[50]; - /* write the socket to file so that TPF socket device driver - will close socket in case we happen to abend. */ - sprintf(sockfilename, "/dev/tpf.socket.file/%.8X", sd); - sock_fp = fopen(sockfilename, "r+"); - /* arrange to close on exec or restart */ - ap_note_cleanups_for_file_ex(p, sock_fp, 1); - sock_sd = sd; -} - -void ap_tpf_save_argv(int argc, char **argv) { - - int i, len = 3; /* 3 for "-x " */ - - for (i = 1; i < argc; i++) { /* find len for calloc */ - len += strlen (argv[i]); - ++len; /* 1 for blank */ - } - - argv_ptr = malloc(len + 1); - strcpy(argv_ptr, "-x"); - for (i = 1; i < argc; i++) { - strcat(argv_ptr, " "); - strcat(argv_ptr, argv[i]); - } -} - -void os_tpf_child(APACHE_TPF_INPUT *input_parms) { - extern pid_t tpf_parent_pid; - extern char tpf_mutex_key[TPF_MUTEX_KEY_SIZE]; - - tpf_child = 1; - ap_my_generation = input_parms->generation; - ap_restart_time = input_parms->restart_time; - tpf_fds = input_parms->tpf_fds; - tpf_shm_static_ptr = input_parms->shm_static_ptr; - tpf_parent_pid = getppid(); - sprintf(tpf_mutex_key, "%.*x", TPF_MUTEX_KEY_SIZE - 1, tpf_parent_pid); -} - -#ifndef __PIPE_ - -int pipe(int fildes[2]) -{ - errno = ENOSYS; - return(-1); -} - -API_EXPORT(piped_log *) ap_open_piped_log(pool *p, const char *program) - -{ - fprintf(stderr, "Pipes not supported on this TPF system\n"); - exit (1); -} - -#else - -void ap_tpf_detach_shared_mem(void *address) -{ - if (*((void **)address)) { - shmdt(*((void **)address)); - *((void **)address) = NULL; - } -} - -static void *ap_tpf_get_shared_mem(size_t size) -{ - key_t shmkey = IPC_PRIVATE; - int shmid = -1; - void *result; - - if ((shmid = shmget(shmkey, size, IPC_CREAT | SHM_R | SHM_W)) == -1) { - perror("shmget failed in ap_tpf_get_shared_mem function"); - exit(1); - } -#define BADSHMAT ((void *)(-1)) - if ((result = shmat(shmid, 0, 0)) == BADSHMAT) { - perror("shmat failed in ap_tpf_get_shared_mem"); - } - if (shmctl(shmid, IPC_RMID, NULL) != 0) { - perror("shmctl(IPC_RMID) failed in ap_tpf_get_shared_mem"); - } - if (result == BADSHMAT) { /* now bailout */ - exit(1); - } - - return result; -} - -int ap_tpf_fd_lookup(enum FILE_TYPE file_type, const char *fname) -/* lookup a fd in the fd inheritance table */ -{ - if (tpf_fds) { - int i; - TPF_FD_ITEM *fd_item = &tpf_fds->first_item; - - for (i = 1; i <= tpf_fds->nbr_of_items; i++, fd_item++) { - /* check for an fd with the same type and name */ - if ((file_type == fd_item->file_type) && - (strcmp(fname, fd_item->fname) == 0) ) { - /* we've got a match, check that fd is still open */ - struct stat stbuf; - - if (fstat(fd_item->fd, &stbuf) == 0) { - return(fd_item->fd); - } - else { - /* fd is not open - the entire fd table is suspect */ - fprintf(stderr, "fstat failed in ap_tpf_fd_lookup " - "for fd %i (filename/pipe to %s): %s\n", - fd_item->fd, fname, strerror(errno)); - ap_tpf_detach_shared_mem(&tpf_fds); - return(-1); - } - } - } - } - return(-1); -} - -void ap_tpf_add_fd(pool *p, int fd, enum FILE_TYPE file_type, const char *fname) -/* add a newly opened fd to the fd inheritance table */ -{ - int fname_size; - - if (tpf_child) { - return; /* no kids allowed */ - } - if (tpf_fds == NULL) { - /* get shared memory if necssary */ - tpf_fds = ap_tpf_get_shared_mem((size_t)TPF_FD_LIST_SIZE); - if (tpf_fds) { - ap_register_cleanup(p, (void *)&tpf_fds, - ap_tpf_detach_shared_mem, ap_null_cleanup); - tpf_fds->nbr_of_items = 0; - tpf_fds->next_avail_byte = &tpf_fds->first_item; - tpf_fds->last_avail_byte = (char *)tpf_fds + TPF_FD_LIST_SIZE; - } - } - /* add fd */ - if (tpf_fds) { - TPF_FD_ITEM *fd_item; - - /* make sure there's room */ - fname_size = strlen(fname) + 1; - if (sizeof(TPF_FD_ITEM) + fname_size > - (char *)tpf_fds->last_avail_byte - - (char *)tpf_fds->next_avail_byte) { - fprintf(stderr, "fd inheritance table out of room, increase " - "TPF_FD_LIST_SIZE in os.h and recompile Apache\n"); - exit(1); - } - /* add the new item */ - fd_item = tpf_fds->next_avail_byte; - tpf_fds->next_avail_byte = fd_item + 1; - tpf_fds->last_avail_byte - = (char *)tpf_fds->last_avail_byte - fname_size; - fd_item->fname = tpf_fds->last_avail_byte; - strcpy(fd_item->fname, fname); - fd_item->fd = fd; - fd_item->file_type = file_type; - tpf_fds->nbr_of_items++; - } -} - -API_EXPORT(piped_log *) ap_open_piped_log(pool *p, const char *program) -{ - int log_fd; - piped_log *pl; - - /* check fd inheritance table to see if this log is already open */ - log_fd = ap_tpf_fd_lookup(PIPE_OUT, program); - if (log_fd < 0) { - /* this is a new log - open it */ - FILE *dummy; - TPF_FORK_CHILD cld; - cld.filename = (char *)program; - cld.subprocess_env = NULL; - cld.prog_type = FORK_NAME; - - if (ap_spawn_child(p, NULL, &cld, kill_after_timeout, - &dummy, NULL, NULL)) { - log_fd = fileno(dummy); - /* add this log to the fd inheritance table */ - ap_tpf_add_fd(p, log_fd, PIPE_OUT, program); - } - else { - perror("ap_spawn_child"); - fprintf(stderr, "Couldn't fork child for piped log process\n"); - exit (1); - } - } - - pl = ap_palloc(p, sizeof (*pl)); - pl->p = p; - pl->fds[1] = log_fd; - - return pl; -} - -#endif /* __PIPE_ */ - -/* The following functions are used for the tpf specific module called - mod_tpf_shm_static. This module is a clone of Apache's mod_mmap_static. - Because TPF doesn't support the system call mmap(), it is replaced by - shared memory, but uses the mmap directives, etc. */ - -union align{ - - /* Types which are likely to have the longest RELEVANT alignment - * restrictions... */ - - char *cp; - void (*f) (void); - long l; - FILE *fp; - double d; -}; - -#define CLICK_SZ (sizeof(union align)) -union block_hdr { - union align a; - - /* Actual header... */ - - struct { - char *endp; - union block_hdr *next; - char *first_avail; - #ifdef POOL_DEBUG - union block_hdr *global_next; - struct pool *owning_pool; - #endif - } h; -}; - -struct pool { - union block_hdr *first; - union block_hdr *last; - struct cleanup *cleanups; - struct process_chain *subprocesses; - struct pool *sub_pools; - struct pool *sub_next; - struct pool *sub_prev; - struct pool *parent; - char *free_first_avail; -#ifdef ALLOC_USE_MALLOC - void *allocation_list; -#endif -#ifdef POOL_DEBUG - struct pool *joined; -#endif -}; - -#include "ap_alloc.h" -#define POOL_HDR_CLICKS (1 + ((sizeof(struct pool) - 1) / CLICK_SZ)) -#define POOL_HDR_BYTES (POOL_HDR_CLICKS * CLICK_SZ) - -pool * ap_get_shared_mem_pool(size_t size) -{ - pool *new_pool; - union block_hdr *blok; - - blok = (union block_hdr *) ap_tpf_get_shared_mem(size); - /* if shm fails, it will exit blok will be valid here */ - memset((char *) blok, '\0', size); - blok->h.next = NULL; - blok->h.first_avail = (char *) (blok + 1); - blok->h.endp = size + blok->h.first_avail; - new_pool = (pool *) blok->h.first_avail; - blok->h.first_avail += POOL_HDR_BYTES; - new_pool->free_first_avail = blok->h.first_avail; - new_pool->first = new_pool->last = blok; - - return new_pool; -} - -int ap_check_shm_space(struct pool *a, int size) -{ - union block_hdr *blok = a->last; - char *first_avail = blok->h.first_avail; - char *new_first_avail; - - new_first_avail = first_avail + size; - if (new_first_avail <= blok->h.endp) { - return (1); - } - else - return (0); -} - -/* - This function serves as an interim killpg for Apache shutdown purposes. - TPF won't have an actual killpg for a very long time, if ever. - (And kill with a negative pid doesn't work on TPF either.) -*/ -int killpg(pid_t pgrp, int sig) -{ - int i; - - ap_sync_scoreboard_image(); - - for (i = 0; i < HARD_SERVER_LIMIT; ++i) { - int pid = ap_scoreboard_image->parent[i].pid; - /* the pgrp check is so that we don't kill ourself: */ - if (pid && pid != pgrp) { - kill(pid, sig); - } - } - /* allow time for the signals to get to the children */ - sleep(1); - /* get idle children's attention by closing the socket */ - closesocket(sock_sd); - sleep(1); - - return(0); -} - -/* - This function augments http_main's show_compile_settings function. - This way definitions that are only shown on TPF won't clutter up - main line code. -*/ -void show_os_specific_compile_settings(void) -{ -int i; - -#ifdef USE_TPF_SCOREBOARD - #error "USE_TPF_SCOREBOARD (system heap scoreboard)" - #error "is no longer supported." - #error "Replace with USE_SHMGET_SCOREBOARD to use" - #error "shared memory or remove entirely to use" - #error "scoreboard on file for pre-PUT10 systems" -#endif - -#ifdef TPF_FORK_EXTENDED - printf(" -D TPF_FORK_EXTENDED\n"); -#endif - -#ifdef TPF_HAVE_NONSOCKET_SELECT - printf(" -D TPF_HAVE_NONSOCKET_SELECT\n"); -#endif - -#ifdef TPF_NO_NONSOCKET_SELECT - printf(" -D TPF_NO_NONSOCKET_SELECT\n"); -#endif - -#ifdef TPF_HAVE_SAWNC - printf(" -D TPF_HAVE_SAWNC\n"); -#endif - -#ifdef TPF_NO_SAWNC - printf(" -D TPF_NO_SAWNC\n"); -#endif - -#ifdef TPF_HAVE_NSD - printf(" -D TPF_HAVE_NSD\n"); -#endif - -#ifdef HAVE_SYSLOG - printf(" -D HAVE_SYSLOG\n"); -#endif - - printf(" -D TPF_ACCEPT_SECS_TO_BLOCK=%i\n", TPF_ACCEPT_SECS_TO_BLOCK); - /* round SCOREBOARD_MAINTENANCE_INTERVAL up to seconds */ - i = (SCOREBOARD_MAINTENANCE_INTERVAL + 999999) / 1000000; - if (i == 1) { - printf(" -D SCOREBOARD_MAINTENANCE_INTERVAL=1 SECOND\n"); - } else { - printf(" -D SCOREBOARD_MAINTENANCE_INTERVAL=%i SECONDS\n", i); - } - -#ifdef TPF_HAVE_SIGACTION - printf(" -D TPF_HAVE_SIGACTION\n"); -#endif - -#ifdef NO_USE_SIGACTION - printf(" -D NO_USE_SIGACTION\n"); -#endif - -} diff --git a/usr.sbin/httpd/src/os/tpf/os.h b/usr.sbin/httpd/src/os/tpf/os.h deleted file mode 100644 index fb0390e35df..00000000000 --- a/usr.sbin/httpd/src/os/tpf/os.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef APACHE_OS_H -#define APACHE_OS_H - -/* - * This file is included in all Apache source code. It contains definitions - * of facilities available on _this_ operating system (HAVE_* macros), - * and prototypes of OS specific functions defined in os.c or os-inline.c - */ - -#define PLATFORM "TPF" - -/************************************************************************ - * PJ26895 provides support for non_socket_select. - * You can determine if this apar is applied to your system by looking - * at i$pwbl.h. If the function non_socket_select is defined, - * then add #define TPF_HAVE_NONSOCKET_SELECT - * else add #define TPF_NO_NONSOCKET_SELECT - * - * One of these two #defines is required and must be added here in os.h - * before the following check. - ************************************************************************/ - -#if !defined(TPF_HAVE_NONSOCKET_SELECT) && !defined(TPF_NO_NONSOCKET_SELECT) - #error "You must define whether your system supports non_socket_select()" - #error "See src/os/tpf/os.h for instructions" -#endif - -#if defined(TPF_HAVE_NONSOCKET_SELECT) && defined(TPF_NO_NONSOCKET_SELECT) - #error "TPF_HAVE_NONSOCKET_SELECT and TPF_NO_NONSOCKET_SELECT" - #error "cannot both be defined" - #error "See src/os/tpf/os.h for instructions" -#endif - -/************************************************************************ - * PJ27387 or PJ26188 provides support for tpf_sawnc. - * You can determine if this apar is applied to your system by looking at - * tpfapi.h or i$fsdd.h. If the function tpf_sawnc is defined, - * then add #define TPF_HAVE_SAWNC - * else add #define TPF_NO_SAWNC - * - * One of these two #defines is required and must be added here in os.h - * before the following check. - ************************************************************************/ - -#if !defined(TPF_HAVE_SAWNC) && !defined(TPF_NO_SAWNC) - #error "You must define whether your system supports tpf_sawnc()" - #error "See src/os/tpf/os.h for instructions" -#endif - -#if defined(TPF_HAVE_SAWNC) && defined(TPF_NO_SAWNC) - #error "TPF_HAVE_SAWNC and TPF_NO_SAWNC" - #error "cannot both be defined" - #error "See src/os/tpf/os.h for instructions" -#endif - -/* if the compiler defined errno then undefine it - and pick up the correct definition from errno.h */ -#if defined(errno) && !defined(__errnoh) -#undef errno -#include <errno.h> -#endif - -/* If APAR PJ27277 (which shipped on PUT13) has been applied */ -/* then we want to #define TPF_FORK_EXTENDED so Perl CGIs will work. */ -/* Rather than hardcoding it we'll check for "environ" in stdlib.h, */ -/* which was also added by PJ27277. */ -#include <stdlib.h> -#if defined(environ) && !defined(TPF_FORK_EXTENDED) -#define TPF_FORK_EXTENDED -#endif - -#include <sysapi.h> -#include "ap_config.h" - -#define WUNTRACED 0 /* TPF's waitpid() doesn't support WUNTRACED */ - -/* TPF_ACCEPT_SECS_TO_BLOCK is the number of seconds to block while - waiting to accept a new request in the ap_accept/tpf_accept function */ -#ifndef TPF_ACCEPT_SECS_TO_BLOCK -#define TPF_ACCEPT_SECS_TO_BLOCK 1 -#endif - -#ifdef HAVE_ISNAN -#undef HAVE_ISNAN -#endif - -#ifdef HAVE_ISINF -#undef HAVE_ISINF -#endif - -#if !defined(INLINE) && defined(USE_GNU_INLINE) -/* Compiler supports inline, so include the inlineable functions as - * part of the header - */ -#define INLINE extern ap_inline -#include "os-inline.c" -#endif - -#ifndef INLINE -/* Compiler does not support inline, so prototype the inlineable functions - * as normal - */ -extern int ap_os_is_path_absolute(const char *f); -#endif - -/* Other ap_os_ routines not used by this platform */ - -#define ap_os_is_filename_valid(f) (1) -#define ap_os_kill(pid, sig) kill(pid, sig) - -#include <strings.h> -#ifndef __strings_h - -#define FD_SETSIZE 2048 - -typedef long fd_mask; - -#define NBBY 8 /* number of bits in a byte */ -#define NFDBITS (sizeof(fd_mask) * NBBY) -#define howmany(x, y) (((x)+((y)-1))/(y)) - -typedef struct fd_set { - fd_mask fds_bits [howmany(FD_SETSIZE, NFDBITS)]; -} fd_set; - -#define FD_CLR(n, p)((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS))) -#define FD_ISSET(n, p)((p)->fds_bits[(n)/NFDBITS] & (1 <<((n) % NFDBITS))) -#define FD_ZERO(p) memset((char *)(p), 0, sizeof(*(p))) -#endif - -#ifdef FD_SET -#undef FD_SET -#define FD_SET(n, p) (0) -#endif - -#define TPF_MUTEX_KEY_SIZE (sizeof(pid_t)*2+1) - -/* TPF doesn't have, or need, tzset (it is used in mod_expires.c) */ -#define tzset() - -/* definitions for the file descriptor inheritance table */ -#define TPF_FD_LIST_SIZE 4000 - -enum FILE_TYPE { PIPE_OUT = 1, PIPE_IN, PIPE_ERR }; - -typedef struct tpf_fd_item { - int fd; - enum FILE_TYPE file_type; - char *fname; -}TPF_FD_ITEM; - -typedef struct tpf_fd_list { - void *next_avail_byte; - void *last_avail_byte; - unsigned int nbr_of_items; - TPF_FD_ITEM first_item; -}TPF_FD_LIST; - -#include <i$netd.h> -typedef struct apache_input { - void *scoreboard_heap; /* scoreboard system heap address */ - int slot; /* child number */ - int generation; /* server generation number */ - int listeners[10]; - time_t restart_time; - TPF_FD_LIST *tpf_fds; /* fd inheritance table ptr */ - void *shm_static_ptr; /* shm ptr for static pages */ -}APACHE_TPF_INPUT; - -typedef union ebw_area { - INETD_SERVER_INPUT parent; - APACHE_TPF_INPUT child; -}EBW_AREA; - -extern void *tpf_shm_static_ptr; /* mod_tpf_shm_static */ -#define TPF_SHM_STATIC_SIZE 200000 -#define MMAP_SEGMENT_SIZE 32767 /* writev can handle 32767 */ -#define _SYS_UIO_H_ /* writev */ - -typedef struct tpf_fork_child { - char *filename; - enum { FORK_NAME = 1, FORK_FILE = 2 } prog_type; - void *subprocess_env; -}TPF_FORK_CHILD; - -int tpf_accept(int sockfd, struct sockaddr *peer, int *paddrlen); -extern int tpf_child; - -struct server_rec; -pid_t os_fork(struct server_rec *s, int slot); -void ap_tpf_zinet_checks(int standalone, - const char *servername, - struct server_rec *s); -int os_check_server(char *server); -void show_os_specific_compile_settings(void); -char *getpass(const char *prompt); -int killpg(pid_t pgrp, int sig); -extern char *ap_server_argv0; -#include <signal.h> -#ifndef SIGPIPE -#define SIGPIPE 14 -#endif -#ifdef NSIG -#undef NSIG -#endif -void ap_tpf_save_argv(int argc, char **argv); - -/* various #defines for ServerType/ZINET model checks: */ - -#define TPF_SERVERTYPE_MSG \ - "ServerType inetd is not supported on TPF" \ - " -- Apache startup aborted" - -#ifdef INETD_IDCF_MODEL_DAEMON -#define TPF_STANDALONE_CONFLICT_MSG \ - "ServerType standalone requires ZINET model DAEMON or NOLISTEN" \ - " -- Apache startup aborted" -#define TPF_NOLISTEN_WARNING \ - "ZINET model DAEMON is preferred over model NOLISTEN" -#else -#define INETD_IDCF_MODEL_DAEMON -1 -#define TPF_STANDALONE_CONFLICT_MSG \ - "ServerType standalone requires ZINET model NOLISTEN" \ - " -- Apache startup aborted" -#endif - -#define TPF_UNABLE_TO_DETERMINE_ZINET_MODEL \ - "Unable to determine ZINET model: inetd_getServer(\"%s\") " \ - "call failed -- Apache startup aborted" - -#endif /*! APACHE_OS_H*/ diff --git a/usr.sbin/httpd/src/os/win32/ApacheOS.dsp b/usr.sbin/httpd/src/os/win32/ApacheOS.dsp deleted file mode 100644 index 86d511f9c86..00000000000 --- a/usr.sbin/httpd/src/os/win32/ApacheOS.dsp +++ /dev/null @@ -1,89 +0,0 @@ -# Microsoft Developer Studio Project File - Name="ApacheOS" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=ApacheOS - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "ApacheOS.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "ApacheOS.mak" CFG="ApacheOS - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "ApacheOS - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "ApacheOS - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe - -!IF "$(CFG)" == "ApacheOS - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "LibR" -# PROP BASE Intermediate_Dir "LibR" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "LibR" -# PROP Intermediate_Dir "LibR" -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fd"LibR\ApacheOS" /FD /c -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo - -!ELSEIF "$(CFG)" == "ApacheOS - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "LibD" -# PROP BASE Intermediate_Dir "LibD" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "LibD" -# PROP Intermediate_Dir "LibD" -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /Fd"LibD\ApacheOS" /FD /c -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo - -!ENDIF - -# Begin Target - -# Name "ApacheOS - Win32 Release" -# Name "ApacheOS - Win32 Debug" -# Begin Source File - -SOURCE=.\os.c -# End Source File -# Begin Source File - -SOURCE=.\os.h -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/ApacheOS.mak b/usr.sbin/httpd/src/os/win32/ApacheOS.mak deleted file mode 100644 index ca65901e21b..00000000000 --- a/usr.sbin/httpd/src/os/win32/ApacheOS.mak +++ /dev/null @@ -1,184 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on ApacheOS.dsp -!IF "$(CFG)" == "" -CFG=ApacheOS - Win32 Debug -!MESSAGE No configuration specified. Defaulting to ApacheOS - Win32 Debug. -!ENDIF - -!IF "$(CFG)" != "ApacheOS - Win32 Release" && "$(CFG)" != "ApacheOS - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "ApacheOS.mak" CFG="ApacheOS - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "ApacheOS - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "ApacheOS - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "ApacheOS - Win32 Release" - -OUTDIR=.\LibR -INTDIR=.\LibR -# Begin Custom Macros -OutDir=.\LibR -# End Custom Macros - -ALL : "$(OUTDIR)\ApacheOS.lib" - - -CLEAN : - -@erase "$(INTDIR)\ApacheOS.idb" - -@erase "$(INTDIR)\ApacheOS.pdb" - -@erase "$(INTDIR)\os.obj" - -@erase "$(OUTDIR)\ApacheOS.lib" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\ApacheOS" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\ApacheOS.bsc" -BSC32_SBRS= \ - -LIB32=link.exe -lib -LIB32_FLAGS=/nologo /out:"$(OUTDIR)\ApacheOS.lib" -LIB32_OBJS= \ - "$(INTDIR)\os.obj" - -"$(OUTDIR)\ApacheOS.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS) - $(LIB32) @<< - $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ApacheOS - Win32 Debug" - -OUTDIR=.\LibD -INTDIR=.\LibD -# Begin Custom Macros -OutDir=.\LibD -# End Custom Macros - -ALL : "$(OUTDIR)\ApacheOS.lib" - - -CLEAN : - -@erase "$(INTDIR)\ApacheOS.idb" - -@erase "$(INTDIR)\ApacheOS.pdb" - -@erase "$(INTDIR)\os.obj" - -@erase "$(OUTDIR)\ApacheOS.lib" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\ApacheOS" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\ApacheOS.bsc" -BSC32_SBRS= \ - -LIB32=link.exe -lib -LIB32_FLAGS=/nologo /out:"$(OUTDIR)\ApacheOS.lib" -LIB32_OBJS= \ - "$(INTDIR)\os.obj" - -"$(OUTDIR)\ApacheOS.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS) - $(LIB32) @<< - $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("ApacheOS.dep") -!INCLUDE "ApacheOS.dep" -!ELSE -!MESSAGE Warning: cannot find "ApacheOS.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "ApacheOS - Win32 Release" || "$(CFG)" == "ApacheOS - Win32 Debug" -SOURCE=.\os.c - -"$(INTDIR)\os.obj" : $(SOURCE) "$(INTDIR)" - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/BaseAddr.ref b/usr.sbin/httpd/src/os/win32/BaseAddr.ref deleted file mode 100644 index 7b136f25090..00000000000 --- a/usr.sbin/httpd/src/os/win32/BaseAddr.ref +++ /dev/null @@ -1,31 +0,0 @@ -; os/win32/BaseAddr.ref contains the central repository -; of all module base addresses -; to avoid relocation - -; WARNING: Update this file by reviewing the image size -; of the debug-generated dll files; release images -; should fit in the larger debug-sized reservations. -; Always allow some slack (if >C000, size at 20000) -; to allow for discrepancies between builds. - -; module name base-address max-size - -ApacheCore 0x6FF60000 0x000A0000 -xmlparse 0x6FF40000 0x00020000 -xmltok 0x6FF10000 0x00030000 -mod_auth_anon 0x6FEF0000 0x00010000 -mod_auth_digest 0x6FED0000 0x00020000 -mod_cern_meta 0x6FEC0000 0x00010000 -mod_digest 0x6FEB0000 0x00010000 -mod_expires 0x6FEA0000 0x00010000 -mod_headers 0x6FE90000 0x00010000 -mod_info 0x6FE80000 0x00010000 -mod_rewrite 0x6FE60000 0x00020000 -mod_speling 0x6FE50000 0x00010000 -mod_status 0x6FE40000 0x00010000 -mod_usertrack 0x6FE30000 0x00010000 -mod_proxy 0x6FE10000 0x00020000 -mod_auth_dbm 0x6FE00000 0x00010000 -mod_unique_id 0x6FDF0000 0x00010000 -mod_vhost_alias 0x6FDE0000 0x00010000 -mod_mime_magic 0x6FDD0000 0x00010000 diff --git a/usr.sbin/httpd/src/os/win32/MakeModuleMak.cpp b/usr.sbin/httpd/src/os/win32/MakeModuleMak.cpp deleted file mode 100644 index 9ab9f272217..00000000000 --- a/usr.sbin/httpd/src/os/win32/MakeModuleMak.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include <fstream.h> -#include <assert.h> -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -void MakeMake(const char *szModule,const char *szSource) - { - ifstream ifs("Module.mak.tmpl",ios::nocreate); - assert(ifs.good()); - - char buf[1024]; - sprintf(buf,"%s.mak",szModule); - ofstream ofs(buf,ios::trunc); - for( ; ; ) - { - ifs.getline(buf,sizeof buf); - if(ifs.eof()) - break; - for(char *s=buf ; *s ; ) - { - char *p=strchr(s,'%'); - if(!p) - { - ofs << s << '\n'; - break; - } - if(!strncmp(p,"%Module%",8)) - { - ofs.write(s,p-s); - ofs << szModule; - s=p+8; - } - else if(!strncmp(p,"%Source%",8)) - { - ofs.write(s,p-s); - ofs << szSource; - s=p+8; - } - else - { - ofs.write(s,p-s+1); - s=p+1; - } - } - } - } - -void main(int argc,char **argv) - { - if(argc < 2 || (argc%2) != 1) - { - cerr << argv[0] << " [<module name> <source file>]+\n"; - exit(1); - } - for(int n=1 ; n < argc ; n+=2) - MakeMake(argv[n],argv[n+1]); - } - diff --git a/usr.sbin/httpd/src/os/win32/Module.mak.tmpl b/usr.sbin/httpd/src/os/win32/Module.mak.tmpl deleted file mode 100644 index 4f6f2e1be9c..00000000000 --- a/usr.sbin/httpd/src/os/win32/Module.mak.tmpl +++ /dev/null @@ -1,230 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -!IF "$(CFG)" == "" -CFG=%Module% - Win32 Debug -!MESSAGE No configuration specified. Defaulting to %Module% - Win32\ - Debug. -!ENDIF - -!IF "$(CFG)" != "%Module% - Win32 Release" && "$(CFG)" !=\ - "%Module% - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE on this makefile -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "%Module%.mak"\ - CFG="%Module% - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "%Module% - Win32 Release" (based on\ - "Win32 (x86) Dynamic-Link Library") -!MESSAGE "%Module% - Win32 Debug" (based on\ - "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF -################################################################################ -# Begin Project -# PROP Target_Last_Scanned "%Module% - Win32 Debug" -MTL=mktyplib.exe -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "%Module% - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "%Module%R" -# PROP Intermediate_Dir "%Module%R" -# PROP Target_Dir "" -OUTDIR=.\%Module%R -INTDIR=.\%Module%R - -ALL : "$(OUTDIR)\%Module%.dll" - -CLEAN : - -@erase "$(INTDIR)\%Source%.obj" - -@erase "$(OUTDIR)\%Module%.dll" - -@erase "$(OUTDIR)\%Module%.exp" - -@erase "$(OUTDIR)\%Module%.lib" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\regex" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "..\regex" /D "WIN32" /D "NDEBUG" /D\ - "_WINDOWS" /Fp"$(INTDIR)/%Module%.pch" /YX /Fo"$(INTDIR)/" /c -CPP_OBJS=.\%Module%R/ -CPP_SBRS=.\. -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /win32 -MTL_PROJ=/nologo /D "NDEBUG" /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/%Module%.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 -# ADD LINK32 ..\CoreR\ApacheCore.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 -LINK32_FLAGS=..\CoreR\ApacheCore.lib kernel32.lib user32.lib gdi32.lib\ - winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib\ - uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll\ - /incremental:no /pdb:"$(OUTDIR)/%Module%.pdb" /machine:I386\ - /out:"$(OUTDIR)/%Module%.dll"\ - /implib:"$(OUTDIR)/%Module%.lib" -LINK32_OBJS= \ - "$(INTDIR)\%Source%.obj" - -"$(OUTDIR)\%Module%.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "%Module% - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "%Module%D" -# PROP Intermediate_Dir "%Module%D" -# PROP Target_Dir "" -OUTDIR=.\%Module%D -INTDIR=.\%Module%D - -ALL : "$(OUTDIR)\%Module%.dll" - -CLEAN : - -@erase "$(INTDIR)\%Source%.obj" - -@erase "$(INTDIR)\vc40.idb" - -@erase "$(INTDIR)\vc40.pdb" - -@erase "$(OUTDIR)\%Module%.dll" - -@erase "$(OUTDIR)\%Module%.exp" - -@erase "$(OUTDIR)\%Module%.ilk" - -@erase "$(OUTDIR)\%Module%.lib" - -@erase "$(OUTDIR)\%Module%.pdb" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\regex" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\regex" /D "WIN32" /D "_DEBUG"\ - /D "_WINDOWS" /Fp"$(INTDIR)/%Module%.pch" /YX /Fo"$(INTDIR)/"\ - /Fd"$(INTDIR)/" /c -CPP_OBJS=.\%Module%D/ -CPP_SBRS=.\. -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /win32 -MTL_PROJ=/nologo /D "_DEBUG" /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/%Module%.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 -# ADD LINK32 ..\CoreD\ApacheCore.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 -LINK32_FLAGS=..\CoreD\ApacheCore.lib kernel32.lib user32.lib gdi32.lib\ - winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib\ - uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll\ - /incremental:yes /pdb:"$(OUTDIR)/%Module%.pdb" /debug /machine:I386\ - /out:"$(OUTDIR)/%Module%.dll"\ - /implib:"$(OUTDIR)/%Module%.lib" -LINK32_OBJS= \ - "$(INTDIR)\%Source%.obj" - -"$(OUTDIR)\%Module%.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -################################################################################ -# Begin Target - -# Name "%Module% - Win32 Release" -# Name "%Module% - Win32 Debug" - -!IF "$(CFG)" == "%Module% - Win32 Release" - -!ELSEIF "$(CFG)" == "%Module% - Win32 Debug" - -!ENDIF - -################################################################################ -# Begin Source File - -SOURCE=\work\apache\src\%Source%.c -DEP_CPP_MOD_A=\ - "..\ap_alloc.h"\ - "..\buff.h"\ - "..\conf.h"\ - "..\http_config.h"\ - "..\http_core.h"\ - "..\http_log.h"\ - "..\http_request.h"\ - "..\httpd.h"\ - "..\regex\regex.h"\ - "..\ap_mmn.h"\ - ".\readdir.h"\ - {$(INCLUDE)}"\sys\stat.h"\ - {$(INCLUDE)}"\sys\types.h"\ - -NODEP_CPP_MOD_A=\ - "..\sfio.h"\ - - -"$(INTDIR)\%Source%.obj" : $(SOURCE) $(DEP_CPP_MOD_A) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -# End Target -# End Project -################################################################################ diff --git a/usr.sbin/httpd/src/os/win32/Win9xConHook.c b/usr.sbin/httpd/src/os/win32/Win9xConHook.c deleted file mode 100644 index eb6e7f270a6..00000000000 --- a/usr.sbin/httpd/src/os/win32/Win9xConHook.c +++ /dev/null @@ -1,739 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef WIN32 - -/* - * Win9xConHook.dll - a hook proc to clean up Win95/98 console behavior. - * - * It is well(?) documented by Microsoft that the Win9x HandlerRoutine - * hooked by the SetConsoleCtrlHandler never receives the CTRL_CLOSE_EVENT, - * CTRL_LOGOFF_EVENT or CTRL_SHUTDOWN_EVENT signals. - * - * It is possible to have a second window to monitor the WM_ENDSESSION - * message, but the close button still fails.. - * - * There is a 16bit polling method for the close window option, but this - * is CPU intensive and requires thunking. - * - * Attempts to subclass the 'tty' console fail, since that message thread - * is actually owned by the 16 bit winoldap.mod process, although the - * window reports it is owned by the process/thread of the console app. - * - * Win9xConHook is thunks the WM_CLOSE and WM_ENDSESSION messages, - * first through a window hook procedure in the winoldap context, into - * a subclass WndProc, and on to a second hidden monitor window in the - * console application's context that dispatches them to the console app's - * registered HandlerRoutine. - */ - -/* This debugging define turns on output to COM1, although you better init - * the port first (even using hyperterm). It's the only way to catch the - * goings on within system logoff/shutdown. - * #define DBG 1 - */ - -#include <windows.h> - -/* Variables used within any process context: - * hookwndmsg is a shared message to send Win9xConHook signals - * origwndprop is a wndprop atom to store the orig wndproc of the tty - * hookwndprop is a wndprop atom to store the hwnd of the hidden child - * is_service reminds us to unmark this process on the way out - */ -static UINT hookwndmsg = 0; -static LPCTSTR origwndprop; -static LPCTSTR hookwndprop; -static BOOL is_service = 0; -//static HMODULE hmodThis = NULL; - -/* Variables used within the tty processes' context: - * is_tty flags this process; -1 == unknown, 1 == if tty, 0 == if not - * hw_tty is the handle of the top level tty in this process context - * is_subclassed is toggled to assure DllMain removes the subclass on unload - * hmodLock is there to try and prevent this dll from being unloaded if the - * hook is removed while we are subclassed - */ -static int is_tty = -1; -static HWND hwtty = NULL; -static BOOL is_subclassed = 0; - -// This simply causes a gpfault the moment it tries to FreeLibrary within -// the subclass procedure ... not good. -//static HMODULE hmodLock = NULL; - -/* Variables used within the service or console app's context: - * hmodHook is the instance handle of this module for registering the hooks - * hhkGetMessage is the hook handle for catching Posted messages - * hhkGetMessage is the hook handle for catching Sent messages - * monitor_hwnd is the invisible window that handles our tty messages - * the tty_info strucure is used to pass args into the hidden window's thread - */ -static HMODULE hmodHook = NULL; -static HHOOK hhkGetMessage; -//static HHOOK hhkCallWndProc; -static HWND monitor_hwnd = NULL; - -typedef struct { - PHANDLER_ROUTINE phandler; - HINSTANCE instance; - HWND parent; - INT type; - LPCSTR name; -} tty_info; - -/* These are the GetWindowLong offsets for the hidden window's internal info - * gwltty_phandler is the address of the app's HandlerRoutine - * gwltty_ttywnd is the tty this hidden window will handle messages from - */ -#define gwltty_phandler 0 -#define gwltty_ttywnd 4 - -/* Forward declaration prototypes for internal functions - */ -static BOOL CALLBACK EnumttyWindow(HWND wnd, LPARAM retwnd); -static LRESULT WINAPI RegisterWindows9xService(BOOL set_service); -static LRESULT CALLBACK ttyConsoleCtrlWndProc(HWND hwnd, UINT msg, - WPARAM wParam, LPARAM lParam); -static DWORD WINAPI ttyConsoleCtrlThread(LPVOID tty); -static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, - WPARAM wParam, LPARAM lParam); -static int HookProc(int hc, HWND *hwnd, UINT *msg, - WPARAM *wParam, LPARAM *lParam); -#ifdef DBG -static VOID DbgPrintf(LPTSTR fmt, ...); -#endif - - -/* DllMain is invoked by every process in the entire system that is hooked - * by our window hooks, notably the tty processes' context, and by the user - * who wants tty messages (the app). Keep it light and simple. - */ -BOOL __declspec(dllexport) APIENTRY DllMain(HINSTANCE hModule, ULONG ulReason, - LPVOID pctx) -{ - if (ulReason == DLL_PROCESS_ATTACH) - { - //hmodThis = hModule; - if (!hookwndmsg) { - origwndprop = MAKEINTATOM(GlobalAddAtom("Win9xConHookOrigProc")); - hookwndprop = MAKEINTATOM(GlobalAddAtom("Win9xConHookThunkWnd")); - hookwndmsg = RegisterWindowMessage("Win9xConHookMsg"); - } -#ifdef DBG -// DbgPrintf("H ProcessAttach:%8.8x\r\n", -// GetCurrentProcessId()); -#endif - } - else if ( ulReason == DLL_PROCESS_DETACH ) - { -#ifdef DBG -// DbgPrintf("H ProcessDetach:%8.8x\r\n", GetCurrentProcessId()); -#endif - if (monitor_hwnd) - SendMessage(monitor_hwnd, WM_DESTROY, 0, 0); - if (is_subclassed) - SendMessage(hwtty, hookwndmsg, 0, (LPARAM)hwtty); - if (hmodHook) - { - if (hhkGetMessage) { - UnhookWindowsHookEx(hhkGetMessage); - hhkGetMessage = NULL; - } - //if (hhkCallWndProc) { - // UnhookWindowsHookEx(hhkCallWndProc); - // hhkCallWndProc = NULL; - //} - FreeLibrary(hmodHook); - hmodHook = NULL; - } - if (is_service) - RegisterWindows9xService(FALSE); - if (hookwndmsg) { - GlobalDeleteAtom((ATOM)origwndprop); - GlobalDeleteAtom((ATOM)hookwndprop); - hookwndmsg = 0; - } - } - return TRUE; -} - - -/* This group of functions are provided for the service/console app - * to register itself a HandlerRoutine to accept tty or service messages - */ - - -/* Exported function that creates a Win9x 'service' via a hidden window, - * that notifies the process via the HandlerRoutine messages. - */ -BOOL __declspec(dllexport) WINAPI Windows9xServiceCtrlHandler( - PHANDLER_ROUTINE phandler, - LPCSTR name) -{ - /* If we have not yet done so */ - FreeConsole(); - - if (name) - { - DWORD tid; - HANDLE hThread; - /* NOTE: this is static so the module can continue to - * access these args while we go on to other things - */ - static tty_info tty; - tty.instance = GetModuleHandle(NULL); - tty.phandler = phandler; - tty.parent = NULL; - tty.name = name; - tty.type = 2; - RegisterWindows9xService(TRUE); - hThread = CreateThread(NULL, 0, ttyConsoleCtrlThread, - (LPVOID)&tty, 0, &tid); - if (hThread) - { - CloseHandle(hThread); - return TRUE; - } - } - else /* remove */ - { - if (monitor_hwnd) - SendMessage(monitor_hwnd, WM_DESTROY, 0, 0); - RegisterWindows9xService(FALSE); - return TRUE; - } - return FALSE; -} - - -/* Exported function that registers a HandlerRoutine to accept missing - * Win9x CTRL_EVENTs from the tty window, as NT does without a hassle. - * If add is 1 or 2, register the handler, if 2 also mark it as a service. - * If add is 0 deregister the handler, and unmark if a service - */ -BOOL __declspec(dllexport) WINAPI FixConsoleCtrlHandler( - PHANDLER_ROUTINE phandler, - INT add) -{ - HWND parent; - - if (add) - { - HANDLE hThread; - DWORD tid; - /* NOTE: this is static so the module can continue to - * access these args while we go on to other things - */ - static tty_info tty; - EnumWindows(EnumttyWindow, (LPARAM)&parent); - if (!parent) { -#ifdef DBG - DbgPrintf("A EnumttyWindow failed (%d)\r\n", GetLastError()); -#endif - return FALSE; - } - tty.instance = GetModuleHandle(NULL); - tty.phandler = phandler; - tty.parent = parent; - tty.type = add; - if (add == 2) { - tty.name = "ttyService"; - RegisterWindows9xService(TRUE); - } - else - tty.name = "ttyMonitor"; - hThread = CreateThread(NULL, 0, ttyConsoleCtrlThread, - (LPVOID)&tty, 0, &tid); - if (!hThread) - return FALSE; - CloseHandle(hThread); - hmodHook = LoadLibrary("Win9xConHook.dll"); - if (hmodHook) - { - hhkGetMessage = SetWindowsHookEx(WH_GETMESSAGE, - (HOOKPROC)GetProcAddress(hmodHook, "GetMsgProc"), hmodHook, 0); - //hhkCallWndProc = SetWindowsHookEx(WH_CALLWNDPROC, - // (HOOKPROC)GetProcAddress(hmodHook, "CallWndProc"), hmodHook, 0); - } - return TRUE; - } - else /* remove */ - { - if (monitor_hwnd) { - SendMessage(monitor_hwnd, WM_DESTROY, 0, 0); - } - if (hmodHook) - { - if (hhkGetMessage) { - UnhookWindowsHookEx(hhkGetMessage); - hhkGetMessage = NULL; - } - //if (hhkCallWndProc) { - // UnhookWindowsHookEx(hhkCallWndProc); - // hhkCallWndProc = NULL; - //} - FreeLibrary(hmodHook); - hmodHook = NULL; - } - if (is_service) - RegisterWindows9xService(FALSE); - return TRUE; - } - return FALSE; -} - - -/* The following internal helpers are only used within the app's context - */ - -/* ttyConsoleCreateThread is the process that runs within the user app's - * context. It creates and pumps the messages of a hidden monitor window, - * watching for messages from the system, or the associated subclassed tty - * window. Things can happen in our context that can't be done from the - * tty's context, and visa versa, so the subclass procedure and this hidden - * window work together to make it all happen. - */ -static DWORD WINAPI ttyConsoleCtrlThread(LPVOID tty) -{ - WNDCLASS wc; - MSG msg; - wc.style = CS_GLOBALCLASS; - wc.lpfnWndProc = ttyConsoleCtrlWndProc; - wc.cbClsExtra = 0; - wc.cbWndExtra = 8; - wc.hInstance = NULL; - wc.hIcon = NULL; - wc.hCursor = NULL; - wc.hbrBackground = NULL; - wc.lpszMenuName = NULL; - if (((tty_info*)tty)->parent) - wc.lpszClassName = "ttyConHookChild"; - else - wc.lpszClassName = "ApacheWin95ServiceMonitor"; - - if (!RegisterClass(&wc)) { -#ifdef DBG - DbgPrintf("A proc %8.8x Error creating class %s (%d)\r\n", - GetCurrentProcessId(), wc.lpszClassName, GetLastError()); -#endif - return 0; - } - - /* Create an invisible window */ - monitor_hwnd = CreateWindow(wc.lpszClassName, ((tty_info*)tty)->name, - WS_OVERLAPPED & ~WS_VISIBLE, - CW_USEDEFAULT, CW_USEDEFAULT, - CW_USEDEFAULT, CW_USEDEFAULT, - NULL, NULL, - ((tty_info*)tty)->instance, tty); - - if (!monitor_hwnd) { -#ifdef DBG - DbgPrintf("A proc %8.8x Error creating window %s %s (%d)\r\n", - GetCurrentProcessId(), wc.lpszClassName, - ((tty_info*)tty)->name, GetLastError()); -#endif - return 0; - } - - while (GetMessage(&msg, NULL, 0, 0)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - - /* Tag again as deleted, just in case we missed WM_DESTROY */ - monitor_hwnd = NULL; - return 0; -} - - -/* This is the WndProc procedure for our invisible window. - * When our subclasssed tty window receives the WM_CLOSE, WM_ENDSESSION, - * or WM_QUERYENDSESSION messages, the message is dispatched to our hidden - * window (this message process), and we call the installed HandlerRoutine - * that was registered by the app. - */ -static LRESULT CALLBACK ttyConsoleCtrlWndProc(HWND hwnd, UINT msg, - WPARAM wParam, LPARAM lParam) -{ - if (msg == WM_CREATE) - { - tty_info *tty = (tty_info*)(((LPCREATESTRUCT)lParam)->lpCreateParams); - SetWindowLong(hwnd, gwltty_phandler, (LONG)tty->phandler); - SetWindowLong(hwnd, gwltty_ttywnd, (LONG)tty->parent); -#ifdef DBG - DbgPrintf("A proc %8.8x created %8.8x %s for tty wnd %8.8x\r\n", - GetCurrentProcessId(), hwnd, - tty->name, tty->parent); -#endif - if (tty->parent) { - SetProp(tty->parent, hookwndprop, hwnd); - PostMessage(tty->parent, hookwndmsg, - tty->type, (LPARAM)tty->parent); - } - return 0; - } - else if (msg == WM_DESTROY) - { - HWND parent = (HWND)GetWindowLong(hwnd, gwltty_ttywnd); -#ifdef DBG - DbgPrintf("A proc %8.8x destroyed %8.8x ttyConHookChild\r\n", - GetCurrentProcessId(), hwnd); -#endif - if (parent) { - RemoveProp(parent, hookwndprop); - SendMessage(parent, hookwndmsg, 0, (LPARAM)parent); - } - monitor_hwnd = NULL; - } - else if (msg == WM_CLOSE) - { - PHANDLER_ROUTINE phandler = - (PHANDLER_ROUTINE)GetWindowLong(hwnd, gwltty_phandler); - LRESULT rv = phandler(CTRL_CLOSE_EVENT); -#ifdef DBG - DbgPrintf("A proc %8.8x invoked CTRL_CLOSE_EVENT " - "returning %d\r\n", - GetCurrentProcessId(), rv); -#endif - if (rv) - return !rv; - } - else if ((msg == WM_QUERYENDSESSION) || (msg == WM_ENDSESSION)) - { - if (lParam & ENDSESSION_LOGOFF) - { - PHANDLER_ROUTINE phandler = - (PHANDLER_ROUTINE)GetWindowLong(hwnd, gwltty_phandler); - LRESULT rv = phandler(CTRL_LOGOFF_EVENT); -#ifdef DBG - DbgPrintf("A proc %8.8x invoked CTRL_LOGOFF_EVENT " - "returning %d\r\n", - GetCurrentProcessId(), rv); -#endif - if (rv) - return ((msg == WM_QUERYENDSESSION) ? rv : !rv); - } - else - { - PHANDLER_ROUTINE phandler = - (PHANDLER_ROUTINE)GetWindowLong(hwnd, gwltty_phandler); - LRESULT rv = phandler(CTRL_SHUTDOWN_EVENT); -#ifdef DBG - DbgPrintf("A proc %8.8x invoked CTRL_SHUTDOWN_EVENT " - "returning %d\r\n", GetCurrentProcessId(), rv); -#endif - if (rv) - return ((msg == WM_QUERYENDSESSION) ? rv : !rv); - } - } - return (DefWindowProc(hwnd, msg, wParam, lParam)); -} - - -/* The following internal helpers are invoked by the hooked tty and our app - */ - - -/* Register or deregister the current process as a Windows9x style service. - * Experience shows this call is ignored across processes, so the second - * arg to RegisterServiceProcess (process group id) is effectively useless. - */ -static LRESULT WINAPI RegisterWindows9xService(BOOL set_service) -{ - static HINSTANCE hkernel; - static DWORD (WINAPI *register_service_process)(DWORD, DWORD) = NULL; - BOOL rv; - - if (set_service == is_service) - return 1; - -#ifdef DBG - DbgPrintf("R %s proc %8.8x as a service\r\n", - set_service ? "installing" : "removing", - GetCurrentProcessId()); -#endif - - if (!register_service_process) - { - /* Obtain a handle to the kernel library */ - hkernel = LoadLibrary("KERNEL32.DLL"); - if (!hkernel) - return 0; - - /* Find the RegisterServiceProcess function */ - register_service_process = (DWORD (WINAPI *)(DWORD, DWORD)) - GetProcAddress(hkernel, "RegisterServiceProcess"); - if (register_service_process == NULL) { - FreeLibrary(hkernel); - return 0; - } - } - - /* Register this process as a service */ - rv = register_service_process(0, set_service != FALSE); - if (rv) - is_service = set_service; - - if (!is_service) - { - /* Unload the kernel library */ - FreeLibrary(hkernel); - register_service_process = NULL; - } - return rv; -} - - -/* - * This function only works when this process is the active process - * (e.g. once it is running a child process, it can no longer determine - * which console window is its own.) - */ -static BOOL CALLBACK EnumttyWindow(HWND wnd, LPARAM retwnd) -{ - char tmp[8]; - if (GetClassName(wnd, tmp, sizeof(tmp)) && !strcmp(tmp, "tty")) - { - DWORD wndproc, thisproc = GetCurrentProcessId(); - GetWindowThreadProcessId(wnd, &wndproc); - if (wndproc == thisproc) { - *((HWND*)retwnd) = wnd; - return FALSE; - } - } - return TRUE; -} - - -/* The remaining code all executes --in the tty's own process context-- - * - * That means special attention must be paid to what it's doing... - */ - -/* Subclass message process for the tty window - * - * This code -handles- WM_CLOSE, WM_ENDSESSION and WM_QUERYENDSESSION - * by dispatching them to the window identified by the hookwndprop - * property atom set against our window. Messages are then dispatched - * to origwndprop property atom we set against the window when we - * injected this subclass. This trick did not work with simply a hook. - */ -static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, - WPARAM wParam, LPARAM lParam) -{ - WNDPROC origproc = (WNDPROC) GetProp(hwnd, origwndprop); - if (!origproc) - return 0; - - if (msg == WM_NCDESTROY - || (msg == hookwndmsg && !LOWORD(wParam) && (HWND)lParam == hwnd)) - { - if (is_subclassed) { -#ifdef DBG - DbgPrintf("W proc %08x hwnd:%08x Subclass removed\r\n", - GetCurrentProcessId(), hwnd); -#endif - if (is_service) - RegisterWindows9xService(FALSE); - SetWindowLong(hwnd, GWL_WNDPROC, (LONG)origproc); - RemoveProp(hwnd, origwndprop); - RemoveProp(hwnd, hookwndprop); - is_subclassed = FALSE; - //if (hmodLock) - // FreeLibrary(hmodLock); - //hmodLock = NULL; - } - } - else if (msg == WM_CLOSE || msg == WM_ENDSESSION - || msg == WM_QUERYENDSESSION) - { - HWND child = (HWND)GetProp(hwnd, hookwndprop); - if (child) { -#ifdef DBG - DbgPrintf("W proc %08x hwnd:%08x forwarded msg:%d\r\n", - GetCurrentProcessId(), hwnd, msg); -#endif - return SendMessage(child, msg, wParam, lParam); - } - } - return CallWindowProc(origproc, hwnd, msg, wParam, lParam); -} - - -/* HookProc, once installed, is responsible for subclassing the system - * tty windows. It generally does nothing special itself, since - * research indicates that it cannot deal well with the messages we are - * interested in, that is, WM_CLOSE, WM_QUERYSHUTDOWN and WM_SHUTDOWN - * of the tty process. - * - * Respond and subclass only when a WM_NULL is received by the window. - */ -int HookProc(int hc, HWND *hwnd, UINT *msg, WPARAM *wParam, LPARAM *lParam) -{ - if (is_tty == -1 && *hwnd) - { - char ttybuf[8]; - HWND htty; - hwtty = *hwnd; - while (htty = GetParent(hwtty)) - hwtty = htty; - is_tty = (GetClassName(hwtty, ttybuf, sizeof(ttybuf)) - && !strcmp(ttybuf, "tty")); -#ifdef DBG - if (is_tty) - DbgPrintf("H proc %08x tracking hwnd %08x\r\n", - GetCurrentProcessId(), hwtty); -#endif - } - - if (*msg == hookwndmsg && *wParam && *lParam == (LPARAM)hwtty && is_tty) - { - WNDPROC origproc = (WNDPROC)GetWindowLong(hwtty, GWL_WNDPROC); - //char myname[MAX_PATH]; - //if (GetModuleFileName(hmodThis, myname, sizeof(myname))) - // hmodLock = LoadLibrary(myname); - SetProp(hwtty, origwndprop, origproc); - SetWindowLong(hwtty, GWL_WNDPROC, (LONG)WndProc); - is_subclassed = TRUE; -#ifdef DBG - DbgPrintf("H proc %08x hwnd:%08x Subclassed\r\n", - GetCurrentProcessId(), hwtty); -#endif - if (LOWORD(*wParam) == 2) - RegisterWindows9xService(TRUE); - } - - return -1; -} - - -/* - * PostMessage Hook: - */ -LRESULT __declspec(dllexport) CALLBACK GetMsgProc(INT hc, WPARAM wParam, - LPARAM lParam) -{ - PMSG pmsg; - - pmsg = (PMSG)lParam; - - if (pmsg) { - int rv = HookProc(hc, &pmsg->hwnd, &pmsg->message, - &pmsg->wParam, &pmsg->lParam); - if (rv != -1) - return rv; - } - /* - * CallNextHookEx apparently ignores the hhook argument, so pass NULL - */ - return CallNextHookEx(NULL, hc, wParam, lParam); -} - - -/* - * SendMessage Hook: - */ -LRESULT __declspec(dllexport) CALLBACK CallWndProc(INT hc, WPARAM wParam, - LPARAM lParam) -{ - PCWPSTRUCT pcwps = (PCWPSTRUCT)lParam; - - if (pcwps) { - int rv = HookProc(hc, &pcwps->hwnd, &pcwps->message, - &pcwps->wParam, &pcwps->lParam); - if (rv != -1) - return rv; - } - /* - * CallNextHookEx apparently ignores the hhook argument, so pass NULL - */ - return CallNextHookEx(NULL, hc, wParam, lParam); -} - - -#ifdef DBG -VOID DbgPrintf( - LPTSTR fmt, - ... - ) -{ - static HANDLE mutex; - va_list marker; - TCHAR szBuf[256]; - DWORD t; - HANDLE gDbgOut; - - va_start(marker, fmt); - wvsprintf(szBuf, fmt, marker); - va_end(marker); - - if (!mutex) - mutex = CreateMutex(NULL, FALSE, "Win9xConHookDbgOut"); - WaitForSingleObject(mutex, INFINITE); - gDbgOut = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, - NULL, OPEN_EXISTING, FILE_FLAG_WRITE_THROUGH, NULL); - WriteFile(gDbgOut, szBuf, strlen(szBuf), &t, NULL); - CloseHandle(gDbgOut); - ReleaseMutex(mutex); -} -#endif - -#endif /* WIN32 */ diff --git a/usr.sbin/httpd/src/os/win32/Win9xConHook.def b/usr.sbin/httpd/src/os/win32/Win9xConHook.def deleted file mode 100644 index 85ec166404e..00000000000 --- a/usr.sbin/httpd/src/os/win32/Win9xConHook.def +++ /dev/null @@ -1,10 +0,0 @@ -LIBRARY Win9xConHook - -EXETYPE WINDOWS - -EXPORTS - DllMain - GetMsgProc - CallWndProc - FixConsoleCtrlHandler - Windows9xServiceCtrlHandler diff --git a/usr.sbin/httpd/src/os/win32/Win9xConHook.dsp b/usr.sbin/httpd/src/os/win32/Win9xConHook.dsp deleted file mode 100644 index 8456fc2464c..00000000000 --- a/usr.sbin/httpd/src/os/win32/Win9xConHook.dsp +++ /dev/null @@ -1,103 +0,0 @@ -# Microsoft Developer Studio Project File - Name="Win9xConHook" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=Win9xConHook - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "Win9xConHook.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "Win9xConHook.mak" CFG="Win9xConHook - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "Win9xConHook - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "Win9xConHook - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "Win9xConHook - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir ".\Release" -# PROP BASE Intermediate_Dir ".\Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\Win9xConHook_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /base:"0x1c0f0000" /opt:ref -# ADD LINK32 kernel32.lib user32.lib gdi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /base:"0x1c0f0000" /opt:ref - -!ELSEIF "$(CFG)" == "Win9xConHook - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\Win9xConHook_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /base:"0x1c0f0000" -# ADD LINK32 kernel32.lib user32.lib gdi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /base:"0x1c0f0000" - -!ENDIF - -# Begin Target - -# Name "Win9xConHook - Win32 Release" -# Name "Win9xConHook - Win32 Debug" -# Begin Source File - -SOURCE=.\Win9xConHook.c -# End Source File -# Begin Source File - -SOURCE=.\Win9xConHook.def -# End Source File -# Begin Source File - -SOURCE=.\Win9xConHook.h -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/Win9xConHook.h b/usr.sbin/httpd/src/os/win32/Win9xConHook.h deleted file mode 100644 index e0f91fa0407..00000000000 --- a/usr.sbin/httpd/src/os/win32/Win9xConHook.h +++ /dev/null @@ -1,99 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef AP_WIN9XCONHOOK_H -#define AP_WIN9XCONHOOK_H - -#ifdef WIN32 - -/* Windows9xServiceCtrlHandler registers a handler routine, frees the - * console window, and registers this process as a service in Win9x. - * It creats a hidden window of class "ApacheWin95ServiceMonitor" - * and titled by the name passed, which passes the WM_SHUTDOWN message - * through the given HandlerRoutine's CTRL_SHUTDOWN event. - * Call with name of NULL to remove the Service handler. - */ -BOOL WINAPI Windows9xServiceCtrlHandler(PHANDLER_ROUTINE phandler, LPCSTR name); - - -/* FixConsoleControlHandler registers a handler routine with the - * Win9xConHook.dll, creating a hidden window and forwarding the - * WM_ENDSESSION and WM_CLOSE messages to the given HandlerRoutine - * as CTRL_SHUTDOWN_EVENT, CTRL_LOGOFF_EVENT and CTRL_CLOSE_EVENT. - * The application should still use SetConsoleCtrlHandler to grab - * the CTRL_BREAK_EVENT and CTRL_C_EVENT, if desired. - */ -BOOL WINAPI FixConsoleCtrlHandler(PHANDLER_ROUTINE phandler, BOOL add); - - -/* - * Exported PostMessage Hook, never use this directly: - * - * LRESULT CALLBACK GetMsgProc(INT hc, WPARAM wParam, LPARAM lParam); - */ - - -/* - * Exported SendMessage Hook, never use this directly: - * - * LRESULT CALLBACK CallWndProc(INT hc, WPARAM wParam, LPARAM lParam); - */ - -#endif /* WIN32 */ - -#endif AP_WIN9XCONHOOK_H
\ No newline at end of file diff --git a/usr.sbin/httpd/src/os/win32/Win9xConHook.mak b/usr.sbin/httpd/src/os/win32/Win9xConHook.mak deleted file mode 100644 index 9bd6d423ddf..00000000000 --- a/usr.sbin/httpd/src/os/win32/Win9xConHook.mak +++ /dev/null @@ -1,198 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on Win9xConHook.dsp -!IF "$(CFG)" == "" -CFG=Win9xConHook - Win32 Release -!MESSAGE No configuration specified. Defaulting to Win9xConHook - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "Win9xConHook - Win32 Release" && "$(CFG)" != "Win9xConHook - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "Win9xConHook.mak" CFG="Win9xConHook - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "Win9xConHook - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "Win9xConHook - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "Win9xConHook - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -ALL : "$(OUTDIR)\Win9xConHook.dll" - - -CLEAN : - -@erase "$(INTDIR)\Win9xConHook.obj" - -@erase "$(INTDIR)\Win9xConHook_src.idb" - -@erase "$(INTDIR)\Win9xConHook_src.pdb" - -@erase "$(OUTDIR)\Win9xConHook.dll" - -@erase "$(OUTDIR)\Win9xConHook.exp" - -@erase "$(OUTDIR)\Win9xConHook.lib" - -@erase "$(OUTDIR)\Win9xConHook.pdb" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\Win9xConHook_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\Win9xConHook.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib /nologo /base:"0x1c0f0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\Win9xConHook.pdb" /debug /machine:I386 /def:".\Win9xConHook.def" /out:"$(OUTDIR)\Win9xConHook.dll" /implib:"$(OUTDIR)\Win9xConHook.lib" /opt:ref -DEF_FILE= \ - ".\Win9xConHook.def" -LINK32_OBJS= \ - "$(INTDIR)\Win9xConHook.obj" - -"$(OUTDIR)\Win9xConHook.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "Win9xConHook - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -ALL : "$(OUTDIR)\Win9xConHook.dll" - - -CLEAN : - -@erase "$(INTDIR)\Win9xConHook.obj" - -@erase "$(INTDIR)\Win9xConHook_src.idb" - -@erase "$(INTDIR)\Win9xConHook_src.pdb" - -@erase "$(OUTDIR)\Win9xConHook.dll" - -@erase "$(OUTDIR)\Win9xConHook.exp" - -@erase "$(OUTDIR)\Win9xConHook.lib" - -@erase "$(OUTDIR)\Win9xConHook.pdb" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\Win9xConHook_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\Win9xConHook.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib /nologo /base:"0x1c0f0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\Win9xConHook.pdb" /debug /machine:I386 /def:".\Win9xConHook.def" /out:"$(OUTDIR)\Win9xConHook.dll" /implib:"$(OUTDIR)\Win9xConHook.lib" -DEF_FILE= \ - ".\Win9xConHook.def" -LINK32_OBJS= \ - "$(INTDIR)\Win9xConHook.obj" - -"$(OUTDIR)\Win9xConHook.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("Win9xConHook.dep") -!INCLUDE "Win9xConHook.dep" -!ELSE -!MESSAGE Warning: cannot find "Win9xConHook.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "Win9xConHook - Win32 Release" || "$(CFG)" == "Win9xConHook - Win32 Debug" -SOURCE=.\Win9xConHook.c - -"$(INTDIR)\Win9xConHook.obj" : $(SOURCE) "$(INTDIR)" - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/apache.ico b/usr.sbin/httpd/src/os/win32/apache.ico Binary files differdeleted file mode 100644 index bfb4f63ab62..00000000000 --- a/usr.sbin/httpd/src/os/win32/apache.ico +++ /dev/null diff --git a/usr.sbin/httpd/src/os/win32/apache.rc b/usr.sbin/httpd/src/os/win32/apache.rc deleted file mode 100644 index 6dde63f9501..00000000000 --- a/usr.sbin/httpd/src/os/win32/apache.rc +++ /dev/null @@ -1,84 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winresrc.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Neutral resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) -#ifdef _WIN32 -LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APACHE ICON DISCARDABLE "apache.ico" -#endif // Neutral resources -///////////////////////////////////////////////////////////////////////////// - - -///////////////////////////////////////////////////////////////////////////// -// English (U.K.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""winresrc.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.K.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/usr.sbin/httpd/src/os/win32/getopt.c b/usr.sbin/httpd/src/os/win32/getopt.c deleted file mode 100644 index 1ab5f77a585..00000000000 --- a/usr.sbin/httpd/src/os/win32/getopt.c +++ /dev/null @@ -1,231 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef WIN32 - -#include <stdio.h> -#include <string.h> -#include <assert.h> -#include <stdlib.h> - -#define OPTERRCOLON (1) -#define OPTERRNF (2) -#define OPTERRARG (3) - -char *optarg; -int optreset = 0; -int optind = 1; -int opterr = 1; -int optopt; - -static int -optiserr(int argc, char * const *argv, int oint, const char *optstr, - int optchr, int err) -{ - if(opterr) - { - fprintf(stderr, "Error in argument %d, char %d: ", oint, optchr+1); - switch(err) - { - case OPTERRCOLON: - fprintf(stderr, ": in flags\n"); - break; - case OPTERRNF: - fprintf(stderr, "option not found %c\n", argv[oint][optchr]); - break; - case OPTERRARG: - fprintf(stderr, "no argument for option %c\n", argv[oint][optchr]); - break; - default: - fprintf(stderr, "unknown\n"); - break; - } - } - optopt = argv[oint][optchr]; - return('?'); -} - - - -int -getopt(int argc, char* const *argv, const char *optstr) -{ - static int optchr = 0; - static int dash = 0; /* have already seen the - */ - - char *cp; - - if (optreset) - optreset = optchr = dash = 0; - if(optind >= argc) - return(EOF); - if(!dash && (argv[optind][0] != '-')) - return(EOF); - if(!dash && (argv[optind][0] == '-') && !argv[optind][1]) - { - /* - * use to specify stdin. Need to let pgm process this and - * the following args - */ - return(EOF); - } - if((argv[optind][0] == '-') && (argv[optind][1] == '-')) - { - /* -- indicates end of args */ - optind++; - return(EOF); - } - if(!dash) - { - assert((argv[optind][0] == '-') && argv[optind][1]); - dash = 1; - optchr = 1; - } - - /* Check if the guy tries to do a -: kind of flag */ - assert(dash); - if(argv[optind][optchr] == ':') - { - dash = 0; - optind++; - return(optiserr(argc, argv, optind-1, optstr, optchr, OPTERRCOLON)); - } - if(!(cp = strchr(optstr, argv[optind][optchr]))) - { - int errind = optind; - int errchr = optchr; - - if(!argv[optind][optchr+1]) - { - dash = 0; - optind++; - } - else - optchr++; - return(optiserr(argc, argv, errind, optstr, errchr, OPTERRNF)); - } - if(cp[1] == ':') - { - dash = 0; - optind++; - if(optind == argc) - return(optiserr(argc, argv, optind-1, optstr, optchr, OPTERRARG)); - optarg = argv[optind++]; - return(*cp); - } - else - { - if(!argv[optind][optchr+1]) - { - dash = 0; - optind++; - } - else - optchr++; - return(*cp); - } - assert(0); - return(0); -} - -#ifdef TESTGETOPT -int - main (int argc, char **argv) - { - int c; - extern char *optarg; - extern int optind; - int aflg = 0; - int bflg = 0; - int errflg = 0; - char *ofile = NULL; - - while ((c = getopt(argc, argv, "abo:")) != EOF) - switch (c) { - case 'a': - if (bflg) - errflg++; - else - aflg++; - break; - case 'b': - if (aflg) - errflg++; - else - bflg++; - break; - case 'o': - ofile = optarg; - (void)printf("ofile = %s\n", ofile); - break; - case '?': - errflg++; - } - if (errflg) { - (void)fprintf(stderr, - "usage: cmd [-a|-b] [-o <filename>] files...\n"); - exit (2); - } - for ( ; optind < argc; optind++) - (void)printf("%s\n", argv[optind]); - return 0; - } - -#endif /* TESTGETOPT */ - -#endif /* WIN32 */ diff --git a/usr.sbin/httpd/src/os/win32/getopt.h b/usr.sbin/httpd/src/os/win32/getopt.h deleted file mode 100644 index 1fdb319cc6f..00000000000 --- a/usr.sbin/httpd/src/os/win32/getopt.h +++ /dev/null @@ -1,73 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef GETOPT_H -#define GETOPT_H - -#ifdef WIN32 - -extern char *optarg; -extern int optreset; -extern int optind; -extern int opterr; -extern int optopt; -int getopt(int argc, char* const *argv, const char *optstr); - -#endif /* WIN32 */ - -#endif /* GETOPT_H */
\ No newline at end of file diff --git a/usr.sbin/httpd/src/os/win32/main_win32.c b/usr.sbin/httpd/src/os/win32/main_win32.c deleted file mode 100644 index 2dd16d2009f..00000000000 --- a/usr.sbin/httpd/src/os/win32/main_win32.c +++ /dev/null @@ -1,78 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef WIN32 - -/* main_win32.c - Apache executable stub file for Win32 - * This file's purpose in life is to load, and call the - * "real" main function, apache_main(), located in ApacheCore.dll - * - * This was done because having the main() function in a DLL, - * although Win32 allows it, seemed wrong. Also, MSVC++ won't - * link an executable without at least one object file. This - * satistifies that requirement. - */ - -__declspec(dllexport) int apache_main(int argc, char *argv[]); - -int main(int argc, char *argv[]) -{ - return apache_main(argc, argv); -} - -#endif /* WIN32 */
\ No newline at end of file diff --git a/usr.sbin/httpd/src/os/win32/mod_auth_anon.dsp b/usr.sbin/httpd/src/os/win32/mod_auth_anon.dsp deleted file mode 100644 index d6cfc09acda..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_auth_anon.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_auth_anon" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_auth_anon - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_auth_anon.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_auth_anon.mak" CFG="mod_auth_anon - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_auth_anon - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_auth_anon - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_auth_anon - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_auth_anon_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_auth_anon.so" /base:@"BaseAddr.ref",mod_auth_anon /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_auth_anon.so" /base:@"BaseAddr.ref",mod_auth_anon /opt:ref - -!ELSEIF "$(CFG)" == "mod_auth_anon - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_auth_anon_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_auth_anon.so" /base:@"BaseAddr.ref",mod_auth_anon -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_auth_anon.so" /base:@"BaseAddr.ref",mod_auth_anon - -!ENDIF - -# Begin Target - -# Name "mod_auth_anon - Win32 Release" -# Name "mod_auth_anon - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_auth_anon.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_auth_anon.mak b/usr.sbin/httpd/src/os/win32/mod_auth_anon.mak deleted file mode 100644 index 36a7a1a81bd..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_auth_anon.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_auth_anon.dsp -!IF "$(CFG)" == "" -CFG=mod_auth_anon - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_auth_anon - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_auth_anon - Win32 Release" && "$(CFG)" != "mod_auth_anon - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_auth_anon.mak" CFG="mod_auth_anon - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_auth_anon - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_auth_anon - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_auth_anon - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_auth_anon.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_auth_anon.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_auth_anon.obj" - -@erase "$(INTDIR)\mod_auth_anon_src.idb" - -@erase "$(INTDIR)\mod_auth_anon_src.pdb" - -@erase "$(OUTDIR)\mod_auth_anon.exp" - -@erase "$(OUTDIR)\mod_auth_anon.lib" - -@erase "$(OUTDIR)\mod_auth_anon.pdb" - -@erase "$(OUTDIR)\mod_auth_anon.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_anon_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_anon.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_anon.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_auth_anon.so" /implib:"$(OUTDIR)\mod_auth_anon.lib" /base:@"BaseAddr.ref",mod_auth_anon /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_auth_anon.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_auth_anon.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_auth_anon - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_auth_anon.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_auth_anon.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_auth_anon.obj" - -@erase "$(INTDIR)\mod_auth_anon_src.idb" - -@erase "$(INTDIR)\mod_auth_anon_src.pdb" - -@erase "$(OUTDIR)\mod_auth_anon.exp" - -@erase "$(OUTDIR)\mod_auth_anon.lib" - -@erase "$(OUTDIR)\mod_auth_anon.pdb" - -@erase "$(OUTDIR)\mod_auth_anon.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_anon_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_anon.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_anon.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_auth_anon.so" /implib:"$(OUTDIR)\mod_auth_anon.lib" /base:@"BaseAddr.ref",mod_auth_anon -LINK32_OBJS= \ - "$(INTDIR)\mod_auth_anon.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_auth_anon.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_auth_anon.dep") -!INCLUDE "mod_auth_anon.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_auth_anon.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_auth_anon - Win32 Release" || "$(CFG)" == "mod_auth_anon - Win32 Debug" - -!IF "$(CFG)" == "mod_auth_anon - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_auth_anon - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_auth_anon.c - -"$(INTDIR)\mod_auth_anon.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_auth_dbm.dsp b/usr.sbin/httpd/src/os/win32/mod_auth_dbm.dsp deleted file mode 100644 index 12f913257df..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_auth_dbm.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_auth_dbm" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_auth_dbm - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_auth_dbm.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_auth_dbm.mak" CFG="mod_auth_dbm - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_auth_dbm - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_auth_dbm - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_auth_dbm - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /I "..\..\lib\sdbm" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_auth_dbm_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_auth_dbm.so" /base:@"BaseAddr.ref",mod_auth_dbm /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_auth_dbm.so" /base:@"BaseAddr.ref",mod_auth_dbm /opt:ref - -!ELSEIF "$(CFG)" == "mod_auth_dbm - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /I "..\..\lib\sdbm" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_auth_dbm_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_auth_dbm.so" /base:@"BaseAddr.ref",mod_auth_dbm -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_auth_dbm.so" /base:@"BaseAddr.ref",mod_auth_dbm - -!ENDIF - -# Begin Target - -# Name "mod_auth_dbm - Win32 Release" -# Name "mod_auth_dbm - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_auth_dbm.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_auth_dbm.mak b/usr.sbin/httpd/src/os/win32/mod_auth_dbm.mak deleted file mode 100644 index 88fe867716a..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_auth_dbm.mak +++ /dev/null @@ -1,274 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_auth_dbm.dsp -!IF "$(CFG)" == "" -CFG=mod_auth_dbm - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_auth_dbm - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_auth_dbm - Win32 Release" && "$(CFG)" != "mod_auth_dbm - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_auth_dbm.mak" CFG="mod_auth_dbm - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_auth_dbm - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_auth_dbm - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_auth_dbm - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_auth_dbm.so" - -!ELSE - -ALL : "sdbm - Win32 Release" "ApacheCore - Win32 Release" "$(OUTDIR)\mod_auth_dbm.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" "sdbm - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_auth_dbm.obj" - -@erase "$(INTDIR)\mod_auth_dbm_src.idb" - -@erase "$(INTDIR)\mod_auth_dbm_src.pdb" - -@erase "$(OUTDIR)\mod_auth_dbm.exp" - -@erase "$(OUTDIR)\mod_auth_dbm.lib" - -@erase "$(OUTDIR)\mod_auth_dbm.pdb" - -@erase "$(OUTDIR)\mod_auth_dbm.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /I "..\..\lib\sdbm" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_dbm_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_dbm.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_dbm.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_auth_dbm.so" /implib:"$(OUTDIR)\mod_auth_dbm.lib" /base:@"BaseAddr.ref",mod_auth_dbm /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_auth_dbm.obj" \ - "..\..\Release\ApacheCore.lib" \ - "..\..\lib\sdbm\LibR\sdbm.lib" - -"$(OUTDIR)\mod_auth_dbm.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_auth_dbm - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_auth_dbm.so" - -!ELSE - -ALL : "sdbm - Win32 Debug" "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_auth_dbm.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" "sdbm - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_auth_dbm.obj" - -@erase "$(INTDIR)\mod_auth_dbm_src.idb" - -@erase "$(INTDIR)\mod_auth_dbm_src.pdb" - -@erase "$(OUTDIR)\mod_auth_dbm.exp" - -@erase "$(OUTDIR)\mod_auth_dbm.lib" - -@erase "$(OUTDIR)\mod_auth_dbm.pdb" - -@erase "$(OUTDIR)\mod_auth_dbm.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /I "..\..\lib\sdbm" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_dbm_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_dbm.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_dbm.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_auth_dbm.so" /implib:"$(OUTDIR)\mod_auth_dbm.lib" /base:@"BaseAddr.ref",mod_auth_dbm -LINK32_OBJS= \ - "$(INTDIR)\mod_auth_dbm.obj" \ - "..\..\Debug\ApacheCore.lib" \ - "..\..\lib\sdbm\LibD\sdbm.lib" - -"$(OUTDIR)\mod_auth_dbm.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_auth_dbm.dep") -!INCLUDE "mod_auth_dbm.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_auth_dbm.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_auth_dbm - Win32 Release" || "$(CFG)" == "mod_auth_dbm - Win32 Debug" - -!IF "$(CFG)" == "mod_auth_dbm - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_auth_dbm - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -!IF "$(CFG)" == "mod_auth_dbm - Win32 Release" - -"sdbm - Win32 Release" : - cd "..\../..\src\lib\sdbm" - $(MAKE) /$(MAKEFLAGS) /F ".\sdbm.mak" CFG="sdbm - Win32 Release" - cd "..\..\os\win32" - -"sdbm - Win32 ReleaseCLEAN" : - cd "..\../..\src\lib\sdbm" - $(MAKE) /$(MAKEFLAGS) /F ".\sdbm.mak" CFG="sdbm - Win32 Release" RECURSE=1 CLEAN - cd "..\..\os\win32" - -!ELSEIF "$(CFG)" == "mod_auth_dbm - Win32 Debug" - -"sdbm - Win32 Debug" : - cd "..\../..\src\lib\sdbm" - $(MAKE) /$(MAKEFLAGS) /F ".\sdbm.mak" CFG="sdbm - Win32 Debug" - cd "..\..\os\win32" - -"sdbm - Win32 DebugCLEAN" : - cd "..\../..\src\lib\sdbm" - $(MAKE) /$(MAKEFLAGS) /F ".\sdbm.mak" CFG="sdbm - Win32 Debug" RECURSE=1 CLEAN - cd "..\..\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_auth_dbm.c - -"$(INTDIR)\mod_auth_dbm.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_auth_digest.dsp b/usr.sbin/httpd/src/os/win32/mod_auth_digest.dsp deleted file mode 100644 index 555654846ee..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_auth_digest.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_auth_digest" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_auth_digest - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_auth_digest.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_auth_digest.mak" CFG="mod_auth_digest - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_auth_digest - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_auth_digest - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_auth_digest - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_auth_digest_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib advapi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_auth_digest.so" /base:@"BaseAddr.ref",mod_auth_digest /opt:ref -# ADD LINK32 kernel32.lib advapi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_auth_digest.so" /base:@"BaseAddr.ref",mod_auth_digest /opt:ref - -!ELSEIF "$(CFG)" == "mod_auth_digest - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_auth_digest_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib advapi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_auth_digest.so" /base:@"BaseAddr.ref",mod_auth_digest -# ADD LINK32 kernel32.lib advapi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_auth_digest.so" /base:@"BaseAddr.ref",mod_auth_digest - -!ENDIF - -# Begin Target - -# Name "mod_auth_digest - Win32 Release" -# Name "mod_auth_digest - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\experimental\mod_auth_digest.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_auth_digest.mak b/usr.sbin/httpd/src/os/win32/mod_auth_digest.mak deleted file mode 100644 index 7918f650053..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_auth_digest.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_auth_digest.dsp -!IF "$(CFG)" == "" -CFG=mod_auth_digest - Win32 Debug -!MESSAGE No configuration specified. Defaulting to mod_auth_digest - Win32 Debug. -!ENDIF - -!IF "$(CFG)" != "mod_auth_digest - Win32 Release" && "$(CFG)" != "mod_auth_digest - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_auth_digest.mak" CFG="mod_auth_digest - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_auth_digest - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_auth_digest - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_auth_digest - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_auth_digest.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_auth_digest.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_auth_digest.obj" - -@erase "$(INTDIR)\mod_auth_digest_src.idb" - -@erase "$(INTDIR)\mod_auth_digest_src.pdb" - -@erase "$(OUTDIR)\mod_auth_digest.exp" - -@erase "$(OUTDIR)\mod_auth_digest.lib" - -@erase "$(OUTDIR)\mod_auth_digest.pdb" - -@erase "$(OUTDIR)\mod_auth_digest.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_digest_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_digest.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib advapi32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_digest.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_auth_digest.so" /implib:"$(OUTDIR)\mod_auth_digest.lib" /base:@"BaseAddr.ref",mod_auth_digest /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_auth_digest.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_auth_digest.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_auth_digest - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_auth_digest.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_auth_digest.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_auth_digest.obj" - -@erase "$(INTDIR)\mod_auth_digest_src.idb" - -@erase "$(INTDIR)\mod_auth_digest_src.pdb" - -@erase "$(OUTDIR)\mod_auth_digest.exp" - -@erase "$(OUTDIR)\mod_auth_digest.lib" - -@erase "$(OUTDIR)\mod_auth_digest.pdb" - -@erase "$(OUTDIR)\mod_auth_digest.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_auth_digest_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_auth_digest.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib advapi32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_auth_digest.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_auth_digest.so" /implib:"$(OUTDIR)\mod_auth_digest.lib" /base:@"BaseAddr.ref",mod_auth_digest -LINK32_OBJS= \ - "$(INTDIR)\mod_auth_digest.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_auth_digest.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_auth_digest.dep") -!INCLUDE "mod_auth_digest.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_auth_digest.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_auth_digest - Win32 Release" || "$(CFG)" == "mod_auth_digest - Win32 Debug" - -!IF "$(CFG)" == "mod_auth_digest - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_auth_digest - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\experimental\mod_auth_digest.c - -"$(INTDIR)\mod_auth_digest.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_cern_meta.dsp b/usr.sbin/httpd/src/os/win32/mod_cern_meta.dsp deleted file mode 100644 index 1a38c6abb37..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_cern_meta.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_cern_meta" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_cern_meta - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_cern_meta.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_cern_meta.mak" CFG="mod_cern_meta - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_cern_meta - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_cern_meta - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_cern_meta - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_cern_meta_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_cern_meta.so" /base:@"BaseAddr.ref",mod_cern_meta /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_cern_meta.so" /base:@"BaseAddr.ref",mod_cern_meta /opt:ref - -!ELSEIF "$(CFG)" == "mod_cern_meta - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_cern_meta_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_cern_meta.so" /base:@"BaseAddr.ref",mod_cern_meta -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_cern_meta.so" /base:@"BaseAddr.ref",mod_cern_meta - -!ENDIF - -# Begin Target - -# Name "mod_cern_meta - Win32 Release" -# Name "mod_cern_meta - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_cern_meta.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_cern_meta.mak b/usr.sbin/httpd/src/os/win32/mod_cern_meta.mak deleted file mode 100644 index 22b49447a51..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_cern_meta.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_cern_meta.dsp -!IF "$(CFG)" == "" -CFG=mod_cern_meta - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_cern_meta - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_cern_meta - Win32 Release" && "$(CFG)" != "mod_cern_meta - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_cern_meta.mak" CFG="mod_cern_meta - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_cern_meta - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_cern_meta - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_cern_meta - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_cern_meta.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_cern_meta.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_cern_meta.obj" - -@erase "$(INTDIR)\mod_cern_meta_src.idb" - -@erase "$(INTDIR)\mod_cern_meta_src.pdb" - -@erase "$(OUTDIR)\mod_cern_meta.exp" - -@erase "$(OUTDIR)\mod_cern_meta.lib" - -@erase "$(OUTDIR)\mod_cern_meta.pdb" - -@erase "$(OUTDIR)\mod_cern_meta.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_cern_meta_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_cern_meta.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_cern_meta.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_cern_meta.so" /implib:"$(OUTDIR)\mod_cern_meta.lib" /base:@"BaseAddr.ref",mod_cern_meta /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_cern_meta.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_cern_meta.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_cern_meta - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_cern_meta.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_cern_meta.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_cern_meta.obj" - -@erase "$(INTDIR)\mod_cern_meta_src.idb" - -@erase "$(INTDIR)\mod_cern_meta_src.pdb" - -@erase "$(OUTDIR)\mod_cern_meta.exp" - -@erase "$(OUTDIR)\mod_cern_meta.lib" - -@erase "$(OUTDIR)\mod_cern_meta.pdb" - -@erase "$(OUTDIR)\mod_cern_meta.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_cern_meta_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_cern_meta.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_cern_meta.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_cern_meta.so" /implib:"$(OUTDIR)\mod_cern_meta.lib" /base:@"BaseAddr.ref",mod_cern_meta -LINK32_OBJS= \ - "$(INTDIR)\mod_cern_meta.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_cern_meta.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_cern_meta.dep") -!INCLUDE "mod_cern_meta.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_cern_meta.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_cern_meta - Win32 Release" || "$(CFG)" == "mod_cern_meta - Win32 Debug" - -!IF "$(CFG)" == "mod_cern_meta - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_cern_meta - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_cern_meta.c - -"$(INTDIR)\mod_cern_meta.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_digest.dsp b/usr.sbin/httpd/src/os/win32/mod_digest.dsp deleted file mode 100644 index dea88e6008a..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_digest.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_digest" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_digest - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_digest.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_digest.mak" CFG="mod_digest - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_digest - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_digest - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_digest - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_digest_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_digest.so" /base:@"BaseAddr.ref",mod_digest /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_digest.so" /base:@"BaseAddr.ref",mod_digest /opt:ref - -!ELSEIF "$(CFG)" == "mod_digest - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_digest_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_digest.so" /base:@"BaseAddr.ref",mod_digest -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_digest.so" /base:@"BaseAddr.ref",mod_digest - -!ENDIF - -# Begin Target - -# Name "mod_digest - Win32 Release" -# Name "mod_digest - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_digest.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_digest.mak b/usr.sbin/httpd/src/os/win32/mod_digest.mak deleted file mode 100644 index 82b1673804e..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_digest.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_digest.dsp -!IF "$(CFG)" == "" -CFG=mod_digest - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_digest - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_digest - Win32 Release" && "$(CFG)" != "mod_digest - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_digest.mak" CFG="mod_digest - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_digest - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_digest - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_digest - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_digest.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_digest.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_digest.obj" - -@erase "$(INTDIR)\mod_digest_src.idb" - -@erase "$(INTDIR)\mod_digest_src.pdb" - -@erase "$(OUTDIR)\mod_digest.exp" - -@erase "$(OUTDIR)\mod_digest.lib" - -@erase "$(OUTDIR)\mod_digest.pdb" - -@erase "$(OUTDIR)\mod_digest.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_digest_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_digest.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_digest.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_digest.so" /implib:"$(OUTDIR)\mod_digest.lib" /base:@"BaseAddr.ref",mod_digest /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_digest.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_digest.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_digest - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_digest.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_digest.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_digest.obj" - -@erase "$(INTDIR)\mod_digest_src.idb" - -@erase "$(INTDIR)\mod_digest_src.pdb" - -@erase "$(OUTDIR)\mod_digest.exp" - -@erase "$(OUTDIR)\mod_digest.lib" - -@erase "$(OUTDIR)\mod_digest.pdb" - -@erase "$(OUTDIR)\mod_digest.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_digest_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_digest.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_digest.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_digest.so" /implib:"$(OUTDIR)\mod_digest.lib" /base:@"BaseAddr.ref",mod_digest -LINK32_OBJS= \ - "$(INTDIR)\mod_digest.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_digest.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_digest.dep") -!INCLUDE "mod_digest.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_digest.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_digest - Win32 Release" || "$(CFG)" == "mod_digest - Win32 Debug" - -!IF "$(CFG)" == "mod_digest - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_digest - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_digest.c - -"$(INTDIR)\mod_digest.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_expires.dsp b/usr.sbin/httpd/src/os/win32/mod_expires.dsp deleted file mode 100644 index 39fb70437db..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_expires.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_expires" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_expires - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_expires.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_expires.mak" CFG="mod_expires - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_expires - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_expires - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_expires - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_expires_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_expires.so" /base:@"BaseAddr.ref",mod_expires /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_expires.so" /base:@"BaseAddr.ref",mod_expires /opt:ref - -!ELSEIF "$(CFG)" == "mod_expires - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_expires_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_expires.so" /base:@"BaseAddr.ref",mod_expires -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_expires.so" /base:@"BaseAddr.ref",mod_expires - -!ENDIF - -# Begin Target - -# Name "mod_expires - Win32 Release" -# Name "mod_expires - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_expires.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_expires.mak b/usr.sbin/httpd/src/os/win32/mod_expires.mak deleted file mode 100644 index 96c8fe30a0b..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_expires.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_expires.dsp -!IF "$(CFG)" == "" -CFG=mod_expires - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_expires - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_expires - Win32 Release" && "$(CFG)" != "mod_expires - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_expires.mak" CFG="mod_expires - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_expires - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_expires - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_expires - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_expires.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_expires.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_expires.obj" - -@erase "$(INTDIR)\mod_expires_src.idb" - -@erase "$(INTDIR)\mod_expires_src.pdb" - -@erase "$(OUTDIR)\mod_expires.exp" - -@erase "$(OUTDIR)\mod_expires.lib" - -@erase "$(OUTDIR)\mod_expires.pdb" - -@erase "$(OUTDIR)\mod_expires.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_expires_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_expires.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_expires.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_expires.so" /implib:"$(OUTDIR)\mod_expires.lib" /base:@"BaseAddr.ref",mod_expires /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_expires.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_expires.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_expires - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_expires.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_expires.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_expires.obj" - -@erase "$(INTDIR)\mod_expires_src.idb" - -@erase "$(INTDIR)\mod_expires_src.pdb" - -@erase "$(OUTDIR)\mod_expires.exp" - -@erase "$(OUTDIR)\mod_expires.lib" - -@erase "$(OUTDIR)\mod_expires.pdb" - -@erase "$(OUTDIR)\mod_expires.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_expires_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_expires.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_expires.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_expires.so" /implib:"$(OUTDIR)\mod_expires.lib" /base:@"BaseAddr.ref",mod_expires -LINK32_OBJS= \ - "$(INTDIR)\mod_expires.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_expires.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_expires.dep") -!INCLUDE "mod_expires.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_expires.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_expires - Win32 Release" || "$(CFG)" == "mod_expires - Win32 Debug" - -!IF "$(CFG)" == "mod_expires - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_expires - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_expires.c - -"$(INTDIR)\mod_expires.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_headers.dsp b/usr.sbin/httpd/src/os/win32/mod_headers.dsp deleted file mode 100644 index dfdf83f5641..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_headers.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_headers" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_headers - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_headers.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_headers.mak" CFG="mod_headers - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_headers - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_headers - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_headers - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_headers_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_headers.so" /base:@"BaseAddr.ref",mod_headers /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_headers.so" /base:@"BaseAddr.ref",mod_headers /opt:ref - -!ELSEIF "$(CFG)" == "mod_headers - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_headers_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_headers.so" /base:@"BaseAddr.ref",mod_headers -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_headers.so" /base:@"BaseAddr.ref",mod_headers - -!ENDIF - -# Begin Target - -# Name "mod_headers - Win32 Release" -# Name "mod_headers - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_headers.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_headers.mak b/usr.sbin/httpd/src/os/win32/mod_headers.mak deleted file mode 100644 index 70d0790d893..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_headers.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_headers.dsp -!IF "$(CFG)" == "" -CFG=mod_headers - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_headers - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_headers - Win32 Release" && "$(CFG)" != "mod_headers - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_headers.mak" CFG="mod_headers - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_headers - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_headers - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_headers - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_headers.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_headers.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_headers.obj" - -@erase "$(INTDIR)\mod_headers_src.idb" - -@erase "$(INTDIR)\mod_headers_src.pdb" - -@erase "$(OUTDIR)\mod_headers.exp" - -@erase "$(OUTDIR)\mod_headers.lib" - -@erase "$(OUTDIR)\mod_headers.pdb" - -@erase "$(OUTDIR)\mod_headers.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_headers_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_headers.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_headers.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_headers.so" /implib:"$(OUTDIR)\mod_headers.lib" /base:@"BaseAddr.ref",mod_headers /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_headers.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_headers.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_headers - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_headers.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_headers.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_headers.obj" - -@erase "$(INTDIR)\mod_headers_src.idb" - -@erase "$(INTDIR)\mod_headers_src.pdb" - -@erase "$(OUTDIR)\mod_headers.exp" - -@erase "$(OUTDIR)\mod_headers.lib" - -@erase "$(OUTDIR)\mod_headers.pdb" - -@erase "$(OUTDIR)\mod_headers.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_headers_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_headers.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_headers.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_headers.so" /implib:"$(OUTDIR)\mod_headers.lib" /base:@"BaseAddr.ref",mod_headers -LINK32_OBJS= \ - "$(INTDIR)\mod_headers.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_headers.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_headers.dep") -!INCLUDE "mod_headers.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_headers.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_headers - Win32 Release" || "$(CFG)" == "mod_headers - Win32 Debug" - -!IF "$(CFG)" == "mod_headers - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_headers - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_headers.c - -"$(INTDIR)\mod_headers.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_info.dsp b/usr.sbin/httpd/src/os/win32/mod_info.dsp deleted file mode 100644 index f9490c569b2..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_info.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_info" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_info - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_info.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_info.mak" CFG="mod_info - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_info - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_info - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_info - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_info_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_info.so" /base:@"BaseAddr.ref",mod_info /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_info.so" /base:@"BaseAddr.ref",mod_info /opt:ref - -!ELSEIF "$(CFG)" == "mod_info - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_info_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_info.so" /base:@"BaseAddr.ref",mod_info -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_info.so" /base:@"BaseAddr.ref",mod_info - -!ENDIF - -# Begin Target - -# Name "mod_info - Win32 Release" -# Name "mod_info - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_info.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_info.mak b/usr.sbin/httpd/src/os/win32/mod_info.mak deleted file mode 100644 index 4b1ca88b957..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_info.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_info.dsp -!IF "$(CFG)" == "" -CFG=mod_info - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_info - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_info - Win32 Release" && "$(CFG)" != "mod_info - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_info.mak" CFG="mod_info - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_info - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_info - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_info - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_info.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_info.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_info.obj" - -@erase "$(INTDIR)\mod_info_src.idb" - -@erase "$(INTDIR)\mod_info_src.pdb" - -@erase "$(OUTDIR)\mod_info.exp" - -@erase "$(OUTDIR)\mod_info.lib" - -@erase "$(OUTDIR)\mod_info.pdb" - -@erase "$(OUTDIR)\mod_info.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_info_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_info.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_info.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_info.so" /implib:"$(OUTDIR)\mod_info.lib" /base:@"BaseAddr.ref",mod_info /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_info.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_info.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_info - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_info.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_info.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_info.obj" - -@erase "$(INTDIR)\mod_info_src.idb" - -@erase "$(INTDIR)\mod_info_src.pdb" - -@erase "$(OUTDIR)\mod_info.exp" - -@erase "$(OUTDIR)\mod_info.lib" - -@erase "$(OUTDIR)\mod_info.pdb" - -@erase "$(OUTDIR)\mod_info.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_info_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_info.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_info.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_info.so" /implib:"$(OUTDIR)\mod_info.lib" /base:@"BaseAddr.ref",mod_info -LINK32_OBJS= \ - "$(INTDIR)\mod_info.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_info.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_info.dep") -!INCLUDE "mod_info.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_info.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_info - Win32 Release" || "$(CFG)" == "mod_info - Win32 Debug" - -!IF "$(CFG)" == "mod_info - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_info - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_info.c - -"$(INTDIR)\mod_info.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_isapi.c b/usr.sbin/httpd/src/os/win32/mod_isapi.c deleted file mode 100644 index 3d7f6b88404..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_isapi.c +++ /dev/null @@ -1,933 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -/* - * mod_isapi.c - Internet Server Application (ISA) module for Apache - * by Alexei Kosut <akosut@apache.org> - * - * This module implements Microsoft's ISAPI, allowing Apache (when running - * under Windows) to load Internet Server Applications (ISAPI extensions). - * It implements all of the ISAPI 2.0 specification, except for the - * "Microsoft-only" extensions dealing with asynchronous I/O. All ISAPI - * extensions that use only synchronous I/O and are compatible with the - * ISAPI 2.0 specification should work (most ISAPI 1.0 extensions should - * function as well). - * - * To load, simply place the ISA in a location in the document tree. - * Then add an "AddHandler isapi-isa dll" into your config file. - * You should now be able to load ISAPI DLLs just be reffering to their - * URLs. Make sure the ExecCGI option is active in the directory - * the ISA is in. - */ - -#ifdef WIN32 - -/* A lousy hack to include ap_check_cmd_context(): */ -#define CORE_PRIVATE - -#include "httpd.h" -#include "http_config.h" -#include "http_core.h" -#include "http_protocol.h" -#include "http_request.h" -#include "http_log.h" -#include "util_script.h" -#include <stdlib.h> -/* We use the exact same header file as the original */ -#include <HttpExt.h> - -/* Seems IIS does not enforce the requirement for \r\n termination on HSE_REQ_SEND_RESPONSE_HEADER, - define this to conform */ -#define RELAX_HEADER_RULE - -#if !defined(HSE_REQ_SEND_RESPONSE_HEADER_EX) \ - || !defined(HSE_REQ_MAP_URL_TO_PATH_EX) -#pragma message("WARNING: This build of Apache is missing the recent changes") -#pragma message("in the Microsoft Win32 Platform SDK; some mod_isapi features") -#pragma message("will be disabled. To obtain the latest Platform SDK files,") -#pragma message("please refer to:") -#pragma message("http://msdn.microsoft.com/downloads/sdks/platform/platform.asp") -#endif - -module isapi_module; - -static DWORD ReadAheadBuffer = 49152; -static int LogNotSupported = -1; -static int AppendLogToErrors = 0; -static int AppendLogToQuery = 0; - -/* Our "Connection ID" structure */ - -typedef struct { - LPEXTENSION_CONTROL_BLOCK ecb; - request_rec *r; - int status; -} isapi_cid; - -/* Declare the ISAPI functions */ - -BOOL WINAPI GetServerVariable (HCONN hConn, LPSTR lpszVariableName, - LPVOID lpvBuffer, LPDWORD lpdwSizeofBuffer); -BOOL WINAPI WriteClient (HCONN ConnID, LPVOID Buffer, LPDWORD lpwdwBytes, - DWORD dwReserved); -BOOL WINAPI ReadClient (HCONN ConnID, LPVOID lpvBuffer, LPDWORD lpdwSize); -BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest, - LPVOID lpvBuffer, LPDWORD lpdwSize, - LPDWORD lpdwDataType); - -/* - The optimiser blows it totally here. What happens is that autos are addressed relative to the - stack pointer, which, of course, moves around. The optimiser seems to lose track of it somewhere - between setting isapi_entry and calling through it. We work around the problem by forcing it to - use frame pointers. -*/ -#pragma optimize("y",off) - -int isapi_handler (request_rec *r) { - LPEXTENSION_CONTROL_BLOCK ecb = - ap_pcalloc(r->pool, sizeof(struct _EXTENSION_CONTROL_BLOCK)); - HSE_VERSION_INFO *pVer = ap_pcalloc(r->pool, sizeof(HSE_VERSION_INFO)); - - HINSTANCE isapi_handle; - BOOL (*isapi_version)(HSE_VERSION_INFO *); /* entry point 1 */ - DWORD (*isapi_entry)(LPEXTENSION_CONTROL_BLOCK); /* entry point 2 */ - BOOL (*isapi_term)(DWORD); /* optional entry point 3 */ - - isapi_cid *cid = ap_pcalloc(r->pool, sizeof(isapi_cid)); - table *e = r->subprocess_env; - DWORD read; - char *p; - int retval; - int res; - - /* Use similar restrictions as CGIs */ - - if (!(ap_allow_options(r) & OPT_EXECCGI)) - return FORBIDDEN; - - if (r->finfo.st_mode == 0) - return NOT_FOUND; - - if (S_ISDIR(r->finfo.st_mode)) - return FORBIDDEN; - - if (!(isapi_handle = ap_os_dso_load(r->filename))) { - ap_log_rerror(APLOG_MARK, APLOG_ALERT, r, - "ISAPI Could not load DLL: %s", r->filename); - return SERVER_ERROR; - } - - if (!(isapi_version = - (void *)(ap_os_dso_sym(isapi_handle, "GetExtensionVersion")))) { - ap_log_rerror(APLOG_MARK, APLOG_ALERT, r, - "DLL could not load GetExtensionVersion(): %s", - r->filename); - ap_os_dso_unload(isapi_handle); - return SERVER_ERROR; - } - - if (!(isapi_entry = - (void *)(ap_os_dso_sym(isapi_handle, "HttpExtensionProc")))) { - ap_log_rerror(APLOG_MARK, APLOG_ALERT, r, - "DLL could not load HttpExtensionProc(): %s", - r->filename); - ap_os_dso_unload(isapi_handle); - return SERVER_ERROR; - } - - isapi_term = (void *)(ap_os_dso_sym(isapi_handle, "TerminateExtension")); - - /* Run GetExtensionVersion() */ - - if (!(*isapi_version)(pVer)) { - ap_log_rerror(APLOG_MARK, APLOG_ALERT, r, - "ISAPI GetExtensionVersion() failed: %s", r->filename); - ap_os_dso_unload(isapi_handle); - return SERVER_ERROR; - } - - /* Set up variables. There are a couple of special cases for ISAPI. - * XXX: These were taken verbatim from GetServerVariable, and should - * be reviewed carefully. - */ - ap_add_common_vars(r); - ap_add_cgi_vars(r); - ap_table_setn(r->subprocess_env, "UNMAPPED_REMOTE_USER", "REMOTE_USER"); - ap_table_setn(r->subprocess_env, "SERVER_PORT_SECURE", "0"); - ap_table_setn(r->subprocess_env, "URL", r->uri); - - /* Set up connection ID */ - ecb->ConnID = (HCONN)cid; - cid->ecb = ecb; - cid->r = r; - cid->status = 0; - - ecb->cbSize = sizeof(struct _EXTENSION_CONTROL_BLOCK); - ecb->dwVersion = MAKELONG(0, 2); - ecb->dwHttpStatusCode = 0; - strcpy(ecb->lpszLogData, ""); - ecb->lpszMethod = ap_pstrdup(r->pool, r->method); - ecb->lpszQueryString = ap_pstrdup(r->pool, ap_table_get(e, "QUERY_STRING")); - ecb->lpszPathInfo = ap_pstrdup(r->pool, ap_table_get(e, "PATH_INFO")); - ecb->lpszPathTranslated = ap_pstrdup(r->pool, ap_table_get(e, "PATH_TRANSLATED")); - ecb->lpszContentType = ap_pstrdup(r->pool, ap_table_get(e, "CONTENT_TYPE")); - - /* Set up client input */ - if ((retval = ap_setup_client_block(r, REQUEST_CHUNKED_ERROR))) { - if (isapi_term) (*isapi_term)( 2 /* HSE_TERM_MUST_UNLOAD */); - ap_os_dso_unload(isapi_handle); - return retval; - } - - if (ap_should_client_block(r)) { - /* Time to start reading the appropriate amount of data, - * and allow the administrator to tweak the number - * TODO: add the httpd.conf option for ReadAheadBuffer. - */ - if (r->remaining) { - ecb->cbTotalBytes = r->remaining; - if (ecb->cbTotalBytes > ReadAheadBuffer) - ecb->cbAvailable = ReadAheadBuffer; - else - ecb->cbAvailable = ecb->cbTotalBytes; - } - else - { - ecb->cbTotalBytes = 0xffffffff; - ecb->cbAvailable = ReadAheadBuffer; - } - - ecb->lpbData = ap_pcalloc(r->pool, ecb->cbAvailable + 1); - - p = ecb->lpbData; - read = 0; - while (read < ecb->cbAvailable && - ((res = ap_get_client_block(r, ecb->lpbData + read, - ecb->cbAvailable - read)) > 0)) { - read += res; - } - - if (res < 0) { - if (isapi_term) (*isapi_term)(HSE_TERM_MUST_UNLOAD); - ap_os_dso_unload(isapi_handle); - return SERVER_ERROR; - } - - /* Although its not to spec, IIS seems to null-terminate - * its lpdData string. So we will too. - * - * XXX: This must be an issue... backing out the null - * from the count of bytes. - */ - if (res == 0) - ecb->cbAvailable = ecb->cbTotalBytes = read; - else - ecb->cbAvailable = read; - ecb->lpbData[read] = '\0'; - } - else { - ecb->cbTotalBytes = 0; - ecb->cbAvailable = 0; - ecb->lpbData = NULL; - } - - /* Set up the callbacks */ - - ecb->GetServerVariable = &GetServerVariable; - ecb->WriteClient = &WriteClient; - ecb->ReadClient = &ReadClient; - ecb->ServerSupportFunction = &ServerSupportFunction; - - /* All right... try and load the sucker */ - retval = (*isapi_entry)(ecb); - - /* Set the status (for logging) */ - if (ecb->dwHttpStatusCode) - r->status = ecb->dwHttpStatusCode; - - /* Check for a log message - and log it */ - if (ecb->lpszLogData && strcmp(ecb->lpszLogData, "")) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, - "ISAPI: %s: %s", ecb->lpszLogData, r->filename); - - /* Soak up any remaining input */ - if (r->remaining > 0) { - char argsbuffer[HUGE_STRING_LEN]; - while (ap_get_client_block(r, argsbuffer, HUGE_STRING_LEN) > 0); - } - - /* All done with the DLL... get rid of it */ - if (isapi_term) (*isapi_term)(HSE_TERM_MUST_UNLOAD); - ap_os_dso_unload(isapi_handle); - - switch(retval) { - case 0: /* Strange, but MS isapi accepts this as success */ - case HSE_STATUS_SUCCESS: - case HSE_STATUS_SUCCESS_AND_KEEP_CONN: - /* Ignore the keepalive stuff; Apache handles it just fine without - * the ISA's "advice". - */ - - if (cid->status) /* We have a special status to return */ - return cid->status; - - return OK; - case HSE_STATUS_PENDING: /* We don't support this */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI asynchronous I/O not supported: %s", - r->filename); - case HSE_STATUS_ERROR: - default: - return SERVER_ERROR; - } - -} -#pragma optimize("",on) - -BOOL WINAPI GetServerVariable (HCONN hConn, LPSTR lpszVariableName, - LPVOID lpvBuffer, LPDWORD lpdwSizeofBuffer) { - request_rec *r = ((isapi_cid *)hConn)->r; - const char *result; - DWORD len; - - if (!strcmp(lpszVariableName, "ALL_HTTP")) { - /* lf delimited, colon split, comma seperated and - * null terminated list of HTTP_ vars - */ - char **env = (char**) ap_table_elts(r->subprocess_env)->elts; - int nelts = 2 * ap_table_elts(r->subprocess_env)->nelts; - int i; - - for (len = 0, i = 0; i < nelts; i += 2) - if (!strncmp(env[i], "HTTP_", 5)) - len += strlen(env[i]) + strlen(env[i + 1]) + 2; - - if (*lpdwSizeofBuffer < len + 1) { - *lpdwSizeofBuffer = len + 1; - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return FALSE; - } - - for (i = 0; i < nelts; i += 2) - if (!strncmp(env[i], "HTTP_", 5)) { - strcpy(lpvBuffer, env[i]); - ((char*)lpvBuffer) += strlen(env[i]); - *(((char*)lpvBuffer)++) = ':'; - strcpy(lpvBuffer, env[i + 1]); - ((char*)lpvBuffer) += strlen(env[i + 1]); - *(((char*)lpvBuffer)++) = '\n'; - } - *(((char*)lpvBuffer)++) = '\0'; - *lpdwSizeofBuffer = len; - return TRUE; - } - - if (!strcmp(lpszVariableName, "ALL_RAW")) { - /* lf delimited, colon split, comma seperated and - * null terminated list of the raw request header - */ - char **raw = (char**) ap_table_elts(r->headers_in)->elts; - int nelts = 2 * ap_table_elts(r->headers_in)->nelts; - int i; - - for (len = 0, i = 0; i < nelts; i += 2) - len += strlen(raw[i]) + strlen(raw[i + 1]) + 2; - - if (*lpdwSizeofBuffer < len + 1) { - *lpdwSizeofBuffer = len + 1; - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return FALSE; - } - - for (i = 0; i < nelts; i += 2) { - strcpy(lpvBuffer, raw[i]); - ((char*)lpvBuffer) += strlen(raw[i]); - *(((char*)lpvBuffer)++) = ':'; - *(((char*)lpvBuffer)++) = ' '; - strcpy(lpvBuffer, raw[i + 1]); - ((char*)lpvBuffer) += strlen(raw[i + 1]); - *(((char*)lpvBuffer)++) = '\n'; - i += 2; - } - *(((char*)lpvBuffer)++) = '\0'; - *lpdwSizeofBuffer = len; - return TRUE; - } - - /* Not a special case */ - result = ap_table_get(r->subprocess_env, lpszVariableName); - if (result) { - len = strlen(result); - if (*lpdwSizeofBuffer < len + 1) { - *lpdwSizeofBuffer = len + 1; - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return FALSE; - } - strcpy(lpvBuffer, result); - *lpdwSizeofBuffer = len; - return TRUE; - } - - /* Not Found */ - SetLastError(ERROR_INVALID_INDEX); - return FALSE; -} - -BOOL WINAPI WriteClient (HCONN ConnID, LPVOID Buffer, LPDWORD lpwdwBytes, - DWORD dwReserved) { - request_rec *r = ((isapi_cid *)ConnID)->r; - - /* We only support synchronous writing */ - if (dwReserved && dwReserved != HSE_IO_SYNC) { - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI asynchronous I/O not supported: %s", - r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - } - - if ((*lpwdwBytes = ap_rwrite(Buffer, *lpwdwBytes, r)) <= 0) { - if (!GetLastError()) - SetLastError(ERROR); /* XXX: Find the right error code */ - return FALSE; - } - - return TRUE; -} - -BOOL WINAPI ReadClient (HCONN ConnID, LPVOID lpvBuffer, LPDWORD lpdwSize) { - request_rec *r = ((isapi_cid *)ConnID)->r; - DWORD read = 0; - int res; - - if (r->remaining < (long) *lpdwSize) - *lpdwSize = r->remaining; - - while (read < *lpdwSize && - ((res = ap_get_client_block(r, (char*)lpvBuffer + read, - *lpdwSize - read)) > 0)) { - if (res < 0) { - *lpdwSize = 0; - if (!GetLastError()) - SetLastError(ERROR); /* XXX: Find the right error code */ - return FALSE; - } - - read += res; - } - - *lpdwSize = read; - return TRUE; -} - -static BOOL SendResponseHeaderEx(isapi_cid *cid, const char *stat, - const char *head, DWORD statlen, - DWORD headlen) -{ - int termarg; - char *termch; - - if (!stat || statlen == 0 || !*stat) { - stat = "Status: 200 OK"; - } - else { - char *newstat; - newstat = ap_palloc(cid->r->pool, statlen + 9); - strcpy(newstat, "Status: "); - ap_cpystrn(newstat + 8, stat, statlen + 1); - stat = newstat; - } - - if (!head || headlen == 0 || !*head) { - head = "\r\n"; - } - else - { - if (head[headlen]) { - /* Whoops... not NULL terminated */ - head = ap_pstrndup(cid->r->pool, head, headlen); - } - } - - /* Parse them out, or die trying */ - cid->status = ap_scan_script_header_err_strs(cid->r, NULL, &termch, - &termarg, stat, head, NULL); - cid->ecb->dwHttpStatusCode = cid->r->status; - - /* All the headers should be set now */ - ap_send_http_header(cid->r); - - /* Any data left should now be sent directly, - * it may be raw if headlen was provided. - */ - if (termch && (termarg == 1)) { - if (headlen == -1 && *termch) - ap_rputs(termch, cid->r); - else if (headlen > (size_t) (termch - head)) - ap_rwrite(termch, headlen - (termch - head), cid->r); - } - - if (cid->status == HTTP_INTERNAL_SERVER_ERROR) - return FALSE; - return TRUE; -} - -/* XXX: Is there is still an O(n^2) attack possible here? Please detail. */ -BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest, - LPVOID lpvBuffer, LPDWORD lpdwSize, - LPDWORD lpdwDataType) { - isapi_cid *cid = (isapi_cid *)hConn; - request_rec *r = cid->r; - request_rec *subreq; - - switch (dwHSERequest) { - case 1: /* HSE_REQ_SEND_URL_REDIRECT_RESP */ - /* Set the status to be returned when the HttpExtensionProc() - * is done. - * WARNING: Microsoft now advertises HSE_REQ_SEND_URL_REDIRECT_RESP - * and HSE_REQ_SEND_URL as equivalant per the Jan 2000 SDK. - * They most definately are not, even in their own samples. - */ - ap_table_set(r->headers_out, "Location", lpvBuffer); - cid->status = cid->r->status - = cid->ecb->dwHttpStatusCode = HTTP_MOVED_TEMPORARILY; - return TRUE; - - case 2: /* HSE_REQ_SEND_URL */ - /* Soak up remaining input (there should be none) */ - if (r->remaining > 0) { - char argsbuffer[HUGE_STRING_LEN]; - while (ap_get_client_block(r, argsbuffer, HUGE_STRING_LEN) > 0); - } - - /* Reset the method to GET */ - r->method = ap_pstrdup(r->pool, "GET"); - r->method_number = M_GET; - - /* Don't let anyone think there's still data */ - ap_table_unset(r->headers_in, "Content-Length"); - - /* AV fault per PR3598 - redirected path is lost! */ - (char*)lpvBuffer = ap_pstrdup(r->pool, (char*)lpvBuffer); - ap_internal_redirect((char*)lpvBuffer, r); - return TRUE; - - case 3: /* HSE_REQ_SEND_RESPONSE_HEADER */ - { - /* Parse them out, or die trying */ - DWORD statlen = 0, headlen = 0; - if (lpvBuffer) - statlen = strlen((char*) lpvBuffer); - if (lpdwDataType) - headlen = strlen((char*) lpdwDataType); - return SendResponseHeaderEx(cid, (char*) lpvBuffer, (char*) lpdwDataType, - statlen, headlen); - } - - case 4: /* HSE_REQ_DONE_WITH_SESSION */ - /* Do nothing... since we don't support async I/O, they'll - * return from HttpExtensionProc soon - */ - return TRUE; - - case 1001: /* HSE_REQ_MAP_URL_TO_PATH */ - { - /* Map a URL to a filename */ - char *file = (char *)lpvBuffer; - DWORD len; - subreq = ap_sub_req_lookup_uri(ap_pstrndup(r->pool, file, *lpdwSize), r); - - len = ap_cpystrn(file, subreq->filename, *lpdwSize) - file; - - /* IIS puts a trailing slash on directories, Apache doesn't */ - if (S_ISDIR (subreq->finfo.st_mode)) { - if (len < *lpdwSize - 1) { - file[len++] = '\\'; - file[len] = '\0'; - } - } - *lpdwSize = len; - return TRUE; - } - - case 1002: /* HSE_REQ_GET_SSPI_INFO */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI ServerSupportFunction HSE_REQ_GET_SSPI_INFO " - "is not supported: %s", r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - - case 1003: /* HSE_APPEND_LOG_PARAMETER */ - /* Log lpvBuffer, of lpdwSize bytes, in the URI Query (cs-uri-query) field - * This code will do for now... - */ - ap_table_set(r->notes, "isapi-parameter", (char*) lpvBuffer); - if (AppendLogToQuery) { - if (r->args) - r->args = ap_pstrcat(r->pool, r->args, (char*) lpvBuffer, NULL); - else - r->args = ap_pstrdup(r->pool, (char*) lpvBuffer); - } - if (AppendLogToErrors) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, r, - "ISAPI %s: %s", cid->r->filename, - (char*) lpvBuffer); - return TRUE; - - /* We don't support all this async I/O, Microsoft-specific stuff */ - case 1005: /* HSE_REQ_IO_COMPLETION */ - case 1006: /* HSE_REQ_TRANSMIT_FILE */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI asynchronous I/O not supported: %s", - r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - - case 1007: /* HSE_REQ_REFRESH_ISAPI_ACL */ - /* Since we don't override the user ID and access, we can't reset. - */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI ServerSupportFunction " - "HSE_REQ_REFRESH_ISAPI_ACL " - "is not supported: %s", r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - - case 1008: /* HSE_REQ_IS_KEEP_CONN */ - *((LPBOOL) lpvBuffer) = (r->connection->keepalive == 1); - return TRUE; - - case 1010: /* HSE_REQ_ASYNC_READ_CLIENT */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI asynchronous I/O not supported: %s", - r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - - case 1011: /* HSE_REQ_GET_IMPERSONATION_TOKEN Added in ISAPI 4.0 */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI ServerSupportFunction " - "HSE_REQ_GET_IMPERSONATION_TOKEN " - "is not supported: %s", r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - -#ifdef HSE_REQ_MAP_URL_TO_PATH_EX - case 1012: /* HSE_REQ_MAP_URL_TO_PATH_EX */ - { - /* Map a URL to a filename */ - LPHSE_URL_MAPEX_INFO info = (LPHSE_URL_MAPEX_INFO) lpdwDataType; - char* test_uri = ap_pstrndup(r->pool, (char *)lpvBuffer, *lpdwSize); - - subreq = ap_sub_req_lookup_uri(test_uri, r); - info->cchMatchingURL = strlen(test_uri); - info->cchMatchingPath = ap_cpystrn(info->lpszPath, subreq->filename, - MAX_PATH) - info->lpszPath; - - /* Mapping started with assuming both strings matched. - * Now roll on the path_info as a mismatch and handle - * terminating slashes for directory matches. - */ - if (subreq->path_info && *subreq->path_info) { - ap_cpystrn(info->lpszPath + info->cchMatchingPath, - subreq->path_info, MAX_PATH - info->cchMatchingPath); - info->cchMatchingURL -= strlen(subreq->path_info); - if (S_ISDIR(subreq->finfo.st_mode) - && info->cchMatchingPath < MAX_PATH - 1) { - /* roll forward over path_info's first slash */ - ++info->cchMatchingPath; - ++info->cchMatchingURL; - } - } - else if (S_ISDIR(subreq->finfo.st_mode) - && info->cchMatchingPath < MAX_PATH - 1) { - /* Add a trailing slash for directory */ - info->lpszPath[info->cchMatchingPath++] = '/'; - info->lpszPath[info->cchMatchingPath] = '\0'; - } - - /* If the matched isn't a file, roll match back to the prior slash */ - if (!subreq->finfo.st_mode) { - while (info->cchMatchingPath && info->cchMatchingURL) { - if (info->lpszPath[info->cchMatchingPath - 1] == '/') - break; - --info->cchMatchingPath; - --info->cchMatchingURL; - } - } - - /* Paths returned with back slashes */ - for (test_uri = info->lpszPath; *test_uri; ++test_uri) - if (*test_uri == '/') - *test_uri = '\\'; - - /* is a combination of: - * HSE_URL_FLAGS_READ 0x001 Allow read - * HSE_URL_FLAGS_WRITE 0x002 Allow write - * HSE_URL_FLAGS_EXECUTE 0x004 Allow execute - * HSE_URL_FLAGS_SSL 0x008 Require SSL - * HSE_URL_FLAGS_DONT_CACHE 0x010 Don't cache (VRoot only) - * HSE_URL_FLAGS_NEGO_CERT 0x020 Allow client SSL cert - * HSE_URL_FLAGS_REQUIRE_CERT 0x040 Require client SSL cert - * HSE_URL_FLAGS_MAP_CERT 0x080 Map client SSL cert to account - * HSE_URL_FLAGS_SSL128 0x100 Require 128-bit SSL cert - * HSE_URL_FLAGS_SCRIPT 0x200 Allow script execution - * - * XxX: As everywhere, EXEC flags could use some work... - * and this could go further with more flags, as desired. - */ - info->dwFlags = (subreq->finfo.st_mode & _S_IREAD ? 0x001 : 0) - | (subreq->finfo.st_mode & _S_IWRITE ? 0x002 : 0) - | (subreq->finfo.st_mode & _S_IEXEC ? 0x204 : 0); - return TRUE; - } -#endif - - case 1014: /* HSE_REQ_ABORTIVE_CLOSE */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI ServerSupportFunction HSE_REQ_ABORTIVE_CLOSE" - " is not supported: %s", r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - - case 1015: /* HSE_REQ_GET_CERT_INFO_EX Added in ISAPI 4.0 */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI ServerSupportFunction " - "HSE_REQ_GET_CERT_INFO_EX " - "is not supported: %s", r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - -#ifdef HSE_REQ_SEND_RESPONSE_HEADER_EX - case 1016: /* HSE_REQ_SEND_RESPONSE_HEADER_EX Added in ISAPI 4.0 */ - { - LPHSE_SEND_HEADER_EX_INFO shi - = (LPHSE_SEND_HEADER_EX_INFO) lpvBuffer; - /* XXX: ignore shi->fKeepConn? We shouldn't need the advise */ - /* r->connection->keepalive = shi->fKeepConn; */ - return SendResponseHeaderEx(cid, shi->pszStatus, shi->pszHeader, - shi->cchStatus, shi->cchHeader); - } -#endif - - case 1017: /* HSE_REQ_CLOSE_CONNECTION Added after ISAPI 4.0 */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI ServerSupportFunction " - "HSE_REQ_CLOSE_CONNECTION " - "is not supported: %s", r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - - case 1018: /* HSE_REQ_IS_CONNECTED Added after ISAPI 4.0 */ - /* Returns True if client is connected c.f. MSKB Q188346 - * XXX: That statement is very ambigious... assuming the - * identical return mechanism as HSE_REQ_IS_KEEP_CONN. - */ - *((LPBOOL) lpvBuffer) = (r->connection->aborted == 0); - return TRUE; - - case 1020: /* HSE_REQ_EXTENSION_TRIGGER Added after ISAPI 4.0 */ - /* Undocumented - defined by the Microsoft Jan '00 Platform SDK - */ - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI ServerSupportFunction " - "HSE_REQ_EXTENSION_TRIGGER " - "is not supported: %s", r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - - - default: - if (LogNotSupported) - ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, - "ISAPI ServerSupportFunction (%d) not supported: " - "%s", dwHSERequest, r->filename); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - } -} - -/* - * Command handler for the ISAPIReadAheadBuffer directive, which is TAKE1 - */ -static const char *isapi_cmd_readaheadbuffer(cmd_parms *cmd, void *config, - char *arg) -{ - long val; - const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); - if (err != NULL) { - return err; - } - - if (((val = ap_strtol(arg, (char **) &err, 10)) <= 0) || *err) - return "ISAPIReadAheadBuffer must be a legitimate value."; - - ReadAheadBuffer = val; - return NULL; -} - -/* - * Command handler for the ISAPIReadAheadBuffer directive, which is TAKE1 - */ -static const char *isapi_cmd_lognotsupported(cmd_parms *cmd, void *config, - char *arg) -{ - const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); - if (err != NULL) { - return err; - } - - if (strcasecmp(arg, "on") == 0) { - LogNotSupported = -1; - } - else if (strcasecmp(arg, "off") == 0) { - LogNotSupported = 0; - } - else { - return "ISAPILogNotSupported must be on or off"; - } - return NULL; -} - -static const char *isapi_cmd_appendlogtoerrors(cmd_parms *cmd, void *config, - char *arg) -{ - const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); - if (err != NULL) { - return err; - } - - if (strcasecmp(arg, "on") == 0) { - AppendLogToErrors = -1; - } - else if (strcasecmp(arg, "off") == 0) { - AppendLogToErrors = 0; - } - else { - return "ISAPIAppendLogToErrors must be on or off"; - } - return NULL; -} - -static const char *isapi_cmd_appendlogtoquery(cmd_parms *cmd, void *config, - char *arg) -{ - const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); - if (err != NULL) { - return err; - } - - if (strcasecmp(arg, "on") == 0) { - AppendLogToQuery = -1; - } - else if (strcasecmp(arg, "off") == 0) { - AppendLogToQuery = 0; - } - else { - return "ISAPIAppendLogToQuery must be on or off"; - } - return NULL; -} - -static const command_rec isapi_cmds[] = { -{ "ISAPIReadAheadBuffer", isapi_cmd_readaheadbuffer, NULL, RSRC_CONF, TAKE1, - "Maximum bytes to initially pass to the ISAPI handler" }, -{ "ISAPILogNotSupported", isapi_cmd_lognotsupported, NULL, RSRC_CONF, TAKE1, - "Log requests not supported by the ISAPI server" }, -{ "ISAPIAppendLogToErrors", isapi_cmd_appendlogtoerrors, NULL, RSRC_CONF, TAKE1, - "Send all Append Log requests to the error log" }, -{ "ISAPIAppendLogToQuery", isapi_cmd_appendlogtoquery, NULL, RSRC_CONF, TAKE1, - "Append Log requests are concatinated to the query args" }, -{ NULL } -}; - -handler_rec isapi_handlers[] = { -{ "isapi-isa", isapi_handler }, -{ NULL} -}; - -module isapi_module = { - STANDARD_MODULE_STUFF, - NULL, /* initializer */ - NULL, /* create per-dir config */ - NULL, /* merge per-dir config */ - NULL, /* server config */ - NULL, /* merge server config */ - isapi_cmds, /* command table */ - isapi_handlers, /* handlers */ - NULL, /* filename translation */ - NULL, /* check_user_id */ - NULL, /* check auth */ - NULL, /* check access */ - NULL, /* type_checker */ - NULL, /* logger */ - NULL /* header parser */ -}; - -#endif /* WIN32 */ diff --git a/usr.sbin/httpd/src/os/win32/mod_mime_magic.dsp b/usr.sbin/httpd/src/os/win32/mod_mime_magic.dsp deleted file mode 100644 index 3df8cc851b5..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_mime_magic.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_mime_magic" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_mime_magic - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_mime_magic.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_mime_magic.mak" CFG="mod_mime_magic - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_mime_magic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_mime_magic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_mime_magic - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_mime_magic_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_mime_magic.so" /base:@"BaseAddr.ref",mod_mime_magic /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_mime_magic.so" /base:@"BaseAddr.ref",mod_mime_magic /opt:ref - -!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_mime_magic_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_mime_magic.so" /base:@"BaseAddr.ref",mod_mime_magic -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_mime_magic.so" /base:@"BaseAddr.ref",mod_mime_magic - -!ENDIF - -# Begin Target - -# Name "mod_mime_magic - Win32 Release" -# Name "mod_mime_magic - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_mime_magic.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_mime_magic.mak b/usr.sbin/httpd/src/os/win32/mod_mime_magic.mak deleted file mode 100644 index 99438a9916f..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_mime_magic.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_mime_magic.dsp -!IF "$(CFG)" == "" -CFG=mod_mime_magic - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_mime_magic - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_mime_magic - Win32 Release" && "$(CFG)" != "mod_mime_magic - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_mime_magic.mak" CFG="mod_mime_magic - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_mime_magic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_mime_magic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_mime_magic - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_mime_magic.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_mime_magic.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_mime_magic.obj" - -@erase "$(INTDIR)\mod_mime_magic_src.idb" - -@erase "$(INTDIR)\mod_mime_magic_src.pdb" - -@erase "$(OUTDIR)\mod_mime_magic.exp" - -@erase "$(OUTDIR)\mod_mime_magic.lib" - -@erase "$(OUTDIR)\mod_mime_magic.pdb" - -@erase "$(OUTDIR)\mod_mime_magic.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_mime_magic_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mime_magic.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_mime_magic.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_mime_magic.so" /implib:"$(OUTDIR)\mod_mime_magic.lib" /base:@"BaseAddr.ref",mod_mime_magic /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_mime_magic.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_mime_magic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_mime_magic.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_mime_magic.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_mime_magic.obj" - -@erase "$(INTDIR)\mod_mime_magic_src.idb" - -@erase "$(INTDIR)\mod_mime_magic_src.pdb" - -@erase "$(OUTDIR)\mod_mime_magic.exp" - -@erase "$(OUTDIR)\mod_mime_magic.lib" - -@erase "$(OUTDIR)\mod_mime_magic.pdb" - -@erase "$(OUTDIR)\mod_mime_magic.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_mime_magic_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mime_magic.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_mime_magic.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_mime_magic.so" /implib:"$(OUTDIR)\mod_mime_magic.lib" /base:@"BaseAddr.ref",mod_mime_magic -LINK32_OBJS= \ - "$(INTDIR)\mod_mime_magic.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_mime_magic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_mime_magic.dep") -!INCLUDE "mod_mime_magic.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_mime_magic.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_mime_magic - Win32 Release" || "$(CFG)" == "mod_mime_magic - Win32 Debug" - -!IF "$(CFG)" == "mod_mime_magic - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_mime_magic.c - -"$(INTDIR)\mod_mime_magic.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_proxy.dsp b/usr.sbin/httpd/src/os/win32/mod_proxy.dsp deleted file mode 100644 index e0bc0926592..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_proxy.dsp +++ /dev/null @@ -1,127 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_proxy" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_proxy - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_proxy.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_proxy.mak" CFG="mod_proxy - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_proxy - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_proxy - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_proxy - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /I "..\..\modules\proxy" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /Fd"Release\mod_proxy_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_proxy.so" /base:@"BaseAddr.ref",mod_proxy /opt:ref -# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_proxy.so" /base:@"BaseAddr.ref",mod_proxy /opt:ref - -!ELSEIF "$(CFG)" == "mod_proxy - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir ".\ApacheM0" -# PROP BASE Intermediate_Dir ".\ApacheM0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /I "..\..\modules\proxy" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /Fd"Debug\mod_proxy_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_proxy.so" /base:@"BaseAddr.ref",mod_proxy -# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_proxy.so" /base:@"BaseAddr.ref",mod_proxy - -!ENDIF - -# Begin Target - -# Name "mod_proxy - Win32 Release" -# Name "mod_proxy - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90" -# Begin Source File - -SOURCE=..\..\modules\proxy\mod_proxy.c -# End Source File -# Begin Source File - -SOURCE=..\..\modules\proxy\proxy_cache.c -# End Source File -# Begin Source File - -SOURCE=..\..\modules\proxy\proxy_connect.c -# End Source File -# Begin Source File - -SOURCE=..\..\modules\proxy\proxy_ftp.c -# End Source File -# Begin Source File - -SOURCE=..\..\modules\proxy\proxy_http.c -# End Source File -# Begin Source File - -SOURCE=..\..\modules\proxy\proxy_util.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" -# Begin Source File - -SOURCE=..\..\modules\proxy\mod_proxy.h -# End Source File -# End Group -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_proxy.mak b/usr.sbin/httpd/src/os/win32/mod_proxy.mak deleted file mode 100644 index 6c120dd6183..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_proxy.mak +++ /dev/null @@ -1,295 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_proxy.dsp -!IF "$(CFG)" == "" -CFG=mod_proxy - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_proxy - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_proxy - Win32 Release" && "$(CFG)" != "mod_proxy - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_proxy.mak" CFG="mod_proxy - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_proxy - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_proxy - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_proxy - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_proxy.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_proxy.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_proxy.obj" - -@erase "$(INTDIR)\mod_proxy_src.idb" - -@erase "$(INTDIR)\mod_proxy_src.pdb" - -@erase "$(INTDIR)\proxy_cache.obj" - -@erase "$(INTDIR)\proxy_connect.obj" - -@erase "$(INTDIR)\proxy_ftp.obj" - -@erase "$(INTDIR)\proxy_http.obj" - -@erase "$(INTDIR)\proxy_util.obj" - -@erase "$(OUTDIR)\mod_proxy.exp" - -@erase "$(OUTDIR)\mod_proxy.lib" - -@erase "$(OUTDIR)\mod_proxy.pdb" - -@erase "$(OUTDIR)\mod_proxy.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /I "..\..\modules\proxy" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_proxy.so" /implib:"$(OUTDIR)\mod_proxy.lib" /base:@"BaseAddr.ref",mod_proxy /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_proxy.obj" \ - "$(INTDIR)\proxy_cache.obj" \ - "$(INTDIR)\proxy_connect.obj" \ - "$(INTDIR)\proxy_ftp.obj" \ - "$(INTDIR)\proxy_http.obj" \ - "$(INTDIR)\proxy_util.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_proxy.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_proxy - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_proxy.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_proxy.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_proxy.obj" - -@erase "$(INTDIR)\mod_proxy_src.idb" - -@erase "$(INTDIR)\mod_proxy_src.pdb" - -@erase "$(INTDIR)\proxy_cache.obj" - -@erase "$(INTDIR)\proxy_connect.obj" - -@erase "$(INTDIR)\proxy_ftp.obj" - -@erase "$(INTDIR)\proxy_http.obj" - -@erase "$(INTDIR)\proxy_util.obj" - -@erase "$(OUTDIR)\mod_proxy.exp" - -@erase "$(OUTDIR)\mod_proxy.lib" - -@erase "$(OUTDIR)\mod_proxy.pdb" - -@erase "$(OUTDIR)\mod_proxy.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /I "..\..\modules\proxy" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_proxy_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_proxy.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_proxy.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_proxy.so" /implib:"$(OUTDIR)\mod_proxy.lib" /base:@"BaseAddr.ref",mod_proxy -LINK32_OBJS= \ - "$(INTDIR)\mod_proxy.obj" \ - "$(INTDIR)\proxy_cache.obj" \ - "$(INTDIR)\proxy_connect.obj" \ - "$(INTDIR)\proxy_ftp.obj" \ - "$(INTDIR)\proxy_http.obj" \ - "$(INTDIR)\proxy_util.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_proxy.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_proxy.dep") -!INCLUDE "mod_proxy.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_proxy.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_proxy - Win32 Release" || "$(CFG)" == "mod_proxy - Win32 Debug" -SOURCE=..\..\modules\proxy\mod_proxy.c - -"$(INTDIR)\mod_proxy.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=..\..\modules\proxy\proxy_cache.c - -"$(INTDIR)\proxy_cache.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=..\..\modules\proxy\proxy_connect.c - -"$(INTDIR)\proxy_connect.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=..\..\modules\proxy\proxy_ftp.c - -"$(INTDIR)\proxy_ftp.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=..\..\modules\proxy\proxy_http.c - -"$(INTDIR)\proxy_http.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=..\..\modules\proxy\proxy_util.c - -"$(INTDIR)\proxy_util.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!IF "$(CFG)" == "mod_proxy - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_proxy - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_rewrite.dsp b/usr.sbin/httpd/src/os/win32/mod_rewrite.dsp deleted file mode 100644 index 73ac1d7aa79..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_rewrite.dsp +++ /dev/null @@ -1,99 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_rewrite" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_rewrite - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_rewrite.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_rewrite.mak" CFG="mod_rewrite - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_rewrite - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_rewrite - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_rewrite - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /Fd"Release\mod_rewrite_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_rewrite.so" /base:@"BaseAddr.ref",mod_rewrite /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_rewrite.so" /base:@"BaseAddr.ref",mod_rewrite /opt:ref - -!ELSEIF "$(CFG)" == "mod_rewrite - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /Fd"Debug\mod_rewrite_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_rewrite.so" /base:@"BaseAddr.ref",mod_rewrite -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_rewrite.so" /base:@"BaseAddr.ref",mod_rewrite - -!ENDIF - -# Begin Target - -# Name "mod_rewrite - Win32 Release" -# Name "mod_rewrite - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_rewrite.c -# End Source File -# Begin Source File - -SOURCE=.\passwd.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_rewrite.mak b/usr.sbin/httpd/src/os/win32/mod_rewrite.mak deleted file mode 100644 index a3728fef547..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_rewrite.mak +++ /dev/null @@ -1,255 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_rewrite.dsp -!IF "$(CFG)" == "" -CFG=mod_rewrite - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_rewrite - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_rewrite - Win32 Release" && "$(CFG)" != "mod_rewrite - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_rewrite.mak" CFG="mod_rewrite - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_rewrite - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_rewrite - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_rewrite - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_rewrite.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_rewrite.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_rewrite.obj" - -@erase "$(INTDIR)\mod_rewrite_src.idb" - -@erase "$(INTDIR)\mod_rewrite_src.pdb" - -@erase "$(INTDIR)\passwd.obj" - -@erase "$(OUTDIR)\mod_rewrite.exp" - -@erase "$(OUTDIR)\mod_rewrite.lib" - -@erase "$(OUTDIR)\mod_rewrite.pdb" - -@erase "$(OUTDIR)\mod_rewrite.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_rewrite_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_rewrite.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_rewrite.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_rewrite.so" /implib:"$(OUTDIR)\mod_rewrite.lib" /base:@"BaseAddr.ref",mod_rewrite /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_rewrite.obj" \ - "$(INTDIR)\passwd.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_rewrite.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_rewrite - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_rewrite.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_rewrite.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_rewrite.obj" - -@erase "$(INTDIR)\mod_rewrite_src.idb" - -@erase "$(INTDIR)\mod_rewrite_src.pdb" - -@erase "$(INTDIR)\passwd.obj" - -@erase "$(OUTDIR)\mod_rewrite.exp" - -@erase "$(OUTDIR)\mod_rewrite.lib" - -@erase "$(OUTDIR)\mod_rewrite.pdb" - -@erase "$(OUTDIR)\mod_rewrite.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_rewrite_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_rewrite.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_rewrite.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_rewrite.so" /implib:"$(OUTDIR)\mod_rewrite.lib" /base:@"BaseAddr.ref",mod_rewrite -LINK32_OBJS= \ - "$(INTDIR)\mod_rewrite.obj" \ - "$(INTDIR)\passwd.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_rewrite.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_rewrite.dep") -!INCLUDE "mod_rewrite.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_rewrite.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_rewrite - Win32 Release" || "$(CFG)" == "mod_rewrite - Win32 Debug" - -!IF "$(CFG)" == "mod_rewrite - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_rewrite - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_rewrite.c - -"$(INTDIR)\mod_rewrite.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=.\passwd.c - -"$(INTDIR)\passwd.obj" : $(SOURCE) "$(INTDIR)" - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_speling.dsp b/usr.sbin/httpd/src/os/win32/mod_speling.dsp deleted file mode 100644 index 6ff56ea1d32..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_speling.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_speling" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_speling - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_speling.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_speling.mak" CFG="mod_speling - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_speling - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_speling - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_speling - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_speling_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_speling.so" /base:@"BaseAddr.ref",mod_speling /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_speling.so" /base:@"BaseAddr.ref",mod_speling /opt:ref - -!ELSEIF "$(CFG)" == "mod_speling - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_speling_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_speling.so" /base:@"BaseAddr.ref",mod_speling -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_speling.so" /base:@"BaseAddr.ref",mod_speling - -!ENDIF - -# Begin Target - -# Name "mod_speling - Win32 Release" -# Name "mod_speling - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_speling.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_speling.mak b/usr.sbin/httpd/src/os/win32/mod_speling.mak deleted file mode 100644 index a1b468eb76a..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_speling.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_speling.dsp -!IF "$(CFG)" == "" -CFG=mod_speling - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_speling - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_speling - Win32 Release" && "$(CFG)" != "mod_speling - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_speling.mak" CFG="mod_speling - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_speling - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_speling - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_speling - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_speling.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_speling.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_speling.obj" - -@erase "$(INTDIR)\mod_speling_src.idb" - -@erase "$(INTDIR)\mod_speling_src.pdb" - -@erase "$(OUTDIR)\mod_speling.exp" - -@erase "$(OUTDIR)\mod_speling.lib" - -@erase "$(OUTDIR)\mod_speling.pdb" - -@erase "$(OUTDIR)\mod_speling.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_speling_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_speling.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_speling.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_speling.so" /implib:"$(OUTDIR)\mod_speling.lib" /base:@"BaseAddr.ref",mod_speling /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_speling.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_speling.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_speling - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_speling.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_speling.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_speling.obj" - -@erase "$(INTDIR)\mod_speling_src.idb" - -@erase "$(INTDIR)\mod_speling_src.pdb" - -@erase "$(OUTDIR)\mod_speling.exp" - -@erase "$(OUTDIR)\mod_speling.lib" - -@erase "$(OUTDIR)\mod_speling.pdb" - -@erase "$(OUTDIR)\mod_speling.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_speling_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_speling.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_speling.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_speling.so" /implib:"$(OUTDIR)\mod_speling.lib" /base:@"BaseAddr.ref",mod_speling -LINK32_OBJS= \ - "$(INTDIR)\mod_speling.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_speling.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_speling.dep") -!INCLUDE "mod_speling.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_speling.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_speling - Win32 Release" || "$(CFG)" == "mod_speling - Win32 Debug" - -!IF "$(CFG)" == "mod_speling - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_speling - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_speling.c - -"$(INTDIR)\mod_speling.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_status.dsp b/usr.sbin/httpd/src/os/win32/mod_status.dsp deleted file mode 100644 index ab708c3e216..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_status.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_status" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_status - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_status.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_status.mak" CFG="mod_status - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_status - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_status - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_status - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_status_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_status.so" /base:@"BaseAddr.ref",mod_status /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_status.so" /base:@"BaseAddr.ref",mod_status /opt:ref - -!ELSEIF "$(CFG)" == "mod_status - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_status_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_status.so" /base:@"BaseAddr.ref",mod_status -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_status.so" /base:@"BaseAddr.ref",mod_status - -!ENDIF - -# Begin Target - -# Name "mod_status - Win32 Release" -# Name "mod_status - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_status.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_status.mak b/usr.sbin/httpd/src/os/win32/mod_status.mak deleted file mode 100644 index d08f2ba62fa..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_status.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_status.dsp -!IF "$(CFG)" == "" -CFG=mod_status - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_status - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_status - Win32 Release" && "$(CFG)" != "mod_status - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_status.mak" CFG="mod_status - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_status - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_status - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_status - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_status.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_status.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_status.obj" - -@erase "$(INTDIR)\mod_status_src.idb" - -@erase "$(INTDIR)\mod_status_src.pdb" - -@erase "$(OUTDIR)\mod_status.exp" - -@erase "$(OUTDIR)\mod_status.lib" - -@erase "$(OUTDIR)\mod_status.pdb" - -@erase "$(OUTDIR)\mod_status.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_status_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_status.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_status.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_status.so" /implib:"$(OUTDIR)\mod_status.lib" /base:@"BaseAddr.ref",mod_status /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_status.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_status.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_status - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_status.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_status.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_status.obj" - -@erase "$(INTDIR)\mod_status_src.idb" - -@erase "$(INTDIR)\mod_status_src.pdb" - -@erase "$(OUTDIR)\mod_status.exp" - -@erase "$(OUTDIR)\mod_status.lib" - -@erase "$(OUTDIR)\mod_status.pdb" - -@erase "$(OUTDIR)\mod_status.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_status_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_status.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_status.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_status.so" /implib:"$(OUTDIR)\mod_status.lib" /base:@"BaseAddr.ref",mod_status -LINK32_OBJS= \ - "$(INTDIR)\mod_status.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_status.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_status.dep") -!INCLUDE "mod_status.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_status.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_status - Win32 Release" || "$(CFG)" == "mod_status - Win32 Debug" - -!IF "$(CFG)" == "mod_status - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_status - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_status.c - -"$(INTDIR)\mod_status.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_unique_id.dsp b/usr.sbin/httpd/src/os/win32/mod_unique_id.dsp deleted file mode 100644 index 5b405765687..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_unique_id.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_unique_id" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_unique_id - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_unique_id.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_unique_id.mak" CFG="mod_unique_id - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_unique_id - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_unique_id - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_unique_id - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_unique_id_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_unique_id.so" /base:@"BaseAddr.ref",mod_unique_id /opt:ref -# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_unique_id.so" /base:@"BaseAddr.ref",mod_unique_id /opt:ref - -!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_unique_id_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_unique_id.so" /base:@"BaseAddr.ref",mod_unique_id -# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_unique_id.so" /base:@"BaseAddr.ref",mod_unique_id - -!ENDIF - -# Begin Target - -# Name "mod_unique_id - Win32 Release" -# Name "mod_unique_id - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_unique_id.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_unique_id.mak b/usr.sbin/httpd/src/os/win32/mod_unique_id.mak deleted file mode 100644 index aebfa36f09d..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_unique_id.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_unique_id.dsp -!IF "$(CFG)" == "" -CFG=mod_unique_id - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_unique_id - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_unique_id - Win32 Release" && "$(CFG)" != "mod_unique_id - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_unique_id.mak" CFG="mod_unique_id - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_unique_id - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_unique_id - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_unique_id - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_unique_id.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_unique_id.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_unique_id.obj" - -@erase "$(INTDIR)\mod_unique_id_src.idb" - -@erase "$(INTDIR)\mod_unique_id_src.pdb" - -@erase "$(OUTDIR)\mod_unique_id.exp" - -@erase "$(OUTDIR)\mod_unique_id.lib" - -@erase "$(OUTDIR)\mod_unique_id.pdb" - -@erase "$(OUTDIR)\mod_unique_id.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_unique_id_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_unique_id.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_unique_id.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_unique_id.so" /implib:"$(OUTDIR)\mod_unique_id.lib" /base:@"BaseAddr.ref",mod_unique_id /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_unique_id.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_unique_id.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_unique_id.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_unique_id.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_unique_id.obj" - -@erase "$(INTDIR)\mod_unique_id_src.idb" - -@erase "$(INTDIR)\mod_unique_id_src.pdb" - -@erase "$(OUTDIR)\mod_unique_id.exp" - -@erase "$(OUTDIR)\mod_unique_id.lib" - -@erase "$(OUTDIR)\mod_unique_id.pdb" - -@erase "$(OUTDIR)\mod_unique_id.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_unique_id_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_unique_id.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_unique_id.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_unique_id.so" /implib:"$(OUTDIR)\mod_unique_id.lib" /base:@"BaseAddr.ref",mod_unique_id -LINK32_OBJS= \ - "$(INTDIR)\mod_unique_id.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_unique_id.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_unique_id.dep") -!INCLUDE "mod_unique_id.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_unique_id.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_unique_id - Win32 Release" || "$(CFG)" == "mod_unique_id - Win32 Debug" - -!IF "$(CFG)" == "mod_unique_id - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_unique_id.c - -"$(INTDIR)\mod_unique_id.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_usertrack.dsp b/usr.sbin/httpd/src/os/win32/mod_usertrack.dsp deleted file mode 100644 index ee236c980ca..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_usertrack.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_usertrack" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_usertrack - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_usertrack.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_usertrack.mak" CFG="mod_usertrack - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_usertrack - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_usertrack - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_usertrack - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_usertrack_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib wsock32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_usertrack.so" /base:@"BaseAddr.ref",mod_usertrack /opt:ref -# ADD LINK32 kernel32.lib wsock32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_usertrack.so" /base:@"BaseAddr.ref",mod_usertrack /opt:ref - -!ELSEIF "$(CFG)" == "mod_usertrack - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_usertrack_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib wsock32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_usertrack.so" /base:@"BaseAddr.ref",mod_usertrack -# ADD LINK32 kernel32.lib wsock32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_usertrack.so" /base:@"BaseAddr.ref",mod_usertrack - -!ENDIF - -# Begin Target - -# Name "mod_usertrack - Win32 Release" -# Name "mod_usertrack - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_usertrack.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_usertrack.mak b/usr.sbin/httpd/src/os/win32/mod_usertrack.mak deleted file mode 100644 index 9479f6aca05..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_usertrack.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_usertrack.dsp -!IF "$(CFG)" == "" -CFG=mod_usertrack - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_usertrack - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_usertrack - Win32 Release" && "$(CFG)" != "mod_usertrack - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_usertrack.mak" CFG="mod_usertrack - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_usertrack - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_usertrack - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_usertrack - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_usertrack.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_usertrack.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_usertrack.obj" - -@erase "$(INTDIR)\mod_usertrack_src.idb" - -@erase "$(INTDIR)\mod_usertrack_src.pdb" - -@erase "$(OUTDIR)\mod_usertrack.exp" - -@erase "$(OUTDIR)\mod_usertrack.lib" - -@erase "$(OUTDIR)\mod_usertrack.pdb" - -@erase "$(OUTDIR)\mod_usertrack.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_usertrack_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_usertrack.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib wsock32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_usertrack.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_usertrack.so" /implib:"$(OUTDIR)\mod_usertrack.lib" /base:@"BaseAddr.ref",mod_usertrack /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_usertrack.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_usertrack.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_usertrack - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_usertrack.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_usertrack.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_usertrack.obj" - -@erase "$(INTDIR)\mod_usertrack_src.idb" - -@erase "$(INTDIR)\mod_usertrack_src.pdb" - -@erase "$(OUTDIR)\mod_usertrack.exp" - -@erase "$(OUTDIR)\mod_usertrack.lib" - -@erase "$(OUTDIR)\mod_usertrack.pdb" - -@erase "$(OUTDIR)\mod_usertrack.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_usertrack_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_usertrack.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib wsock32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_usertrack.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_usertrack.so" /implib:"$(OUTDIR)\mod_usertrack.lib" /base:@"BaseAddr.ref",mod_usertrack -LINK32_OBJS= \ - "$(INTDIR)\mod_usertrack.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_usertrack.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_usertrack.dep") -!INCLUDE "mod_usertrack.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_usertrack.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_usertrack - Win32 Release" || "$(CFG)" == "mod_usertrack - Win32 Debug" - -!IF "$(CFG)" == "mod_usertrack - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_usertrack - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_usertrack.c - -"$(INTDIR)\mod_usertrack.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/mod_vhost_alias.dsp b/usr.sbin/httpd/src/os/win32/mod_vhost_alias.dsp deleted file mode 100644 index 671928a1304..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_vhost_alias.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mod_vhost_alias" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=mod_vhost_alias - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "mod_vhost_alias.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_vhost_alias.mak" CFG="mod_vhost_alias - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_vhost_alias - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_vhost_alias - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "mod_vhost_alias - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /W3 /O2 /Zi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Zi /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_vhost_alias_src" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_vhost_alias.so" /base:@"BaseAddr.ref",mod_vhost_alias /opt:ref -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_vhost_alias.so" /base:@"BaseAddr.ref",mod_vhost_alias /opt:ref - -!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_vhost_alias_src" /FD /c -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_vhost_alias.so" /base:@"BaseAddr.ref",mod_vhost_alias -# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_vhost_alias.so" /base:@"BaseAddr.ref",mod_vhost_alias - -!ENDIF - -# Begin Target - -# Name "mod_vhost_alias - Win32 Release" -# Name "mod_vhost_alias - Win32 Debug" -# Begin Source File - -SOURCE=..\..\modules\standard\mod_vhost_alias.c -# End Source File -# End Target -# End Project diff --git a/usr.sbin/httpd/src/os/win32/mod_vhost_alias.mak b/usr.sbin/httpd/src/os/win32/mod_vhost_alias.mak deleted file mode 100644 index c6b47f55d7e..00000000000 --- a/usr.sbin/httpd/src/os/win32/mod_vhost_alias.mak +++ /dev/null @@ -1,246 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on mod_vhost_alias.dsp -!IF "$(CFG)" == "" -CFG=mod_vhost_alias - Win32 Release -!MESSAGE No configuration specified. Defaulting to mod_vhost_alias - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "mod_vhost_alias - Win32 Release" && "$(CFG)" != "mod_vhost_alias - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "mod_vhost_alias.mak" CFG="mod_vhost_alias - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "mod_vhost_alias - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "mod_vhost_alias - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(CFG)" == "mod_vhost_alias - Win32 Release" - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_vhost_alias.so" - -!ELSE - -ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_vhost_alias.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 ReleaseCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_vhost_alias.obj" - -@erase "$(INTDIR)\mod_vhost_alias_src.idb" - -@erase "$(INTDIR)\mod_vhost_alias_src.pdb" - -@erase "$(OUTDIR)\mod_vhost_alias.exp" - -@erase "$(OUTDIR)\mod_vhost_alias.lib" - -@erase "$(OUTDIR)\mod_vhost_alias.pdb" - -@erase "$(OUTDIR)\mod_vhost_alias.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_vhost_alias_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_vhost_alias.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_vhost_alias.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_vhost_alias.so" /implib:"$(OUTDIR)\mod_vhost_alias.lib" /base:@"BaseAddr.ref",mod_vhost_alias /opt:ref -LINK32_OBJS= \ - "$(INTDIR)\mod_vhost_alias.obj" \ - "..\..\Release\ApacheCore.lib" - -"$(OUTDIR)\mod_vhost_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug" - -OUTDIR=.\Debug -INTDIR=.\Debug -# Begin Custom Macros -OutDir=.\Debug -# End Custom Macros - -!IF "$(RECURSE)" == "0" - -ALL : "$(OUTDIR)\mod_vhost_alias.so" - -!ELSE - -ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_vhost_alias.so" - -!ENDIF - -!IF "$(RECURSE)" == "1" -CLEAN :"ApacheCore - Win32 DebugCLEAN" -!ELSE -CLEAN : -!ENDIF - -@erase "$(INTDIR)\mod_vhost_alias.obj" - -@erase "$(INTDIR)\mod_vhost_alias_src.idb" - -@erase "$(INTDIR)\mod_vhost_alias_src.pdb" - -@erase "$(OUTDIR)\mod_vhost_alias.exp" - -@erase "$(OUTDIR)\mod_vhost_alias.lib" - -@erase "$(OUTDIR)\mod_vhost_alias.pdb" - -@erase "$(OUTDIR)\mod_vhost_alias.so" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_vhost_alias_src" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -MTL=midl.exe -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_vhost_alias.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_vhost_alias.pdb" /debug /machine:I386 /out:"$(OUTDIR)\mod_vhost_alias.so" /implib:"$(OUTDIR)\mod_vhost_alias.lib" /base:@"BaseAddr.ref",mod_vhost_alias -LINK32_OBJS= \ - "$(INTDIR)\mod_vhost_alias.obj" \ - "..\..\Debug\ApacheCore.lib" - -"$(OUTDIR)\mod_vhost_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("mod_vhost_alias.dep") -!INCLUDE "mod_vhost_alias.dep" -!ELSE -!MESSAGE Warning: cannot find "mod_vhost_alias.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "mod_vhost_alias - Win32 Release" || "$(CFG)" == "mod_vhost_alias - Win32 Debug" - -!IF "$(CFG)" == "mod_vhost_alias - Win32 Release" - -"ApacheCore - Win32 Release" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" - cd ".\os\win32" - -"ApacheCore - Win32 ReleaseCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release" RECURSE=1 CLEAN - cd ".\os\win32" - -!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug" - -"ApacheCore - Win32 Debug" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" - cd ".\os\win32" - -"ApacheCore - Win32 DebugCLEAN" : - cd "..\../..\src" - $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug" RECURSE=1 CLEAN - cd ".\os\win32" - -!ENDIF - -SOURCE=..\..\modules\standard\mod_vhost_alias.c - -"$(INTDIR)\mod_vhost_alias.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - - -!ENDIF - diff --git a/usr.sbin/httpd/src/os/win32/modules.c b/usr.sbin/httpd/src/os/win32/modules.c deleted file mode 100644 index b30c4b481f2..00000000000 --- a/usr.sbin/httpd/src/os/win32/modules.c +++ /dev/null @@ -1,134 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -/* modules.c --- major modules compiled into Apache for Win32. - * Only insert an entry for a module if it must be compiled into - * the core server - */ - -#ifdef WIN32 - -#include "httpd.h" -#include "http_config.h" - -extern module core_module; -extern module so_module; -extern module mime_module; -extern module access_module; -extern module auth_module; -extern module negotiation_module; -extern module includes_module; -extern module autoindex_module; -extern module dir_module; -extern module cgi_module; -extern module userdir_module; -extern module alias_module; -extern module env_module; -extern module config_log_module; -extern module asis_module; -extern module imap_module; -extern module action_module; -extern module setenvif_module; -extern module isapi_module; - -module *ap_prelinked_modules[] = { - &core_module, - &so_module, - &mime_module, - &access_module, - &auth_module, - &negotiation_module, - &includes_module, - &autoindex_module, - &dir_module, - &cgi_module, - &userdir_module, - &alias_module, - &env_module, - &config_log_module, - &asis_module, - &imap_module, - &action_module, - &setenvif_module, - &isapi_module, - NULL -}; -module *ap_preloaded_modules[] = { - &core_module, - &so_module, - &mime_module, - &access_module, - &auth_module, - &negotiation_module, - &includes_module, - &autoindex_module, - &dir_module, - &cgi_module, - &userdir_module, - &alias_module, - &env_module, - &config_log_module, - &asis_module, - &imap_module, - &action_module, - &setenvif_module, - &isapi_module, - NULL -}; - -#endif /* WIN32 */ diff --git a/usr.sbin/httpd/src/os/win32/monitoring-services.txt b/usr.sbin/httpd/src/os/win32/monitoring-services.txt deleted file mode 100644 index 24665890257..00000000000 --- a/usr.sbin/httpd/src/os/win32/monitoring-services.txt +++ /dev/null @@ -1,94 +0,0 @@ -From: William A. Rowe, Jr. -Date: June 7th '00 -Subject: service monitoring in Apache 1.3.13 - -The concept for a taskbar monitor has been thrown around -for a very long while. 1.3.13 introduced Win9x services, -and that added fuel to the mix. Here are some sideband -observations I've made for other developers... - -About Apache as a console, don't start Apache hidden without -any command line arguments if you want to launch it yourself -in a hidden window (it will do the classic test for -AllocConsole/FreeConsole)... drop in some arguments such as -the -f or -r option and it will fly without thinking it is a -service under 9x and NT. - -Rule two, don't use --ntservice as an argument, ever. Only -the Windows NT Service Control Manager is allowed to pass that -flag, and only that flag, when it runs Apache.exe. Do use ---ntservice as the sole argument to the executable name if -you are installing an Apache NT service yourself. - -Rule three, use -k start and -n name when maintaining the -HKLM/Software/Microsoft/Windows/CurrentVersion/RunServices -list, since there is no other way for Apache to know what -the service is named :) And look at any 9x installed service's -RunServices entry in the registry for the start service semantic. - -Rule four, use the WinNT Service Control Manager exclusively -for starting, stopping and restarting Apache as an NT service. -The restart signal is the value 128, as documented in service.h -and service.c - this will continue to work in Apache 2.0. If -it fails, you are handling an older version (pre 1.3.13) of -Apache, and need to stop and then start the service instead. - -Rule five, use the legacy pid-named events to signal Win9x -service Apache to restart and stop the service. But don't -bother looking for httpd.pid files... you can get the pid -right from the hidden service control window. Apache 1.3.13 -and 2.x create a hidden window named for the name of the -service (without the spaces), with a window class of -"ApacheWin95ServiceMonitor", so can use FindWindow to track -down running Win9x services. See the service.c code for how -I accomplished this pretty simply in the -k stop/-k restart -handler. - -Taskbar Monitor App -------------------- - -Basic requirements: a C code application using strictly the -Win32 API, and not MFC or other Win32 frameworks. Could use -the service.c module to share some basic functions. That -module could be extended in Apache 2.0 to make this all easier. - -I think we are looking for an external app that simply acts -as a monitor or allows a stopped service to be started. If -the user logs off, we loose the monitor app, but installed as -a shortcut in the Start group or in the registry key -HKLM/Software/Microsoft/Windows/CurrentVersion/Run -we will be just fine. I'd like to see the monitor run only -one instance to monitor all running services, for memory -and resource conservation. - -I was thinking that the hover/iconbar title would tell them -"Test service is running", or "Test service is stopped". -If they left click, they could stop or restart, or simply -start if it is stopped. There could be a preference that -each service doesn't get it's own individual task icon unless -it is running, if it is a manual start service (or missing -from the RunServices list, which is the equivilant under 9x). - -If a specific service is set to Auto start or is in the -RunServices Win9x registry key, we must show them the stopped -icon, of course. We might also keep the icon for any running -service that stops abruptly. But there could be a 'single -icon' option for the taskbar icon monitor that says show only -a single status icon, for simplicity if the administrator runs -many Apache services. - -But I was hoping that any right click would provide a menu -of all Apache services with their status. e.g. - Test service is stopped - Apache_2 service is running - MyWeb service is running -and each would do the logical submenu, same as if that -specific taskbar icon were left clicked, offering to start or -offering to stop or restart the server, as appropriate. - -Finally, to identify all installed Apache services, just query -the registry key HKLM\SYSTEM\CurrentControlSet\Services for any -key that has the ImagePath value of "...\Apache.exe"... (quotes -are significant here, if the leading quote is ommitted the -entire string ends with the text \Apache.exe - based on Apache's -own service installer in every released version.) diff --git a/usr.sbin/httpd/src/os/win32/multithread.c b/usr.sbin/httpd/src/os/win32/multithread.c deleted file mode 100644 index 4b9c58df77e..00000000000 --- a/usr.sbin/httpd/src/os/win32/multithread.c +++ /dev/null @@ -1,315 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef WIN32 - -#include "ap_config.h" -#include "multithread.h" - -#include <process.h> -#include <assert.h> - -static int -map_rv(int rv) -{ - switch(rv) - { - case WAIT_OBJECT_0: - case WAIT_ABANDONED: - return(MULTI_OK); - case WAIT_TIMEOUT: - return(MULTI_TIMEOUT); - case WAIT_FAILED: - return(MULTI_ERR); - default: - assert(0); - } - - assert(0); - return(0); -} - - -thread * -create_thread(void (thread_fn)(void *), void *thread_arg) -{ - int id; - int rv; - - rv = _beginthreadex(NULL, 0, (LPTHREAD_START_ROUTINE)thread_fn, - thread_arg, 0, &id); - - return((thread *)rv); -} - - -int -kill_thread(thread *thread_id) -{ - return(TerminateThread(thread_id, 1)); -} - - -int -await_thread(thread *thread_id, int sec_to_wait) -{ - int rv; - - rv = WaitForSingleObject(thread_id, sec_to_wait*1000); - - return(map_rv(rv)); -} - -void -exit_thread(int status) -{ - _endthreadex(status); -} - -void -free_thread(thread *thread_id) -{ - CloseHandle(thread_id); -} - - - -API_EXPORT(mutex *) ap_create_mutex(char *name) -{ - return(CreateMutex(NULL, FALSE, name)); -} - -API_EXPORT(mutex *) ap_open_mutex(char *name) -{ - return(OpenMutex(MUTEX_ALL_ACCESS, FALSE, name)); -} - - -API_EXPORT(int) ap_acquire_mutex(mutex *mutex_id) -{ - int rv; - - rv = WaitForSingleObject(mutex_id, INFINITE); - - return(map_rv(rv)); -} - -API_EXPORT(int) ap_release_mutex(mutex *mutex_id) -{ - return(ReleaseMutex(mutex_id)); -} - -API_EXPORT(void) ap_destroy_mutex(mutex *mutex_id) -{ - CloseHandle(mutex_id); -} - - -semaphore * -create_semaphore(int initial) -{ - return(CreateSemaphore(NULL, initial, 1000000, NULL)); -} - -int acquire_semaphore(semaphore *semaphore_id) -{ - int rv; - - rv = WaitForSingleObject(semaphore_id, INFINITE); - - return(map_rv(rv)); -} - -int release_semaphore(semaphore *semaphore_id) -{ - return(ReleaseSemaphore(semaphore_id, 1, NULL)); -} - -void destroy_semaphore(semaphore *semaphore_id) -{ - CloseHandle(semaphore_id); -} - - -event * -create_event(int manual, int initial, char *name) -{ - return(CreateEvent(NULL, manual, initial, name)); -} - -event * -open_event(char *name) -{ - return(OpenEvent(EVENT_ALL_ACCESS, FALSE, name)); -} - - -int acquire_event(event *event_id) -{ - int rv; - - rv = WaitForSingleObject(event_id, INFINITE); - - return(map_rv(rv)); -} - -int set_event(event *event_id) -{ - return(SetEvent(event_id)); -} - -int reset_event(event *event_id) -{ - return(ResetEvent(event_id)); -} - - -void destroy_event(event *event_id) -{ - CloseHandle(event_id); -} - -#else - - -thread *create_thread(void (thread_fn)(void *thread_arg), - void *thread_arg) -{ - return(NULL); -} - -int kill_thread(thread *thread_id) -{ - return(0); -} - -int await_thread(thread *thread_id, int sec_to_wait) -{ - return(0); -} - -void exit_thread(int status) -{} - -void free_thread(thread *thread_id) -{} - - -mutex *ap_create_mutex(char *name) -{ - return(NULL); -} - -mutex *ap_open_mutex(char *name) -{ - return(NULL); -} - -int ap_acquire_mutex(mutex *mutex_id) -{ - return(0); -} -int ap_release_mutex(mutex *mutex_id) -{ - return(0); -} -void ap_destroy_mutex(mutex *mutex_id) -{} - - -semaphore *create_semaphore(int initial) -{ - return(NULL); -} -int acquire_semaphore(semaphore *semaphore_id) -{ - return(0); -} -int release_semaphore(semaphore *semaphore_id) -{ - return(0); -} -void destroy_semaphore(semaphore *semaphore_id) -{} - -event *create_event(int manual, int initial, char *name) -{ - return(NULL); -} -event *open_event(char *name) -{ - return(NULL); -} -int acquire_event(event *event_id) -{ - return(0); -} -int set_event(event *event_id) -{ - return(0); -} -int reset_event(event *event_id) -{ - return(0); -} -void destroy_event(event *event_id) -{} - - -#endif /* WIN32 */ - diff --git a/usr.sbin/httpd/src/os/win32/os.c b/usr.sbin/httpd/src/os/win32/os.c deleted file mode 100644 index 01a591f3e35..00000000000 --- a/usr.sbin/httpd/src/os/win32/os.c +++ /dev/null @@ -1,336 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -/* - * OS abstraction functions. Small functions should be defined - * as "__inline" in os.h. - */ - -#include <sys/stat.h> -#include <stdio.h> -#include <time.h> -#include "os.h" -#include "errno.h" - -/* Win95 doesn't like trailing /s. NT and Unix don't mind. This works - * around the problem. - * Errr... except if it is UNC and we are referring to the root of - * the UNC, we MUST have a trailing \ and we can't use /s. Jeez. - * Not sure if this refers to all UNCs or just roots, - * but I'm going to fix it for all cases for now. (Ben) - */ - -#undef stat -API_EXPORT(int) os_stat(const char *szPath, struct stat *pStat) -{ - int n; - int len = strlen(szPath); - - if (len == 0) { - errno = ENOENT; - return -1; - } - - if (len >= MAX_PATH) { - errno = ENAMETOOLONG; - return -1; - } - - if (szPath[0] == '/' && szPath[1] == '/') { - char buf[MAX_PATH]; - char *s; - int nSlashes = 0; - - strcpy(buf, szPath); - for (s = buf; *s; ++s) { - if (*s == '/') { - *s = '\\'; - ++nSlashes; - } - } - /* then we need to add one more to get \\machine\share\ */ - if (nSlashes == 3) { - if (++len >= MAX_PATH) { - errno = ENAMETOOLONG; - return -1; - } - *s++ = '\\'; - } - *s = '\0'; - return stat(buf, pStat); - } - - /* - * Below removes the trailing /, however, do not remove - * it in the case of 'x:/' or stat will fail - */ - n = strlen(szPath); - if ((szPath[n - 1] == '\\' || szPath[n - 1] == '/') && - !(n == 3 && szPath[1] == ':')) { - char buf[MAX_PATH]; - - strcpy(buf, szPath); - buf[n - 1] = '\0'; - - return stat(buf, pStat); - } - return stat(szPath, pStat); -} - -/* Fix two really crap problems with Win32 spawn[lv]e*: - * - * 1. Win32 doesn't deal with spaces in argv. - * 2. Win95 doesn't like / in cmdname. - */ - -#undef _spawnv -API_EXPORT(int) os_spawnv(int mode, const char *cmdname, - const char *const *argv) -{ - int n; - char **aszArgs; - const char *szArg; - char *szCmd; - char *s; - - szCmd = _alloca(strlen(cmdname)+1); - strcpy(szCmd, cmdname); - for (s = szCmd; *s; ++s) { - if (*s == '/') { - *s = '\\'; - } - } - - for (n = 0; argv[n]; ++n) - ; - - aszArgs = _alloca((n + 1) * sizeof(const char *)); - - for (n = 0; szArg = argv[n]; ++n) { - if (strchr(szArg, ' ')) { - int l = strlen(szArg); - - aszArgs[n] = _alloca(l + 2 + 1); - aszArgs[n][0] = '"'; - strcpy(&aszArgs[n][1], szArg); - aszArgs[n][l + 1] = '"'; - aszArgs[n][l + 2] = '\0'; - } - else { - aszArgs[n] = (char *)szArg; - } - } - - aszArgs[n] = NULL; - - return _spawnv(mode, szCmd, aszArgs); -} - -#undef _spawnve -API_EXPORT(int) os_spawnve(int mode, const char *cmdname, - const char *const *argv, const char *const *envp) -{ - int n; - char **aszArgs; - const char *szArg; - char *szCmd; - char *s; - - szCmd = _alloca(strlen(cmdname)+1); - strcpy(szCmd, cmdname); - for (s = szCmd; *s; ++s) { - if (*s == '/') { - *s = '\\'; - } - } - - for (n = 0; argv[n]; ++n) - ; - - aszArgs = _alloca((n + 1)*sizeof(const char *)); - - for (n = 0; szArg = argv[n]; ++n){ - if (strchr(szArg, ' ')) { - int l = strlen(szArg); - - aszArgs[n] = _alloca(l + 2 + 1); - aszArgs[n][0] = '"'; - strcpy(&aszArgs[n][1], szArg); - aszArgs[n][l + 1] = '"'; - aszArgs[n][l + 2] = '\0'; - } - else { - aszArgs[n] = (char *)szArg; - } - } - - aszArgs[n] = NULL; - - return _spawnve(mode, szCmd, aszArgs, envp); -} - -API_EXPORT_NONSTD(int) os_spawnle(int mode, const char *cmdname, ...) -{ - int n; - va_list vlist; - char **aszArgs; - const char *szArg; - const char *const *aszEnv; - char *szCmd; - char *s; - - szCmd = _alloca(strlen(cmdname)+1); - strcpy(szCmd, cmdname); - for (s = szCmd; *s; ++s) { - if (*s == '/') { - *s = '\\'; - } - } - - va_start(vlist, cmdname); - for (n = 0; va_arg(vlist, const char *); ++n) - ; - va_end(vlist); - - aszArgs = _alloca((n + 1) * sizeof(const char *)); - - va_start(vlist, cmdname); - for (n = 0; szArg = va_arg(vlist, const char *); ++n) { - if (strchr(szArg, ' ')) { - int l = strlen(szArg); - - aszArgs[n] = _alloca(l + 2 + 1); - aszArgs[n][0] = '"'; - strcpy(&aszArgs[n][1], szArg); - aszArgs[n][l + 1] = '"'; - aszArgs[n][l + 2] = '\0'; - } - else { - aszArgs[n] = (char *)szArg; - } - } - - aszArgs[n] = NULL; - - aszEnv = va_arg(vlist, const char *const *); - va_end(vlist); - - return _spawnve(mode, szCmd, aszArgs, aszEnv); -} - -#undef strftime - -/* Partial replacement for strftime. This adds certain expandos to the - * Windows version - */ - -API_EXPORT(int) os_strftime(char *s, size_t max, const char *format, - const struct tm *tm) { - /* If the new format string is bigger than max, the result string probably - * won't fit anyway. When %-expandos are added, made sure the padding below - * is enough. - */ - char *new_format = (char *) _alloca(max + 11); - size_t i, j, format_length = strlen(format); - int return_value; - int length_written; - - for (i = 0, j = 0; (i < format_length && j < max);) { - if (format[i] != '%') { - new_format[j++] = format[i++]; - continue; - } - switch (format[i+1]) { - case 'D': - /* Is this locale dependent? Shouldn't be... - Also note the year 2000 exposure here */ - memcpy(new_format + j, "%m/%d/%y", 8); - i += 2; - j += 8; - break; - case 'r': - memcpy(new_format + j, "%I:%M:%S %p", 11); - i += 2; - j += 11; - break; - case 'T': - memcpy(new_format + j, "%H:%M:%S", 8); - i += 2; - j += 8; - break; - case 'e': - length_written = _snprintf(new_format + j, max - j, "%2d", - tm->tm_mday); - j = (length_written == -1) ? max : (j + length_written); - i += 2; - break; - default: - /* We know we can advance two characters forward here. */ - new_format[j++] = format[i++]; - new_format[j++] = format[i++]; - } - } - if (j >= max) { - *s = '\0'; /* Defensive programming, okay since output is undefined */ - return_value = 0; - } else { - new_format[j] = '\0'; - return_value = strftime(s, max, new_format, tm); - } - return return_value; -} diff --git a/usr.sbin/httpd/src/os/win32/os.h b/usr.sbin/httpd/src/os/win32/os.h deleted file mode 100644 index f0882994f39..00000000000 --- a/usr.sbin/httpd/src/os/win32/os.h +++ /dev/null @@ -1,235 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef APACHE_OS_H -#define APACHE_OS_H - -#ifdef WIN32 - -/* - * Compile the server including all the Windows NT 4.0 header files by - * default. We still want the server to run on Win95/98 so use - * runtime checks before calling NT specific functions to verify we are - * really running on an NT system. - */ -#define _WIN32_WINNT 0x0400 - -/* If it isn't too late, prevent windows.h from including the original - * winsock.h header, so that we can still include winsock2.h - */ -#if !defined(_WINSOCKAPI_) || !defined(_WINDOWS_) -#define _WINSOCKAPI_ -#include <windows.h> -#include <winsock2.h> -#include <mswsock.h> -#else -#include <windows.h> -#endif -#include <process.h> -#include <malloc.h> -#include <io.h> -#include <fcntl.h> - -#define PLATFORM "Win32" - -/* - * This file in included in all Apache source code. It contains definitions - * of facilities available on _this_ operating system (HAVE_* macros), - * and prototypes of OS specific functions defined in os.c - */ - -/* temporarily replace crypt */ -/* char *crypt(const char *pw, const char *salt); */ -#define crypt(buf,salt) (buf) - -/* Although DIR_TYPE is dirent (see nt/readdir.h) we need direct.h for - chdir() */ -#include <direct.h> - -#define STATUS -#ifndef STRICT -#define STRICT -#endif -#define CASE_BLIND_FILESYSTEM -#define NO_WRITEV -#define NO_SETSID -#define NO_USE_SIGACTION -#define NO_TIMES -#define NO_GETTIMEOFDAY -#define USE_LONGJMP -#define HAVE_MMAP -#define USE_MMAP_SCOREBOARD -#define MULTITHREAD -#define HAVE_CANONICAL_FILENAME -#define HAVE_DRIVE_LETTERS -#define HAVE_UNC_PATHS -typedef int uid_t; -typedef int gid_t; -typedef int pid_t; -typedef int tid_t; -#ifdef _MSC_VER -/* modified to match declaration in sys/stat.h */ -typedef unsigned short mode_t; -#endif -typedef char * caddr_t; - -/* -Define export types. API_EXPORT_NONSTD is a nasty hack to avoid having to declare -every configuration function as __stdcall. -*/ - -#ifdef SHARED_MODULE -#define API_VAR_EXPORT __declspec(dllimport) -#define API_EXPORT(type) __declspec(dllimport) type __stdcall -#define API_EXPORT_NONSTD(type) __declspec(dllimport) type __cdecl -#else -#define API_VAR_EXPORT __declspec(dllexport) -#define API_EXPORT(type) __declspec(dllexport) type __stdcall -#define API_EXPORT_NONSTD(type) __declspec(dllexport) type __cdecl -#endif -#define MODULE_VAR_EXPORT __declspec(dllexport) - -#define strcasecmp(s1, s2) stricmp(s1, s2) -#define strncasecmp(s1, s2, n) strnicmp(s1, s2, n) -#define lstat(x, y) stat(x, y) -#ifndef S_ISLNK -#define S_ISLNK(m) (0) -#endif -#ifndef S_ISREG -#define S_ISREG(m) ((m & _S_IFREG) == _S_IFREG) -#endif -#ifndef S_ISDIR -#define S_ISDIR(m) (((m) & _S_IFDIR) == _S_IFDIR) -#endif -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 -#define JMP_BUF jmp_buf -#define sleep(t) Sleep(t*1000) -#ifndef O_CREAT -#define O_CREAT _O_CREAT -#endif -#ifndef O_RDWR -#define O_RDWR _O_RDWR -#endif -#define SIGPIPE 17 -/* Seems Windows is not a subgenius */ -#define NO_SLACK -#include <stddef.h> - -/* MSVC asserts that strtol "errno is set to ERANGE - * if overflow or underflow occurs" - * Ergo we can use the library strtol safely. - */ -#define ap_strtol strtol - -#define NO_OTHER_CHILD -#define NO_RELIABLE_PIPED_LOGS - -__inline int ap_os_is_path_absolute(const char *file) -{ - /* For now, just do the same check that http_request.c and mod_alias.c - * do. - */ - return file && (file[0] == '/' || (file[1] == ':' && file[2] == '/')); -} - -#define stat(f,ps) os_stat(f,ps) -API_EXPORT(int) os_stat(const char *szPath,struct stat *pStat); - -API_EXPORT(int) os_strftime(char *s, size_t max, const char *format, const struct tm *tm); - -#define _spawnv(mode,cmdname,argv) os_spawnv(mode,cmdname,argv) -#define spawnv(mode,cmdname,argv) os_spawnv(mode,cmdname,argv) -API_EXPORT(int) os_spawnv(int mode,const char *cmdname,const char *const *argv); -#define _spawnve(mode,cmdname,argv,envp) os_spawnve(mode,cmdname,argv,envp) -#define spawnve(mode,cmdname,argv,envp) os_spawnve(mode,cmdname,argv,envp) -API_EXPORT(int) os_spawnve(int mode,const char *cmdname,const char *const *argv,const char *const *envp); -#define _spawnle os_spawnle -#define spawnle os_spawnle -API_EXPORT_NONSTD(int) os_spawnle(int mode,const char *cmdname,...); - -/* OS-dependent filename routines in util_win32.c */ - -API_EXPORT(int) ap_os_is_filename_valid(const char *file); - -/* Abstractions for dealing with shared object files (DLLs on Win32). - * These are used by mod_so.c - */ -#define ap_os_dso_handle_t HINSTANCE -#define ap_os_dso_init() -#define ap_os_dso_unload(l) FreeLibrary(l) -#define ap_os_dso_sym(h,s) GetProcAddress(h,s) - -API_EXPORT(ap_os_dso_handle_t) ap_os_dso_load(const char *); -API_EXPORT(const char *) ap_os_dso_error(void); - -/* Other ap_os_ routines not used by this platform */ -#define ap_os_kill(pid, sig) kill(pid, sig) - -/* Some Win32isms */ -#define HAVE_ISNAN -#define isnan(n) _isnan(n) -#define HAVE_ISINF -#define isinf(n) (!_finite(n)) - -#define gettid() ((tid_t)GetCurrentThreadId()) - -#endif /* WIN32 */ - -#endif /* ! APACHE_OS_H */ diff --git a/usr.sbin/httpd/src/os/win32/passwd.c b/usr.sbin/httpd/src/os/win32/passwd.c deleted file mode 100644 index d1cbae6abee..00000000000 --- a/usr.sbin/httpd/src/os/win32/passwd.c +++ /dev/null @@ -1,79 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef WIN32 - -#include <stdio.h> -#include <string.h> -#include "passwd.h" - -/* Very tacky implementation */ - -struct passwd *getpwnam(const char *szUser) -{ - static struct passwd pw; - - if(strlen(szUser) > _MAX_PATH-10) - return NULL; - - sprintf(pw.pw_dir,"c:/users/%s",szUser); - - return &pw; -} - -#endif /* WIN32 */
\ No newline at end of file diff --git a/usr.sbin/httpd/src/os/win32/passwd.h b/usr.sbin/httpd/src/os/win32/passwd.h deleted file mode 100644 index 45a6af99a5d..00000000000 --- a/usr.sbin/httpd/src/os/win32/passwd.h +++ /dev/null @@ -1,75 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef APACHE_PASSWD_H -#define APACHE_PASSWD_H - -#ifdef WIN32 - -#include <stdlib.h> - -struct passwd -{ - char pw_dir[_MAX_PATH]; -}; - -struct passwd *getpwnam(const char *szUser); - -#endif /* WIN32 */ - -#endif /* ndef APACHE_PASSWD_H */ diff --git a/usr.sbin/httpd/src/os/win32/readdir.c b/usr.sbin/httpd/src/os/win32/readdir.c deleted file mode 100644 index 6394461f221..00000000000 --- a/usr.sbin/httpd/src/os/win32/readdir.c +++ /dev/null @@ -1,142 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef WIN32 - -#include <malloc.h> -#include <string.h> -#include <errno.h> - -#include "readdir.h" - -/********************************************************************** - * Implement dirent-style opendir/readdir/closedir on Window 95/NT - * - * Functions defined are opendir(), readdir() and closedir() with the - * same prototypes as the normal dirent.h implementation. - * - * Does not implement telldir(), seekdir(), rewinddir() or scandir(). - * The dirent struct is compatible with Unix, except that d_ino is - * always 1 and d_off is made up as we go along. - * - * The DIR typedef is not compatible with Unix. - **********************************************************************/ - -API_EXPORT(DIR *) opendir(const char *dir) -{ - DIR *dp; - char *filespec; - long handle; - int index; - - filespec = malloc(strlen(dir) + 2 + 1); - strcpy(filespec, dir); - index = strlen(filespec) - 1; - if (index >= 0 && (filespec[index] == '/' || filespec[index] == '\\')) - filespec[index] = '\0'; - strcat(filespec, "/*"); - - dp = (DIR *)malloc(sizeof(DIR)); - dp->offset = 0; - dp->finished = 0; - dp->dir = strdup(dir); - - if ((handle = _findfirst(filespec, &(dp->fileinfo))) < 0) { - if (errno == ENOENT) - dp->finished = 1; - else - return NULL; - } - - dp->handle = handle; - free(filespec); - - return dp; -} - -API_EXPORT(struct dirent *) readdir(DIR *dp) -{ - if (!dp || dp->finished) return NULL; - - if (dp->offset != 0) { - if (_findnext(dp->handle, &(dp->fileinfo)) < 0) { - dp->finished = 1; - return NULL; - } - } - dp->offset++; - - strncpy(dp->dent.d_name, dp->fileinfo.name, _MAX_FNAME); - dp->dent.d_ino = 1; - dp->dent.d_reclen = strlen(dp->dent.d_name); - dp->dent.d_off = dp->offset; - - return &(dp->dent); -} - -API_EXPORT(int) closedir(DIR *dp) -{ - if (!dp) return 0; - _findclose(dp->handle); - if (dp->dir) free(dp->dir); - if (dp) free(dp); - - return 0; -} - -#endif /* WIN32 */ diff --git a/usr.sbin/httpd/src/os/win32/readdir.h b/usr.sbin/httpd/src/os/win32/readdir.h deleted file mode 100644 index 281abfae702..00000000000 --- a/usr.sbin/httpd/src/os/win32/readdir.h +++ /dev/null @@ -1,103 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -/* - * Structures and types used to implement opendir/readdir/closedir - * on Windows 95/NT. - */ - -#ifndef APACHE_READDIR_H -#define APACHE_READDIR_H - -#ifdef WIN32 - -#include <io.h> -#include <stdio.h> -#include <stdlib.h> -#include <sys/types.h> - -#ifndef API_EXPORT -# define API_EXPORT(type) __declspec(dllexport) type __stdcall -#endif - -/* struct dirent - same as Unix */ -struct dirent { - long d_ino; /* inode (always 1 in WIN32) */ - off_t d_off; /* offset to this dirent */ - unsigned short d_reclen; /* length of d_name */ - char d_name[_MAX_FNAME+1]; /* filename (null terminated) */ -}; - -/* typedef DIR - not the same as Unix */ -typedef struct { - long handle; /* _findfirst/_findnext handle */ - short offset; /* offset into directory */ - short finished; /* 1 if there are not more files */ - struct _finddata_t fileinfo; /* from _findfirst/_findnext */ - char *dir; /* the dir we are reading */ - struct dirent dent; /* the dirent to return */ -} DIR; - -/* Function prototypes */ -API_EXPORT(DIR *) opendir(const char *); -API_EXPORT(struct dirent *) readdir(DIR *); -API_EXPORT(int) closedir(DIR *); - -#endif /* WIN32 */ - -#endif /* ndef APACHE_READDIR_H */ diff --git a/usr.sbin/httpd/src/os/win32/registry.c b/usr.sbin/httpd/src/os/win32/registry.c deleted file mode 100644 index e020cda65ce..00000000000 --- a/usr.sbin/httpd/src/os/win32/registry.c +++ /dev/null @@ -1,610 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef WIN32 -/* - * Functions to handle interacting with the Win32 registry - */ - -/* - * Apache registry key structure - * - * Apache's registry information is stored in the HKEY_LOCAL_MACHINE - * key, under - * - * HKLM\SOFTWARE\Apache Group\Apache\version - * - * These keys are defined in this file. The definition of the "version" part - * will need updating each time Apache moves from beta to non-beta or from a - * release to a development or beta version. - */ - -/* To allow for multiple services, store the configuration file's full path - * under each service entry: - * - * HKLM\System\CurrentControlSet\Services\[service name]\Parameters\ConfPath - * - * The default configuration path (for console apache) is still stored: - * - * HKLM\Software\[Vendor]\[Software]\[Version]\ServerRoot - */ - -#include <windows.h> -#include <stdio.h> - -#include "httpd.h" -#include "http_log.h" -#include "service.h" - -/* Define where the Apache values are stored in the registry. In general - * VERSION will be the same across all beta releases for a particular - * major release, but will change when the final release is made. - */ - -/* Define where the Apache values are stored in the registry. - * - * If you are looking here to roll the tarball, you didn't need to visit. - * registry.c now picks up the version from include/httpd.h - */ - -#define REGKEY "SOFTWARE\\" SERVER_BASEVENDOR "\\" SERVER_BASEPRODUCT "\\" SERVER_BASEREVISION - -#define SERVICEKEYPRE "System\\CurrentControlSet\\Services\\" -#define SERVICEKEYPOST "\\Parameters" - -/* - * The Windows API registry key functions don't set the last error - * value (the windows equivalent of errno). So we need to set it - * with SetLastError() before calling the aplog_error() function. - * Because this is common, let's have a macro. - */ -#define do_error(rv,fmt,arg) do { \ - SetLastError(rv); \ - ap_log_error(APLOG_MARK, APLOG_WIN32ERROR|APLOG_ERR, NULL, fmt,arg); \ - } while (0); - -/* - * Get the data for registry key value. This is a generic function that - * can either get a value into a caller-supplied buffer, or it can - * allocate space for the value from the pass-in pool. It will normally - * be used by other functions within this file to get specific key values - * (e.g. registry_get_server_root()). This function returns a number of - * different error statuses, allowing the caller to differentiate - * between a key or value not existing and other kinds of errors. Depending - * on the type of data being obtained the caller can then either ignore - * the key-not-existing error, or treat it as a real error. - * - * If ppValue is NULL, allocate space for the value and return it in - * *pValue. The return value is the number of bytes in the value. - * The first argument is the pool to use to allocate space for the value. - * - * If pValue is not NULL, assume it is a buffer of nSizeValue bytes, - * and write the value into the buffer. The return value is the number - * of bytes in the value (so if the return value is greater than - * the supplied nSizeValue, the caller knows that *pValue is truncated). - * The pool argument is ignored. - * - * The return value is the number of bytes in the successfully retreived - * key if everything worked, or: - * - * -1 the key does not exists - * -2 if out of memory during the function - * -3 if the buffer specified by *pValue/nSizeValue was not large enough - * for the value. - * -4 if an error occurred - * - * If the return value is negative a message will be logged to the error - * log (aplog_error) function. If the return value is -2, -3 or -4 the message - * will be logged at priority "error", while if the return value is -1 the - * message will be logged at priority "warning". - */ - -static int ap_registry_get_key_int(pool *p, char *key, char *name, char *pBuffer, int nSizeBuffer, char **ppValue) -{ - long rv; - HKEY hKey; - char *pValue; - int nSize; - int retval; - - rv = RegOpenKeyEx(HKEY_LOCAL_MACHINE, - key, - 0, - KEY_READ, - &hKey); - - if (rv == ERROR_FILE_NOT_FOUND) { - ap_log_error(APLOG_MARK,APLOG_WARNING|APLOG_NOERRNO,NULL, - "Registry does not contain key %s",key); - return -1; - } - if (rv != ERROR_SUCCESS) { - do_error(rv, "RegOpenKeyEx HKLM\\%s",key); - return -4; - } - - if (pBuffer == NULL) { - /* Find the size required for the data by passing NULL as the buffer - * pointer. On return nSize will contain the size required for the - * buffer if the return value is ERROR_SUCCESS. - */ - rv = RegQueryValueEx(hKey, - name, /* key name */ - NULL, /* reserved */ - NULL, /* type */ - NULL, /* for value */ - &nSize); /* for size of "value" */ - - if (rv != ERROR_SUCCESS) { - do_error(rv, "RegQueryValueEx(key %s)", key); - return -1; - } - - pValue = ap_palloc(p, nSize); - *ppValue = pValue; - if (!pValue) { - /* Eek, out of memory, probably not worth trying to carry on, - * but let's give it a go - */ - ap_log_error(APLOG_MARK,APLOG_ERR|APLOG_NOERRNO,NULL, - "Error getting registry key: out of memory"); - return -2; - } - } - else { - /* Get the value into the existing buffer of length nSizeBuffer */ - pValue = pBuffer; - nSize = nSizeBuffer; - } - - rv = RegQueryValueEx(hKey, - name, /* key name */ - NULL, /* reserved */ - NULL, /* type */ - pValue, /* for value */ - &nSize); /* for size of "value" */ - - retval = 0; /* Return value */ - - if (rv == ERROR_FILE_NOT_FOUND) { - ap_log_error(APLOG_MARK,APLOG_WARNING|APLOG_NOERRNO,NULL, - "Registry does not contain value %s\\%s", key, name); - retval = -1; - } - else if (rv == ERROR_MORE_DATA) { - /* This should only happen if we got passed a pre-existing buffer - * (pBuffer, nSizeBuffer). But I suppose it could also happen if we - * allocate a buffer if another process changed the length of the - * value since we found out its length above. Umm. - */ - ap_log_error(APLOG_MARK,APLOG_ERR|APLOG_NOERRNO,NULL, - "Error getting registry value %s: buffer not big enough", key); - retval = -3; - } - else if (rv != ERROR_SUCCESS) { - do_error(rv, "RegQueryValueEx(key %s)", key); - retval = -4; - } - - rv = RegCloseKey(hKey); - if (rv != ERROR_SUCCESS) { - do_error(rv, "RegCloseKey HKLM\\%s", key); - if (retval == 0) { - /* Keep error status from RegQueryValueEx, if any */ - retval = -4; - } - } - - return retval < 0 ? retval : nSize; -} - -/* - * Get the server root from the registry into 'dir' which is - * size bytes long. Returns 0 if the server root was found - * or if the serverroot key does not exist (in which case - * dir will contain an empty string), or -1 if there was - * an error getting the key. - */ - -API_EXPORT(int) ap_registry_get_server_root(pool *p, char *dir, int size) -{ - int rv; - - rv = ap_registry_get_key_int(p, REGKEY, "ServerRoot", dir, size, NULL); - if (rv < 0) { - dir[0] = '\0'; - } - - return (rv < 0) ? -1 : 0; -} - -API_EXPORT(char *) ap_get_service_key(char *display_name) -{ - char *key, *service_name; - - if (display_name == NULL) - return strdup(""); - - service_name = get_service_name(display_name); - - key = malloc(strlen(SERVICEKEYPRE) + - strlen(service_name) + - strlen(SERVICEKEYPOST) + 1); - - sprintf(key,"%s%s%s", SERVICEKEYPRE, service_name, SERVICEKEYPOST); - - return(key); -} - -/********************************************************************** - * The rest of this file deals with storing keys or values in the registry - */ - -char *ap_registry_parse_key(int index, char *key) -{ - char *head = key, *skey; - int i; - - if(!key) - return(NULL); - - for(i = 0; i <= index; i++) - { - if(key && key[0] == '\\') - key++; - if (!key) - return(NULL); - head = key; - key = strchr(head, '\\'); - } - - if(!key) - return(strdup(head)); - *key = '\0'; - skey = strdup(head); - *key = '\\'; - return(skey); -} - -/* - * ap_registry_create_apache_key() creates the Apache registry key - * (HLKM\SOFTWARE\Apache Group\Apache\version, as defined at the start - * of this file), if it does not already exist. It will be called by - * ap_registry_store_key_int() if it cannot open this key. This - * function is intended to be called by ap_registry_store_key_int() if - * the Apache key does not exist when it comes to store a data item. - * - * Returns 0 on success or -1 on error. If -1 is returned, the error will - * already have been logged. - */ - -static int ap_registry_create_key(char *longkey) -{ - int index; - HKEY hKey; - HKEY hKeyNext; - int retval; - int rv; - char *key; - - hKey = HKEY_LOCAL_MACHINE; - index = 0; - retval = 0; - - /* Walk the tree, creating at each stage if necessary */ - while (key=ap_registry_parse_key(index,longkey)) { - int result; - - rv = RegCreateKeyEx(hKey, - key, /* subkey */ - 0, /* reserved */ - NULL, /* class */ - REG_OPTION_NON_VOLATILE, - KEY_WRITE, - NULL, - &hKeyNext, - &result); - if (rv != ERROR_SUCCESS) { - do_error(rv, "RegCreateKeyEx(%s)", longkey); - retval = -4; - } - - /* Close the old key */ - rv = RegCloseKey(hKey); - if (rv != ERROR_SUCCESS) { - do_error(rv, "RegCloseKey", NULL); - if (retval == 0) { - /* Keep error status from RegCreateKeyEx, if any */ - retval = -4; - } - } - - if (retval) { - break; - } - - free(key); - hKey = hKeyNext; - index++; - } - - if (!key) { - /* Close the final key we opened, if we walked the entire - * tree - */ - rv = RegCloseKey(hKey); - if (rv != ERROR_SUCCESS) { - do_error(rv, "RegCloseKey", NULL); - if (retval == 0) { - /* Keep error status from RegCreateKeyEx, if any */ - retval = -4; - } - } - } - else - free(key); - - return retval; -} - -/* - * ap_registry_store_key_int() stores a value name and value under the - * Apache registry key. If the Apache key does not exist it is created - * first. This function is intended to be called from a wrapper function - * in this file to set particular data values, such as - * ap_registry_set_server_root() below. - * - * Returns 0 if the value name and data was stored successfully, or - * returns -1 if the Apache key does not exist (since we try to create - * this key, this should never happen), or -4 if any other error occurred - * (these values are consistent with ap_registry_get_key_int()). - * If the return value is negative then the error will already have been - * logged via aplog_error(). - */ - -static int ap_registry_store_key_int(char *key, char *name, DWORD type, void *value, int value_size) -{ - long rv; - HKEY hKey; - int retval; - - rv = RegOpenKeyEx(HKEY_LOCAL_MACHINE, - key, - 0, - KEY_WRITE, - &hKey); - - if (rv == ERROR_FILE_NOT_FOUND) { - /* Key could not be opened -- try to create it - */ - if (ap_registry_create_key(key) < 0) { - /* Creation failed (error already reported) */ - return -4; - } - - /* Now it has been created we should be able to open it - */ - rv = RegOpenKeyEx(HKEY_LOCAL_MACHINE, - key, - 0, - KEY_WRITE, - &hKey); - - if (rv == ERROR_FILE_NOT_FOUND) { - ap_log_error(APLOG_MARK,APLOG_WARNING|APLOG_NOERRNO,NULL, - "Registry does not contain key %s after creation",key); - return -1; - } - } - - if (rv != ERROR_SUCCESS) { - do_error(rv, "RegOpenKeyEx HKLM\\%s", key); - return -4; - } - - /* Now set the value and data */ - rv = RegSetValueEx(hKey, - name, /* value key name */ - 0, /* reserved */ - type, /* type */ - value, /* value data */ - (DWORD)value_size); /* for size of "value" */ - - retval = 0; /* Return value */ - - if (rv != ERROR_SUCCESS) { - do_error(rv, "RegQueryValueEx(key %s)", key); - retval = -4; - } - else { - ap_log_error(APLOG_MARK,APLOG_INFO|APLOG_NOERRNO,NULL, - "Registry stored HKLM\\" REGKEY "\\%s value %s", key, - type == REG_SZ ? value : "(not displayable)"); - } - - /* Make sure we close the key even if there was an error storing - * the data - */ - rv = RegCloseKey(hKey); - if (rv != ERROR_SUCCESS) { - do_error(rv, "RegCloseKey HKLM\\%s", key); - if (retval == 0) { - /* Keep error status from RegQueryValueEx, if any */ - retval = -4; - } - } - - return retval; -} - -/* - * Sets the serverroot value within the registry. Returns 0 on success - * or -1 on error. If -1 is return the error will already have been - * logged via aplog_error(). - */ - -int ap_registry_set_server_root(char *dir) -{ - int rv; - - rv = ap_registry_store_key_int(REGKEY, "ServerRoot", REG_SZ, dir, strlen(dir)+1); - - return rv < 0 ? -1 : 0; -} - -/* Creates and fills array pointed to by parray with the requested registry string - * - * Returns 0 on success, machine specific error code on error - */ -int ap_registry_get_array(pool *p, char *key, char *name, - array_header **pparray) -{ - char *pValue; - char *tmp; - char **newelem; - int ret; - int nSize = 0; - - ret = ap_registry_get_key_int(p, key, name, NULL, 0, &pValue); - if (ret < 0) - return ret; - - tmp = pValue; - if ((ret > 2) && (tmp[0] || tmp[1])) - nSize = 1; /* Element Count */ - while ((tmp < pValue + ret) && (tmp[0] || tmp[1])) - { - if (!tmp[0]) - ++nSize; - ++tmp; - } - - *pparray = ap_make_array(p, nSize, sizeof(char *)); - tmp = pValue; - if (tmp[0] || tmp[1]) { - newelem = (char **) ap_push_array(*pparray); - *newelem = tmp; - } - while ((tmp < pValue + ret) && (tmp[0] || tmp[1])) - { - if (!tmp[0]) { - newelem = (char **) ap_push_array(*pparray); - *newelem = tmp + 1; - } - ++tmp; - } - - return nSize; -} - -int ap_registry_get_service_args(pool *p, int *argc, char ***argv, char *display_name) -{ - int ret; - array_header *parray; - char *key = ap_get_service_key(display_name); - ret = ap_registry_get_array(p, key, "ConfigArgs", &parray); - if (ret > 0) { - *argc = parray->nelts; - *argv = (char**) parray->elts; - } - else { - *argc = 0; - *argv = NULL; - } - free(key); - return ret; -} - -int ap_registry_store_array(pool *p, char *key, char *name, - int nelts, char **elts) -{ - int bufsize, i; - char *buf, *tmp; - - bufsize = 1; /* For trailing second null */ - for (i = 0; i < nelts; ++i) - { - bufsize += strlen(elts[i]) + 1; - } - if (!nelts) - ++bufsize; - - buf = ap_palloc(p, bufsize); - tmp = buf; - for (i = 0; i < nelts; ++i) - { - strcpy(tmp, elts[i]); - tmp += strlen(elts[i]) + 1; - } - if (!nelts) - *(tmp++) = '\0'; - *(tmp++) = '\0'; /* Trailing second null */ - - return ap_registry_store_key_int(key, name, REG_MULTI_SZ, buf, tmp - buf); -} - -int ap_registry_set_service_args(pool *p, int argc, char **argv, char *display_name) -{ - int ret; - char *key = ap_get_service_key(display_name); - ret = ap_registry_store_array(p, key, "ConfigArgs", argc, argv); - free(key); - return ret; -} - -#endif /* WIN32 */
\ No newline at end of file diff --git a/usr.sbin/httpd/src/os/win32/registry.h b/usr.sbin/httpd/src/os/win32/registry.h deleted file mode 100644 index 3e3bcddb5e5..00000000000 --- a/usr.sbin/httpd/src/os/win32/registry.h +++ /dev/null @@ -1,75 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef APACHE_REGISTRY_H -#define APACHE_REGISTRY_H - -#ifdef WIN32 - -/* - * Declarations for users of the functions defined in registry.c - */ - -API_EXPORT(int) ap_registry_get_server_root(pool *p, char *dir, int size); -extern int ap_registry_set_server_root(char *dir); -extern int ap_registry_get_service_args(pool *p, int *argc, char ***argv, char *display_name); -extern int ap_registry_set_service_args(pool *p, int argc, char **argv, char *display_name); - -#endif WIN32 - -#endif APACHE_REGISTRY_H
\ No newline at end of file diff --git a/usr.sbin/httpd/src/os/win32/resource.h b/usr.sbin/httpd/src/os/win32/resource.h deleted file mode 100644 index 820bb6aaaff..00000000000 --- a/usr.sbin/httpd/src/os/win32/resource.h +++ /dev/null @@ -1,17 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by Apache.rc -// -#define IDI_APACHE 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NO_MFC 1 -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/usr.sbin/httpd/src/os/win32/service.c b/usr.sbin/httpd/src/os/win32/service.c deleted file mode 100644 index 2b14a92243b..00000000000 --- a/usr.sbin/httpd/src/os/win32/service.c +++ /dev/null @@ -1,1525 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef WIN32 - -#include <windows.h> -#include <stdio.h> -#include <stdlib.h> -#include <process.h> -#include <direct.h> - -#include "httpd.h" -#include "http_conf_globals.h" -#include "http_log.h" -#include "http_main.h" -#include "multithread.h" -#include "service.h" -#include "registry.h" -#include "Win9xConHook.h" - -#define SERVICE_APACHE_RESTART 128 - -static struct -{ - int (*main_fn)(int, char **); - int connected; - SERVICE_STATUS_HANDLE hServiceStatus; - char *name; - int exit_status; - SERVICE_STATUS ssStatus; - FILE *logFile; -} globdat; - -/* statics for atexit processing or shared between threads */ -static BOOL die_on_logoff = FALSE; -static HWND console_wnd = NULL; -static int is_service = -1; - -static void WINAPI service_main_fn(DWORD, LPTSTR *); -static void WINAPI service_ctrl(DWORD ctrlCode); -static int ReportStatusToSCMgr(int currentState, int exitCode, int waitHint); -static int ap_start_service(SC_HANDLE, DWORD argc, char **argv); -static int ap_stop_service(SC_HANDLE); -static int ap_restart_service(SC_HANDLE); - -/* exit() for Win32 is macro mapped (horrible, we agree) that allows us - * to catch the non-zero conditions and inform the console process that - * the application died, and hang on to the console a bit longer. - * - * The macro only maps for http_main.c and other sources that include - * the service.h header, so we best assume it's an error to exit from - * _any_ other module. - * - * If real_exit_code is not set to 2, it will not be set or trigger this - * behavior on exit. All service and child processes are expected to - * reset this flag to zero to avoid undesireable side effects. The value - * 1 simply tells the system it is safe to enable the feature (set to 2), - * while 0 prohibits the feature from being enabled. - */ -int real_exit_code = 1; - -void hold_console_open_on_error(void) -{ - HANDLE hConIn; - HANDLE hConErr; - DWORD result; - DWORD mode; - time_t start; - time_t remains; - char *msg = "Note the errors or messages above, " - "and press the <ESC> key to exit. "; - CONSOLE_SCREEN_BUFFER_INFO coninfo; - INPUT_RECORD in; - char count[16]; - -#ifdef WIN32 - /* The service parent cannot just 'pop' out of the main thread, - * as it is about to try to do... - * We must end this thread properly so the service control - * thread exits gracefully. atexit()s registered in the running - * apache_main thread _should_ have already been handled, so now - * we can exit this thread and allow the service thread to exit. - */ - if (isWindowsNT() && isProcessService() && globdat.connected) { - service_set_status(SERVICE_STOPPED); - ExitThread(0); - } -#endif - - if (!real_exit_code) - return; - hConIn = GetStdHandle(STD_INPUT_HANDLE); - hConErr = GetStdHandle(STD_ERROR_HANDLE); - if ((hConIn == INVALID_HANDLE_VALUE) || (hConErr == INVALID_HANDLE_VALUE)) - return; - if (!WriteConsole(hConErr, msg, strlen(msg), &result, NULL) || !result) - return; - if (!GetConsoleScreenBufferInfo(hConErr, &coninfo)) - return; - if (isWindowsNT()) - mode = ENABLE_MOUSE_INPUT | 0x80; - else - mode = ENABLE_MOUSE_INPUT; - if (!SetConsoleMode(hConIn, mode)) - return; - - start = time(NULL); - do - { - while (PeekConsoleInput(hConIn, &in, 1, &result) && result) - { - if (!ReadConsoleInput(hConIn, &in, 1, &result) || !result) - return; - if ((in.EventType == KEY_EVENT) && in.Event.KeyEvent.bKeyDown - && (in.Event.KeyEvent.uChar.AsciiChar == 27)) - return; - if (in.EventType == MOUSE_EVENT - && (in.Event.MouseEvent.dwEventFlags == DOUBLE_CLICK)) - return; - } - remains = ((start + 30) - time(NULL)); - sprintf (count, "%d...", remains); - if (!SetConsoleCursorPosition(hConErr, coninfo.dwCursorPosition)) - return; - if (!WriteConsole(hConErr, count, strlen(count), &result, NULL) - || !result) - return; - } - while ((remains > 0) && WaitForSingleObject(hConIn, 1000) != WAIT_FAILED); -} - -/* Console Control handler for processing Ctrl-C/Ctrl-Break and - * on Windows NT also user logoff and system shutdown, - * this also used for the Win9x hidden service and child process - */ -static BOOL CALLBACK ap_control_handler(DWORD ctrl_type) -{ - switch (ctrl_type) - { - case CTRL_C_EVENT: - case CTRL_BREAK_EVENT: - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Ctrl+C/Break initiated, shutting down server."); - - real_exit_code = 0; - /* for Interrupt signals, shut down the server. - * Tell the system we have dealt with the signal - * without waiting for Apache to terminate. - */ - ap_start_shutdown(); - return TRUE; - - case CTRL_LOGOFF_EVENT: - if (!die_on_logoff) - return TRUE; - /* or fall through... */ - - case CTRL_CLOSE_EVENT: - case CTRL_SHUTDOWN_EVENT: - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Close/Logoff/Shutdown initiated, shutting down server."); - - /* for Terminate signals, shut down the server. - * Wait for Apache to terminate, but respond - * after a reasonable time to tell the system - * that we have already tried to shut down. - */ - real_exit_code = 0; - fprintf(stderr, "Apache server shutdown initiated...\n"); - ap_start_shutdown(); - Sleep(30000); - return TRUE; - } - - /* We should never get here, but this is (mostly) harmless */ - return FALSE; -} - -/* Once we are running a child process in our tty, it can no longer - * determine which console window is our own, since the window - * reports that it is owned by the child process. - */ -static BOOL CALLBACK EnumttyWindow(HWND wnd, LPARAM retwnd) -{ - char tmp[20], *tty; - if (isWindowsNT()) - tty = "ConsoleWindowClass"; - else - tty = "tty"; - if (GetClassName(wnd, tmp, sizeof(tmp)) && !strcmp(tmp, tty)) - { - DWORD wndproc, thisproc = GetCurrentProcessId(); - GetWindowThreadProcessId(wnd, &wndproc); - if (wndproc == thisproc) { - *((HWND*)retwnd) = wnd; - return FALSE; - } - } - return TRUE; -} - -void stop_child_monitor(void) -{ - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Unhooking the child process monitor for shutdown."); - - FixConsoleCtrlHandler(ap_control_handler, 0); -} - -/* - * The Win32 Apache child cannot loose its console since 16bit cgi - * processes will hang (9x) or fail (NT) if they are not launched - * from a 32bit console app into that app's console window. - * Mark the 9x child as a service process and let the parent process - * clean it up as necessary. - */ -void ap_start_child_console(int is_child_of_service) -{ - int maxwait = 100; - - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Hooking up the child process monitor to watch for shutdown."); - - /* The child is never exactly a service */ - is_service = 0; - - /* Prevent holding open the (hidden) console */ - real_exit_code = 0; - - /* We only die on logoff if we not a service's child */ - die_on_logoff = !is_child_of_service; - - if (isWindowsNT()) { - if (!is_child_of_service) { - /* - * Console mode Apache/WinNT needs to detach from the parent - * console and create and hide it's own console window. - * Not only is logout and shutdown more stable under W2K, - * but this eliminates the mystery 'flicker' that users see - * when invoking CGI apps (e.g. the titlebar or icon of the - * console window changing to the cgi process's identifiers.) - */ - FreeConsole(); - AllocConsole(); - EnumWindows(EnumttyWindow, (long)(&console_wnd)); - if (console_wnd) - ShowWindow(console_wnd, SW_HIDE); - } - /* - * Apache/WinNT installs no child console handler, otherwise - * logoffs interfere with the service's child process! - * The child process must have a later shutdown priority - * than the parent, or the parent cannot shut down the - * child process properly. (The parent's default is 0x280.) - */ - SetProcessShutdownParameters(0x200, 0); - return; - } - - if (!is_child_of_service) { - FreeConsole(); - AllocConsole(); - } - while (!console_wnd && maxwait-- > 0) { - EnumWindows(EnumttyWindow, (long)(&console_wnd)); - Sleep(100); - } - if (console_wnd) { - FixConsoleCtrlHandler(ap_control_handler, die_on_logoff ? 1 : 2); - ShowWindow(console_wnd, SW_HIDE); - atexit(stop_child_monitor); - } -} - - -void stop_console_monitor(void) -{ - /* Remove the control handler at the end of the day. */ - SetConsoleCtrlHandler(ap_control_handler, FALSE); - - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Unhooking the console monitor for shutdown."); - - if (!isWindowsNT()) - FixConsoleCtrlHandler(ap_control_handler, 0); -} - -void ap_start_console_monitor(void) -{ - HANDLE console_input; - - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Hooking up the console monitor to watch for shutdown."); - - die_on_logoff = TRUE; - - is_service = 0; - - console_input = GetStdHandle(STD_INPUT_HANDLE); - /* Assure we properly accept Ctrl+C as an interrupt... - * Win/2000 definately makes some odd assumptions about - * ctrl+c and the reserved console mode bits! - */ - if (console_input != INVALID_HANDLE_VALUE) - { - /* The SetConsoleCtrlHandler(NULL... would fault under Win9x - * WinNT also includes an undocumented 0x80 bit for console mode - * that preserves the console window behavior, and prevents the - * bogus 'selection' mode from being accedently triggered. - */ - if (isWindowsNT()) { - SetConsoleCtrlHandler(NULL, FALSE); - SetConsoleMode(console_input, ENABLE_LINE_INPUT - | ENABLE_ECHO_INPUT - | ENABLE_PROCESSED_INPUT - | 0x80); - } - else { - SetConsoleMode(console_input, ENABLE_LINE_INPUT - | ENABLE_ECHO_INPUT - | ENABLE_PROCESSED_INPUT); - } - } - - if (!isWindowsNT()) - FixConsoleCtrlHandler(ap_control_handler, die_on_logoff ? 1 : 2); - - SetConsoleCtrlHandler(ap_control_handler, TRUE); - - atexit(stop_console_monitor); -} - -void stop_service_monitor(void) -{ - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Unhooking up the service monitor for shutdown."); - - Windows9xServiceCtrlHandler(ap_control_handler, FALSE); -} - -int service95_main(int (*main_fn)(int, char **), int argc, char **argv, - char *display_name) -{ - /* Windows 95/98 */ - char *service_name; - - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Hooking up the service monitor to watch for shutdown."); - - is_service = 1; - die_on_logoff = FALSE; - - /* Set up the Win9x server name, as WinNT would */ - ap_server_argv0 = globdat.name = display_name; - - /* Remove spaces from display name to create service name */ - service_name = strdup(display_name); - ap_remove_spaces(service_name, display_name); - - /* Prevent holding open the (hidden) console */ - real_exit_code = 0; - - Windows9xServiceCtrlHandler(ap_control_handler, service_name); - - atexit(stop_service_monitor); - - /* Run the service */ - globdat.exit_status = main_fn(argc, argv); - - return (globdat.exit_status); -} - -static HANDLE eventlog_pipewrite = NULL; -static HANDLE eventlog_thread = NULL; - -int service_main(int (*main_fn)(int, char **), int argc, char **argv ) -{ - SERVICE_TABLE_ENTRY dispatchTable[] = - { - { "", service_main_fn }, - { NULL, NULL } - }; - - /* Prevent holding open the (nonexistant) console and allow us past - * the first NT service to parse the service's args in apache_main() - */ - ap_server_argv0 = argv[0]; - real_exit_code = 0; - - /* keep the server from going to any real effort, since we know */ - is_service = 1; - - globdat.main_fn = main_fn; - globdat.connected = 1; - - if(!StartServiceCtrlDispatcher(dispatchTable)) - { - /* This is a genuine failure of the SCM. */ - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Error starting service control dispatcher"); - } - - globdat.connected = 0; - - if (eventlog_pipewrite) - { - CloseHandle(eventlog_pipewrite); - WaitForSingleObject(eventlog_thread, 10000); - eventlog_pipewrite = NULL; - } - - return(globdat.exit_status); -} - -long __stdcall service_stderr_thread(LPVOID hPipe) -{ - HANDLE hPipeRead = (HANDLE) hPipe; - HANDLE hEventSource; - char errbuf[256]; - char *errmsg = errbuf; - char *errarg[9]; - DWORD errlen = 0; - DWORD errres; - HKEY hk; - - errarg[0] = "The Apache service named"; - errarg[1] = ap_server_argv0; - errarg[2] = "reported the following error:\r\n>>>"; - errarg[3] = errmsg; - errarg[4] = "<<<\r\n before the error.log file could be opened.\r\n"; - errarg[5] = "More information may be available in the error.log file."; - errarg[6] = NULL; - errarg[7] = NULL; - errarg[8] = NULL; - - /* What are we going to do in here, bail on the user? not. */ - if (!RegCreateKey(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services" - "\\EventLog\\Application\\Apache Service", &hk)) - { - /* The stock message file */ - char *netmsgkey = "%SystemRoot%\\System32\\netmsg.dll"; - DWORD dwData = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | - EVENTLOG_INFORMATION_TYPE; - - RegSetValueEx(hk, "EventMessageFile", 0, REG_EXPAND_SZ, - (LPBYTE) netmsgkey, strlen(netmsgkey) + 1); - - RegSetValueEx(hk, "TypesSupported", 0, REG_DWORD, - (LPBYTE) &dwData, sizeof(dwData)); - RegCloseKey(hk); - } - - hEventSource = RegisterEventSource(NULL, "Apache Service"); - - while (ReadFile(hPipeRead, errmsg, 1, &errres, NULL) && (errres == 1)) - { - if ((errmsg > errbuf) || !isspace(*errmsg)) - { - ++errlen; - ++errmsg; - if ((*(errmsg - 1) == '\n') || (errlen == sizeof(errbuf) - 1)) - { - while (errlen && isspace(errbuf[errlen - 1])) - --errlen; - errbuf[errlen] = '\0'; - - /* Generic message: '%1 %2 %3 %4 %5 %6 %7 %8 %9' - * The event code in netmsg.dll is 3299 - */ - ReportEvent(hEventSource, EVENTLOG_ERROR_TYPE, 0, - 3299, NULL, 9, 0, errarg, NULL); - errmsg = errbuf; - errlen = 0; - } - } - } - - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Shut down the Service Error Event Logger."); - - CloseHandle(eventlog_pipewrite); - eventlog_pipewrite = NULL; - - CloseHandle(hPipeRead); - - CloseHandle(eventlog_thread); - eventlog_thread = NULL; - return 0; -} - -void __stdcall service_main_fn(DWORD argc, LPTSTR *argv) -{ - HANDLE hCurrentProcess; - HANDLE hPipeRead = NULL; - HANDLE hPipeReadDup; - HANDLE hNullFile; - DWORD threadid; - SECURITY_ATTRIBUTES sa = {0}; - char **newargv; - - if(!(globdat.hServiceStatus = RegisterServiceCtrlHandler(argv[0], - service_ctrl))) - { - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Failure registering service handler"); - return; - } - - ReportStatusToSCMgr( - SERVICE_START_PENDING, // service state - NO_ERROR, // exit code - 3000); // wait hint - - /* Create a pipe to send stderr messages to the system error log */ - hCurrentProcess = GetCurrentProcess(); - if (CreatePipe(&hPipeRead, &eventlog_pipewrite, &sa, 0)) - { - if (DuplicateHandle(hCurrentProcess, hPipeRead, hCurrentProcess, - &hPipeReadDup, 0, FALSE, DUPLICATE_SAME_ACCESS)) - { - CloseHandle(hPipeRead); - hPipeRead = hPipeReadDup; - eventlog_thread = CreateThread(NULL, 0, service_stderr_thread, - (LPVOID) hPipeRead, 0, &threadid); - if (eventlog_thread) - { - int fh; - FILE *fl; - fflush(stderr); - SetStdHandle(STD_ERROR_HANDLE, eventlog_pipewrite); - - fh = _open_osfhandle((long) STD_ERROR_HANDLE, - _O_WRONLY | _O_BINARY); - dup2(fh, STDERR_FILENO); - fl = _fdopen(STDERR_FILENO, "wcb"); - memcpy(stderr, fl, sizeof(FILE)); - } - else - { - CloseHandle(hPipeRead); - CloseHandle(eventlog_pipewrite); - eventlog_pipewrite = NULL; - } - } - else - { - CloseHandle(hPipeRead); - CloseHandle(eventlog_pipewrite); - eventlog_pipewrite = NULL; - } - } - - /* Open a null handle to nak our stdin */ - hNullFile = CreateFile("nul", GENERIC_READ | GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE, - &sa, OPEN_EXISTING, 0, NULL); - if (hNullFile == INVALID_HANDLE_VALUE) { - ap_log_error(APLOG_MARK, APLOG_WIN32ERROR | APLOG_CRIT, NULL, - "Parent: Unable to create null stdin pipe for this service process.\n"); - } - else { - int fh; - FILE *fl; - fflush(stdin); - SetStdHandle(STD_INPUT_HANDLE, hNullFile); - fh = _open_osfhandle((long) STD_INPUT_HANDLE, - _O_RDONLY | _O_BINARY); - dup2(fh, STDIN_FILENO); - fl = _fdopen(STDIN_FILENO, "rcb"); - memcpy(stdin, fl, sizeof(FILE)); - } - - /* Open a null handle to soak our stdout */ - hNullFile = CreateFile("nul", GENERIC_READ | GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE, - &sa, OPEN_EXISTING, 0, NULL); - if (hNullFile == INVALID_HANDLE_VALUE) { - ap_log_error(APLOG_MARK, APLOG_WIN32ERROR | APLOG_CRIT, NULL, - "Parent: Unable to create null stdout pipe for this service process.\n"); - } - else { - int fh; - FILE *fl; - fflush(stdout); - SetStdHandle(STD_OUTPUT_HANDLE, hNullFile); - fh = _open_osfhandle((long) STD_OUTPUT_HANDLE, - _O_WRONLY | _O_BINARY); - dup2(fh, STDOUT_FILENO); - fl = _fdopen(STDOUT_FILENO, "wcb"); - memcpy(stdout, fl, sizeof(FILE)); - } - - /* Grab it or lose it */ - globdat.name = argv[0]; - - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Hooked up the Service Error Event Logger."); - - /* Fold the "Start Parameters" in with the true executable argv[0], - * and insert a -n tag to pass the service name from the SCM's argv[0] - */ - newargv = (char**) malloc((argc + 3) * sizeof(char*)); - newargv[0] = ap_server_argv0; /* The true executable name */ - newargv[1] = "-n"; /* True service name follows (argv[0]) */ - memcpy (newargv + 2, argv, argc * sizeof(char*)); - newargv[argc + 2] = NULL; /* SCM doesn't null terminate the array */ - argv = newargv; - argc += 2; - - /* Use the name of the service as the error log marker */ - ap_server_argv0 = globdat.name; - - globdat.exit_status = globdat.main_fn( argc, argv ); -} - -/* Set the service description regardless of platform. - * We revert to set_service_description_string on NT/9x, the - * very long way so any Apache management program can grab the - * description. This would be bad on Win2000, since it wouldn't - * notify the service control manager of the name change. - */ -static void set_service_description_string(const char *description) -{ - char szPath[MAX_PATH]; - HKEY hkey; - - /* Create/Find the Service key that Monitor Applications iterate */ - ap_snprintf(szPath, sizeof(szPath), - "SYSTEM\\CurrentControlSet\\Services\\%s", globdat.name); - ap_remove_spaces(szPath, szPath); - if (RegCreateKey(HKEY_LOCAL_MACHINE, szPath, &hkey) != ERROR_SUCCESS) { - return; - } - - /* Attempt to set the Description value for our service */ - RegSetValueEx(hkey, "Description", 0, REG_SZ, - (unsigned char *) description, - strlen(description) + 1); - RegCloseKey(hkey); -} - - -char *get_service_name(char *display_name) -{ - /* Get the service's true name from the SCM on NT/2000, since it - * can be changed by the user on 2000, especially, from the - * service control panel. We can't trust the service name to - * match a space-collapsed display name. - */ - char service_name[MAX_PATH]; - if (isWindowsNT()) - { - SC_HANDLE scm = OpenSCManager(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE); - DWORD namelen = sizeof(service_name); - if (scm) { - BOOL ok = GetServiceKeyName(scm, display_name, service_name, - &namelen); - CloseServiceHandle(scm); - if (ok) - return strdup(service_name); - } - } - ap_remove_spaces(service_name, display_name); - return strdup(service_name); -} - - -char *get_display_name(char *service_name) -{ - /* Get the service's display name from the SCM on NT/2000, since it - * can be changed by the user on 2000, especially, from the - * service control panel. We can't trust the service name as - * provided by the user. - */ - if (isWindowsNT()) - { - char display_name[MAX_PATH]; - SC_HANDLE scm = OpenSCManager(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE); - DWORD namelen = sizeof(display_name); - if (scm) { - BOOL ok = GetServiceDisplayName(scm, service_name, display_name, - &namelen); - CloseServiceHandle(scm); - if (ok) - return strdup(display_name); - } - } - return service_name; -} - - -/* ChangeServiceConfig2() prototype: - */ -typedef WINADVAPI BOOL (WINAPI *CSD_T)(SC_HANDLE, DWORD, LPCVOID); - - -/* Windows 2000 alone supports ChangeServiceConfig2 in order to - * register our server_version string... so we need some fixups - * to avoid binding to that function if we are on WinNT/9x. - * Fall back on set_service_description_string if we fail. - */ -void service_set_status(int status) -{ - const char *full_description; - SC_HANDLE schSCManager; - CSD_T ChangeServiceDescription; - HANDLE hwin2000scm; - BOOL ret = 0; - - /* Nothing to do if we are a console - */ - if (!is_service) - return; - - ReportStatusToSCMgr(status, NO_ERROR, 3000); - - if (status != SERVICE_RUNNING) - return; - - /* Time to fix up the description, upon each successful restart - */ - full_description = ap_get_server_version(); - hwin2000scm = GetModuleHandle("ADVAPI32.DLL"); - if (!hwin2000scm) { - set_service_description_string(full_description); - return; - } - ChangeServiceDescription = (CSD_T) GetProcAddress(hwin2000scm, - "ChangeServiceConfig2A"); - if (!ChangeServiceDescription) { - set_service_description_string(full_description); - return; - } - schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); - if (schSCManager) { - SC_HANDLE schService = OpenService(schSCManager, globdat.name, - SERVICE_ALL_ACCESS); - if (schService) { - ret = ChangeServiceDescription(schService, - 1 /* SERVICE_CONFIG_DESCRIPTION */, - &full_description); - CloseServiceHandle(schService); - } - CloseServiceHandle(schSCManager); - } - if (!ret) - set_service_description_string(full_description); -} - - -// -// FUNCTION: service_ctrl -// -// PURPOSE: This function is called by the SCM whenever -// ControlService() is called on this service. -// -// PARAMETERS: -// dwCtrlCode - type of control requested -// -// RETURN VALUE: -// none -// -// COMMENTS: See the user-defined Handler() entry in the PSDK -// -VOID WINAPI service_ctrl(DWORD dwCtrlCode) -{ - switch(dwCtrlCode) - { - // Stop the service. - // - case SERVICE_CONTROL_SHUTDOWN: - case SERVICE_CONTROL_STOP: - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Service Stop/Shutdown signaled, shutting down server."); - ReportStatusToSCMgr(SERVICE_STOP_PENDING, NO_ERROR, 15000); - ap_start_shutdown(); - break; - - case SERVICE_APACHE_RESTART: - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, NULL, - "Service Restart signaled, shutting down server."); - ReportStatusToSCMgr(SERVICE_START_PENDING, NO_ERROR, 15000); - ap_start_restart(1); - break; - - // Update the service status. - // - case SERVICE_CONTROL_INTERROGATE: - ReportStatusToSCMgr(globdat.ssStatus.dwCurrentState, NO_ERROR, 0); - break; - - // invalid control code, ignored - // - default: - break; - } -} - - -int ReportStatusToSCMgr(int currentState, int exitCode, int waitHint) -{ - static int firstTime = 1; - static int checkPoint = 1; - int rv; - - if (firstTime) - { - firstTime = 0; - globdat.ssStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS; - globdat.ssStatus.dwServiceSpecificExitCode = 0; - globdat.ssStatus.dwCheckPoint = 1; - } - - if (globdat.connected) - { - if ((currentState == SERVICE_START_PENDING) - || (currentState == SERVICE_STOP_PENDING)) - globdat.ssStatus.dwControlsAccepted = 0; - else - globdat.ssStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP - | SERVICE_ACCEPT_SHUTDOWN; - - globdat.ssStatus.dwCurrentState = currentState; - globdat.ssStatus.dwWin32ExitCode = exitCode; - - if ( ( currentState == SERVICE_RUNNING ) || - ( currentState == SERVICE_STOPPED ) ) - { - globdat.ssStatus.dwWaitHint = 0; - globdat.ssStatus.dwCheckPoint = 0; - } - else - { - if(waitHint) - globdat.ssStatus.dwWaitHint = waitHint; - globdat.ssStatus.dwCheckPoint = ++checkPoint; - } - - rv = SetServiceStatus(globdat.hServiceStatus, &globdat.ssStatus); - } - return(1); -} - -void InstallService(pool *p, char *display_name, int argc, char **argv, int reconfig) -{ - TCHAR szPath[MAX_PATH]; - TCHAR szQuotedPath[512]; - char *service_name; - int regargc = 0; - char default_depends[] = "Tcpip\0Afd\0"; - char *depends = default_depends; - size_t depends_len = sizeof(default_depends); - char **regargv = malloc((argc + 4) * sizeof(char*)); - char **newelem = regargv; - - regargc += 4; - *(newelem++) = "-d"; - *(newelem++) = ap_server_root; - *(newelem++) = "-f"; - *(newelem++) = ap_server_confname; - - while (++argv, --argc) { - if ((**argv == '-') && strchr("kndf", argv[0][1])) - --argc, ++argv; /* Skip already handled -k -n -d -f options */ - else if ((**argv == '-') && (argv[0][1] == 'W')) - { - /* Catch this service -W dependency - * the depends list is null seperated, double-null terminated - */ - char *service = get_service_name(*(argv + 1)); - size_t add_len = strlen(service) + 1; - char *more_depends = malloc(depends_len + add_len); - memcpy (more_depends, depends, depends_len - 1); - memcpy (more_depends + depends_len - 1, service, add_len); - depends_len += add_len; - depends = more_depends; - depends[depends_len - 1] = '\0'; - ++argv, --argc; - } - else if ((**argv != '-') || !strchr("iuw", argv[0][1])) - *(newelem++) = *argv, ++regargc; /* Ignoring -i -u -w options */ - } - - /* Remove spaces from display name to create service name */ - service_name = get_service_name(display_name); - - printf(reconfig ? "Reconfiguring the %s service\n" - : "Installing the %s service\n", - display_name); - - if (GetModuleFileName( NULL, szPath, 512 ) == 0) - { - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "GetModuleFileName failed"); - return; - } - - if (isWindowsNT()) - { - SC_HANDLE schService; - SC_HANDLE schSCManager; - - ap_snprintf(szQuotedPath, sizeof(szQuotedPath), "\"%s\" --ntservice", szPath); - - schSCManager = OpenSCManager( - NULL, // machine (local) - NULL, // database (default) - SC_MANAGER_ALL_ACCESS // access required - ); - if (!schSCManager) { - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "OpenSCManager failed"); - return; - } - - /* Added dependencies for the following: TCPIP, AFD - * AFD is the winsock handler, TCPIP is self evident - * - * RPCSS is the Remote Procedure Call (RPC) Locator - * required for DCOM communication. I am far from - * convinced we should toggle this, but be warned that - * future apache modules or ISAPI dll's may depend on it. - * Also UNC share users may need the networking service - * started (usually "LanmanWorkstation"). "ProtectedStorage" - * may be needed depending on how files and registry keys are - * stored. And W3SVC may be needed to wait until IIS has - * glommed and released 0.0.0.0:80 if the admin allocates - * two different IP's to Apache and IIS on the same port. - */ - if (reconfig) - { - schService = OpenService(schSCManager, service_name, - SERVICE_ALL_ACCESS); - if (!schService) - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "OpenService failed"); - else if (!ChangeServiceConfig( - schService, // Service handle - SERVICE_WIN32_OWN_PROCESS, // service type - SERVICE_AUTO_START, // start type - SERVICE_ERROR_NORMAL, // error control type - szQuotedPath, // service's binary - NULL, // no load ordering group - NULL, // no tag identifier - depends, // dependencies - NULL, // user account - NULL, // account password - display_name)) { // service display name - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "ChangeServiceConfig failed"); - /* !schService aborts configuration below */ - CloseServiceHandle(schService); - schService = NULL; - } - } - else /* !reconfig */ - { - schService = CreateService( - schSCManager, // SCManager database - service_name, // name of service - display_name, // name to display - SERVICE_ALL_ACCESS, // desired access - SERVICE_WIN32_OWN_PROCESS, // service type - SERVICE_AUTO_START, // start type - SERVICE_ERROR_NORMAL, // error control type - szQuotedPath, // service's binary - NULL, // no load ordering group - NULL, // no tag identifier - depends, // dependencies - NULL, // user account - NULL); // account password - if (!schService) - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "CreateService failed"); - } - if (schService) - CloseServiceHandle(schService); - - CloseServiceHandle(schSCManager); - - if (!schService) - return; - } - else /* !isWindowsNT() */ - { - HKEY hkey; - DWORD rv; - - ap_snprintf(szQuotedPath, sizeof(szQuotedPath), - "\"%s\" -k start -n %s", - szPath, service_name); - /* Create/Find the RunServices key */ - rv = RegCreateKey(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows" - "\\CurrentVersion\\RunServices", &hkey); - if (rv != ERROR_SUCCESS) { - SetLastError(rv); - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Could not create/open the RunServices registry key"); - return; - } - - /* Attempt to add the value for our service */ - rv = RegSetValueEx(hkey, service_name, 0, REG_SZ, - (unsigned char *)szQuotedPath, - strlen(szQuotedPath) + 1); - if (rv != ERROR_SUCCESS) { - SetLastError(rv); - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Unable to install service: " - "Could not add to RunServices Registry Key"); - RegCloseKey(hkey); - return; - } - - RegCloseKey(hkey); - - /* Create/Find the Service key for Monitor Applications to iterate */ - ap_snprintf(szPath, sizeof(szPath), - "SYSTEM\\CurrentControlSet\\Services\\%s", service_name); - rv = RegCreateKey(HKEY_LOCAL_MACHINE, szPath, &hkey); - if (rv != ERROR_SUCCESS) { - SetLastError(rv); - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Could not create/open the %s registry key", szPath); - return; - } - - /* Attempt to add the ImagePath value to identify it as Apache */ - rv = RegSetValueEx(hkey, "ImagePath", 0, REG_SZ, - (unsigned char *)szQuotedPath, - strlen(szQuotedPath) + 1); - if (rv != ERROR_SUCCESS) { - SetLastError(rv); - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Unable to install service: " - "Could not add ImagePath to %s Registry Key", - service_name); - RegCloseKey(hkey); - return; - } - - /* Attempt to add the DisplayName value for our service */ - rv = RegSetValueEx(hkey, "DisplayName", 0, REG_SZ, - (unsigned char *)display_name, - strlen(display_name) + 1); - if (rv != ERROR_SUCCESS) { - SetLastError(rv); - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Unable to install service: " - "Could not add DisplayName to %s Registry Key", - service_name); - RegCloseKey(hkey); - return; - } - - RegCloseKey(hkey); - } - - /* Both Platforms: Now store the args in the registry */ - if (ap_registry_set_service_args(p, regargc, regargv, service_name)) { - return; - } - - printf("The %s service has been %s successfully.\n", - display_name, reconfig ? "reconfigured" : "installed"); -} - -void RemoveService(char *display_name) -{ - char *service_name; - BOOL success = FALSE; - - printf("Removing the %s service\n", display_name); - - /* Remove spaces from display name to create service name */ - service_name = get_service_name(display_name); - - if (isWindowsNT()) - { - SC_HANDLE schService; - SC_HANDLE schSCManager; - - schSCManager = OpenSCManager( - NULL, // machine (NULL == local) - NULL, // database (NULL == default) - SC_MANAGER_ALL_ACCESS // access required - ); - if (!schSCManager) { - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "OpenSCManager failed"); - return; - } - - schService = OpenService(schSCManager, service_name, SERVICE_ALL_ACCESS); - - if (schService == NULL) { - /* Could not open the service */ - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "OpenService failed"); - } - else { - /* try to stop the service */ - ap_stop_service(schService); - - // now remove the service - if (DeleteService(schService) == 0) - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "DeleteService failed"); - else - success = TRUE; - CloseServiceHandle(schService); - } - /* SCM removes registry parameters */ - CloseServiceHandle(schSCManager); - } - else /* !isWindowsNT() */ - { - HKEY hkey; - DWORD service_pid; - DWORD rv; - HWND hwnd; - - /* Locate the named window of class ApacheWin95ServiceMonitor - * from the active top level windows - */ - hwnd = FindWindow("ApacheWin95ServiceMonitor", service_name); - if (hwnd && GetWindowThreadProcessId(hwnd, &service_pid)) - { - int ticks = 120; - char prefix[20]; - ap_snprintf(prefix, sizeof(prefix), "ap%ld", (long)service_pid); - setup_signal_names(prefix); - ap_start_shutdown(); - while (--ticks) { - if (!IsWindow(hwnd)) - break; - Sleep(1000); - } - } - - /* Open the RunServices key */ - rv = RegOpenKey(HKEY_LOCAL_MACHINE, - "Software\\Microsoft\\Windows\\CurrentVersion\\RunServices", - &hkey); - if (rv != ERROR_SUCCESS) { - SetLastError(rv); - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Could not open the RunServices registry key."); - } - else { - /* Delete the registry value for this service */ - rv = RegDeleteValue(hkey, service_name); - if (rv != ERROR_SUCCESS) { - SetLastError(rv); - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Unable to remove service: " - "Could not delete the RunServices entry."); - } - else - success = TRUE; - } - RegCloseKey(hkey); - - /* Open the Services key */ - rv = RegOpenKey(HKEY_LOCAL_MACHINE, - "SYSTEM\\CurrentControlSet\\Services", &hkey); - if (rv != ERROR_SUCCESS) { - rv = RegDeleteValue(hkey, service_name); - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Could not open the Services registry key."); - success = FALSE; - } - else { - /* Delete the registry key for this service */ - rv = RegDeleteKey(hkey, service_name); - if (rv != ERROR_SUCCESS) { - SetLastError(rv); - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "Unable to remove service: " - "Could not delete the Services registry key."); - success = FALSE; - } - } - RegCloseKey(hkey); - } - if (success) - printf("The %s service has been removed successfully.\n", - display_name); -} - - -BOOL isWindowsNT(void) -{ - static BOOL once = FALSE; - static BOOL isNT = FALSE; - - if (!once) - { - OSVERSIONINFO osver; - osver.dwOSVersionInfoSize = sizeof(osver); - if (GetVersionEx(&osver)) - if (osver.dwPlatformId == VER_PLATFORM_WIN32_NT) - isNT = TRUE; - once = TRUE; - } - return isNT; -} - - -/* - * A hack to determine if we're running as a service without waiting for - * the SCM to fail. - */ - -BOOL isProcessService() -{ - if (is_service != -1) - return is_service; - if (!isWindowsNT() || !AllocConsole()) { - /* Don't assume anything, just yet */ - return FALSE; - } - FreeConsole(); - is_service = 1; - return TRUE; -} - -/* Determine is service_name is a valid service - * - * TODO: be nice if we tested that it is an 'apache' service, no? - */ - -BOOL isValidService(char *display_name) { - char service_key[MAX_PATH]; - char *service_name; - HKEY hkey; - - /* Remove spaces from display name to create service name */ - strcpy(service_key, "System\\CurrentControlSet\\Services\\"); - service_name = get_service_name(display_name); - strcat(service_key, service_name); - - if (RegOpenKey(HKEY_LOCAL_MACHINE, service_key, &hkey) != ERROR_SUCCESS) { - return FALSE; - } - RegCloseKey(hkey); - return TRUE; -} - - -int send_signal_to_service(char *display_name, char *sig, - int argc, char **argv) -{ - DWORD service_pid; - HANDLE hwnd; - SC_HANDLE schService; - SC_HANDLE schSCManager; - char *service_name; - int success = FALSE; - - enum { start, restart, stop, unknown } action; - static char *param[] = { "start", "restart", "shutdown" }; - static char *participle[] = { "starting", "restarting", "stopping" }; - static char *past[] = { "started", "restarted", "stopped" }; - - for (action = start; action < unknown; action++) - if (!strcasecmp(sig, param[action])) - break; - - if (action == unknown) { - printf("signal must be start, restart, or shutdown\n"); - return FALSE; - } - - service_name = get_service_name(display_name); - - if (isWindowsNT()) - { - schSCManager = OpenSCManager( - NULL, // machine (NULL == local) - NULL, // database (NULL == default) - SC_MANAGER_ALL_ACCESS // access required - ); - if (!schSCManager) { - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "OpenSCManager failed"); - return FALSE; - } - - schService = OpenService(schSCManager, service_name, SERVICE_ALL_ACCESS); - - if (schService == NULL) { - /* Could not open the service */ - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "OpenService failed"); - CloseServiceHandle(schSCManager); - return FALSE; - } - - if (!QueryServiceStatus(schService, &globdat.ssStatus)) { - ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, - "QueryService failed"); - CloseServiceHandle(schService); - CloseServiceHandle(schSCManager); - } - } - else /* !isWindowsNT() */ - { - /* Locate the window named service_name of class ApacheWin95ServiceMonitor - * from the active top level windows - */ - hwnd = FindWindow("ApacheWin95ServiceMonitor", service_name); - if (hwnd && GetWindowThreadProcessId(hwnd, &service_pid)) - globdat.ssStatus.dwCurrentState = SERVICE_RUNNING; - else - globdat.ssStatus.dwCurrentState = SERVICE_STOPPED; - } - - if (globdat.ssStatus.dwCurrentState == SERVICE_STOPPED - && action == stop) { - printf("The %s service is not started.\n", display_name); - return FALSE; - } - else if (globdat.ssStatus.dwCurrentState == SERVICE_RUNNING - && action == start) { - printf("The %s service has already been started.\n", display_name); - strcpy(sig, ""); - return FALSE; - } - else - { - printf("The %s service is %s.\n", display_name, participle[action]); - - if (isWindowsNT()) - { - if (action == stop) - success = ap_stop_service(schService); - else if ((action == start) - || ((action == restart) - && (globdat.ssStatus.dwCurrentState - == SERVICE_STOPPED))) - { - /* start NT service needs service args */ - char **args = malloc(argc * sizeof(char*)); - int i, j; - for (i = 1, j = 0; i < argc; i++) { - if ((argv[i][0] == '-') && ((argv[i][1] == 'k') - || (argv[i][1] == 'n'))) - ++i; - else - args[j++] = argv[i]; - } - success = ap_start_service(schService, j, args); - } - else if (action == restart) - success = ap_restart_service(schService); - } - else /* !isWindowsNT()) */ - { - char prefix[20]; - ap_snprintf(prefix, sizeof(prefix), "ap%ld", (long)service_pid); - setup_signal_names(prefix); - - if (action == stop) { - int ticks = 60; - ap_start_shutdown(); - while (--ticks) - { - if (!IsWindow(hwnd)) { - success = TRUE; - break; - } - Sleep(1000); - } - } - else if (action == restart) - { - /* This gets a bit tricky... start and restart (of stopped service) - * will simply fall through and *THIS* process will fade into an - * invisible 'service' process, detaching from the user's console. - * We need to change the restart signal to "start", however, - * if the service was not -yet- running, and we do return FALSE - * to assure main() that we haven't done anything yet. - */ - if (globdat.ssStatus.dwCurrentState == SERVICE_STOPPED) - { - printf("The %s service has %s.\n", display_name, - past[action]); - strcpy(sig, "start"); - return FALSE; - } - - ap_start_restart(1); - success = TRUE; - } - else /* action == start */ - { - printf("The %s service is %s.\n", display_name, - past[action]); - return FALSE; - } - } - - if( success ) - printf("The %s service has %s.\n", display_name, past[action]); - else - printf("Failed to %s the %s service.\n", sig, display_name); - } - - if (isWindowsNT()) { - CloseServiceHandle(schService); - CloseServiceHandle(schSCManager); - } - return success; -} - -int ap_stop_service(SC_HANDLE schService) -{ - if (ControlService(schService, SERVICE_CONTROL_STOP, &globdat.ssStatus)) { - Sleep(1000); - while (QueryServiceStatus(schService, &globdat.ssStatus)) { - if (globdat.ssStatus.dwCurrentState == SERVICE_STOP_PENDING) - Sleep(1000); - else - break; - } - } - if (QueryServiceStatus(schService, &globdat.ssStatus)) - if (globdat.ssStatus.dwCurrentState == SERVICE_STOPPED) - return TRUE; - return FALSE; -} - -int ap_start_service(SC_HANDLE schService, DWORD argc, char **argv) { - if (StartService(schService, argc, argv)) { - Sleep(1000); - while(QueryServiceStatus(schService, &globdat.ssStatus)) { - if(globdat.ssStatus.dwCurrentState == SERVICE_START_PENDING) - Sleep(1000); - else - break; - } - } - if (QueryServiceStatus(schService, &globdat.ssStatus)) - if (globdat.ssStatus.dwCurrentState == SERVICE_RUNNING) - return TRUE; - return FALSE; -} - -int ap_restart_service(SC_HANDLE schService) -{ - int ticks; - if (ControlService(schService, SERVICE_APACHE_RESTART, &globdat.ssStatus)) - { - ticks = 60; - while (globdat.ssStatus.dwCurrentState == SERVICE_START_PENDING) - { - Sleep(1000); - if (!QueryServiceStatus(schService, &globdat.ssStatus)) - return FALSE; - if (!--ticks) - break; - } - } - if (globdat.ssStatus.dwCurrentState == SERVICE_RUNNING) - return TRUE; - return FALSE; -} - -#endif /* WIN32 */ diff --git a/usr.sbin/httpd/src/os/win32/service.h b/usr.sbin/httpd/src/os/win32/service.h deleted file mode 100644 index 75dcdf5ea4d..00000000000 --- a/usr.sbin/httpd/src/os/win32/service.h +++ /dev/null @@ -1,96 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef SERVICE_H -#define SERVICE_H - -#ifdef WIN32 - -/* BIG RED WARNING: exit() is mapped to allow us to capture the exit - * status. This header must only be included from modules linked into - * the ApacheCore.dll - since it's a horrible behavior to exit() from - * any module outside the main() block, and we -will- assume it's a - * fatal error. No dynamically linked module will ever be able to find - * the real_exit_code, and _will_ GP fault if it tries this macro. - */ - -#define exit(status) ((exit)((real_exit_code==2) ? (real_exit_code = (status)) \ - : ((real_exit_code = 0), (status)))) -extern int real_exit_code; -void hold_console_open_on_error(void); - -int service_main(int (*main_fn)(int, char **), int argc, char **argv); -int service95_main(int (*main_fn)(int, char **), int argc, char **argv, - char *display_name); -void service_set_status(int status); -void service_cd(); -char *get_service_name(char *display_name); -char *get_display_name(char *service_name); -BOOL isProcessService(); -BOOL isValidService(char *display_name); -void InstallService(pool *p, char *display_name, int argc, char **argv, int reconfig); -void RemoveService(char *display_name); -int send_signal_to_service(char *display_name, char *sig, - int argc, char **argv); -BOOL isWindowsNT(void); -void ap_start_console_monitor(void); -void ap_start_child_console(int is_child_of_service); - -#endif /* WIN32 */ - -#endif /* SERVICE_H */ diff --git a/usr.sbin/httpd/src/os/win32/util_win32.c b/usr.sbin/httpd/src/os/win32/util_win32.c deleted file mode 100644 index 6d89f4cc98e..00000000000 --- a/usr.sbin/httpd/src/os/win32/util_win32.c +++ /dev/null @@ -1,572 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifdef WIN32 - -#include <sys/stat.h> -#include <stdarg.h> -#include <time.h> -#include <stdlib.h> - -#include "httpd.h" -#include "http_log.h" - -/* Returns TRUE if the input string is a string - * of one or more '.' characters. - */ -static BOOL OnlyDots(char *pString) -{ - char *c; - - if (*pString == '\0') - return FALSE; - - for (c = pString;*c;c++) - if (*c != '.') - return FALSE; - - return TRUE; -} - - -/* Accepts as input a pathname, and tries to match it to an - * existing path and return the pathname in the case that - * is present on the existing path. This routine also - * converts alias names to long names. - * - * WARNING: Folding to systemcase fails when /path/to/foo/../bar - * is given and foo does not exist, is not a directory. - */ -API_EXPORT(char *) ap_os_systemcase_filename(pool *pPool, - const char *szFile) -{ - char *buf, *t, *r; - const char *q, *p; - BOOL bDone = FALSE; - BOOL bFileExists = TRUE; - HANDLE hFind; - WIN32_FIND_DATA wfd; - size_t buflen; - int slack = 0; - - if (!szFile || strlen(szFile) == 0) - return ap_pstrdup(pPool, ""); - - buflen = strlen(szFile); - t = buf = ap_palloc(pPool, buflen + 1); - q = szFile; - - /* If there is drive information, copy it over. */ - if (szFile[1] == ':') { - /* Lowercase, so that when systemcase is used for - * comparison, d: designations will match - */ - *(t++) = tolower(*(q++)); - *(t++) = *(q++); - } - else if ((*q == '/') || (*q == '\\')) { - /* Get past the root path (/ or //foo/bar/) so we can go - * on to normalize individual path elements. - */ - *(t++) = '\\', ++q; - if ((*q == '/') || (*q == '\\')) /* UNC name */ - { - /* Lower-case the machine name, so compares match. - * FindFirstFile won't parse \\machine alone - */ - *(t++) = '\\', ++q; - for (p = q; *p && (*p != '/') && (*p != '\\'); ++p) - /* continue */ ; - if (*p || p > q) - { - /* Lower-case the machine name, so compares match. - * FindFirstFile won't parse \\machine\share alone - */ - memcpy(t, q, p - q); - t[p - q] = '\0'; - strlwr(t); - t += p - q; - q = p; - if (*p) { - *(t++) = '\\', ++q; - for (p = q; *p && (*p != '/') && (*p != '\\'); ++p) - /* continue */ ; - if (*p || p > q) - { - /* Copy the lower-cased share name. FindFirstFile - * cannot not find a \\machine\share name only - */ - memcpy(t, q, p - q); - t[p - q] = '\0'; - strlwr(t); - t += p - q; - q = p; - if (*p) - *(t++) = '\\', ++q; - else - bFileExists = FALSE; - } - else - bFileExists = FALSE; - } - else - bFileExists = FALSE; - } - else - bFileExists = FALSE; - } - } - - while (bFileExists) { - - /* parse past any leading slashes */ - for (; (*q == '/') || (*q == '\\'); ++q) - *(t++) = '\\'; - - /* break on end of string */ - if (!*q) - break; - - /* get to the end of this path segment */ - for (p = q; *p && (*p != '/') && (*p != '\\'); ++p) - /* continue */ ; - - /* copy the segment */ - memcpy(t, q, p - q); - t[p - q] = '\0'; - - /* Test for nasties that can exhibit undesired effects */ - if (strpbrk(t, "?\"<>*|:")) { - t += p - q; - q = p; - break; - } - - /* If the path exists so far, call FindFirstFile - * again. However, if this portion of the path contains - * only '.' charaters, skip the call to FindFirstFile - * since it will convert '.' and '..' to actual names. - * On win32, '...' is an alias for '..', so we gain - * a bit of slack. - */ - if (*t == '.' && OnlyDots(t)) { - if (p - q == 3) { - t += 2; - q = p; - ++slack; - } - else { - t += p - q; - q = p; - } - /* Paths of 4 dots or more are invalid */ - if (p - q > 3) - break; - } - else { - if ((hFind = FindFirstFile(buf, &wfd)) == INVALID_HANDLE_VALUE) { - t += p - q; - q = p; - break; - } - else { - size_t fnlen = strlen(wfd.cFileName); - FindClose(hFind); - /* the string length just changed, could have shrunk - * (trailing spaces or dots) or could have grown - * (longer filename aliases). Realloc as necessary - */ - slack -= fnlen - (p - q); - if (slack < 0) { - char *n; - slack += buflen + fnlen - (p - q); - buflen += buflen + fnlen - (p - q); - n = ap_palloc(pPool, buflen + 1); - memcpy (n, buf, t - buf); - t = n + (t - buf); - buf = n; - } - memcpy(t, wfd.cFileName, fnlen); - t += fnlen; - q = p; - if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) - break; - } - } - } - - /* Convert all parsed '\'s to '/' for canonical form (doesn't touch - * the non-existant portion of the path whatsoever.) - */ - for (r = buf; r < t; ++r) { - if (*r == '\\') - *r = '/'; - } - - /* Copy the non-existant portion (minimally nul-terminates the string) */ - strcpy(t, q); - - return buf; -} - - -/* Perform canonicalization with the exception that the - * input case is preserved. - */ -API_EXPORT(char *) ap_os_case_canonical_filename(pool *pPool, - const char *szFile) -{ - char *pNewStr; - char *s; - char *p; - char *q; - - if (szFile == NULL || strlen(szFile) == 0) - return ap_pstrdup(pPool, ""); - - pNewStr = ap_pstrdup(pPool, szFile); - - /* Change all '\' characters to '/' characters. - * While doing this, remove any trailing '.'. - * Also, blow away any directories with 3 or - * more '.' - */ - for (p = pNewStr,s = pNewStr; *s; s++,p++) { - if (*s == '\\' || *s == '/') { - - q = p; - while (p > pNewStr && *(p-1) == '.') - p--; - - if (p == pNewStr && q-p <= 2 && *p == '.') - p = q; - else if (p > pNewStr && p < q && *(p-1) == '/') { - if (q-p > 2) - p--; - else - p = q; - } - - *p = '/'; - } - else { - *p = *s; - } - } - *p = '\0'; - - /* Blow away any final trailing '.' since on Win32 - * foo.bat == foo.bat. == foo.bat... etc. - * Also blow away any trailing spaces since - * "filename" == "filename " - */ - q = p; - while (p > pNewStr && (*(p-1) == '.' || *(p-1) == ' ')) - p--; - if ((p > pNewStr) || - (p == pNewStr && q-p > 2)) - *p = '\0'; - - - /* One more security issue to deal with. Win32 allows - * you to create long filenames. However, alias filenames - * are always created so that the filename will - * conform to 8.3 rules. According to the Microsoft - * Developer's network CD (1/98) - * "Automatically generated aliases are composed of the - * first six characters of the filename plus ~n - * (where n is a number) and the first three characters - * after the last period." - * Here, we attempt to detect and decode these names. - * - * XXX: Netware network clients may have alternate short names, - * simply truncated, with no embedded '~'. Further, this behavior - * can be modified on WinNT volumes. This was not a safe test, - * therefore exclude the '~' pretest. - */ -#ifdef WIN32_SHORT_FILENAME_INSECURE_BEHAVIOR - p = strchr(pNewStr, '~'); - if (p != NULL) -#endif - /* ap_os_systemcase_filename now changes the case of only - * the pathname elements that are found. - */ - pNewStr = ap_os_systemcase_filename(pPool, pNewStr); - - return pNewStr; -} - -/* Perform complete canonicalization. - */ -API_EXPORT(char *) ap_os_canonical_filename(pool *pPool, const char *szFile) -{ - char *pNewName; - pNewName = ap_os_case_canonical_filename(pPool, szFile); - strlwr(pNewName); - return pNewName; -} - - -/* - * ap_os_is_filename_valid is given a filename, and returns 0 if the filename - * is not valid for use on this system. On Windows, this means it fails any - * of the tests below. Otherwise returns 1. - * - * Test for filename validity on Win32. This is of tests come in part from - * the MSDN article at "Technical Articles, Windows Platform, Base Services, - * Guidelines, Making Room for Long Filenames" although the information - * in MSDN about filename testing is incomplete or conflicting. There is a - * similar set of tests in "Technical Articles, Windows Platform, Base Services, - * Guidelines, Moving Unix Applications to Windows NT". - * - * The tests are: - * - * 1) total path length greater than MAX_PATH - * - * 2) anything using the octets 0-31 or characters " < > | : - * (these are reserved for Windows use in filenames. In addition - * each file system has its own additional characters that are - * invalid. See KB article Q100108 for more details). - * - * 3) anything ending in "." (no matter how many) - * (filename doc, doc. and doc... all refer to the same file) - * - * 4) any segment in which the basename (before first period) matches - * one of the DOS device names - * (the list comes from KB article Q100108 although some people - * reports that additional names such as "COM5" are also special - * devices). - * - * If the path fails ANY of these tests, the result must be to deny access. - */ - -API_EXPORT(int) ap_os_is_filename_valid(const char *file) -{ - const char *segstart; - unsigned int seglength; - const char *pos; - static const char * const invalid_characters = "?\"<>*|:"; - static const char * const invalid_filenames[] = { - "CON", "AUX", "COM1", "COM2", "COM3", - "COM4", "LPT1", "LPT2", "LPT3", "PRN", "NUL", NULL - }; - - /* Test 1 */ - if (strlen(file) >= MAX_PATH) { - /* Path too long for Windows. Note that this test is not valid - * if the path starts with //?/ or \\?\. */ - return 0; - } - - pos = file; - - /* Skip any leading non-path components. This can be either a - * drive letter such as C:, or a UNC path such as \\SERVER\SHARE\. - * We continue and check the rest of the path based on the rules above. - * This means we could eliminate valid filenames from servers which - * are not running NT (such as Samba). - */ - - if (pos[0] && pos[1] == ':') { - /* Skip leading drive letter */ - pos += 2; - } - else { - if ((pos[0] == '\\' || pos[0] == '/') && - (pos[1] == '\\' || pos[1] == '/')) { - /* Is a UNC, so skip the server name and share name */ - pos += 2; - while (*pos && *pos != '/' && *pos != '\\') - pos++; - if (!*pos) { - /* No share name */ - return 0; - } - pos++; /* Move to start of share name */ - while (*pos && *pos != '/' && *pos != '\\') - pos++; - if (!*pos) { - /* No path information */ - return 0; - } - } - } - - while (*pos) { - unsigned int idx; - unsigned int baselength; - - while (*pos == '/' || *pos == '\\') { - pos++; - } - if (*pos == '\0') { - break; - } - segstart = pos; /* start of segment */ - while (*pos && *pos != '/' && *pos != '\\') { - pos++; - } - seglength = pos - segstart; - /* - * Now we have a segment of the path, starting at position "segstart" - * and length "seglength" - */ - - /* Test 2 */ - for (idx = 0; idx < seglength; idx++) { - if ((segstart[idx] > 0 && segstart[idx] < 32) || - strchr(invalid_characters, segstart[idx])) { - return 0; - } - } - - /* Test 3 */ - if (segstart[seglength-1] == '.') { - return 0; - } - - /* Test 4 */ - for (baselength = 0; baselength < seglength; baselength++) { - if (segstart[baselength] == '.') { - break; - } - } - - /* baselength is the number of characters in the base path of - * the segment (which could be the same as the whole segment length, - * if it does not include any dot characters). */ - if (baselength == 3 || baselength == 4) { - for (idx = 0; invalid_filenames[idx]; idx++) { - if (strlen(invalid_filenames[idx]) == baselength && - !strnicmp(invalid_filenames[idx], segstart, baselength)) { - return 0; - } - } - } - } - - return 1; -} - - -API_EXPORT(ap_os_dso_handle_t) ap_os_dso_load(const char *module_name) -{ - UINT em; - ap_os_dso_handle_t dsoh; - char path[MAX_PATH], *p; - /* Load the module... - * per PR2555, the LoadLibraryEx function is very picky about slashes. - * Debugging on NT 4 SP 6a reveals First Chance Exception within NTDLL. - * LoadLibrary in the MS PSDK also reveals that it -explicitly- states - * that backslashes must be used. - * - * Transpose '\' for '/' in the filename. - */ - ap_cpystrn(path, module_name, MAX_PATH); - p = path; - while (p = strchr(p, '/')) - *p = '\\'; - - /* First assume the dso/dll's required by -this- dso are sitting in the - * same path or can be found in the usual places. Failing that, let's - * let that dso look in the apache root. - */ - em = SetErrorMode(SEM_FAILCRITICALERRORS); - dsoh = LoadLibraryEx(path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); - if (!dsoh) { - dsoh = LoadLibraryEx(path, NULL, 0); - } - SetErrorMode(em); - return dsoh; -} - -API_EXPORT(const char *) ap_os_dso_error(void) -{ - int len, nErrorCode; - static char errstr[120]; - /* This is -not- threadsafe code, but it's about the best we can do. - * mostly a potential problem for isapi modules, since LoadModule - * errors are handled within a single config thread. - */ - - nErrorCode = GetLastError(); - len = ap_snprintf(errstr, sizeof(errstr), "(%d) ", nErrorCode); - - len += FormatMessage( - FORMAT_MESSAGE_FROM_SYSTEM, - NULL, - nErrorCode, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* Default language */ - (LPTSTR) errstr + len, - sizeof(errstr) - len, - NULL - ); - /* FormatMessage may have appended a newline (\r\n). So remove it - * and use ": " instead like the Unix errors. The error may also - * end with a . before the return - if so, trash it. - */ - if (len > 1 && errstr[len-2] == '\r' && errstr[len-1] == '\n') { - if (len > 2 && errstr[len-3] == '.') - len--; - errstr[len-2] = ':'; - errstr[len-1] = ' '; - } - return errstr; -} - -#endif /* WIN32 */
\ No newline at end of file |