From 313986a96ed5f2afe01a49429f4499d4b3f2cd8d Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Tue, 15 Sep 2026 15:10:10 +0000 Subject: [PATCH] Regenerate docs. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1938253 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/caching.html.en.utf8 | 2 +- docs/manual/howto/cgi.html.en.utf8 | 2 +- docs/manual/mod/allmodules.xml | 2 +- docs/manual/mod/allmodules.xml.de | 1 + docs/manual/mod/allmodules.xml.es | 1 + docs/manual/mod/allmodules.xml.fr | 1 + docs/manual/mod/allmodules.xml.ja | 1 + docs/manual/mod/allmodules.xml.ko | 1 + docs/manual/mod/allmodules.xml.tr | 1 + docs/manual/mod/allmodules.xml.zh-cn | 1 + docs/manual/mod/directives.html.en.utf8 | 4 + docs/manual/mod/index.html.en.utf8 | 2 + docs/manual/mod/mod_auth_digest.html.en.utf8 | 127 +++++----- docs/manual/mod/mod_dav_lock.html | 13 - docs/manual/mod/mod_dav_lock.html.en.utf8 | 110 --------- docs/manual/mod/mod_dav_lock.html.fr.utf8 | 119 --------- docs/manual/mod/mod_dav_lock.html.ja.utf8 | 114 --------- docs/manual/mod/mod_mime_libmagic.html | 5 + .../manual/mod/mod_mime_libmagic.html.en.utf8 | 225 ++++++++++++++++++ docs/manual/mod/mod_mime_libmagic.xml.meta | 12 + docs/manual/mod/mod_proxy.html.en.utf8 | 21 +- .../manual/mod/mod_proxy_connect.html.en.utf8 | 12 +- docs/manual/mod/mod_systemd.html.en.utf8 | 71 +++++- docs/manual/mod/overrides.html.en.utf8 | 6 +- docs/manual/mod/quickreference.html.en.utf8 | 14 +- .../manual/programs/htcacheclean.html.en.utf8 | 11 +- docs/manual/rewrite/avoid.html.en.utf8 | 8 +- docs/manual/sitemap.html.en.utf8 | 1 + 28 files changed, 454 insertions(+), 434 deletions(-) delete mode 100644 docs/manual/mod/mod_dav_lock.html delete mode 100644 docs/manual/mod/mod_dav_lock.html.en.utf8 delete mode 100644 docs/manual/mod/mod_dav_lock.html.fr.utf8 delete mode 100644 docs/manual/mod/mod_dav_lock.html.ja.utf8 create mode 100644 docs/manual/mod/mod_mime_libmagic.html create mode 100644 docs/manual/mod/mod_mime_libmagic.html.en.utf8 create mode 100644 docs/manual/mod/mod_mime_libmagic.xml.meta diff --git a/docs/manual/caching.html.en.utf8 b/docs/manual/caching.html.en.utf8 index 25b684ef04..9a9e376f11 100644 --- a/docs/manual/caching.html.en.utf8 +++ b/docs/manual/caching.html.en.utf8 @@ -433,7 +433,7 @@ Vary: negotiate,accept-language,accept-charset

Typically the module will be configured as so;

-
CacheRoot   "/var/cache/apache/"
+      
CacheRoot   "/var/cache/apache"
 CacheEnable disk /
 CacheDirLevels 2
 CacheDirLength 1
diff --git a/docs/manual/howto/cgi.html.en.utf8 b/docs/manual/howto/cgi.html.en.utf8 index 7ab4be8524..36464fd444 100644 --- a/docs/manual/howto/cgi.html.en.utf8 +++ b/docs/manual/howto/cgi.html.en.utf8 @@ -486,7 +486,7 @@ import os print("Content-type: text/html\n") for key, value in os.environ.items(): -print(f"{key} --> {value}<br>")
+ print(f"{key} --> {value}<br>") diff --git a/docs/manual/mod/allmodules.xml b/docs/manual/mod/allmodules.xml index d2c35728fb..1955532018 100644 --- a/docs/manual/mod/allmodules.xml +++ b/docs/manual/mod/allmodules.xml @@ -80,8 +80,8 @@ mod_macro.xml mod_md.xml mod_mime.xml - mod_mime_magic.xml mod_mime_libmagic.xml + mod_mime_magic.xml mod_negotiation.xml mod_nw_ssl.xml mod_policy.xml diff --git a/docs/manual/mod/allmodules.xml.de b/docs/manual/mod/allmodules.xml.de index 992568364b..de8ddcaf22 100644 --- a/docs/manual/mod/allmodules.xml.de +++ b/docs/manual/mod/allmodules.xml.de @@ -80,6 +80,7 @@ mod_macro.xml mod_md.xml mod_mime.xml + mod_mime_libmagic.xml mod_mime_magic.xml mod_negotiation.xml mod_nw_ssl.xml diff --git a/docs/manual/mod/allmodules.xml.es b/docs/manual/mod/allmodules.xml.es index c341412aae..3eeb92f005 100644 --- a/docs/manual/mod/allmodules.xml.es +++ b/docs/manual/mod/allmodules.xml.es @@ -80,6 +80,7 @@ mod_macro.xml mod_md.xml mod_mime.xml + mod_mime_libmagic.xml mod_mime_magic.xml mod_negotiation.xml mod_nw_ssl.xml diff --git a/docs/manual/mod/allmodules.xml.fr b/docs/manual/mod/allmodules.xml.fr index 451105616e..b3c4c69c1b 100644 --- a/docs/manual/mod/allmodules.xml.fr +++ b/docs/manual/mod/allmodules.xml.fr @@ -80,6 +80,7 @@ mod_macro.xml.fr mod_md.xml.fr mod_mime.xml.fr + mod_mime_libmagic.xml mod_mime_magic.xml.fr mod_negotiation.xml.fr mod_nw_ssl.xml.fr diff --git a/docs/manual/mod/allmodules.xml.ja b/docs/manual/mod/allmodules.xml.ja index 30885ce94a..2e5cd38fa4 100644 --- a/docs/manual/mod/allmodules.xml.ja +++ b/docs/manual/mod/allmodules.xml.ja @@ -80,6 +80,7 @@ mod_macro.xml mod_md.xml mod_mime.xml.ja + mod_mime_libmagic.xml mod_mime_magic.xml mod_negotiation.xml.ja mod_nw_ssl.xml diff --git a/docs/manual/mod/allmodules.xml.ko b/docs/manual/mod/allmodules.xml.ko index 47e70e3166..0947e038e3 100644 --- a/docs/manual/mod/allmodules.xml.ko +++ b/docs/manual/mod/allmodules.xml.ko @@ -80,6 +80,7 @@ mod_macro.xml mod_md.xml mod_mime.xml + mod_mime_libmagic.xml mod_mime_magic.xml mod_negotiation.xml mod_nw_ssl.xml diff --git a/docs/manual/mod/allmodules.xml.tr b/docs/manual/mod/allmodules.xml.tr index 1be582f5a2..9ad18653e4 100644 --- a/docs/manual/mod/allmodules.xml.tr +++ b/docs/manual/mod/allmodules.xml.tr @@ -80,6 +80,7 @@ mod_macro.xml mod_md.xml mod_mime.xml + mod_mime_libmagic.xml mod_mime_magic.xml mod_negotiation.xml mod_nw_ssl.xml diff --git a/docs/manual/mod/allmodules.xml.zh-cn b/docs/manual/mod/allmodules.xml.zh-cn index d001c25c79..1955532018 100644 --- a/docs/manual/mod/allmodules.xml.zh-cn +++ b/docs/manual/mod/allmodules.xml.zh-cn @@ -80,6 +80,7 @@ mod_macro.xml mod_md.xml mod_mime.xml + mod_mime_libmagic.xml mod_mime_magic.xml mod_negotiation.xml mod_nw_ssl.xml diff --git a/docs/manual/mod/directives.html.en.utf8 b/docs/manual/mod/directives.html.en.utf8 index f3c352d280..13f7c83319 100644 --- a/docs/manual/mod/directives.html.en.utf8 +++ b/docs/manual/mod/directives.html.en.utf8 @@ -531,6 +531,10 @@
  • MetaDir
  • MetaFiles
  • MetaSuffix
  • +
  • MimeLibmagic
  • +
  • MimeLibmagicBytes
  • +
  • MimeLibmagicCharset
  • +
  • MimeLibmagicFile
  • MimeMagicDecompression
  • MimeMagicFile
  • MimeOptions
  • diff --git a/docs/manual/mod/index.html.en.utf8 b/docs/manual/mod/index.html.en.utf8 index a730219997..c6a93d0300 100644 --- a/docs/manual/mod/index.html.en.utf8 +++ b/docs/manual/mod/index.html.en.utf8 @@ -180,6 +180,8 @@ request processing with the file's behavior (handlers and filters) and content (mime-type, language, character set and encoding) +
    mod_mime_libmagic
    Determines the MIME type of a file from its contents + using libmagic
    mod_mime_magic
    Determines the MIME type of a file by looking at a few bytes of its contents
    mod_negotiation
    Provides for content negotiation
    diff --git a/docs/manual/mod/mod_auth_digest.html.en.utf8 b/docs/manual/mod/mod_auth_digest.html.en.utf8 index f3057d16d9..9855597511 100644 --- a/docs/manual/mod/mod_auth_digest.html.en.utf8 +++ b/docs/manual/mod/mod_auth_digest.html.en.utf8 @@ -38,15 +38,19 @@

    Summary

    This module implements HTTP Digest Authentication - (RFC 2617), and - provides an alternative to mod_auth_basic where the - password is not transmitted as cleartext. However, this does - not lead to a significant security advantage over - basic authentication. On the other hand, the password storage on the - server is much less secure with digest authentication than with - basic authentication. Therefore, using basic auth and encrypting the - whole connection using mod_ssl is a much better - alternative.

    + (RFC 2617), an alternative to the Basic authentication provided + by mod_auth_basic in which the password is not sent + over the network in cleartext.

    + +

    Basic and Digest are both authentication schemes only: they + establish who the client is, and do nothing for the confidentiality or + integrity of the request and response themselves. Over an unencrypted + connection the contents of every request and response are exposed with + either scheme; Digest's one advantage is that the password is not among + them. Digest is therefore not a substitute for a connection secured + with mod_ssl, which protects the credentials and the + data alike, and that one advantage has limits of its own (see the note + below).

    Topics

    top

    AuthDigestAlgorithm Directive

    - +response hashes in Digest authentication + @@ -123,18 +127,13 @@ response hashes in digest authentication
    Description:Selects the algorithm used to calculate the challenge and -response hashes in digest authentication
    Syntax:AuthDigestAlgorithm MD5|MD5-sess
    Syntax:AuthDigestAlgorithm MD5
    Default:AuthDigestAlgorithm MD5
    Context:directory, .htaccess
    Override:AuthConfig

    The AuthDigestAlgorithm directive selects the algorithm used to calculate the challenge and response - hashes.

    - -
    - MD5-sess is not correctly implemented yet. -
    - + hashes. Only MD5 is supported.

    top

    AuthDigestDomain Directive

    - @@ -204,14 +203,31 @@ client
    Description:URIs that are in the same protection space for digest +
    Description:URIs that are in the same protection space for Digest authentication
    Syntax:AuthDigestDomain URI [URI] ...
    Context:directory, .htaccess
    Module:mod_auth_digest

    The AuthDigestNonceLifetime directive - controls how long the server nonce is valid. When the client - contacts the server using an expired nonce the server will send - back a 401 with stale=true. If seconds is - greater than 0 then it specifies the amount of time for which the - nonce is valid; this should probably never be set to less than 10 - seconds. If seconds is less than 0 then the nonce never - expires. -

    + controls how long the server nonce is valid. When the client contacts + the server using an expired nonce the server sends back a 401 with + stale=true, and an RFC-compliant client retries with a + fresh nonce without prompting the user.

    + +
    top
    @@ -240,29 +256,25 @@ client
    top

    AuthDigestQop Directive

    - - +
    Description:Determines the quality-of-protection to use in digest +
    Description:Determines the quality-of-protection to use in Digest authentication
    Syntax:AuthDigestQop none|auth|auth-int [auth|auth-int]
    Syntax:AuthDigestQop auth
    Default:AuthDigestQop auth
    Context:directory, .htaccess
    Override:AuthConfig
    Status:Extension
    Module:mod_auth_digest
    -

    The AuthDigestQop directive determines - the quality-of-protection to use. auth will - only do authentication (username/password); auth-int is - authentication plus integrity checking (an MD5 hash of the entity - is also computed and checked); none will cause the module - to use the old RFC-2069 digest algorithm (which does not include - integrity checking). Both auth and auth-int may - be specified, in which the case the browser will choose which of - these to use. none should only be used if the browser for - some reason does not like the challenge it receives otherwise.

    +

    The AuthDigestQop directive determines the + quality-of-protection to use. Only auth + (authentication) is supported, and it is the default, so this + directive no longer has any effect and is retained only for + compatibility.

    -
    - auth-int is not implemented yet. -
    +
    Earlier releases also accepted none (the RFC 2069 + Digest scheme, without a quality-of-protection). It has been removed: + a request whose qop is missing or not auth + is now rejected.
    top
    @@ -271,7 +283,7 @@ authentication Description:The amount of shared memory to allocate for keeping track of clients Syntax:AuthDigestShmemSize size -Default:AuthDigestShmemSize 1000 +Default:AuthDigestShmemSize 8192 Context:server config Status:Extension Module:mod_auth_digest @@ -286,6 +298,13 @@ of clients 0 and read the error message after trying to start the server.

    +

    The default holds roughly 140 clients. A client which is discarded + to make room for another is not denied access: it is issued a new + nonce with stale=true, which costs it one extra request. + Note that a request which does not authenticate also takes an entry, + since the challenge sent back to it carries the identifier the client + is tracked by.

    +

    The size is normally expressed in Bytes, but you may follow the number with a K or an M to express your value as KBytes or MBytes. For example, the following diff --git a/docs/manual/mod/mod_dav_lock.html b/docs/manual/mod/mod_dav_lock.html deleted file mode 100644 index 9d77616fe7..0000000000 --- a/docs/manual/mod/mod_dav_lock.html +++ /dev/null @@ -1,13 +0,0 @@ -# GENERATED FROM XML -- DO NOT EDIT - -URI: mod_dav_lock.html.en.utf8 -Content-Language: en -Content-type: text/html; charset=UTF-8 - -URI: mod_dav_lock.html.fr.utf8 -Content-Language: fr -Content-type: text/html; charset=UTF-8 - -URI: mod_dav_lock.html.ja.utf8 -Content-Language: ja -Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dav_lock.html.en.utf8 b/docs/manual/mod/mod_dav_lock.html.en.utf8 deleted file mode 100644 index fd8da4dcb1..0000000000 --- a/docs/manual/mod/mod_dav_lock.html.en.utf8 +++ /dev/null @@ -1,110 +0,0 @@ - - - - - -mod_dav_lock - Apache HTTP Server Version 2.5 - - - - - - - -

    -
    <-
    -
    -Apache > HTTP Server > Documentation > Version 2.5 > Modules
    -
    -

    Apache Module mod_dav_lock

    -
    -

    Available Languages:  en  | - fr  | - ja 

    -
    - - - -
    Description:Generic locking module for mod_dav
    Status:Extension
    Module Identifier:dav_lock_module
    Source File:mod_dav_lock.c
    -

    Summary

    - -

    This module implements a generic locking API which can be used by any - backend provider of mod_dav. It requires at least - the service of mod_dav. But without a backend provider - which makes use of it, it's useless and should not be loaded into the - server. A sample backend module which actually utilizes - mod_dav_lock is mod_dav_svn, the subversion provider module.

    - -

    Note that mod_dav_fs does not need this - generic locking module, because it uses its own more specialized - version.

    - -

    In order to make mod_dav_lock functional, you just have - to specify the location of the lock database using the DavGenericLockDB directive described - below.

    - -

    Developer's Note

    -

    In order to retrieve the pointer to the locking provider function, you - have to use the ap_lookup_provider API with the arguments - dav-lock, generic, and 0.

    -
    -
    -

    Directives

    - -

    Bugfix checklist

    See also

    -
    - -
    top
    -

    DavGenericLockDB Directive

    - - - - - - -
    Description:Location of the DAV lock database
    Syntax:DavGenericLockDB file-path
    Context:server config, virtual host, directory
    Status:Extension
    Module:mod_dav_lock
    -

    Use the DavGenericLockDB directive to specify - the full path to the lock database, excluding an extension. If - the path is not absolute, it will be interpreted relative to ServerRoot. The implementation of - mod_dav_lock uses a SDBM database to track user - locks.

    - -

    Example

    DavGenericLockDB var/DavLock
    -
    - -

    The directory containing the lock database file must be - writable by the User - and Group under which - Apache is running. For security reasons, you should create a - directory for this purpose rather than changing the permissions on - an existing directory. In the above example, Apache will create - files in the var/ directory under the ServerRoot with the base filename - DavLock and an extension added by the server.

    - - -
    -
    -
    -

    Available Languages:  en  | - fr  | - ja 

    -
    - \ No newline at end of file diff --git a/docs/manual/mod/mod_dav_lock.html.fr.utf8 b/docs/manual/mod/mod_dav_lock.html.fr.utf8 deleted file mode 100644 index 702baf1c20..0000000000 --- a/docs/manual/mod/mod_dav_lock.html.fr.utf8 +++ /dev/null @@ -1,119 +0,0 @@ - - - - - -mod_dav_lock - Serveur HTTP Apache Version 2.5 - - - - - - - - -
    <-
    -
    -Apache > Serveur HTTP > Documentation > Version 2.5 > Modules
    -
    -

    Module Apache mod_dav_lock

    -
    -

    Langues Disponibles:  en  | - fr  | - ja 

    -
    - - - -
    Description:Module de verrouillage générique pour -mod_dav
    Statut:Extension
    Identificateur de Module:dav_lock_module
    Fichier Source:mod_dav_lock.c
    -

    Sommaire

    - -

    ce module implémente une API de verrouillage générique que tout - fournisseur support de mod_dav peut utiliser. Son - activation nécessite l'utilisation de mod_dav. Mais - sans fournisseur support pour l'utiliser, il n'est d'aucun service - et ne doit pas être chargé dans le serveur. mod_dav_svn, le module qui - implémente le fournisseur subversion, est un exemple - de module de support qui utilise effectivement - mod_dav_lock.

    - -

    Notez que mod_dav_fs n'a pas besoin de - ce module de verrouillage générique, car il utilise sa propre - version plus spécifique.

    - -

    Pour que mod_dav_lock puisse fonctionner, il - vous suffit de spécifier le chemin de la base de données des verrous - à l'aide de la directive DavGenericLockDB décrite - ci-dessous.

    - -

    Note du développeur

    -

    Pour déterminer le pointeur de la fonction du fournisseur de - verrouillage, vous devez utiliser l'API - ap_lookup_provider avec les arguments - dav-lock, generic et 0.

    -
    -
    - - -
    top
    -

    Directive DavGenericLockDB

    - - - - - - -
    Description:Chemin de la base de données des verrous DAV
    Syntaxe:DavGenericLockDB chemin fichier
    Contexte:configuration globale, serveur virtuel, répertoire
    Statut:Extension
    Module:mod_dav_lock
    -

    La directive DavLockDB spécifie - le chemin complet de la base de données des verrous, sans extension. - Si le chemin n'est pas absolu, il sera considéré comme relatif au - répertoire défini par la directive ServerRoot. L'implémentation de - mod_dav_lock utilise une base de données SDBM pour - surveiller les verrous utilisateurs.

    - -

    Exemple

    DavGenericLockDB var/DavLock
    -
    - -

    Les utilisateur et groupe sous lesquels Apache s'exécute et qui - sont respectivement définis par les directives User et Group doivent pouvoir écrire dans le - répertoire qui contient le fichier de la base de données des - verrous. Pour des raisons de sécurité, il est recommandé de créer un - répertoire dédié à la base de données des verrous, plutôt que de - modifier les permissions d'un répertoire existant. Dans l'exemple - ci-dessus, Apache va créer des fichiers dans le répertoire - var/, lui-même sous-répertoire du répertoire défini par - la directive ServerRoot, avec le nom de base - DavLock suivi d'une extension choisie par le - serveur.

    - - -
    -
    -
    -

    Langues Disponibles:  en  | - fr  | - ja 

    -
    - \ No newline at end of file diff --git a/docs/manual/mod/mod_dav_lock.html.ja.utf8 b/docs/manual/mod/mod_dav_lock.html.ja.utf8 deleted file mode 100644 index 679620535c..0000000000 --- a/docs/manual/mod/mod_dav_lock.html.ja.utf8 +++ /dev/null @@ -1,114 +0,0 @@ - - - - - -mod_dav_lock - Apache HTTP サーバ バージョン 2.5 - - - - - - - - -
    <-
    -
    -Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.5 > モジュール
    -
    -

    Apache モジュール mod_dav_lock

    -
    -

    翻訳済み言語:  en  | - fr  | - ja 

    -
    - - - -
    説明:mod_dav 用の汎用ロックモジュール
    ステータス:Extension
    モジュール識別子:dav_lock_module
    ソースファイル:mod_dav_lock.c
    -

    概要

    - -

    このモジュールは mod_dav のどのバックエンド - からでも使える汎用ロック API を提供します。 - 使用には最低限 mod_dav - を必要としますが、これを利用するバックエンドが存在しないと役に立たないので、 - そのような場合はサーバに読み込むべきではありません。 - mod_dav_lock - を実際に利用するバックエンドモジュールの例としては subversion - プロバイダモジュールの mod_dav_svn があります。

    - -

    mod_dav_fs は特化された専用のバージョンを - 使うため、この汎用モジュールは必要ないことに注意して - ください。

    - -

    mod_dav_lock を機能させるには、 - 以下で説明されている DavGenericLockDB を使って - ロックデータベースの場所を指定するだけです。

    - -

    開発者向けのメモ

    -

    ロックを提供している関数へのポインタを取得するためには、 - ap_lookup_provider API を、引数 dav-lock, - generic, 0 を指定して使う必要が - あります。

    -
    -
    -

    ディレクティブ

    - -

    Bugfix checklist

    参照

    -
    - -
    top
    -

    DavGenericLockDB ディレクティブ

    - - - - - - -
    説明:DAV ロックデータベースの場所
    構文:DavGenericLockDB file-path
    コンテキスト:サーバ設定ファイル, バーチャルホスト, ディレクトリ
    ステータス:Extension
    モジュール:mod_dav_lock
    -

    DavGenericLockDB ディレクティブを - 使って、拡張子を除いたロックデータベースへのフルパスを - 指定します。絶対パスでないときは ServerRoot からの相対パスとして - 扱われます。mod_dav_lock の実装ではユーザの - ロックを追跡するのに SDBM データベースを使います。

    - -

    例

    DavGenericLockDB var/DavLock
    -
    - -

    ロックデータベースファイルのあるディレクトリは - Apache が実行されている User - と Group によって - 書き込み可能でなければなりません。セキュリティ上の理由から、 - 既存のディレクトリのパーミッションを変更するのではなく、 - 専用のディレクトリを作るのが良いでしょう。上の例では、 - Apache は ServerRoot の下の var/ - ディレクトリに、ファイル名の本体が DavLock で - サーバが追加する拡張子を持つファイルを作成します。

    - - -
    -
    -
    -

    翻訳済み言語:  en  | - fr  | - ja 

    -
    - \ No newline at end of file diff --git a/docs/manual/mod/mod_mime_libmagic.html b/docs/manual/mod/mod_mime_libmagic.html new file mode 100644 index 0000000000..07c59b0b21 --- /dev/null +++ b/docs/manual/mod/mod_mime_libmagic.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_mime_libmagic.html.en.utf8 +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_mime_libmagic.html.en.utf8 b/docs/manual/mod/mod_mime_libmagic.html.en.utf8 new file mode 100644 index 0000000000..95cfd639a4 --- /dev/null +++ b/docs/manual/mod/mod_mime_libmagic.html.en.utf8 @@ -0,0 +1,225 @@ + + + + +mod_mime_libmagic - Apache HTTP Server Version 2.5 + + + + + + + + +
    <-
    +
    +Apache > HTTP Server > Documentation > Version 2.5 > Modules
    +
    +

    Apache Module mod_mime_libmagic

    + +
    +

    Available Languages:  en 

    +
    + + + + +
    Description:Determines the MIME type of a file from its contents + using libmagic
    Status:Extension
    Module Identifier:mime_libmagic_module
    Source File:mod_mime_libmagic.c
    Compatibility:Available in Apache 2.5.1 and later
    +

    Summary

    + +

    This module determines the MIME + type of a file by examining its contents, in the same + way the file(1) command does. It is intended as a + "second line of defense" for files which + mod_mime cannot type from their extension: it + runs after mod_mime and does nothing if a type + has already been set.

    + +

    Unlike mod_mime_magic, which has its own + copy of the file(1) engine and its own magic + database, this module uses the system's libmagic(3) + library and magic database from the file package, + so the types it reports are those which file --mime-type + would report. The module is built only if libmagic is found at + configure time, and is only active in a server or virtual host + where MimeLibmagic + is On.

    + +

    Where libmagic reports application/octet-stream + the module sets no type, leaving the response without a + Content-Type header, as mod_mime_magic + does for unrecognised content. Directories are typed as + httpd/unix-directory and empty files as + text/plain.

    + +

    The module does not look inside compressed files and never + sets a Content-Encoding: a gzip file is reported as + application/gzip. This differs from + mod_mime_magic, which reports the compressed + file's encoding.

    +
    + +
    top
    +
    +

    Performance and memory overhead

    + +

    A libmagic handle is created, loaded with the magic database + and destroyed for every request examined. Loading a compiled database + (magic.mgc) maps the file into memory rather than + parsing it, and the mapped pages are shared between all server + processes, so this is inexpensive. If the configured database + is a text file rather than a compiled one, it is parsed on every + request.

    + +

    Only the first MimeLibmagicBytes bytes of a file are read and + examined, whatever its size.

    + +

    Examining text content in particular can allocate a few + megabytes of memory temporarily. With a threaded MPM and a C + library which keeps a separate heap per thread, each server + thread retains its peak allocation, so the resident size of a + busy child process can grow by that much per thread before + levelling off. This is not a leak.

    +
    +
    top
    +

    MimeLibmagic Directive

    + + + + + + + +
    Description:Enable MIME type determination from file contents
    Syntax:MimeLibmagic On|Off
    Default:MimeLibmagic Off
    Context:server config, virtual host
    Status:Extension
    Module:mod_mime_libmagic
    +

    The MimeLibmagic directive enables the + module for a server or virtual host. Files which + mod_mime leaves untyped, typically those without + a recognised extension, then have their contents examined by + libmagic.

    + +

    Example

    MimeLibmagic On
    +
    + +
    +
    top
    +

    MimeLibmagicBytes Directive

    + + + + + + + +
    Description:Number of bytes of a file examined
    Syntax:MimeLibmagicBytes bytes
    Default:MimeLibmagicBytes 16384
    Context:server config, virtual host
    Status:Extension
    Module:mod_mime_libmagic
    +

    The MimeLibmagicBytes directive sets + how many bytes from the start of a file are read and examined. + Larger values allow magic rules which look deeper into a file to + match, at the cost of reading more of every examined file. The + maximum is 1048576.

    + +
    +
    top
    +

    MimeLibmagicCharset Directive

    + + + + + + + +
    Description:Add a charset parameter to text types
    Syntax:MimeLibmagicCharset On|Off
    Default:MimeLibmagicCharset Off
    Context:server config, virtual host
    Status:Extension
    Module:mod_mime_libmagic
    +

    When MimeLibmagicCharset is + On, the character encoding libmagic detects (such + as us-ascii, utf-8 or + iso-8859-1) is added as a charset + parameter to text/* types, giving for example + text/plain; charset=utf-8. Other types are not + affected. As with AddDefaultCharset, the detected charset should be + trusted only where the content is known to be encoded + consistently.

    + +
    +
    top
    +

    MimeLibmagicFile Directive

    + + + + + + + +
    Description:The magic database to use
    Syntax:MimeLibmagicFile file-path
    Default:The default database of the installed libmagic
    Context:server config, virtual host
    Status:Extension
    Module:mod_mime_libmagic
    +

    The MimeLibmagicFile directive names + the magic database, in place of the default compiled into + libmagic (typically /usr/share/misc/magic, for which + the compiled magic.mgc alongside it is loaded). + The database must be in the format described in + magic(5); the file distributed with + mod_mime_magic is not suitable. A relative path + is taken relative to the ServerRoot. If the database cannot be loaded, an + error is logged for each request examined and the file is left + untyped.

    + +

    Note that the MAGIC environment variable, if set + when the server is started, overrides the library default, but + not a database given with this directive.

    + +

    Example

    MimeLibmagicFile /usr/share/misc/magic.mgc
    +
    + +
    +
    +
    +

    Available Languages:  en 

    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_mime_libmagic.xml.meta b/docs/manual/mod/mod_mime_libmagic.xml.meta new file mode 100644 index 0000000000..c634cfb554 --- /dev/null +++ b/docs/manual/mod/mod_mime_libmagic.xml.meta @@ -0,0 +1,12 @@ + + + + + mod_mime_libmagic + /mod/ + .. + + + en + + diff --git a/docs/manual/mod/mod_proxy.html.en.utf8 b/docs/manual/mod/mod_proxy.html.en.utf8 index 2b19db08c3..578589a6da 100644 --- a/docs/manual/mod/mod_proxy.html.en.utf8 +++ b/docs/manual/mod/mod_proxy.html.en.utf8 @@ -742,8 +742,9 @@ NoProxy .example.com 192.168.112.0/21 Module:mod_proxy

    Directives placed in <Proxy> - sections apply only to matching proxied content using a simple string prefix match against the URL. Shell-style wildcards are also - allowed.

    + sections apply only to matching proxied content using a simple string + prefix match against the URL. Shell-style wildcards are also allowed. +

    For example, the following will allow only hosts in yournetwork.example.com to access content via your proxy @@ -774,6 +775,14 @@ NoProxy .example.com 192.168.112.0/21 </Proxy> +

    Warning

    + This configuration section does not canonicalize any part of the string + being matched such as schemes, hostnames, IP addresses, etc. Care should be + taken if using it for access control, including but not limited to + denying access by default and allowing expected hostnames rather than the + inverse where a denial could be bypassed by using alternate forms. +
    +

    Differences from the Location configuration section

    A backend URL matches the configuration section if it begins with the the wildcard-url string, even if the last path segment in the @@ -1098,6 +1107,14 @@ proxied resources identical to the <Proxy> directive, except that it matches URLs using regular expressions.

    +

    Warning

    + This configuration section does not canonicalize any part of the string + being matched such as schemes, hostnames, IP addresses, etc. Care should be + taken if using it for access control, including but not limited to + denying access by default and allowing expected hostnames rather than the + inverse where a denial could be bypassed by using alternate forms. +
    +

    From 2.4.8 onwards, named groups and backreferences are captured and written to the environment with the corresponding name prefixed with "MATCH_" and in upper case. This allows elements of URLs to be referenced diff --git a/docs/manual/mod/mod_proxy_connect.html.en.utf8 b/docs/manual/mod/mod_proxy_connect.html.en.utf8 index 72f3fb4301..89f90b080a 100644 --- a/docs/manual/mod/mod_proxy_connect.html.en.utf8 +++ b/docs/manual/mod/mod_proxy_connect.html.en.utf8 @@ -116,8 +116,16 @@ Port ranges available since Apache 2.3.7. AllowCONNECT directive to override this default and allow connections to the listed ports only.

    -

    Set the value to None to disallow - CONNECT requests to all ports, including the defaults.

    +

    Set the value to None to disallow CONNECT + requests to all ports, including the defaults. None cannot + be combined with port numbers in the same context.

    + +

    Where AllowCONNECT is set in both the main + server and a virtual host, the lists of ports are merged, so a virtual + host may permit additional ports. A value of None takes + precedence and disallows all ports where it is set; but an inherited + None is in turn overridden by an explicit list of ports in a + virtual host.

    diff --git a/docs/manual/mod/mod_systemd.html.en.utf8 b/docs/manual/mod/mod_systemd.html.en.utf8 index 8a3ed4b803..3062588346 100644 --- a/docs/manual/mod/mod_systemd.html.en.utf8 +++ b/docs/manual/mod/mod_systemd.html.en.utf8 @@ -38,7 +38,7 @@

    This module provides support for systemd integration. It allows httpd to be used in a service with the systemd - Type=notify (see systemd.service(5) + Type=notify or Type=notify-reload (see systemd.service(5) for more information). The module is activated if loaded.

    Example of systemd service unit (more settings are probably needed for production systems)

    [Unit]
    @@ -68,12 +68,79 @@ WantedBy=multi-user.target
    any processes are still running. See systemd.kill(5) for more information.

    -

    This module does not provide support for Systemd socket activation.

    +

    A service manager from systemd 253 onwards offers + Type=notify-reload, which is worth using in preference. + Under Type=notify a systemctl reload + returns as soon as the ExecReload command has sent its + signal, which is before the new configuration has been read, and it + reports success whatever becomes of the restart afterwards. + Type=notify-reload instead holds the reload open until + the server reports it finished, so the command waits for the new + configuration to be in use and fails if it never is. mod_systemd + sends the RELOADING=1 notification the protocol expects + while the configuration is being read, stamped with the + MONOTONIC_USEC the service manager requires, and + READY=1 once it has been loaded.

    + +

    Example of a service unit which reloads synchronously

    [Service]
    +Type=notify-reload
    +ReloadSignal=SIGCONT
    +ExecStart=/usr/local/apache2/bin/httpd -D FOREGROUND -k start
    +ExecReload=/usr/local/apache2/bin/httpd -k graceful
    +KillMode=mixed
    + +

    The service manager runs ExecReload first, and sends + the signal named by ReloadSignal only once that command + has exited successfully. Keeping ExecReload is what + makes the reload safe: httpd -k graceful parses the new + configuration in a process of its own and exits without signalling + anything if it does not parse, so the reload fails and the running + server carries on with the configuration it already has. Leaving + ExecReload out, and letting the service manager signal + the server directly, gives up that check: the running parent reads + the new configuration itself, and a configuration which does not + parse makes it exit, taking the server down.

    + +

    The signal sent after ExecReload has run is then + redundant, so ReloadSignal should name one httpd does + not act on, such as SIGCONT. It matters that it is set: + the default is SIGHUP, which httpd takes as an + ungraceful restart, dropping the connections a reload is + meant to preserve. A unit which does leave out + ExecReload must set ReloadSignal=SIGUSR1, + the signal httpd restarts gracefully on.

    + +

    Systemd socket activation is supported if httpd was built with + it. Each Listen port + must then be one passed in by systemd; a port which was not is a + fatal configuration error rather than one httpd opens for itself. + Socket activation is used only if this module is loaded, so it can + be built in and left unused.

    ExtendedStatus is enabled by default if the module is loaded. If ExtendedStatus is not disabled in the configuration, run-time load and request statistics are made available in the systemctl status output.

    + +

    The systemd watchdog is supported. If the service unit sets + WatchdogSec=, the parent process sends the keep-alive + notification which tells systemd the server is still alive; a server + which stops sending it is terminated and, with a suitable + Restart= setting, restarted. The notification is sent + while the configuration is being read and again once it is loaded, so + that a reload is covered, and periodically from the parent process + while the server runs.

    + +

    That periodic notification is sent about every ten seconds, which + is how often the parent process runs the hook it is sent from. A + WatchdogSec= of less than twice that cannot be met, and + would have systemd terminating a server which is working normally; + such a setting is reported as a warning at startup. Use a + WatchdogSec= of at least 20 seconds.

    + +

    Adding watchdog supervision to either unit above

    [Service]
    +WatchdogSec=30
    +Restart=on-failure

    Directives

    This module provides no diff --git a/docs/manual/mod/overrides.html.en.utf8 b/docs/manual/mod/overrides.html.en.utf8 index 6f911f725b..0691927d16 100644 --- a/docs/manual/mod/overrides.html.en.utf8 +++ b/docs/manual/mod/overrides.html.en.utf8 @@ -278,9 +278,9 @@ store passwords passwords for authentication AuthDigestAlgorithmmod_auth_digest Selects the algorithm used to calculate the challenge and -response hashes in digest authentication +response hashes in Digest authentication AuthDigestDomainmod_auth_digest -URIs that are in the same protection space for digest +URIs that are in the same protection space for Digest authentication AuthDigestNcCheckmod_auth_digest Enables or disables checking of the nonce-count sent by the @@ -290,7 +290,7 @@ client AuthDigestProvidermod_auth_digest Sets the authentication provider(s) for this location AuthDigestQopmod_auth_digest -Determines the quality-of-protection to use in digest +Determines the quality-of-protection to use in Digest authentication AuthFormAuthoritativemod_auth_form Sets whether authorization and authentication are passed to diff --git a/docs/manual/mod/quickreference.html.en.utf8 b/docs/manual/mod/quickreference.html.en.utf8 index 1d42c5fb17..a0dffbf3b9 100644 --- a/docs/manual/mod/quickreference.html.en.utf8 +++ b/docs/manual/mod/quickreference.html.en.utf8 @@ -174,18 +174,18 @@ of user groups for authorization store passwords AuthDBMUserFile file-pathdhESets the name of a database file containing the list of users and passwords for authentication -AuthDigestAlgorithm MD5|MD5-sess MD5 dhESelects the algorithm used to calculate the challenge and -response hashes in digest authentication -AuthDigestDomain URI [URI] ...dhEURIs that are in the same protection space for digest +AuthDigestAlgorithm MD5 MD5 dhESelects the algorithm used to calculate the challenge and +response hashes in Digest authentication +AuthDigestDomain URI [URI] ...dhEURIs that are in the same protection space for Digest authentication AuthDigestNcCheck On|Off Off svdhEEnables or disables checking of the nonce-count sent by the client AuthDigestNonceLifetime seconds 300 dhEHow long the server nonce is valid AuthDigestProvider provider-name [provider-name] ... file dhESets the authentication provider(s) for this location -AuthDigestQop none|auth|auth-int [auth|auth-int] auth dhEDetermines the quality-of-protection to use in digest +AuthDigestQop auth auth dhEDetermines the quality-of-protection to use in Digest authentication -AuthDigestShmemSize size 1000 sEThe amount of shared memory to allocate for keeping track +AuthDigestShmemSize size 8192 sEThe amount of shared memory to allocate for keeping track of clients AuthFormAuthoritative On|Off On dhBSets whether authorization and authentication are passed to lower level modules @@ -827,6 +827,10 @@ files MetaFiles on|off off svdhDActivates CERN meta-file processing MetaSuffix suffix .meta svdhDFile name suffix for the file containing CERN-style meta information +MimeLibmagic On|Off Off svEEnable MIME type determination from file contents +MimeLibmagicBytes bytes 16384 svENumber of bytes of a file examined +MimeLibmagicCharset On|Off Off svEAdd a charset parameter to text types +MimeLibmagicFile file-pathsvEThe magic database to use MimeMagicDecompression On|Off Off svEEnable decompression of compressed files for MIME type detection MimeMagicFile file-pathsvEEnable MIME-type determination based on file contents using the specified magic file diff --git a/docs/manual/programs/htcacheclean.html.en.utf8 b/docs/manual/programs/htcacheclean.html.en.utf8 index 0017bb2c51..9a1a4bff0c 100644 --- a/docs/manual/programs/htcacheclean.html.en.utf8 +++ b/docs/manual/programs/htcacheclean.html.en.utf8 @@ -198,10 +198,13 @@

    status
    Status of the cached response.
    entity version
    The number of times this entry has been revalidated without being deleted.
    -
    date
    Date of the response.
    -
    expiry
    Expiry date of the response.
    -
    request time
    Time of the start of the request.
    -
    response time
    Time of the end of the request.
    +
    date
    Timestamp of the response in microseconds.
    +
    expiry
    Expiry timestamp of the response in + microseconds.
    +
    request time
    Timestamp of the start of the request in + microseconds.
    +
    response time
    Timestamp of the end of the request in + microseconds.
    body present
    If 0, no body is stored with this request, 1 otherwise.
    head request
    If 1, the entry contains a cached HEAD diff --git a/docs/manual/rewrite/avoid.html.en.utf8 b/docs/manual/rewrite/avoid.html.en.utf8 index 56c13b1f88..4612ef95a7 100644 --- a/docs/manual/rewrite/avoid.html.en.utf8 +++ b/docs/manual/rewrite/avoid.html.en.utf8 @@ -423,9 +423,11 @@ RewriteRule "^/secret/files/" "-" [F] Require directly:

    <Location "/">
    -    Require all granted
    -    Require not ip 193.102.180.41
    -    Require not ip 192.76.162.40
    +    <RequireAll>
    +        Require all granted
    +        Require not ip 193.102.180.41
    +        Require not ip 192.76.162.40
    +    </RequireAll>
     </Location>
    diff --git a/docs/manual/sitemap.html.en.utf8 b/docs/manual/sitemap.html.en.utf8 index 44ebb65744..58e78cb0f2 100644 --- a/docs/manual/sitemap.html.en.utf8 +++ b/docs/manual/sitemap.html.en.utf8 @@ -271,6 +271,7 @@ log_server_status
  • Apache Module mod_macro
  • Apache Module mod_md
  • Apache Module mod_mime
  • +
  • Apache Module mod_mime_libmagic
  • Apache Module mod_mime_magic
  • Apache Module mod_negotiation
  • Apache Module mod_nw_ssl