[BACK]Return to bozohttpd.8 CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / libexec / httpd

Annotation of src/libexec/httpd/bozohttpd.8, Revision 1.32.6.1

1.32.6.1! msaitoh     1: .\"    $NetBSD: bozohttpd.8,v 1.46 2014/02/09 12:32:32 mrg Exp $
1.3       mrg         2: .\"
1.32      mrg         3: .\"    $eterna: bozohttpd.8,v 1.101 2011/11/18 01:25:11 mrg Exp $
1.1       tls         4: .\"
1.32.6.1! msaitoh     5: .\" Copyright (c) 1997-2014 Matthew R. Green
1.1       tls         6: .\" All rights reserved.
                      7: .\"
                      8: .\" Redistribution and use in source and binary forms, with or without
                      9: .\" modification, are permitted provided that the following conditions
                     10: .\" are met:
                     11: .\" 1. Redistributions of source code must retain the above copyright
                     12: .\"    notice, this list of conditions and the following disclaimer.
                     13: .\" 2. Redistributions in binary form must reproduce the above copyright
                     14: .\"    notice, this list of conditions and the following disclaimer in the
                     15: .\"    documentation and/or other materials provided with the distribution.
                     16: .\"
                     17: .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     18: .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     19: .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     20: .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     21: .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
                     22: .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
                     23: .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
                     24: .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
                     25: .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     26: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     27: .\" SUCH DAMAGE.
                     28: .\"
1.32.6.1! msaitoh    29: .Dd February 9, 2014
1.3       mrg        30: .Dt HTTPD 8
1.9       joerg      31: .Os
1.1       tls        32: .Sh NAME
1.3       mrg        33: .Nm httpd
1.1       tls        34: .Nd hyper text transfer protocol version 1.1 daemon
                     35: .Sh SYNOPSIS
                     36: .Nm
1.32      mrg        37: .Op Fl CIMPSZciptvx
1.1       tls        38: .Op Fl C Ar suffix cgihandler
                     39: .Op Fl I Ar port
1.32.6.1! msaitoh    40: .Op Fl L Ar prefix script
1.1       tls        41: .Op Fl M Ar suffix type encoding encoding11
1.26      jmmv       42: .Op Fl P Ar pidfile
1.32      mrg        43: .Op Fl S Ar server_software
                     44: .Op Fl Z Ar cert privkey
                     45: .Op Fl c Ar cgibin
                     46: .Op Fl i Ar address
1.15      wiz        47: .Op Fl p Ar pubdir
1.6       jnemeth    48: .Op Fl t Ar chrootdir
1.1       tls        49: .Op Fl v Ar virtualroot
                     50: .Op Fl x Ar index
                     51: .Ar slashdir
                     52: .Op Ar myname
                     53: .Sh DESCRIPTION
                     54: The
                     55: .Nm
                     56: program reads a
                     57: .Em HTTP
                     58: request from the standard input, and sends a reply to the standard output.
                     59: Besides ~user translation and virtual hosting support (see below), all file
                     60: requests are from
                     61: .Ar slashdir
                     62: directory.
                     63: The server uses
                     64: .Ar myname
                     65: as its name, which defaults to the local hostname, obtained from
                     66: .Xr gethostname 3
                     67: (but see the
                     68: .Fl v
                     69: option for virtual hosting.)
                     70: .Nm
1.21      mrg        71: writes logs to
1.22      wiz        72: .Xr syslog 3
                     73: using the ftp facility (but see the
1.21      mrg        74: .Fl s
                     75: option for testing.)
                     76: .Nm
1.1       tls        77: is designed to be small, simple and relatively featureless,
                     78: hopefully increasing its security.
1.7       wiz        79: .Ss OPTIONS
1.1       tls        80: The following options are available:
                     81: .Bl -tag -width xxxcgibin
                     82: .It Fl b
1.28      jmmv       83: Enables daemon mode, where
1.1       tls        84: .Nm
                     85: detaches from the current terminal, running in the background and
                     86: servicing HTTP requests.
                     87: .It Fl C Ar suffix cgihandler
1.28      jmmv       88: Adds a new CGI handler program for a particular file type.
1.1       tls        89: The
                     90: .Ar suffix
                     91: should be any normal file suffix, and the
                     92: .Ar cgihandler
                     93: should be a full path to an interpreter.
                     94: This option is the only way to enable CGI programs that exist
                     95: outside of the cgibin directory to be executed.
                     96: Multiple
                     97: .Fl C
                     98: options may be passed.
                     99: .It Fl c Ar cgibin
1.28      jmmv      100: Enables the CGI/1.1 interface.
1.1       tls       101: The
                    102: .Ar cgibin
                    103: directory is expected to contain the CGI programs to be used.
                    104: .Nm
                    105: looks for URL's in the form of
1.7       wiz       106: .Em /cgi-bin/\*[Lt]scriptname\*[Gt]
1.1       tls       107: where
1.14      mrg       108: .Aq scriptname
1.1       tls       109: is a valid CGI program in the
                    110: .Ar cgibin
                    111: directory.
                    112: In other words, all CGI URL's must begin with
                    113: .Em \%/cgi-bin/ .
                    114: Note that the CGI/1.1 interface is not available with
                    115: .Em ~user
                    116: translation.
                    117: .It Fl e
1.28      jmmv      118: Causes
1.1       tls       119: .Nm
                    120: to not clear the environment when used with either the
                    121: .Fl t
                    122: or
                    123: .Fl U
                    124: options.
1.14      mrg       125: .It Fl f
1.28      jmmv      126: Stops the
1.14      mrg       127: .Fl b
                    128: flag from
                    129: .Nm
                    130: detaching from the tty and going into the background.
1.1       tls       131: .It Fl H
1.28      jmmv      132: Causes directory index mode to hide files and directories
1.1       tls       133: that start with a period, except for
                    134: .Pa .. .
                    135: Also see
                    136: .Fl X .
                    137: .It Fl I Ar port
1.28      jmmv      138: Causes
1.30      mrg       139: .Nm
                    140: to use
1.1       tls       141: .Ar port
1.30      mrg       142: instead of the default
1.1       tls       143: .Dq http
                    144: port.
1.30      mrg       145: When used with the
1.1       tls       146: .Fl b
1.30      mrg       147: option, it changes the bound port.
                    148: Otherwise it forces redirections to use this port instead of the
                    149: value obtained via
                    150: .Xr getsockname 2 .
1.28      jmmv      151: .It Fl i Ar address
                    152: Causes
1.1       tls       153: .Ar address
1.32.6.1! msaitoh   154: to be used as the address to bind daemon mode.
1.1       tls       155: If otherwise unspecified, the address used to bind is derived from the
                    156: .Ar myname ,
                    157: which defaults to the name returned by
                    158: .Xr gethostname 3 .
1.13      mrg       159: Only the last
                    160: .Fl i
                    161: option is used.
1.28      jmmv      162: This option is only valid with the
                    163: .Fl b
                    164: option.
1.32.6.1! msaitoh   165: .It Fl L Ar prefix script
        !           166: Adds a new Lua script for a particular prefix.
        !           167: The
        !           168: .Ar prefix
        !           169: should be an arbitrary text, and the
        !           170: .Ar script
        !           171: should be a full path to a Lua script.
        !           172: Multiple
        !           173: .Fl L
        !           174: options may be passed.
        !           175: A separate Lua state is created for each prefix.
        !           176: The Lua script can register callbacks using the
        !           177: httpd.register_handler('<name>', function) Lua function,
        !           178: which will trigger the execution of the Lua function
        !           179: .Em function
        !           180: when a URL in the form
        !           181: .Em http://<hostname>/<prefix>/<name>
        !           182: is being accessed.
        !           183: The function is passed three tables as arguments, the server
        !           184: environment, the request headers, and the decoded query string
        !           185: plus any data that was send as application/x-www-form-urlencoded.
1.1       tls       186: .It Fl M Ar suffix type encoding encoding11
1.28      jmmv      187: Adds a new entry to the table that converts file suffixes to
1.1       tls       188: content type and encoding.
                    189: This option takes four additional arguments containing
                    190: the file prefix, its
                    191: .Dq Content-Type ,
1.7       wiz       192: .Dq Content-Encoding ,
1.1       tls       193: and
                    194: .Dq Content-Encoding
                    195: for HTTP/1.1 connections, respectively.
1.7       wiz       196: If any of these are a single dash
                    197: .Pq Dq - ,
                    198: the empty string is used instead.
1.1       tls       199: Multiple
                    200: .Fl M
                    201: options may be passed.
                    202: .It Fl n
1.28      jmmv      203: Stops
1.1       tls       204: .Nm
                    205: from doing IP address to name resolution of hosts for setting the
                    206: .Ev REMOTE_HOST
                    207: variable before running a CGI program.
                    208: This option has no effect without the
                    209: .Fl c
                    210: option.
1.26      jmmv      211: .It Fl P Ar pidfile
1.28      jmmv      212: Causes
1.26      jmmv      213: .Nm
                    214: to create a pid file in
                    215: .Ar pidfile
                    216: when run in daemon mode with the
                    217: .Fl b
                    218: option.
1.1       tls       219: .It Fl p Ar pubdir
1.28      jmmv      220: Changes the default user directory for
1.1       tls       221: .Em /~user/
                    222: translations from
                    223: .Dq public_html
                    224: to
                    225: .Ar pubdir .
                    226: .It Fl r
1.28      jmmv      227: Forces pages besides the
1.1       tls       228: .Dq index.html
                    229: (see the
                    230: .Fl X
                    231: option) page to require that the Referrer: header be present and
                    232: refer to this web server, otherwise a redirect to the
                    233: .Dq index.html
                    234: page will be returned instead.
                    235: .It Fl S Ar server_software
1.28      jmmv      236: Sets the internal server version to
1.1       tls       237: .Ar server_software .
                    238: .It Fl s
1.28      jmmv      239: Forces logging to be set to stderr always.
1.1       tls       240: .It Fl t Ar chrootdir
1.28      jmmv      241: Makes
1.1       tls       242: .Nm
1.28      jmmv      243: chroot to the specified directory
1.1       tls       244: before answering requests.
                    245: Every other path should be specified relative
                    246: to the new root, if this option is used.
                    247: Note that the current environment
                    248: is normally replaced with an empty environment with this option, unless the
                    249: .Fl e
                    250: option is also used.
                    251: .It Fl U Ar username
1.28      jmmv      252: Causes
1.1       tls       253: .Nm
                    254: to switch to the user and the groups of
                    255: .Ar username
                    256: after initialization.
                    257: This option, like
                    258: .Fl t
                    259: above, causes
                    260: .Nm
                    261: to clear the environment unless the
                    262: .Fl e
                    263: option is given.
                    264: .It Fl u
1.28      jmmv      265: Enables the transformation of Uniform Resource Locators of
1.1       tls       266: the form
                    267: .Em /~user/
1.16      mbalmer   268: into the directory
1.1       tls       269: .Pa ~user/public_html
                    270: (but see the
                    271: .Fl p
                    272: option above).
                    273: .It Fl V
1.28      jmmv      274: Sets the default virtual host directory to
1.1       tls       275: .Ar slashdir .
                    276: If no directory exists in
                    277: .Ar virtualroot
                    278: for the request, then
                    279: .Ar slashdir
                    280: will be used.
                    281: The default behaviour is to return 404 (Not Found.)
                    282: .It Fl v Ar virtualroot
1.28      jmmv      283: Enables virtual hosting support.
1.1       tls       284: Directories in
                    285: .Ar virtualroot
                    286: will be searched for a matching virtual host name, when parsing
                    287: the HTML request.
                    288: If a matching name is found, it will be used
                    289: as both the server's real name,
                    290: .Op Ar myname ,
                    291: and as the
                    292: .Ar slashdir .
                    293: See the
                    294: .Sx EXAMPLES
                    295: section for an example of using this option.
                    296: .It Fl X
1.28      jmmv      297: Enables directory indexing.
1.1       tls       298: A directory index will be generated only when the default file (i.e.
                    299: .Pa index.html
                    300: normally) is not present.
                    301: .It Fl x Ar index
1.28      jmmv      302: Changes the default file read for directories from
1.1       tls       303: .Dq index.html
                    304: to
                    305: .Ar index .
                    306: .It Fl Z Ar certificate_path privatekey_path
1.28      jmmv      307: Sets the path to the server certificate file and the private key file
1.6       jnemeth   308: in pem format.
                    309: It also causes
1.4       mrg       310: .Nm
                    311: to start SSL mode.
1.1       tls       312: .El
                    313: .Pp
                    314: Note that in
                    315: .Nm
                    316: versions 20031005 and prior that supported the
                    317: .Fl C
                    318: and
                    319: .Fl M
                    320: options, they took a single space-separated argument that was parsed.
                    321: since version 20040828, they take multiple options (2 in the case of
                    322: .Fl C
                    323: and 4 in the case of
                    324: .Fl M . )
1.7       wiz       325: .Ss INETD CONFIGURATION
1.1       tls       326: As
                    327: .Nm
                    328: uses
                    329: .Xr inetd 8
                    330: by default to process incoming TCP connections for HTTP requests
                    331: (but see the
                    332: .Fl b
                    333: option),
                    334: .Nm
                    335: has little internal networking knowledge.
                    336: (Indeed, you can run it on the command line with little change of functionality.)
                    337: A typical
                    338: .Xr inetd.conf 5
                    339: entry would be:
                    340: .Bd -literal
1.3       mrg       341: http stream tcp  nowait:600 _httpd /usr/libexec/httpd httpd /var/www
                    342: http stream tcp6 nowait:600 _httpd /usr/libexec/httpd httpd /var/www
1.1       tls       343: .Ed
                    344: .Pp
                    345: This would serve web pages from
                    346: .Pa /var/www
                    347: on both IPv4 and IPv6 ports.
                    348: The
                    349: .Em :600
                    350: changes the
                    351: requests per minute to 600, up from the
                    352: .Xr inetd 8
                    353: default of 40.
                    354: .Pp
                    355: Using the
                    356: .Nx
                    357: .Xr inetd 8 ,
                    358: you can provide multiple IP-address based HTTP servers by having multiple
                    359: listening ports with different configurations.
1.7       wiz       360: .Ss NOTES
1.1       tls       361: This server supports the
                    362: .Em HTTP/0.9 ,
1.7       wiz       363: .Em HTTP/1.0 ,
1.1       tls       364: and
                    365: .Em HTTP/1.1
1.4       mrg       366: standards.
                    367: Support for these protocols is very minimal and many optional features are
                    368: not supported.
1.1       tls       369: .Pp
                    370: .Nm
1.32.6.1! msaitoh   371: can be compiled without
        !           372: CGI support (NO_CGIBIN_SUPPORT),
        !           373: user transformations (NO_USER_SUPPORT),
        !           374: directory index support (NO_DIRINDEX_SUPPORT),
        !           375: daemon mode support (NO_DAEMON_MODE),
        !           376: dynamic MIME content (NO_DYNAMIC_CONTENT),
        !           377: Lua suport (NO_LUA_SUPPORT),
        !           378: and SSL support (NO_SSL_SUPPORT)
        !           379: by defining the listed macros when building
1.1       tls       380: .Nm .
1.7       wiz       381: .Ss HTTP BASIC AUTHORISATION
1.1       tls       382: .Nm
1.3       mrg       383: has support for HTTP Basic Authorisation.
                    384: If a file named
                    385: .Pa .htpasswd
                    386: exists in the directory of the current request,
                    387: .Nm
                    388: will restrict access to documents in that directory
                    389: using the RFC 2617 HTTP
                    390: .Dq Basic
                    391: authentication scheme.
                    392: .Pp
                    393: Note:
                    394: This does not recursively protect any sub-directories.
                    395: .Pp
                    396: The
                    397: .Pa .htpasswd
                    398: file contains lines delimited with a colon containing
                    399: usernames and passwords hashed with
                    400: .Xr crypt 3 ,
                    401: for example:
                    402: .Bd -literal
1.6       jnemeth   403: heather:$1$pZWI4tH/$DzDPl63i6VvVRv2lJNV7k1
1.3       mrg       404: jeremy:A.xewbx2DpQ8I
                    405: .Ed
                    406: .Pp
                    407: On
                    408: .Nx ,
                    409: the
                    410: .Xr pwhash 1
                    411: utility may be used to generate hashed passwords.
1.4       mrg       412: .Pp
1.6       jnemeth   413: While
1.4       mrg       414: .Nm
                    415: distributed with
                    416: .Nx
                    417: has support for HTTP Basic Authorisation enabled by default,
1.11      mrg       418: in the portable distribution it is excluded.
1.4       mrg       419: Compile
                    420: .Nm
                    421: with
                    422: .Dq -DDO_HTPASSWD
1.6       jnemeth   423: on the compiler command line to enable this support.
1.14      mrg       424: It may require linking with the crypt library, using
1.4       mrg       425: .Dq -lcrypt .
1.7       wiz       426: .Ss SSL SUPPORT
1.1       tls       427: .Nm
                    428: has support for SSLv2, SSLv3, and TLSv1 protocols that is included by
1.6       jnemeth   429: default.
                    430: It requires linking with the crypto and ssl library, using
1.1       tls       431: .Dq -lcrypto -lssl .
                    432: To disable SSL SUPPORT compile
                    433: .Nm
                    434: with
                    435: .Dq -DNO_SSL_SUPPORT
                    436: on the compiler command line.
1.32.6.1! msaitoh   437: .Ss COMPRESSION
        !           438: .Nm
        !           439: supports a very basic form compression.
        !           440: .Nm
        !           441: will serve the requested file postpended with
        !           442: .Dq Pa .gz
        !           443: if it exists, it is readable, the client requested gzip compression, and
        !           444: the client did not make a ranged request.
1.8       wiz       445: .Sh FILES
                    446: .Nm
                    447: looks for a couple of special files in directories that allow certain features
                    448: to be provided on a per-directory basis.
                    449: In addition to the
                    450: .Pa .htpasswd
                    451: used by HTTP basic authorisation,
                    452: if a
                    453: .Pa .bzdirect
                    454: file is found (contents are irrelevant)
                    455: .Nm
                    456: will allow direct access even with the
                    457: .Fl r
                    458: option.
                    459: If a
                    460: .Pa .bzredirect
                    461: symbolic link is found,
                    462: .Nm
                    463: will perform a smart redirect to the target of this symlink.
                    464: The target is assumed to live on the same server.
                    465: If a
                    466: .Pa .bzabsredirect
                    467: symbolic link is found,
                    468: .Nm
                    469: will redirect to the absolute url pointed to by this symlink.
                    470: This is useful to redirect to different servers.
                    471: .Sh EXAMPLES
                    472: To configure set of virtual hosts, one would use an
                    473: .Xr inetd.conf 5
                    474: entry like:
                    475: .Bd -literal
                    476: http stream tcp  nowait:600 _httpd /usr/libexec/httpd httpd -v /var/vroot /var/www
                    477: .Ed
                    478: .Pp
                    479: and inside
                    480: .Pa /var/vroot
                    481: create a directory (or a symlink to a directory) with the same name as
                    482: the virtual host, for each virtual host.
1.32.6.1! msaitoh   483: Lookups for these names are done in a case-insensitive manner, and may
        !           484: include the port number part of the request, allowing for distinct
        !           485: virtual hosts on the same name.
1.8       wiz       486: .Pp
                    487: To use
                    488: .Nm
                    489: with PHP, one must use the
                    490: .Fl C
                    491: option to specify a CGI handler for a particular file type.
1.25      reed      492: Typically this will be like:
1.8       wiz       493: .Bd -literal
                    494: httpd -C .php /usr/pkg/bin/php /var/www
                    495: .Ed
1.1       tls       496: .Sh SEE ALSO
                    497: .Xr inetd.conf 5 ,
                    498: .Xr inetd 8
                    499: .Sh HISTORY
                    500: The
                    501: .Nm
1.11      mrg       502: program is actually called
                    503: .Dq bozohttpd .
                    504: It was first written in perl, based on another perl http server
1.1       tls       505: called
                    506: .Dq tinyhttpd .
                    507: It was then rewritten from scratch in perl, and then once again in C.
1.12      wiz       508: From
1.3       mrg       509: .Dq bozohttpd
1.11      mrg       510: version 20060517, it has been integrated into
                    511: .Nx .
1.1       tls       512: The focus has always been simplicity and security, with minimal features
                    513: and regular code audits.
1.4       mrg       514: This manual documents
                    515: .Nm
1.32.6.1! msaitoh   516: version 20140201.
1.1       tls       517: .Sh AUTHORS
1.32.6.1! msaitoh   518: .An -nosplit
1.1       tls       519: .Nm
1.32.6.1! msaitoh   520: was written by
        !           521: .An Matthew R. Green
        !           522: .Aq Mt mrg@eterna.com.au .
1.1       tls       523: .Pp
                    524: The large list of contributors includes:
                    525: .Bl -dash
                    526: .It
1.32.6.1! msaitoh   527: .An Marc Balmer
        !           528: .Aq Mt mbalmer@NetBSD.org
        !           529: added Lua support for dynamic content creation
1.4       mrg       530: .It
1.32.6.1! msaitoh   531: .An Christoph Badura
        !           532: .Aq Mt bad@bsd.de
1.4       mrg       533: provided Range: header support
                    534: .It
1.32.6.1! msaitoh   535: .An Sean Boudreau
        !           536: .Aq Mt seanb@NetBSD.org
1.24      wiz       537: provided a security fix for virtual hosting
1.23      mrg       538: .It
1.32.6.1! msaitoh   539: .An Julian Coleman
        !           540: .Aq Mt jdc@coris.org.uk
1.1       tls       541: provided an IPv6 bugfix
                    542: .It
1.32.6.1! msaitoh   543: .An Chuck Cranor
        !           544: .Aq Mt chuck@research.att.com
1.1       tls       545: provided cgi-bin support fixes, and more
                    546: .It
1.32.6.1! msaitoh   547: .An Alistair G. Crooks
        !           548: .Aq Mt agc@NetBSD.org
        !           549: cleaned up many internal interfaces, made bozohttpd linkable as a
        !           550: library and provided the Lua binding.
        !           551: .It
        !           552: .An DEGROOTE Arnaud
        !           553: .Aq Mt degroote@NetBSD.org
1.11      mrg       554: provided a fix for daemon mode
                    555: .It
1.32.6.1! msaitoh   556: .An Andrew Doran
        !           557: .Aq Mt ad@NetBSD.org
1.1       tls       558: provided directory indexing support
                    559: .It
1.32.6.1! msaitoh   560: .An Per Ekman
        !           561: .Aq Mt pek@pdc.kth.se
1.1       tls       562: provided a fix for a minor (non-security) buffer overflow condition
                    563: .It
1.32.6.1! msaitoh   564: .An Roland Dowdeswell
        !           565: .Aq Mt elric@NetBSD.org
        !           566: added support for serving gzipped files and better SSL handling
1.17      mrg       567: .It
1.32.6.1! msaitoh   568: .An Jun-ichiro itojun Hagino, KAME
        !           569: .Aq Mt itojun@iijlab.net
1.1       tls       570: provided initial IPv6 support
                    571: .It
1.32.6.1! msaitoh   572: .An Martin Husemann
        !           573: .Aq Mt martin@NetBSD.org
        !           574: provided .bzabsredirect support, and fixed various redirection issues
1.1       tls       575: .It
1.32.6.1! msaitoh   576: .An Arto Huusko
        !           577: .Aq Mt arto.huusko@pp2.inet.fi
1.11      mrg       578: provided fixes cgi-bin
                    579: .It
1.32.6.1! msaitoh   580: .An Roland Illig
        !           581: .Aq Mt roland.illig@gmx.de
1.1       tls       582: provided some off-by-one fixes
                    583: .It
1.32.6.1! msaitoh   584: .An Zak Johnson
        !           585: .Aq Mt zakj@nox.cx
1.11      mrg       586: provided cgi-bin enhancements
                    587: .It
1.32.6.1! msaitoh   588: .An Nicolas Jombart
        !           589: .Aq Mt ecu@ipv42.net
1.1       tls       590: provided fixes for HTTP basic authorisation support
                    591: .It
1.32.6.1! msaitoh   592: .An Antti Kantee
        !           593: .Aq Mt pooka@NetBSD.org
        !           594: provided fixes for HTTP basic authorisation support
        !           595: .It
        !           596: .An Thomas Klausner
        !           597: .Aq Mt wiz@NetBSD.org
1.1       tls       598: provided many fixes and enhancements for the man page
                    599: .It
1.32.6.1! msaitoh   600: .An Arnaud Lacombe
        !           601: .Aq Mt alc@NetBSD.org
        !           602: provided some clean up for memory leaks
        !           603: .It
        !           604: .An Johnny Lam
        !           605: .Aq Mt jlam@NetBSD.org
1.1       tls       606: provided man page fixes
                    607: .It
1.32.6.1! msaitoh   608: .An Julio Merino
        !           609: .Aq Mt jmmv@NetBSD.org
        !           610: Added the
        !           611: .Fl P
        !           612: option.
        !           613: .It
        !           614: .An Luke Mewburn
        !           615: .Aq Mt lukem@NetBSD.org
1.7       wiz       616: provided many various fixes, including cgi-bin fixes and enhancements,
1.1       tls       617: HTTP basic authorisation support and much code clean up
                    618: .It
1.32.6.1! msaitoh   619: .An Rajeev V. Pillai
        !           620: .Aq Mt rajeev_v_pillai@yahoo.com
        !           621: provided several fixes for virtual hosting
        !           622: .It
        !           623: .An Jeremy C. Reed
        !           624: .Aq Mt reed@NetBSD.org
1.4       mrg       625: provided several clean up fixes, and man page updates
                    626: .It
1.32.6.1! msaitoh   627: .An Scott Reynolds
        !           628: .Aq Mt scottr@NetBSD.org
1.1       tls       629: provided various fixes
                    630: .It
1.32.6.1! msaitoh   631: .An Tyler Retzlaff
        !           632: .Aq Mt rtr@eterna.com.au
1.4       mrg       633: provided SSL support, cgi-bin fixes and much other random other stuff
1.1       tls       634: .It
1.32.6.1! msaitoh   635: .An rudolf
        !           636: .Aq Mt netbsd@eq.cz
1.23      mrg       637: provided minor compile fixes and a CGI content map fix
                    638: .It
1.32.6.1! msaitoh   639: .An Steve Rumble
        !           640: .Aq Mt rumble@ephemeral.org
1.1       tls       641: provided the
                    642: .Fl V
                    643: option.
                    644: .It
1.32.6.1! msaitoh   645: .An Thor Lancelot Simon
        !           646: .Aq Mt tls@NetBSD.org
        !           647: enhanced cgi-bin support.
        !           648: .It
        !           649: .An Joerg Sonnenberger
        !           650: .Aq Mt joerg@NetBSD.org
1.11      mrg       651: implemented If-Modified-Since support
                    652: .It
1.32.6.1! msaitoh   653: .An ISIHARA Takanori
        !           654: .Aq Mt ishit@oak.dti.ne.jp
1.1       tls       655: provided a man page fix
                    656: .It
1.32.6.1! msaitoh   657: .An Holger Weiss
        !           658: .Aq Mt holger@CIS.FU-Berlin.DE
1.11      mrg       659: provided http authorisation fixes
                    660: .It
1.32.6.1! msaitoh   661: .Aq Mt xs@kittenz.org
1.1       tls       662: provided chroot and change-to-user support, and other various fixes
1.11      mrg       663: .It
1.32.6.1! msaitoh   664: Coyote Point provided various CGI fixes.
1.29      jmmv      665: .It
1.32.6.1! msaitoh   666: .An Julio Merino
        !           667: added pidfile support and provided some man page fixes.
1.1       tls       668: .El
                    669: .Pp
                    670: There are probably others I have forgotten (let me know if you care)
1.11      mrg       671: .Pp
                    672: Please send all updates to
                    673: .Nm
                    674: to
1.32.6.1! msaitoh   675: .Aq Mt mrg@eterna.com.au
        !           676: for inclusion in future releases.
1.1       tls       677: .Sh BUGS
                    678: .Nm
1.27      mbalmer   679: does not handle HTTP/1.1 chunked input from the client yet.

CVSweb <webmaster@jp.NetBSD.org>