summaryrefslogtreecommitdiff
path: root/usr.sbin/httpd
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>1998-10-01 17:29:05 +0000
committerBob Beck <beck@cvs.openbsd.org>1998-10-01 17:29:05 +0000
commit5a9b340756970ac8e113d5392049187d2a149fd0 (patch)
tree462af496540ddee8c4ea2050f18a981a32e57e96 /usr.sbin/httpd
parent97cde54c34273f70c523c810b3cb750e8da457a7 (diff)
Config and wrapper for 1.3.2.
Diffstat (limited to 'usr.sbin/httpd')
-rw-r--r--usr.sbin/httpd/src/Configuration258
-rw-r--r--usr.sbin/httpd/src/Makefile.bsd-wrapper4
2 files changed, 179 insertions, 83 deletions
diff --git a/usr.sbin/httpd/src/Configuration b/usr.sbin/httpd/src/Configuration
index 27baba12831..48a8dd2bc50 100644
--- a/usr.sbin/httpd/src/Configuration
+++ b/usr.sbin/httpd/src/Configuration
@@ -14,12 +14,12 @@
#
# Makefile options, such as CC=gcc, etc...
#
-# Rules, distinquished by having "Rule" at the front. These are used to
+# Rules, distinguished by having "Rule" at the front. These are used to
# control Configure's behavior as far as how to create Makefile.
#
-# Module selection lines, distinguished by having 'Module' at the front.
-# These list the configured modules, in reverse priority order (lowest
-# priority first). They're down at the bottom.
+# Module selection lines, distinguished by having 'AddModule' at the front.
+# These list the configured modules, in priority order (highest priority
+# last). They're down at the bottom.
#
# Optional module selection lines, distinguished by having `%Module'
# at the front. These specify a module that is to be compiled in (but
@@ -37,30 +37,89 @@
# will be added to whatever flags Configure determines as appropriate
# and needed for your platform.
#
-# You can also set the compiler and Optimization used here as well.
-# Settings here have priority; If not set, Configure will attempt to guess
-# the C compiler, and set OPTIM to '-O2'
+# You can also set the compiler (CC) and optimization (OPTIM) used here as
+# well. Settings here have priority; If not set, Configure will attempt to
+# guess the C compiler, looking for gcc first, then cc.
#
-# REDHAT LINUX 5.0 USERS PLEASE NOTE! You have to add -lcrypt to
-# EXTRA_LIBS. This is fixed in 1.3 but will not be fixed in 1.2.
+# Optimization note:
+# Be careful when adding optimization flags (like -O3 or -O6) on the OPTIM
+# entry, especially when using some GCC variants. Experience showed that using
+# these for compiling Apache is risky. If you don't want to see Apache dumping
+# core regularly then at most use -O or -O2.
+#
+# The EXTRA_DEPS can be used to add extra Makefile dependencies to external
+# files (for instance third-party libraries) for the httpd target. The effect
+# is that httpd is relinked when those files are changed.
#
EXTRA_CFLAGS=
-EXTRA_LFLAGS=
+EXTRA_LDFLAGS=
EXTRA_LIBS=
EXTRA_INCLUDES=
+EXTRA_DEPS=
#CC=
-#OPTIM=-O2
+#CPP=
+#OPTIM=
#RANLIB=
################################################################
+# Dynamic Shared Object (DSO) support
+#
+# There is experimental support for compiling the Apache core and
+# the Apache modules into dynamic shared object (DSO) files for
+# maximum runtime flexibility.
+#
+# The Configure script currently has only limited built-in
+# knowledge on how to compile these DSO files because this is
+# heavily platform-dependent. The current state of supported and
+# explicitly unsupported platforms can be found in the file
+# "htdocs/manual/dso.html", under "Supported Platforms".
+#
+# For other platforms where you want to use the DSO mechanism you
+# first have to make sure it supports the pragmatic dlopen()
+# system call and then you have to provide the appropriate
+# compiler and linker flags below to create the DSO files on your
+# particular platform.
+#
+# The placement of the Apache core into a DSO file is triggered
+# by the SHARED_CORE rule below while support for building
+# individual Apache Modules as DSO files and loading them under
+# runtime without recompilation is triggered by `SharedModule'
+# commands. To be able to use the latter one first enable the
+# module mod_so (see corresponding `AddModule' command below).
+# Then enable the DSO feature for particular modules individually
+# by replacing their `AddModule' command with `SharedModule' and
+# change the filename extension from `.o' to `.so'.
+#
+# Sometimes the DSO files need to be linked against other shared
+# libraries to explicitly resolve symbols from them when the
+# httpd program not already contains references to them. For
+# instance when buidling mod_auth_db as a DSO you need to link
+# the DSO against the libdb explicity because the Apache kernel
+# has no references for this library. But the problem is that
+# this "chaining" is not supported on all platforms. Although one
+# usually can link a DSO against another DSO without linker
+# complains the linkage is not really done on these platforms.
+# So, when you receive "unresolved symbol" errors under runtime
+# when using the LoadModule directive for a particular module try
+# to enable the SHARED_CHAIN rule below.
+
+#CFLAGS_SHLIB=
+#LD_SHLIB=
+#LDFLAGS_SHLIB=
+#LDFLAGS_SHLIB_EXPORT=
+
+Rule SHARED_CORE=default
+Rule SHARED_CHAIN=default
+
+################################################################
# Rules configuration
#
# These are used to let Configure know that we want certain
# functions. The format is: Rule RULE=value
#
# At present, only the following RULES are known: WANTHSREGEX, SOCKS4,
-# STATUS, and IRIXNIS.
+# SOCKS5, IRIXNIS, IRIXN32 and PARANOID.
#
# For all Rules, if set to "yes", then Configure knows we want that
# capability and does what is required to add it in. If set to "default"
@@ -68,43 +127,58 @@ EXTRA_INCLUDES=
# present, then nothing is done.
#
# SOCKS4:
-# If SOCKS4 is set to 'yes', be sure that you add the sock library
+# If SOCKS4 is set to 'yes', be sure that you add the socks library
# location to EXTRA_LIBS, otherwise Configure will assume
# "-L/usr/local/lib -lsocks"
#
-# STATUS:
-# If Configure determines that you are using the status_module,
-# it will automatically enable full status information if set
-# to 'yes'. If the status module is not included, having STATUS
-# set to 'yes' has no impact.
+# SOCKS5:
+# If SOCKS5 is set to 'yes', be sure that you add the socks5 library
+# location to EXTRA_LIBS, otherwise Configure will assume
+# "-L/usr/local/lib -lsocks5"
#
# IRIXNIS:
# Only takes effect if Configure determines that you are running
-# SGI IRIX. If you are, and you are using NIS, you should set this
-# to 'yes'
+# SGI IRIX. If you are using a (ancient) 4.x version of IRIX, you
+# need this if you are using NIS and Apache needs access to it for
+# things like mod_userdir. This is not required on 5.x and later
+# and you should not enable it on such systems.
+#
+# IRIXN32:
+# If you are running a version of IRIX and Configure detects
+# n32 libraries, it will use those instead of the o32 ones.
+#
+# PARANOID:
+# New with version 1.3, during Configure modules can run
+# pre-programmed shell commands in the same environment that
+# Configure runs in. This allows modules to control how Configure
+# works. Normally, Configure will simply note that a module
+# is performing this function. If PARANOID is set to yes, it will
+# actually print-out the code that the modules execute
#
-Rule STATUS=yes
Rule SOCKS4=no
+Rule SOCKS5=no
Rule IRIXNIS=no
+Rule IRIXN32=no
+Rule PARANOID=no
# The following rules should be set automatically by Configure. However, if
# they are not set by Configure (because we don't know the correct value for
# your platform), or are set incorrectly, you may override them here.
# If you have to do this, please let us know what you set and what your
# platform is, by filling out a problem report form at the Apache web site:
-# <http://www.apache.org/bugdb.cgi>. If your browser is forms-incapable,
-# you can get the information to us by sending mail to apache-bugs@apache.org.
+# <http://bugs.apache.org/>. If your browser is forms-incapable, you
+# can get the information to us by sending mail to apache-bugs@apache.org.
#
# WANTHSREGEX:
# Apache requires a POSIX regex implementation. Henry Spencer's
# excellent regex package is included with Apache and can be used
# if desired. If your OS has a decent regex, you can elect to
# not use this one by setting WANTHSREGEX to 'no' or commenting
-# out the Rule. The "default" action is "no" unless overruled
+# out the Rule. The "default" action is "yes" unless overruled
# by OS specifics
-Rule WANTHSREGEX=default
+Rule WANTHSREGEX=no
################################################################
# Module configuration
@@ -121,6 +195,13 @@ Rule WANTHSREGEX=default
# is and the more memory it will take, so if you are unlikely to use the
# functionality of a particular module you might wish to leave it out.
+## mod_mmap_static is an experimental module, you almost certainly
+## don't need it. It can make some webservers faster. No further
+## documentation is provided here because you'd be foolish
+## to use mod_mmap_static without reading the full documentation.
+
+# AddModule modules/experimental/mod_mmap_static.o
+
##
## Config manipulation modules
##
@@ -128,147 +209,148 @@ Rule WANTHSREGEX=default
## passed to CGI/SSI scripts. It is listed first (lowest priority) since
## it does not do per-request stuff.
-Module env_module mod_env.o
-
-## mod_dld defines commands that allow other modules to be loaded
-## dynamically (at runtime). This module is for experimental use only.
-
-# Module dld_module mod_dld.o
+AddModule modules/standard/mod_env.o
##
## Request logging modules
##
-Module config_log_module mod_log_config.o
+AddModule modules/standard/mod_log_config.o
## Optional modules for NCSA user-agent/referer logging compatibility
## We recommend, however, that you just use the configurable access_log.
-# Module agent_log_module mod_log_agent.o
-# Module referer_log_module mod_log_referer.o
+# AddModule modules/standard/mod_log_agent.o
+# AddModule modules/standard/mod_log_referer.o
##
## Type checking modules
##
+## mod_mime_magic determines the type of a file by examining a few bytes
+## of it and testing against a database of filetype signatures. It is
+## based on the unix file(1) command.
## mod_mime maps filename extensions to content types, encodings, and
-## magic type handlers (the latter is obsoleted by mod_actions).
+## "magic" type handlers (the latter is obsoleted by mod_actions, and
+## don't confuse it with the previous module).
## mod_negotiation allows content selection based on the Accept* headers.
-Module mime_module mod_mime.o
-Module negotiation_module mod_negotiation.o
+# AddModule modules/standard/mod_mime_magic.o
+AddModule modules/standard/mod_mime.o
+AddModule modules/standard/mod_negotiation.o
##
## Content delivery modules
##
## The status module allows the server to display current details about
## how well it is performing and what it is doing. Consider also enabling
-## STATUS=yes (see the Rules section near the start of this file) to allow
-## full status information. Check conf/access.conf on how to enable this.
+## the 'ExtendedStatus On' directive to allow full status information.
+## Please note that doing so can result in a palpable performance hit.
-# Module status_module mod_status.o
+AddModule modules/standard/mod_status.o
## The Info module displays configuration information for the server and
## all included modules. It's very useful for debugging.
-# Module info_module mod_info.o
+# AddModule modules/standard/mod_info.o
## mod_include translates server-side include (SSI) statements in text files.
-## mod_dir handles requests on directories and directory indexes.
+## mod_autoindex handles requests for directories which have no index file
+## mod_dir handles requests on directories and directory index files.
## mod_cgi handles CGI scripts.
-Module includes_module mod_include.o
-Module dir_module mod_dir.o
-Module cgi_module mod_cgi.o
+AddModule modules/standard/mod_include.o
+AddModule modules/standard/mod_autoindex.o
+AddModule modules/standard/mod_dir.o
+AddModule modules/standard/mod_cgi.o
-## The asis module implemented ".asis" file types, which allow the embedding
+## The asis module implements ".asis" file types, which allow the embedding
## of HTTP headers at the beginning of the document. mod_imap handles internal
## imagemaps (no more cgi-bin/imagemap/!). mod_actions is used to specify
## CGI scripts which act as "handlers" for particular files, for example to
## automatically convert every GIF to another file type.
-Module asis_module mod_asis.o
-Module imap_module mod_imap.o
-Module action_module mod_actions.o
+AddModule modules/standard/mod_asis.o
+AddModule modules/standard/mod_imap.o
+AddModule modules/standard/mod_actions.o
##
## URL translation modules.
##
+
+## The Speling module attempts to correct misspellings of URLs that
+## users might have entered, namely by checking capitalizations
+## or by allowing up to one misspelling (character insertion / omission /
+## transposition/typo). This catches the majority of misspelled requests.
+## If it finds a match, a "spelling corrected" redirection is returned.
+
+# AddModule modules/standard/mod_speling.o
+
## The UserDir module for selecting resource directories by user name
## and a common prefix, e.g., /~<user> , /usr/web/<user> , etc.
-Module userdir_module mod_userdir.o
+# AddModule modules/standard/mod_userdir.o
## The proxy module enables the server to act as a proxy for outside
## http and ftp services. It's not as complete as it could be yet.
## NOTE: You do not want this module UNLESS you are running a proxy;
## it is not needed for normal (origin server) operation.
-#Module proxy_module modules/proxy/libproxy.a
+# AddModule modules/proxy/libproxy.a
## The Alias module provides simple URL translation and redirection.
-Module alias_module mod_alias.o
+AddModule modules/standard/mod_alias.o
-## mod_rewrite allows for powerful URI-to-URI and URI-to-filename mapping,
-## using regular expressions.
+## The URL rewriting module allows for powerful URI-to-URI and
+## URI-to-filename mapping using a regular expression based
+## rule-controlled rewriting engine.
-# Module rewrite_module mod_rewrite.o
+# AddModule modules/standard/mod_rewrite.o
##
## Access control and authentication modules.
##
-Module access_module mod_access.o
-Module auth_module mod_auth.o
+AddModule modules/standard/mod_access.o
+AddModule modules/standard/mod_auth.o
## The anon_auth module allows for anonymous-FTP-style username/
## password authentication.
-# Module anon_auth_module mod_auth_anon.o
+# AddModule modules/standard/mod_auth_anon.o
## db_auth and dbm_auth work with Berkeley DB files - make sure there
## is support for DBM files on your system. You may need to grab the GNU
## "gdbm" package if not and possibly adjust EXTRA_LIBS. (This may be
## done by Configure at a later date)
-Module db_auth_module mod_auth_db.o
-Module dbm_auth_module mod_auth_dbm.o
-
-## msql_auth checks against an mSQL database. You must have mSQL installed
-## and an "msql.h" available for this to even compile. Additionally,
-## you may need to add a couple entries to the EXTRA_LIBS line, like
-##
-## -lmsql -L/usr/local/lib -L/usr/local/Minerva/lib
-##
-## This depends on your installation of mSQL. (This may be done by Configure
-## at a later date)
-
-# Module msql_auth_module mod_auth_msql.o
+AddModule modules/standard/mod_auth_dbm.o
+AddModule modules/standard/mod_auth_db.o
## "digest" implements HTTP Digest Authentication rather than the less
## secure Basic Auth used by the other modules.
-# Module digest_module mod_digest.o
+# AddModule modules/standard/mod_digest.o
## Optional response header manipulation modules.
##
## cern_meta mimics the behavior of the CERN web server with regards to
## metainformation files.
-# Module cern_meta_module mod_cern_meta.o
+# AddModule modules/standard/mod_cern_meta.o
## The expires module can apply Expires: headers to resources,
## as a function of access time or modification time.
-# Module expires_module mod_expires.o
+# AddModule modules/standard/mod_expires.o
## The headers module can set arbitrary HTTP response headers,
## as configured in server, vhost, access.conf or .htaccess configs
-# Module headers_module mod_headers.o
+# AddModule modules/standard/mod_headers.o
## Miscellaneous modules
##
-## mod_usertrack.c is the new name for mod_cookies.c. This module
+## mod_usertrack is the new name for mod_cookies. This module
## uses Netscape cookies to automatically construct and log
## click-trails from Netscape cookies, or compatible clients who
## aren't coming in via proxy.
@@ -276,17 +358,31 @@ Module dbm_auth_module mod_auth_dbm.o
## You do not need this, or any other module to allow your site
## to use Cookies. This module is for user tracking only
-# Module usertrack_module mod_usertrack.o
+# AddModule modules/standard/mod_usertrack.o
## The example module, which demonstrates the use of the API. See
## the file modules/example/README for details. This module should
## only be used for testing -- DO NOT ENABLE IT on a production server.
-# Module example_module modules/example/mod_example.o
+# AddModule modules/example/mod_example.o
+
+## mod_unique_id generates unique identifiers for each hit, which are
+## available in the environment variable UNIQUE_ID. It may not work on all
+## systems, hence it is not included by default.
+
+# AddModule modules/standard/mod_unique_id.o
-## mod_browser lets you set environment variables based on the User-Agent
-## string in the request; this is useful for conditional HTML, for example.
+## mod_so lets you add modules to Apache without recompiling.
+## This is an experimental feature at this stage and only supported
+## on a subset of the platforms we generally support.
+## Don't change this entry to a 'SharedModule' variant (Bootstrapping!)
+
+# AddModule modules/standard/mod_so.o
+
+## mod_setenvif lets you set environment variables based on the HTTP header
+## fields in the request; this is useful for conditional HTML, for example.
## Since it is also used to detect buggy browsers for workarounds, it
## should be the last (highest priority) module.
-Module browser_module mod_browser.o
+AddModule modules/standard/mod_setenvif.o
+
diff --git a/usr.sbin/httpd/src/Makefile.bsd-wrapper b/usr.sbin/httpd/src/Makefile.bsd-wrapper
index d49a5fc72e1..3dd71d4f802 100644
--- a/usr.sbin/httpd/src/Makefile.bsd-wrapper
+++ b/usr.sbin/httpd/src/Makefile.bsd-wrapper
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile.bsd-wrapper,v 1.4 1998/03/26 18:10:43 deraadt Exp $
+# $OpenBSD: Makefile.bsd-wrapper,v 1.5 1998/10/01 17:29:04 beck Exp $
.include <bsd.own.mk>
PROG=httpd
BINDIR=/usr/sbin
@@ -12,7 +12,7 @@ all: Makefile
.FORCE: .IGNORE
helpers/GuessOS:
- lndir -e Makefile.bsd-wrapper -e obj ${.CURDIR} ${.OBJDIR}
+ lndir -e Makefile.bsd-wrapper -e obj ${.CURDIR} ${.OBJDIR}; touch ${.OBJDIR}/Configuration
config: .FORCE
sh ${.CURDIR}/Configure -file ${.CURDIR}/Configuration -make ${.CURDIR}/Makefile.tmpl