httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lgen...@apache.org
Subject svn commit: r1811665 - in /httpd/httpd/trunk/docs/manual: expr.xml.fr mod/mod_proxy.xml.fr
Date Tue, 10 Oct 2017 11:14:31 GMT
Author: lgentis
Date: Tue Oct 10 11:14:30 2017
New Revision: 1811665

URL: http://svn.apache.org/viewvc?rev=1811665&view=rev
Log:
XML updates.

Modified:
    httpd/httpd/trunk/docs/manual/expr.xml.fr
    httpd/httpd/trunk/docs/manual/mod/mod_proxy.xml.fr

Modified: httpd/httpd/trunk/docs/manual/expr.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/expr.xml.fr?rev=1811665&r1=1811664&r2=1811665&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/expr.xml.fr [utf-8] (original)
+++ httpd/httpd/trunk/docs/manual/expr.xml.fr [utf-8] Tue Oct 10 11:14:30 2017
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
-<!-- English Revision: 1788508:1811111 (outdated) -->
+<!-- English Revision: 1811111 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -85,30 +85,43 @@
       (souvent abrégée en BNF, de l'anglais Backus-Naur Form) est une notation permettant
de décrire
       les règles syntaxiques des langages de programmation. En
       général, les expressions représentent des valeurs booléennes. Dans
-      ce cas, le point de départ de la BNF est <code>expr</code>.
-      Cependant, certaines directives comme <directive
-      module="mod_log_debug">LogMessage</directive> utilisent comme
+      ce cas, le point de départ de la BNF est <code>cond</code>.
+      Les directives comme
+      <directive module="core">ErrorDocument</directive>,
+      <directive module="mod_authz_core">Require</directive>,
+      <directive module="mod_authn_core">AuthName</directive>,
+      <directive module="mod_alias">Redirect</directive>,
+      <directive module="mod_headers">Header</directive>,
+      <directive module="mod_crypto">CryptoKey</directive> ou
+      <directive module="mod_log_debug">LogMessage</directive> utilisent comme
       paramètres des expressions qui représentent des chaînes de
       caractères. Dans ce cas, le point de départ de la BNF est
       <code>string</code>.
       </p>
 <blockquote>
 <pre>
-expr        ::= "<strong>true</strong>" | "<strong>false</strong>"
-              | "<strong>!</strong>" expr
-              | expr "<strong>&amp;&amp;</strong>" expr
-              | expr "<strong>||</strong>" expr
-              | "<strong>(</strong>" expr "<strong>)</strong>"
+expr        ::= cond
+              | string
+
+string      ::= substring
+              | string substring
+
+cond        ::= "<strong>true</strong>" 
+              | "<strong>false</strong>"
+              | "<strong>!</strong>" cond
+              | cond "<strong>&amp;&amp;</strong>" cond
+              | cond "<strong>||</strong>" cond
               | comp
+	      | "<strong>(</strong>" cond "<strong>)</strong>"
 
 comp        ::= stringcomp
               | integercomp
               | unaryop word
               | word binaryop word
-              | word "<strong>in</strong>" "<strong>{</strong>" wordlist
"<strong>}</strong>"
-              | word "<strong>in</strong>" listfunction
+              | word "<strong>in</strong>" listfunc
               | word "<strong>=~</strong>" regex
               | word "<strong>!~</strong>" regex
+	      | word "<strong>in</strong>" "<strong>{</strong>" list "<strong>}</strong>"
 
 
 stringcomp  ::= word "<strong>==</strong>" word
@@ -125,35 +138,65 @@ integercomp ::= word "<strong>-eq</stron
               | word "<strong>-gt</strong>" word | word "<strong>gt</strong>"
word
               | word "<strong>-ge</strong>" word | word "<strong>ge</strong>"
word
 
-wordlist    ::= word
-              | wordlist "<strong>,</strong>" word
-
-word        ::= word "<strong>.</strong>" word
-              | digit
+word        ::= digits
               | "<strong>'</strong>" string "<strong>'</strong>"
-              | "<strong>"</strong>" string "<strong>"</strong>"
+              | '<strong>"</strong>' string '<strong>"</strong>'
+              | word "<strong>.</strong>" word
               | variable
-	      | rebackref
+	      | sub
+              | join
               | function
+	      | "<strong>(</strong>" word "<strong>)</strong>"
 
-string      ::= stringpart
-              | string stringpart
+list        ::= split
+              | listfunc
+              | "<strong>{</strong>" words "<strong>}</strong>"
+              | "<strong>(</strong>" list "<strong>)</strong>"
 
-stringpart  ::= cstring
+substring   ::= cstring
               | variable
-	      | rebackref
 
-cstring     ::= ...
-digit       ::= [0-9]+
 
 variable    ::= "<strong>%{</strong>" varname "<strong>}</strong>"
               | "<strong>%{</strong>" funcname "<strong>:</strong>"
funcargs "<strong>}</strong>"
+	      | "<strong>%{:</strong>" word "<strong>:}</strong>"
+              | "<strong>%{:</strong>" cond "<strong>:}</strong>"
+              | rebackref
+
+sub         ::= "<strong>sub</strong>" ["<strong>(</strong>"] regsub
"<strong>,</strong>" word ["<strong>)</strong>"]
+
+join        ::= "<strong>join</strong>" ["<strong>(</strong>"] list
["<strong>)</strong>"]
+              | "<strong>join</strong>" ["<strong>(</strong>"] list
"<strong>,</strong>" word ["<strong>)</strong>"]
+
+split       ::= "<strong>split</strong>" ["<strong>(</strong>"] regany
"<strong>,</strong>" list ["<strong>)</strong>"]
+              | "<strong>split</strong>" ["<strong>(</strong>"] regany
"<strong>,</strong>" word ["<strong>)</strong>"]
+
+function    ::= funcname "<strong>(</strong>" words "<strong>)</strong>"
+
+listfunc    ::= listfuncname "<strong>(</strong>" words "<strong>)</strong>"
 
-rebackref   ::= "<strong>$</strong>" [0-9]
+words       ::= word
+              | word "<strong>,</strong>" list
 
-function     ::= funcname "<strong>(</strong>" wordlist "<strong>)</strong>"
+regex       ::= "<strong>/</strong>" regpattern "<strong>/</strong>"
[regflags]
+              | "<strong>m</strong>" regsep regpattern regsep [regflags]
 
-listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"
+regsub      ::= "<strong>s</strong>" regsep regpattern regsep string regsep [regflags]
+
+regany      ::= regex | regsub
+
+regsep      ::= "/" | "#" | "$" | "%" | "^" | "|" | "?" | "!" | "'" | '"' | "," | ";" | ":"
| "." | "_" | "-"
+
+regflags    ::= 1*("i" | "s" | "m" | "g")
+regpattern  ::= cstring ; except enclosing <em>regsep</em>
+
+rebackref   ::= "<strong>$</strong>" DIGIT
+
+digits      ::= 1*(DIGIT)
+cstring     ::= 0*(TEXT)
+
+TEXT        ::= &lt;any OCTET except CTLs&gt;
+DIGIT       ::= &lt;any US-ASCII digit "0".."9"&gt;
 </pre>
 </blockquote>
 </section>
@@ -348,6 +391,22 @@ listfunction ::= listfuncname "<strong>(
     <p>Certains modules, comme <module>mod_ssl</module>, définissent des
     variables supplémentaires.</p>
 
+    <p>Toute variable peut être insérée dans une <em>chaîne</em>, et
ceci non
+    seulement dans les chaînes entre quotes des expressions booléennes, mais
+    aussi dans les expressions littérales issues de la concaténation de chaînes
+    constantes et dynamiques.</p>
+
+    <p>On peut utiliser ici les variables (temporaires) du style
+    <code>%{:<em>word</em>:}</code> qui permettent d'insérer dans
les deux types
+    d'expressions des variables (et des constructions) avec la syntaxe puissante
+    <em>word</em> sans entrer en conflit avec les parties constantes de telles
+    chaînes. Même si la syntaxe <em>word</em> est directement utilisable au
sein
+    des expressions booléennes, ces variables sont cependant surtout utiles dans
+    les expressions littérales. Ces variables permettent d'évaluer des
+    expressions rationnelles, des substitutions, de concaténer ou dissocier des
+    chaînes et des listes au sein des expressions littérales, et donc de
+    construire des chaînes complexes dynamiquement.</p>
+
 </section>
 
 <section id="binop">
@@ -614,8 +673,8 @@ listfunction ::= listfuncname "<strong>(
 
     <p>En plus des fonctions dont la valeur est une chaîne, il existe
     aussi des fonctions dont la valeur est une liste, qui acceptent une
-    chaîne comme argument, et renvoient une liste de mots, autrement dit
-    une liste de chaînes. La liste de mot peut être utilisée avec
+    chaîne comme argument, et renvoient une liste , par exemple
+    une liste de chaînes. La liste peut être utilisée avec
     l'opérateur spécial <code>-in</code>. Les noms de fonctions sont
     insensibles à la casse. Les modules peuvent fournir des fonctions
     supplémentaires.</p>
@@ -687,7 +746,7 @@ listfunction ::= listfuncname "<strong>(
 &lt;/If&gt;
 
 
-# Function example in string context
+# Exemple de fonction dans un contexte littéral
 Header set foo-checksum "expr=%{md5:foo}"
 
 # L'exemple suivant retarde l'évaluation de la clause de condition par rapport à
@@ -695,6 +754,15 @@ Header set foo-checksum "expr=%{md5:foo}
 Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~
 m#^/special_path\.php$#"
 
+# Ajoute un en-tête permettant d'acheminer le SAN du certificat d'un client vers
+# un quelconque serveur d'arrière-plan
+RequestHeader set X-Client-SAN "expr=%{:join PeerExtList('subjectAltName'):}"
+
+# Impose la présence de l'adresse IP distante dans le SAN du certificat d'un client
+Require expr %{REMOTE_ADDR} -in split s/.*?IP Address:([^,]+)/$1/, PeerExtList('subjectAltName')
+# autre solution :
+Require expr "IP Address:%{REMOTE_ADDR}" -in split/, /, join PeerExtList('subjectAltName')
+
 	</highlight>
 </section>
 
@@ -707,7 +775,7 @@ m#^/special_path\.php$#"
     <tr><th>Nom</th><th>Alternative</th> <th>Description</th></tr>
     <tr><td><code>-in</code></td>
         <td><code>in</code></td>
-        <td>chaîne contenue dans une liste de mots</td></tr>
+        <td>chaîne contenue dans une liste</td></tr>
     <tr><td><code>/regexp/</code></td>
         <td><code>m#regexp#</code></td>
         <td>Expression rationnelle (la seconde forme permet de spécifier

Modified: httpd/httpd/trunk/docs/manual/mod/mod_proxy.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_proxy.xml.fr?rev=1811665&r1=1811664&r2=1811665&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mod_proxy.xml.fr [utf-8] (original)
+++ httpd/httpd/trunk/docs/manual/mod/mod_proxy.xml.fr [utf-8] Tue Oct 10 11:14:30 2017
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1805323:1810316 (outdated) -->
+<!-- English Revision: 1810316 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -317,6 +317,15 @@ ProxyPass "/examples" "http://backend.ex
 
       </note> <!-- /worker_sharing -->
 
+      <note type="warning"><title>Nom d'hôte dans l'URL</title>
+        <p>Le nom d'hôte doit commencer par une lettre [a-z]. Par exemple :</p>
+        <highlight language="config">
+ProxyPass "/apps"     "http://127"
+        </highlight>
+        <p>n'est pas valide et provoquera une erreur si une requête correspond
+	au chemin.</p>
+      </note>
+
       <p>Les workers définis explicitement sont de deux sortes :
       <dfn>workers directs</dfn> et <dfn>workers de répartition (de
       charge)</dfn>. Ils supportent de nombreux attributs de



Mime
View raw message