]> granicus.if.org Git - apache/blobdiff - docs/manual/mod/mod_setenvif.xml
Describe the new syntax:
[apache] / docs / manual / mod / mod_setenvif.xml
index cd6d0cfc6ad98cf505422514f87656365206543a..5949d1db5a7c77df009e3083032552fccbde6604 100644 (file)
@@ -1,9 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+<!-- $LastChangedRevision$ -->
 
 <!--
- Copyright 2002-2004 The Apache Software Foundation
+ Copyright 2002-2005 The Apache Software Foundation or its licensors, as
+ applicable.
 
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
@@ -133,7 +135,7 @@ respect to case</description>
 <usage>
     <p>The <directive>SetEnvIf</directive> directive defines
     environment variables based on attributes of the request. The
-    <em>attribute</em> specified in the first argument can be one of three
+    <em>attribute</em> specified in the first argument can be one of four
     things:</p>
 
 <ol>
@@ -156,9 +158,6 @@ respect to case</description>
       on which the request was received (only with versions later
       than 2.0.43)</li>
 
-      <li><code>Remote_User</code> - the authenticated username (if
-      available)</li>
-
       <li><code>Request_Method</code> - the name of the method
       being used (<code>GET</code>, <code>POST</code>, <em>et
       cetera</em>)</li>
@@ -183,6 +182,15 @@ this manner. 'Earlier' means that they were defined at a broader scope
 Environment variables will be considered only if there was no match
 among request characteristics and a regular expression was not
 used for the <em>attribute</em>.</li>
+
+<li>
+ A reference to an extension of an SSL client certificate, located by
+ its object id <em>oid</em>.
+ If a non-SSL request, or in absense of the configured <em>oid</em>,
+ no variable will be set. If the <em>oid</em> is found multiple times,
+ the individual strings will be concatenated, separated by a comma <code>','</code>.
+ The <em>oid</em> should reference a string-valued extension.
+</li>
 </ol>
 
 <p>The second argument (<em>regex</em>) is a <a
@@ -206,7 +214,7 @@ of</p>
     <p>In the first form, the value will be set to "1". The second
     will remove the given variable if already defined, and the
     third will set the variable to the literal value given by
-    <code><em>value</em></code>. Since version 2.1 Apache will
+    <code><em>value</em></code>. Since version 2.0.51 Apache will
     recognize occurrences of <code>$1</code>..<code>$9</code> within
     <var>value</var> and replace them by parenthesized subexpressions
     of <var>regex</var>.</p>
@@ -221,6 +229,8 @@ of</p>
         :<br />
    SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br />
         :<br />
+   SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" NetscapeComment=$1<br />
+        :<br />
    SetEnvIf ^TS*  ^[a-z].*  HAVE_TS<br />
 </example>
 
@@ -230,6 +240,10 @@ of</p>
     the referring page was somewhere on the
     <code>www.mydomain.com</code> Web site.</p>
 
+    <p>The sixth example will set the <code>NetscapeComment</code>
+    environment variable to the string found in the corresponding
+    SSL client certificate field (if found).</p>
+
     <p>The last example will set environment variable
     <code>HAVE_TS</code> if the request contains any headers that
     begin with "TS" whose values begins with any character in the