httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r816029 [14/23] - in /websites/staging/httpd/trunk/content: ./ apreq/ apreq/docs/ apreq/docs/libapreq2/ contributors/ css/ dev/ dev/images/ dev/whiteboard/ docs-project/ docs/ images/ info/ info/css-security/ library/ mod_fcgid/ mod_ftp/ mo...
Date Sun, 06 May 2012 14:18:10 GMT
Added: websites/staging/httpd/trunk/content/apreq/libapreq.html
==============================================================================
--- websites/staging/httpd/trunk/content/apreq/libapreq.html (added)
+++ websites/staging/httpd/trunk/content/apreq/libapreq.html Sun May  6 14:18:02 2012
@@ -0,0 +1,447 @@
+<HTML>
+<HEAD>
+<TITLE>libapreq - Apache Request C Library</TITLE>
+<LINK REV="made" HREF="mailto:hackers@FreeBSD.org">
+</HEAD>
+
+<BODY>
+
+<!-- INDEX BEGIN -->
+
+<UL>
+
+	<LI><A HREF="#NAME">NAME</A>
+	<LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
+	<LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
+	<LI><A HREF="#ApacheRequest">ApacheRequest</A>
+	<UL>
+
+		<LI><A HREF="#ApacheRequest_ApacheRequest_new">ApacheRequest *ApacheRequest_new (request_rec *r)</A>
+		<LI><A HREF="#int_ApacheRequest_parse_ApacheR">int ApacheRequest_parse (ApacheRequest *req)</A>
+		<LI><A HREF="#const_char_ApacheRequest_param_">const char *ApacheRequest_param (ApacheRequest *req, const char *key)</A>
+		<LI><A HREF="#array_header_ApacheRequest_para">array_header *ApacheRequest_params (ApacheRequest *req, const char *key)</A>
+		<LI><A HREF="#char_ApacheRequest_params_as_st">char *ApacheRequest_params_as_string (ApacheRequest *req, const char *key)</A>
+		<LI><A HREF="#ApacheUpload_upload_ApacheReq">ApacheUpload *upload = ApacheRequest_upload (ApacheRequest *req)</A>
+	</UL>
+
+	<LI><A HREF="#ApacheUpload">ApacheUpload</A>
+	<UL>
+
+		<LI><A HREF="#ApacheUpload_ApacheUpload_find_">ApacheUpload *ApacheUpload_find (ApacheUpload *upload, char *name)</A>
+		<LI><A HREF="#const_char_ApacheUpload_info_A">const char *ApacheUpload_info (ApacheUpload *upload, char *key)</A>
+		<LI><A HREF="#const_char_ApacheUpload_type_A">const char *ApacheUpload_type (ApacheUpload *upload)</A>
+	</UL>
+
+	<LI><A HREF="#ApacheCookie">ApacheCookie</A>
+	<UL>
+
+		<LI><A HREF="#ApacheCookie_ApacheCookie_new_">ApacheCookie *ApacheCookie_new (request_rec *r, ...) </A>
+		<LI><A HREF="#char_ApacheCookie_attr_ApacheC">char *ApacheCookie_attr (ApacheCookie *c, char *key, char *val) </A>
+		<LI><A HREF="#ApacheCookieJar_ApacheCookie_pa">ApacheCookieJar *ApacheCookie_parse (request_rec *r, const char *data) </A>
+		<LI><A HREF="#int_ApacheCookieItems_ApacheCoo">int ApacheCookieItems (ApacheCookie *c)</A>
+		<LI><A HREF="#char_ApacheCookieFetch_ApacheC">char *ApacheCookieFetch (ApacheCookie *c, int n)</A>
+		<LI><A HREF="#void_ApacheCookieAdd_ApacheCook">void ApacheCookieAdd (ApacheCookie *c, char *value)</A>
+		<LI><A HREF="#int_ApacheCookieJarItems_Apache">int ApacheCookieJarItems (ApacheCookieJar *cookies)</A>
+		<LI><A HREF="#ApacheCookie_ApacheCookieJarFet">ApacheCookie *ApacheCookieJarFetch (ApacheCookieJar *cookies, int n)</A>
+		<LI><A HREF="#void_ApacheCookieJarAdd_ApacheC">void ApacheCookieJarAdd (ApacheCookieJar *cookies, ApacheCookie *c)</A>
+		<LI><A HREF="#char_ApacheCookie_expires_Apac">char *ApacheCookie_expires (ApacheCookie *c, char *time_str) </A>
+		<LI><A HREF="#void_ApacheCookie_bake_ApacheCo">void ApacheCookie_bake (ApacheCookie *c)</A>
+		<LI><A HREF="#char_ApacheCookie_as_string_Ap">char *ApacheCookie_as_string (ApacheCookie *c)  </A>
+	</UL>
+
+	<LI><A HREF="#BUGS">BUGS</A>
+	<LI><A HREF="#CREDITS">CREDITS</A>
+	<LI><A HREF="#AUTHOR">AUTHOR</A>
+</UL>
+<!-- INDEX END -->
+
+<HR>
+<P>
+<H1><A NAME="NAME">NAME</A></H1>
+<P>
+libapreq - Apache Request C Library
+
+<P>
+<HR>
+<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
+<P>
+<HR>
+<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
+<P>
+<HR>
+<H1><A NAME="ApacheRequest">ApacheRequest</A></H1>
+<DL>
+<DT><STRONG><A NAME="item_req">req-&gt;parms</A></STRONG><DD>
+<P>
+This field is an Apache <EM>table</EM> that holds the parsed contents of
+<STRONG>GET</STRONG> and <STRONG>POST</STRONG> requests. Example:
+
+<P>
+<PRE> table *data = req-&gt;parms;
+ ap_table_set(data, &quot;Key&quot;, &quot;Value&quot;);
+</PRE>
+<DT><STRONG><A NAME="item_req">req-&gt;post_max</A></STRONG><DD>
+<P>
+Limit the size of POST data.  <EM>ApacheRequest_parse</EM> will return an error code if the size is exceeded:
+
+<P>
+<PRE> int status;
+ ApacheRequest *req = ApacheRequest_new(r);
+</PRE>
+<P>
+<PRE> req-&gt;post_max = 1204;
+ if((status = ApacheRequest_parse(req)) != OK) {
+     char *errmsg = ap_table_get(r-&gt;notes, &quot;error-notes&quot;);
+     ...
+     return status;
+ }
+</PRE>
+<DT><STRONG><A NAME="item_req">req-&gt;disable_uploads</A></STRONG><DD>
+<P>
+Disable file uploads.  <EM>ApacheRequest_parse</EM> will return an error code if a file upload is attempted:
+
+<P>
+<PRE> int status;
+ ApacheRequest *req = ApacheRequest_new(r);
+</PRE>
+<P>
+<PRE> req-&gt;disable_uploads = 1;
+ if((status = ApacheRequest_parse(req)) != OK) {
+     char *errmsg = ap_table_get(r-&gt;notes, &quot;error-notes&quot;);
+     ...
+     return status;
+ }
+</PRE>
+<DT><STRONG><A NAME="item_req">req-&gt;temp_dir</A></STRONG><DD>
+<P>
+Sets the directory where upload files are spooled.
+
+<P>
+<PRE>  char dir[] = &quot;/usr/tmp&quot;;
+  req-&gt;temp_dir = dir;
+</PRE>
+<DT><STRONG><A NAME="item_req">req-&gt;hook_data</A></STRONG><DD>
+<DT><STRONG><A NAME="item_req">req-&gt;upload_hook</A></STRONG><DD>
+<P>
+Redirects upload data to be processed by the hook.
+
+<P>
+<PRE>  req-&gt;hook_data = (void *) data;
+  req-&gt;upload_hook = (int(*)(void*,char*,int,ApacheUpload*)) func;
+</PRE>
+<P>
+In this case 
+
+<P>
+<PRE>  func(req-&gt;hook_data,buffer,bufsize,upload);
+</PRE>
+<P>
+will be called repeatedly during the file upload instead of writing the
+data to a temp file.
+
+</DL>
+<P>
+<HR>
+<H2><A NAME="ApacheRequest_ApacheRequest_new">ApacheRequest *ApacheRequest_new (request_rec *r)</A></H2>
+<P>
+This function creates a new <EM>ApacheRequest</EM> object using the given
+<EM>request_rec</EM> structure:
+
+<P>
+<PRE> ApacheRequest *req = ApacheRequest_new(r);
+</PRE>
+<P>
+<HR>
+<H2><A NAME="int_ApacheRequest_parse_ApacheR">int ApacheRequest_parse (ApacheRequest *req)</A></H2>
+<P>
+If the request method is <STRONG>GET</STRONG> or <STRONG>POST</STRONG>, the query string arguments and the client form data will be read, parsed
+and saved. In addition, if the request method is <STRONG>POST</STRONG> and the <EM>Content-type</EM> is
+<EM>multipart/form-data</EM>, the uploaded files will be written to temporary files which can be
+accessed with the <EM>upload</EM> field names. The return value is <STRONG>OK</STRONG> on success, otherwise an error code that your handler should return.
+
+<P>
+<HR>
+<H2><A NAME="const_char_ApacheRequest_param_">const char *ApacheRequest_param (ApacheRequest *req, const char *key)</A></H2>
+<P>
+This function will return the value of the given parameter <EM>key</EM>:
+
+<P>
+<PRE> const char *value = ApacheRequest_param(req, &quot;Key&quot;);
+</PRE>
+<P>
+<HR>
+<H2><A NAME="array_header_ApacheRequest_para">array_header *ApacheRequest_params (ApacheRequest *req, const char *key)</A></H2>
+<P>
+This function will return an <EM>array_header</EM> of values for the given parameter <EM>key</EM>: 
+
+<P>
+<PRE> array_header *values = ApacheRequest_params(req, &quot;Key&quot;);
+</PRE>
+<P>
+<HR>
+<H2><A NAME="char_ApacheRequest_params_as_st">char *ApacheRequest_params_as_string (ApacheRequest *req, const char *key)</A></H2>
+<P>
+This function will format multi-value parmeters into a comma delimited
+string.
+
+<P>
+<PRE> char *list = ApacheRequest_params_as_string(req, &quot;Key&quot;);
+</PRE>
+<P>
+<HR>
+<H2><A NAME="ApacheUpload_upload_ApacheReq">ApacheUpload *upload = ApacheRequest_upload (ApacheRequest *req)</A></H2>
+<P>
+If the request <EM>Content-type</EM> was that of <EM>multipart/form-data</EM>, this will return an <EM>ApacheUpload</EM> pointer containing the upload data,
+<STRONG>NULL</STRONG> otherwise. See <EM>ApacheUpload</EM>.
+
+<P>
+<PRE> ApacheUpload *upload = ApacheRequest_upload(req);
+</PRE>
+<P>
+<HR>
+<H1><A NAME="ApacheUpload">ApacheUpload</A></H1>
+<P>
+The <EM>ApacheUpload</EM> structure holds all information for all uploaded files and is accessed via
+the <EM>upload</EM> field of an <EM>ApacheRequest</EM>
+structure.  
+
+<DL>
+<DT><STRONG><A NAME="item_upload">upload-&gt;name</A></STRONG><DD>
+<P>
+The name of the filefield parameter:
+
+<P>
+<PRE> char *name = upload-&gt;name;
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload-&gt;filename</A></STRONG><DD>
+<P>
+The name of the upload file as reported by the client:
+
+<P>
+<PRE> char *filename = upload-&gt;filename;
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload-&gt;fp</A></STRONG><DD>
+<P>
+A file pointer to the uploaded file:
+
+<P>
+<PRE> FILE *fp = upload-&gt;fp;
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload-&gt;tempname</A></STRONG><DD>
+<P>
+The name of the temporary upload file on the server:
+
+<P>
+char <CODE>*tempname</CODE> = upload-&gt;tempname;
+
+<DT><STRONG><A NAME="item_upload">upload-&gt;size</A></STRONG><DD>
+<P>
+The size of the uploaded file in bytes:
+
+<P>
+<PRE> long size = upload-&gt;size;
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload-&gt;info</A></STRONG><DD>
+<P>
+The additional header information for the uploaded file:
+
+<P>
+<PRE> table *info = upload-&gt;info;
+ const char *type = ap_table_get(info, &quot;Content-type&quot;);
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload-&gt;next</A></STRONG><DD>
+<P>
+Pointer to the next <EM>ApacheUpload</EM> structure if multiple files were uploaded:
+
+<P>
+<PRE>    ApacheUpload *uptr;
+    for (uptr = ApacheRequest_upload(req); uptr; uptr = uptr-&gt;next) {
+        char *name = uptr-&gt;name;
+        FILE *fp   = uptr-&gt;fp;
+        ...
+    }
+</PRE>
+</DL>
+<P>
+<HR>
+<H2><A NAME="ApacheUpload_ApacheUpload_find_">ApacheUpload *ApacheUpload_find (ApacheUpload *upload, char *name)</A></H2>
+<P>
+Returns the <EM>ApacheUpload</EM> pointer associated with <EM>name</EM> or
+<STRONG>NULL</STRONG> if <EM>name</EM> is not found in the list:
+
+<P>
+<PRE> ApacheUpload *upload = ApacheUpload_find(upload, name);
+</PRE>
+<P>
+<HR>
+<H2><A NAME="const_char_ApacheUpload_info_A">const char *ApacheUpload_info (ApacheUpload *upload, char *key)</A></H2>
+<P>
+Shortcut for accessing the <EM>info</EM> table:
+
+<P>
+<PRE> const char *type = ApacheUpload_info(upload, &quot;Content-Type&quot;);
+</PRE>
+<P>
+<HR>
+<H2><A NAME="const_char_ApacheUpload_type_A">const char *ApacheUpload_type (ApacheUpload *upload)</A></H2>
+<P>
+Shortcut for accessing the uploaded file <EM>Content-Type</EM>:
+
+<P>
+<PRE> const char *type = ApacheUpload_type(upload);
+</PRE>
+<P>
+<HR>
+<H1><A NAME="ApacheCookie">ApacheCookie</A></H1>
+<H2><A NAME="ApacheCookie_ApacheCookie_new_">ApacheCookie *ApacheCookie_new (request_rec *r, ...)</A></H2>
+<P>
+This function creates a new <EM>ApacheCookie</EM> object, using the given
+<EM>request_request</EM> and optional attribute arguments which are as follows:
+
+<DL>
+<DT><STRONG><A NAME="item__name">-name</A></STRONG><DD>
+<P>
+Sets the <EM>name</EM> field to the given value.
+
+<DT><STRONG><A NAME="item__value">-value</A></STRONG><DD>
+<P>
+Adds the value to <EM>values</EM> field.
+
+<DT><STRONG><A NAME="item__expires">-expires</A></STRONG><DD>
+<P>
+Sets the <EM>expires</EM> field to the calculated date string. See <EM>ApacheCookie_expires</EM> for a listing of format options. The default is <STRONG>NULL</STRONG>.
+
+<DT><STRONG><A NAME="item__domain">-domain</A></STRONG><DD>
+<P>
+Sets the <EM>domain</EM> field to the given value. The default is <STRONG>NULL</STRONG>.
+
+<DT><STRONG><A NAME="item__path">-path</A></STRONG><DD>
+<P>
+Sets the <EM>path</EM> field to the given value. The default <EM>path</EM> is derived from the requested <EM>uri</EM>.
+
+<DT><STRONG><A NAME="item__secure">-secure</A></STRONG><DD>
+<P>
+Sets the <EM>secure</EM> field to true or false using a given string value of <EM>On</EM> or <EM>Off</EM>. The default is <EM>Off</EM>.
+
+
+<P>
+Example:
+
+<P>
+<PRE> ApacheCookie *c = ApacheCookie_new(r,
+                        &quot;-name&quot;,    &quot;foo&quot;, 
+                        &quot;-value&quot;,   &quot;bar&quot;, 
+                        &quot;-expires&quot;, &quot;+3M&quot;, 
+                        &quot;-domain&quot;,  &quot;.cp.net&quot;, 
+                        &quot;-path&quot;,    &quot;/mypath/database&quot;, 
+                        &quot;-secure&quot;,  &quot;On&quot;, 
+                        NULL); 
+</PRE>
+<H2><A NAME="char_ApacheCookie_attr_ApacheC">char *ApacheCookie_attr (ApacheCookie *c, char *key, char *val)</A></H2>
+<P>
+This function is used to get or set a cookie attribute pair, accepting the
+same attributes as the list above. Example:
+
+<P>
+<PRE> char *name = ApacheCookie_attr(c, &quot;-name&quot;); /* same as c-&gt;name */
+ (void *)ApacheCookie_attr(c, &quot;-expires&quot;, &quot;+3h&quot;);
+</PRE>
+<H2><A NAME="ApacheCookieJar_ApacheCookie_pa">ApacheCookieJar *ApacheCookie_parse (request_rec *r, const char *data)</A></H2>
+<P>
+This function parses the given <EM>data</EM> string or the incoming
+<EM>Cookie</EM> header, returning an <EM>ApacheCookieJar</EM> of <EM>ApacheCookie</EM>
+objects.  
+
+<P>
+Example:
+
+<P>
+<PRE> int i;
+ ApacheCookieJar *cookies = ApacheCookie_parse(r, NULL);
+ for (i = 0; i &lt; ApacheCookieJarItems(cookies); i++) { 
+     ApacheCookie *c = ApacheCookieJarFetch(cookies, i);
+     int j;
+     for (j = 0; j &lt; ApacheCookieItems(c); j++) {
+         char *name = c-&gt;name;
+         char *value = ApacheCookieFetch(c, j);
+         ...
+     }
+ }
+</PRE>
+<H2><A NAME="int_ApacheCookieItems_ApacheCoo">int ApacheCookieItems (ApacheCookie *c)</A></H2>
+<P>
+The number of values for the given cookie.
+
+<H2><A NAME="char_ApacheCookieFetch_ApacheC">char *ApacheCookieFetch (ApacheCookie *c, int n)</A></H2>
+<P>
+The <EM>n</EM>th value for the given cookie.
+
+<H2><A NAME="void_ApacheCookieAdd_ApacheCook">void ApacheCookieAdd (ApacheCookie *c, char *value)</A></H2>
+<P>
+Add a new value to the cookie.
+
+<H2><A NAME="int_ApacheCookieJarItems_Apache">int ApacheCookieJarItems (ApacheCookieJar *cookies)</A></H2>
+<P>
+The number of cookies in the given cookie jar.
+
+<H2><A NAME="ApacheCookie_ApacheCookieJarFet">ApacheCookie *ApacheCookieJarFetch (ApacheCookieJar *cookies, int n)</A></H2>
+<P>
+The <EM>n</EM>th cookie in the given cookie jar.
+
+<H2><A NAME="void_ApacheCookieJarAdd_ApacheC">void ApacheCookieJarAdd (ApacheCookieJar *cookies, ApacheCookie *c)</A></H2>
+<P>
+Add a new cookie to the cookie jar.
+
+<H2><A NAME="char_ApacheCookie_expires_Apac">char *ApacheCookie_expires (ApacheCookie *c, char *time_str)</A></H2>
+<P>
+This function gets or sets the expiration date for cookie. The following
+forms are all valid for the <EM>time_str</EM> parmeter:
+
+<P>
+<PRE>        +30s                              30 seconds from now 
+        +10m                              ten minutes from now 
+        +1h                               one hour from now 
+        -1d                               yesterday (i.e. &quot;ASAP!&quot;) 
+        now                               immediately 
+        +3M                               in three months 
+        +10y                              in ten years time 
+        Thursday, 25-Apr-1999 00:40:33 GMT  at the indicated time &amp; date 
+</PRE>
+<H2><A NAME="void_ApacheCookie_bake_ApacheCo">void ApacheCookie_bake (ApacheCookie *c)</A></H2>
+<P>
+Put cookie in the oven to bake. (Add a <EM>Set-Cookie</EM> header to the outgoing headers table.)
+
+<P>
+<PRE> ApacheCookie_bake(c);
+</PRE>
+<H2><A NAME="char_ApacheCookie_as_string_Ap">char *ApacheCookie_as_string (ApacheCookie *c)</A></H2>
+<P>
+Returns a string version of the cookie:
+
+<P>
+<PRE> ap_table_add(r-&gt;headers_out, &quot;Set-Cookie&quot;, ApacheCookie_as_string(c));
+</PRE>
+
+<P>
+<HR>
+<H1><A NAME="BUGS">BUGS</A></H1>
+<UL>
+<LI><STRONG><A NAME="item_multi">multi-select file uploads are currently unsupported</A></STRONG>
+<LI><STRONG><A NAME="item_header">header-folding is unsupported for multipart/form-data</A></STRONG>
+<LI><STRONG><A NAME="item_newer">newer XML-based MIME-encodings are not supported</A></STRONG>
+</UL>
+<P>
+<HR>
+<H1><A NAME="CREDITS">CREDITS</A></H1>
+<P>
+This library is based on Perl modules by Lincoln Stein.
+
+<P>
+<HR>
+<H1><A NAME="AUTHOR">AUTHOR</A></H1>
+<P>
+Doug MacEachern, updated for v1.0 by Joe Schaefer
+
+</BODY>
+
+</HTML>

Added: websites/staging/httpd/trunk/content/bug_report.html
==============================================================================
--- websites/staging/httpd/trunk/content/bug_report.html (added)
+++ websites/staging/httpd/trunk/content/bug_report.html Sun May  6 14:18:02 2012
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+        <link href="/css/apsite.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+        <meta name="author" content="Documentation Group" /><meta name="email" content="docs@httpd.apache.org" />
+        <title>Welcome! - The Apache HTTP Server Project</title>
+    </head>
+    <body>
+        
+        <div id="page-header">
+            <p class="menu">&nbsp;</p>
+            <p class="apache">&nbsp;</p>
+            <a href="/">
+            <img alt="" width="800" height="72" src="/images/httpd_logo_wide_new.png" border="0" />
+            </a>
+        </div>
+        
+
+        <!-- LEFT SIDE NAVIGATION -->
+        <div id="apmenu">
+            
+            <div class="codehilite"><pre>        <span class="c"># Essentials</span>
+</pre></div>
+
+
+<ul>
+<li><a href="ABOUT_APACHE.html">About</a></li>
+<li><a href="http://www.apache.org/licenses/">License</a></li>
+<li><a href="http://wiki.apache.org/httpd/FAQ">FAQ</a></li>
+<li><a href="/security_report.html">Secutiry Reports</a></li>
+</ul>
+<h1 id="download">Download!</h1>
+<ul>
+<li><a href="/download.cgi">From a Mirror</a></li>
+</ul>
+<h1 id="documentation">Documentation</h1>
+<ul>
+<li><a href="/docs/2.4/">Version 2.4</a></li>
+<li><a href="/docs/2.2/">Version 2.2</a></li>
+<li><a href="/docs/2.0/">Version 2.0</a></li>
+<li><a href="/docs/trunk/">Trunk (dev)</a></li>
+</ul>
+<h1 id="get-support">Get Support</h1>
+<ul>
+<li><a href="/support.html">Support</a></li>
+</ul>
+<h1 id="get-involved">Get Involved</h1>
+<ul>
+<li><a href="/lists.html">Mailing Lists</a></li>
+<li><a href="/bug_report.html">Bug Reports</a></li>
+<li><a href="/dev/">Developer Info</a></li>
+</ul>
+<h1 id="subprojects">Subprojects</h1>
+<ul>
+<li><a href="/docs-project/">Docs</a></li>
+<li><a href="/test/">Test</a></li>
+<li><a href="/test/flood/">Flood</a></li>
+<li><a href="/apreq/">libapreq</a></li>
+<li><a href="/modules">Modules</a></li>
+<li><a href="/mod_fcgid/">mod_fcgid</a></li>
+<li><a href="/mod_ftp/">mod_ftp</a></li>
+</ul>
+<h1 id="miscellaneous">Miscellaneous</h1>
+<ul>
+<li><a href="/contributors/">Contributors</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Sponsors</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+</ul>
+            
+        </div>
+
+
+        <!-- RIGHT SIDE INFORMATION -->
+        <div id="apcontents">
+            
+            <h1 id="bug-reporting">Bug Reporting</h1>
+<p><strong>Reports of security issues should <em>not</em> be made here. Please see the <a href="security_report.html">security report page</a> if you have concerns or think you have discovered a security hole in the Apache Web server software.</strong> 
+If you have identified a bug in the Apache HTTP Server, please fill out a problem report form and submit it. Before you do that, though,&lt;font color="red"&gt;make <strong>sure</strong> you have done <strong>all</strong> of the following:&lt;/font&gt;</p>
+<ol>
+<li>
+<p>Verified that the bug exists in <a href="/download.cgi">the most recent version</a> of Apache.</p>
+</li>
+<li>
+<p>Followed the instructions in the <code>INSTALL</code> file correctly</p>
+</li>
+<li>
+<p>Tried compiling with only the distributed set of modules and with no other patches (so that we can make sure it's an Apache bug and not a bug in a module or patch provided by someone else). It is frustrating to take time and effort to track down a problem only to figure out that it is caused by a broken third party module.</p>
+</li>
+<li>
+<p>Looked at the error log. Please include any related messages in your report, or state that there are none.</p>
+</li>
+<li>
+<p>Checked the <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> .</p>
+</li>
+<li>
+<p>Searched the <a href="http://issues.apache.org/bugzilla/">bug report</a> database. When you are doing this, you should be sure to search closed problem reports in addition to open ones. The search form on the main bugzilla page by default applies only to open reports; to search all bug reports, begin the search with the keyword "ALL". For example, the following search will find all reported proxy bugs in Apache 2.0: "ALL httpd-2.0 mod_proxy". Some helpful queries:</p>
+</li>
+<li>
+<p><a href="http://issues.apache.org/bugzilla/buglist.cgi?resolution=FIXED&amp;amp;changedin=60&amp;amp;product=Apache+httpd-2">All bugs fixed in the last 60 days</a> </p>
+</li>
+<li>
+<p><a href="http://issues.apache.org/bugzilla/buglist.cgi?product=Apache+httpd-2&amp;amp;long_desc=duplicate+of+this+bug.&amp;amp;long_desc_type=allwordssubstr&amp;amp;changedin=30">Frequently reported bugs</a> (bugs with duplicates changed in the last 30 days)</p>
+</li>
+<li>
+<p><a href="http://issues.apache.org/bugzilla/buglist.cgi?changedin=10&amp;amp;product=Apache+httpd-2">All bugs changed in the last 10 days</a> </p>
+</li>
+</ol>
+<p>Unless you are sure that you have found a bug in the Apache HTTP Server, we strongly recommend that you try the <a href="userslist.html">Apache HTTP Server Users List</a> before using the bug database. If you don't receive a response within a few days, then please submit it to the Apache bug database. If it's a known issue, you'll probably get a faster response from the mailing list and you will help keep developer time free for improving Apache. Most bug reports submitted are actually user configuration problems that could be easily fixed by asking on the mailing list.</p>
+<p>Do <strong>not</strong> post to the mailing list and submit a bug report at the same time. This wastes everyone's time. Post to the mailing list and wait a few days before submitting a bug report.</p>
+<p>If you have done all of the preceding, then please select the button below and fill out the form. We will respond to it as soon as we can.</p>
+<ul>
+<li>
+<p><strong>Do NOT send configuration questions or requests for help debugging CGI!</strong> </p>
+</li>
+<li>
+<p><strong>If you're tracing spam or you're here because one of your favourite Web sites now says 'It Worked! Apache is installed!' -- then contact the mail originator or the Web site's Webmaster directly, because they're just using our software and we have nothing to do with them. Don't waste your time, or ours, by telling us about it.</strong> </p>
+</li>
+</ul>
+<p>Use the <a href="http://issues.apache.org/bugzilla/">Apache Bug Database</a> to submit bug reports. The appropriate Bugzilla project for Apache HTTPD is "Apache httpd-2" and "Apache httpd-2.0".</p>
+            
+
+            <!-- FOOTER -->
+            <div id="footer">
+                <p class="apache">
+                    
+                    <div class="codehilite"><pre>                <span class="n">Copyright</span> <span class="o">&amp;</span><span class="n">copy</span><span class="p">;</span> <span class="mi">2012</span> <span class="n">The</span> <span class="n">Apache</span> <span class="n">Software</span> <span class="n">Foundation</span>
+</pre></div>
+
+
+<p>Apache HTTP Server, Apache, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+                    
+                </p>
+            </div>
+        </div>
+    </body>
+    </html>

Added: websites/staging/httpd/trunk/content/contributors/index.xml
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/httpd/trunk/content/contributors/index.xml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: websites/staging/httpd/trunk/content/css/apsite.css
==============================================================================
--- websites/staging/httpd/trunk/content/css/apsite.css (added)
+++ websites/staging/httpd/trunk/content/css/apsite.css Sun May  6 14:18:02 2012
@@ -0,0 +1,1070 @@
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * manual.css
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * mainframe ;-)
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+html {
+    font-size: 14px;
+}
+
+body {
+    background-color: #fff;
+    color: #036;
+    padding: 0 1em 0 0;
+    margin: 0;
+    font-family: Arial, Helvetica, sans-serif;
+    font-weight: normal;
+}
+
+pre, code {
+    font-family: "Courier New", Courier, monospace;
+}
+
+blockquote p {
+  padding: 3px;
+  }
+
+strong {
+    font-weight: bold;
+}
+
+q, em, var {
+    font-style: italic;
+}
+
+span.transnote, span.phonetic {
+    font-weight: normal;
+    background-color: inherit;
+    color: #888;
+}
+
+/* sidebar position: left */
+div#apmenu {
+    position: absolute;
+    top: 5.5em;
+    left: 1em;
+    margin-left: 0;
+    margin-top: 40px;
+    padding: 4px;
+    width: 13.5em;
+    background-color: #fff;
+    color: inherit;
+}
+
+#apmenu.h1 {
+    font-weight: bold;
+    font-size 13px;
+}
+
+/* contents for apsite */
+div#apcontents {
+    position: absolute;
+    top: 5.5em;
+    left: 15em;
+    right: 1em;
+    margin-top: 40px;
+    padding: 4px;
+    width: 100%;
+    background-color: #fff;
+    color: inherit;
+}
+
+/* fixup IE & Opera
+ * otherwise they forget to inherit
+ * the computed font-size value
+ */
+table, code {
+    font-size: 1em;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Links
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+/* normal links           */
+/* ====================== */
+a:link {
+    color: #0073c7;
+    background-color: inherit;
+}
+
+a:visited {
+    color: #5A88B5;
+    background-color: inherit;
+}
+
+a:link:hover,
+a:link:active,
+a:visited:hover,
+a:visited:active {
+    color: #0073c7;
+    background-color: #f0f0f0;
+}
+
+/* hover on non-white backgrounds */
+tr.odd a:hover,
+tr.odd a:active,
+tr.header a:hover,
+tr.header a:active,
+div.note a:hover,
+div.note a:active,
+div.example a:hover,
+div.example a:active,
+div.warning a:hover,
+div.warning a:active,
+div#quickview a:hover,
+div#quickview a:active {
+    background-color: #fff;
+    color: #0073c7;
+}
+
+/* code.module [links]    */
+/* ====================== */
+code.module,
+code.module a:link {
+    color: #8b4513;
+    background-color: inherit;
+}
+
+code.module a:visited {
+    color: #bc8f8f;
+    background-color: inherit;
+}
+
+code.module a:hover,
+code.module a:active {
+    color: #8b4513;
+    background-color: #f0f0f0;
+}
+
+/* hover on non-white backgrounds */
+tr.odd code.module a:hover,
+tr.odd code.module a:active,
+tr.header code.module a:hover,
+tr.header code.module a:active,
+div.note code.module a:hover,
+div.note code.module a:active,
+div.example code.module a:hover,
+div.example code.module a:active,
+div.warning code.module a:hover,
+div.warning code.module a:active,
+div#quickview code.module a:hover,
+div#quickview code.module a:active {
+    background-color: #fff;
+    color: #8b4513;
+}
+
+/* code.directive [links] */
+/* ====================== */
+code.directive,
+code.directive a:link {
+    color: #287f00;
+    background-color: inherit;
+}
+
+code.directive a:visited {
+    color: #35a500;
+    background-color: inherit;
+}
+
+code.directive a:hover,
+code.directive a:active {
+    color: #287f00;
+    background-color: #f0f0f0;
+}
+
+/* hover on non-white backgrounds */
+tr.odd code.directive a:hover,
+tr.odd code.directive a:active,
+tr.header code.directive a:hover,
+tr.header code.directive a:active,
+div.note code.directive a:hover,
+div.note code.directive a:active,
+div.example code.directive a:hover,
+div.example code.directive a:active,
+div.warning code.directive a:hover,
+div.warning code.directive a:active,
+div#quickview code.directive a:hover,
+div#quickview code.directive a:active {
+    background-color: #fff;
+    color: #287f00;
+}
+
+/* glossary [links] */
+/* ====================== */
+.glossarylink {
+    cursor: help;
+    border-bottom: 1px dashed #0073c7;
+    text-decoration: none;
+}
+
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Headings
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+/* h1                     */
+/* ====================== */
+h1 {
+    padding: 0.2em;
+    margin: 0;
+    border: 1px solid #405871;
+    background-color: inherit;
+    color: #036;
+    text-decoration: none;
+    font-size: 22px;
+    font-weight: bold;
+}
+
+/* h2                     */
+/* ====================== */
+h2 {
+    padding: 0.2em 0 0.2em 0.7em;
+    margin: 0 0 0.5em 0;
+    text-decoration: none;
+    font-size: 18px;
+    font-weight: bold;
+}
+
+.section h2 {
+    background-color: #405871;
+    color: #fff;
+}
+
+.directive-section h2 {
+    background-color: #557697;
+    color: #fff;
+}
+
+.category h2 {
+    background-color: #e5ecf3;
+    color: #405871;
+    font-size: 14px;
+}
+
+/* take care of <a name>s inside */
+h2 a,
+h2 a:hover,
+h2 a:active {
+    color: inherit;
+    background-color: inherit;
+    text-decoration: none;
+}
+
+/* h3, h4                 */
+/* ====================== */
+h3 {
+    background-color: inherit;
+    color: #036;
+    text-decoration: none;
+    font-weight: bold;
+    font-size: 16px;
+    margin: 1.3em 0 0.4em 0;
+    padding: 0;
+}
+
+h4 {
+    background-color: inherit;
+    color: #036;
+    text-decoration: none;
+    font-weight: bold;
+    font-size: 14px;
+    margin: 1.3em 0 0.2em 0;
+    padding: 0;
+}
+
+/* margin adjustment */
+h3 + *, h4 + * {
+    margin-top: 0;
+}
+
+/* IE confuses the + * :-(
+ * so reset some things
+ */
+ul, .section table, .directive-section table {
+    margin-bottom: 1em;
+}
+
+/* titles for
+ * examples, notes and warnings
+ */
+div.example h3,
+div.note h3,
+div.warning h3 {
+    margin: 0 0 0.5em 0;
+    text-align: left;
+    font-size: 14px;
+}
+
+/* sidebar */
+div#quickview h3 {
+    margin: 1em 0 0.3em 0.5em;
+    font-size: 15px;
+}
+
+div#quickview h3.directives {
+    margin-top: 0.3em;
+}
+
+/* take care of <a name>s inside */
+h3 a,
+h3 a:hover,
+h3 a:active,
+h4 a,
+h4 a:hover,
+h4 a:active {
+    color: inherit;
+    background-color: inherit;
+    text-decoration: none;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Up & Top helper images
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+/* arrow left             */
+/* ====================== */
+div.up {
+    width: 30px;
+    height: 20px;
+    padding: 0;
+    margin: -20px 0 1px 0;
+    text-align: center;
+    vertical-align: top;
+}
+
+div.up img {
+    vertical-align: top;
+    width: 11px;
+    height: 11px;
+    border-style: none;
+}
+
+/* arrow up (to page top) */
+/* ====================== */
+div.top {
+    width: 30px;
+    padding: 0 0 0 30px;
+    margin: 0;
+}
+
+div.top img {
+    margin-top: 0.5em;
+    vertical-align: bottom;
+    width: 11px;
+    height: 11px;
+    border-style: none;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Tables
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+/* general                */
+/* ====================== */
+table {
+    border: 1px solid #aaa;
+    border-collapse: collapse;
+    padding: 2px;
+    margin-top: 0.5em;
+    margin-bottom: 0;
+}
+
+td, th {
+    empty-cells: show; /* show border around empty cells */
+    padding: 0.1em 0.2em;
+    vertical-align: top;
+    text-align: left;
+    line-height: 1.3em;
+}
+
+th {
+    font-weight: bold;
+}
+
+td.centered {
+    text-align: center;
+}
+
+td.data {
+    font-family: monospace;
+    text-align: right;
+    padding-left: 1em;
+}
+
+th.data {
+    text-align: right;
+}
+
+tr.odd { /* for large tables alternating colors */
+    background-color: #f2f2f2;
+}
+
+tr.header, tr.header th {
+    background-color: #e2e2e2;
+    border-top: 1px solid #aaa;
+    border-bottom: 1px solid #aaa;
+}
+
+/* bordered table cells   */
+/* ====================== */
+
+/* turn off borders in tables nested in
+ * bordered tables per default
+ */
+table.bordered table td,
+table.bordered table th {
+    border-style: none;
+}
+
+table.bordered td,
+table.bordered th,
+table table.bordered td,
+table table.bordered th {
+    border: 1px solid #aaa;
+}
+
+/* index page layout table */
+/* ======================= */
+body#index-page div#page-content {
+    width: 100%; /* IE fun */
+}
+
+body[id]#index-page div#page-content {
+    width: auto; /* reasonable browsers. */
+}
+
+table#indextable {
+    width: 100%;
+    border-collapse: collapse;
+    border: 0 none;
+}
+
+table#indextable td {
+    width: 33.3%;
+    border-left: 1px solid #aaa;
+    padding-top: 0;
+    padding-bottom: 0;
+}
+
+table#indextable td.col1 {
+    border-left: 0 none;
+    padding-left: 0;
+}
+
+table#indextable td.col3 {
+    padding-right: 0;
+}
+
+/* mod/dir. overview table and quick reference  */
+/* ============================================ */
+table.module th,
+table.directive th {
+    white-space: nowrap;
+}
+
+table.qref {
+    border-collapse: collapse;
+    width: 100%;
+}
+
+table.qref td {
+    border-style: none solid;
+    border-color: #aaa;
+    border-width: 1px;
+}
+
+table.qref td.descr {
+    padding-left: 1em;
+    font-size: 13px;
+}
+
+table#legend {
+    width: 100%;
+    border-style: none;
+    border-width: 0;
+    vertical-align: bottom;
+    padding: 0;
+    margin: 0;
+}
+
+table#legend td {
+    vertical-align: bottom;
+    margin: 0;
+    padding: 0;
+}
+
+table#legend td.letters {
+    width: 100%;
+    padding-bottom: 0.5em;
+}
+
+table#legend table {
+    vertical-align: bottom;
+    margin: 0 0 0 0.4em;
+    padding: 0;
+    height: 7.5em;
+}
+
+table#legend table td,
+table#legend table th {
+    vertical-align: middle;
+    padding: 0.1ex 0.2em;
+    line-height: 1em;
+    white-space: nowrap;
+}
+
+/* related modules & dir. */
+/* ====================== */
+
+/* assuming, all links are enclosed by
+ * <code class="directive"> or
+ * <code class="module">
+ */
+
+table.related {
+    border-collapse: separate;
+}
+
+table.related th {
+    padding: 0.2ex 0.3em;
+    background-color: #e5ecf3;
+    color: #405871;
+    vertical-align: middle;
+}
+
+table.related td {
+    padding: 0.2ex 0.3em;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Lists
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+/* list default values    */
+/* ====================== */
+ul {
+    list-style-type: disc;
+}
+
+ul ul {
+    list-style-type: square;
+}
+
+ul ul ul {
+    list-style-type: circle;
+}
+
+li, dt, dd {
+    line-height: 1.3em;
+    margin-right: 15px;
+}
+
+dt {
+    margin-top: 0.5em;
+    font-weight: bold;
+}
+
+ol li {
+    margin-top: 0.5em;
+}
+
+ol.up-A {
+    list-style-type: upper-alpha;
+}
+
+ol.lo-A {
+    list-style-type: lower-alpha;
+}
+
+dd.separate {
+    margin-bottom: 2em;
+}
+
+li.separate {
+    margin-bottom: 1em;
+}
+
+/* table of contents      */
+/* ====================== */
+#toc,
+#topics {
+    margin: 0 0 1em 0;
+    padding: 0;
+}
+
+#toc li,
+#topics li {
+    list-style-type: none;
+    margin: 0;
+    padding: 0;
+}
+
+/* see also               */
+/* ====================== */
+.seealso {
+    margin: 0 0 1em 0;
+    padding: 0;
+}
+
+.seealso li {
+    list-style-type: none;
+    margin: 0;
+    padding: 0 0 0 34px;
+}
+
+/* related modules & dir. */
+/* ====================== */
+table.related td ul,
+table.related td li {
+    list-style-type: none;
+    margin: 0;
+    padding: 0;
+}
+
+/* list of all directives */
+/* ====================== */
+div#directive-list ul {
+    margin: 0;
+    padding: 0;
+}
+
+/* indextable */
+/* ========== */
+table#indextable td ul {
+    list-style-type: none;
+    margin: 0 0 1em 0.5em;
+    padding: 0 0 0 0;
+}
+
+table#indextable td ul li {
+    margin-top: 0.3em;
+}
+
+/* sidebar                */
+/* ====================== */
+div#quickview li {
+    font-size: 13px;
+}
+
+div#quickview ul {
+    margin: 0 0 15px 0;
+    padding: 0;
+}
+
+div#quickview ul#toc {
+    margin: 0 0 0 0.5em;
+    padding: 0;
+}
+
+#module-index div#quickview ul#toc,
+#manual-page div#quickview ul#toc {
+    margin-left: 0;
+}
+
+div#quickview ul#toc li {
+    margin: 0;
+    padding: 0;
+    list-style-type: none;
+}
+
+div#quickview li img {
+    display: none;
+}
+
+#module-index div#quickview ul#toc,
+#manual-page div#quickview ul#toc,
+div#quickview #topics,
+div#quickview .seealso {
+    padding-left: 15px;
+}
+
+#module-index div#quickview ul#toc li,
+#manual-page div#quickview ul#toc li,
+div#quickview #topics li,
+div#quickview .seealso li {
+    margin: 0.4em 0 2px 0;
+    padding: 0;
+    list-style-type: square;
+    list-style-position: outside;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * main page sections
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+/* page header            */
+/* ====================== */
+div#page-header {
+    margin-left: 10px;
+}
+
+div#page-header img {
+    padding: 0;
+    display: block;
+    margin: -72px 0 1px 2em;
+    width: 800px;
+    height: 72px;
+}
+
+div#page-header p.apache {
+    background-color: #304558;
+    color: #fff;
+    padding: 0 0 0 248px;
+    margin: 0;
+    text-align: center;
+    vertical-align: middle;
+    font-size: 16px;
+    font-weight: bold;
+    line-height: 29px;
+}
+
+div#page-header p.menu {
+    text-align: right;
+    font-size: 13px;
+    margin: 30px 0 0.5em 0;
+    padding: 0;
+}
+
+
+
+/* breadcrumb navigation */
+div#path {
+    margin: 0.2em 0 1.2em 30px;
+    padding: 0;
+    font-size: 13px;
+}
+
+/* content sections       */
+/* ====================== */
+div#preamble {
+    padding-bottom: 1em;
+    margin-left: 30px;
+}
+
+div.section,
+div.directive-section {
+    margin: -1.2em 0 0 60px;
+    padding: 0;
+}
+
+td.directive-section {
+    margin: -1.2em 0 0 60px;
+    padding: 0;
+}
+
+.section p,
+.directive-section p {
+    margin: 0 0 1em 0;
+    padding: 0;
+}
+
+/* look for this on directive
+ * list pages
+ */
+div#directive-list {
+    margin-left: 30px;
+    padding: 0 0 1em 1em;
+}
+
+div#directive-ref {
+    margin: -1em 0 0 0;
+    padding: 0 0 1em 30px;
+    width: 100%; /* IE is BAD (broken as designed) */
+}
+
+div[id]#directive-ref { /* a big sorry to ICab, Amaya (and old Konquerors?) */
+    width: auto; /* other browsers are fine ;-) */
+}
+
+/* sidebar position: right */
+div#quickview {
+    position: absolute;
+    top: 5.5em;
+    right: 1em;
+    margin-left: 0;
+    margin-top: 40px;
+    padding: 4px;
+    width: 13.5em;
+    background-color: #f0f0f0;
+    color: inherit;
+}
+
+/* -> move content left */
+div#page-content {
+    padding-top: 0;
+    margin-right: 13em;
+    padding-right: 30px;
+}
+
+/* unsqueeze on some pages... */
+body.no-sidebar div#page-content,
+body#index-page div#page-content {
+    margin-right: 0;
+    padding-right: 0;
+}
+
+body#index-page div#page-content {
+    margin-left: 30px;
+    padding-bottom: 1em;
+}
+
+/* in general */
+p {
+    line-height: 1.3em;
+}
+
+/* translations           */
+/* ====================== */
+.toplang {
+    padding: 0;
+    margin: 0.2em 0.2em 1em 0;
+}
+
+.bottomlang {
+    padding: 0;
+    margin: 0 0.2em 0.2em 0;
+}
+
+.toplang p,
+.bottomlang p {
+    font-size: 13px;
+    text-align: right;
+    background-color: inherit;
+    color: #ccc;
+    margin: 0;
+    padding: 0;
+}
+
+.toplang p span,
+.bottomlang p span {
+    background-color: inherit;
+    color: #036;
+}
+
+.toplang p a:link,
+.toplang p a:visited,
+.bottomlang p a:link,
+.bottomlang p a:visited {
+    text-decoration: none;
+    font-weight: bold;
+}
+
+.toplang p a:hover,
+.toplang p a:active,
+.bottomlang p a:hover,
+.bottomlang p a:active {
+    font-weight: bold;
+}
+
+/* page footer            */
+/* ====================== */
+div#footer {
+    margin-left: 30px;
+    font-size: 13px;
+    margin-top: 1em;
+    border-top: 1px solid #405871;
+    padding-top: 0.2em;
+    padding-left: 15em;
+}
+
+div#footer p.apache {
+    float: left;
+    text-align: left;
+    padding: 0 0 1em 0;
+    margin-top: 0;
+}
+
+div#footer p.menu {
+    float: right;
+    text-align: right;
+    margin-top: 0;
+    padding: 0 0 1em 0;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * subsections (examples, notes, warnings)
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+/* examples               */
+/* ====================== */
+div.example {
+    background-color: #e5ecf3;
+    color: #000;
+    padding: 0.5em;
+    margin: 1em 2em 1em 1em;
+}
+
+/* example inside a note:
+ * blue in gray doesn't look good
+ * so simply draw a border around
+ * and keep it gray
+ */
+div.note div.example,
+div.warning div.example {
+    border: 1px solid #aaa;
+    background-color: transparent;
+    color: inherit;
+    margin-right: 1em;
+}
+
+/* example inside table */
+table div.example {
+    margin-right: 1em;
+}
+
+/* the following [block] elements
+ * may appear inside example...
+ */
+div.example p,
+div.example pre,
+div.example table {
+    padding: 0;
+    margin: 0;
+}
+
+div.example p {
+    line-height: 1em;
+}
+
+div.example pre,
+div.example p > code {
+    font-size: 13px;
+}
+
+/* notes & warnings       */
+/* ====================== */
+div.note,
+div.warning {
+    background-color: #eee;
+    color: #036;
+    padding: 0.5em;
+    margin: 1em 2em 1em 1em;
+}
+
+div.warning {
+    border: 1px solid #f00;
+}
+
+div.note p,
+div.warning p {
+    margin: 0.5em 0 0 0;
+    padding: 0;
+}
+
+div.note pre,
+div.warning pre {
+    font-size: 13px;
+}
+
+/* inside table */
+table div.note,
+table div.warning {
+    margin-right: 1em;
+}
+
+div.outofdate {
+    background-color: #ffffe0;
+    color: #036;
+    padding: 0.5em;
+    margin: 1em 2em 1em 1em;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * quotations, indented paragraphs, forms and figures
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+p.letters {
+    margin: 1em 0 0 0;
+}
+
+p.centered {
+    text-align: center;
+}
+
+.letters {
+    text-align: center;
+    background-color: inherit;
+    color: #ccc;
+}
+
+.letters a:link,
+.letters a:visited {
+    text-decoration: none;
+    font-weight: bold;
+}
+
+.letters a:hover,
+.letters a:active {
+    font-weight: bold;
+}
+
+blockquote p {
+    margin: 4px;
+}
+
+blockquote p.cite {
+    font-style: normal;
+    margin-top: 0;
+    margin-left: 2em;
+}
+
+blockquote p.cite cite {
+    font-style: normal;
+}
+
+p.indent {
+    margin-left: 2em;
+    margin-top: 1em;
+}
+
+span.indent {
+    padding-left: 1.5em;
+    display: block;
+}
+
+#index-page form {
+    text-align: center;
+}
+
+#index-page form p {
+    line-height: 1.1em;
+}
+
+#index-page form input {
+    font-size: 1em;
+}
+
+p.figure {
+    margin-left: 2em;
+    font-style: italic;
+}
+
+p.figure img {
+    border: 1px solid #aaa;
+}
+
+p.figure dfn {
+    font-weight: bold;
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * -> The End <-
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */



Mime
View raw message