You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by hu...@apache.org on 2012/05/06 15:14:50 UTC

svn commit: r1334622 [14/29] - in /httpd/site/trunk: cgi-bin/ content/ content/apreq/ content/apreq/docs/ content/apreq/docs/libapreq2/ content/contributors/ content/css/ content/dev/ content/dev/images/ content/dev/whiteboard/ content/docs-project/ co...

Added: httpd/site/trunk/content/apreq/docs/libapreq2/todo.html
URL: http://svn.apache.org/viewvc/httpd/site/trunk/content/apreq/docs/libapreq2/todo.html?rev=1334622&view=auto
==============================================================================
--- httpd/site/trunk/content/apreq/docs/libapreq2/todo.html (added)
+++ httpd/site/trunk/content/apreq/docs/libapreq2/todo.html Sun May  6 13:14:42 2012
@@ -0,0 +1,52 @@
+<html>
+<head>
+  <link rel="stylesheet" type="text/css" href="dox.css" />
+  <title>libapreq2-2.13: libapreq2: Todo List</title> 
+</head>
+<body>
+<div id="page-header">
+<p class="menu">
+   <a href="http://www.apache.org/">Apache Software Foundation</a> &gt; <a href="http://httpd.apache.org">HTTP Server Project</a> &gt;
+<a href="http://httpd.apache.org/apreq/">Request Library Subproject</a></p>
+<p class="apache">Apache HTTP Server Request Library</p>
+<img alt="" src="feather.gif" /></div>
+<!-- Generated by Doxygen 1.5.6 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li><a href="examples.html"><span>Examples</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="todo">Todo List </a></h1><a class="anchor" name="_todo000001"></a> <dl>
+<dt>Global <a class="el" href="apreq__util_8h.html#69acb9425572cb8f694d49277160b1f7">apreq_atoi64f</a>  </dt>
+<dd>What happens when s is malformed? Should this return an unsigned value instead? </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000002"></a> <dl>
+<dt>Global <a class="el" href="apreq__util_8h.html#4e838a92724aa7d9be0b978dc5c4e50c">apreq_atoi64t</a>  </dt>
+<dd>What happens when s is malformed? Should this return an unsigned value instead? </dd>
+</dl>
+<p>
+<a class="anchor" name="_todo000003"></a> <dl>
+<dt>Global <a class="el" href="apreq__util_8h.html#4ddf563c9902474bdedbf014e24aafc8">apreq_brigade_concat</a>  </dt>
+<dd>Flesh out these error codes, making them as explicit as possible. </dd>
+</dl>
+</div>
+<div id="footer">
+<p class="apache">
+Copyright &copy; 2003-2006 <a href="http://www.apache.org">The Apache Software Foundation</a>.<br/>
+See <a href="apreq_license.html">LICENSE</a>.</p>
+<p class="menu">
+<span style="color:#aaa">page generated by <a href="http://www.doxygen.org/"><code>doxygen</code></a>
+version 1.5.6 on 3 Dec 2010</span>
+</p>
+</div>
+</body>
+</html>

Propchange: httpd/site/trunk/content/apreq/docs/libapreq2/todo.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/site/trunk/content/apreq/download.cgi
URL: http://svn.apache.org/viewvc/httpd/site/trunk/content/apreq/download.cgi?rev=1334622&view=auto
==============================================================================
--- httpd/site/trunk/content/apreq/download.cgi (added)
+++ httpd/site/trunk/content/apreq/download.cgi Sun May  6 13:14:42 2012
@@ -0,0 +1,6 @@
+#!/bin/sh
+# Wrapper script around mirrors.cgi script
+# (we must change to that directory in order for python to pick up the
+#  python includes correctly)
+cd /www/www.apache.org/dyn/mirrors
+/www/www.apache.org/dyn/mirrors/mirrors.cgi $*

Propchange: httpd/site/trunk/content/apreq/download.cgi
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/site/trunk/content/apreq/download.xml
URL: http://svn.apache.org/viewvc/httpd/site/trunk/content/apreq/download.xml?rev=1334622&view=auto
==============================================================================
--- httpd/site/trunk/content/apreq/download.xml (added)
+++ httpd/site/trunk/content/apreq/download.xml Sun May  6 13:14:42 2012
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+<document>
+  <properties>
+    <author email="apreq-dev@httpd.apache.org">apreq developers</author>
+    <title>libapreq download</title>
+  </properties>
+<body>
+<section id="Download">
+<title>Downloading libapreq</title>
+
+<p>Use the links below to download libapreq from one of our mirrors.
+You <strong>must</strong> <a href="#verify">verify the integrity</a> of the
+downloaded files using signatures downloaded from our main distribution
+directory.</p>
+
+<p>If you do not see the file you need in the links below, please see
+the <a href="http://www.apache.org/dist/httpd/libapreq/">master distribution
+directory</a> or, preferably, its <a
+href="[preferred]/httpd/libapreq/">mirror</a>.</p>
+
+<section id="mirror">
+<title>Mirror</title>
+
+<p>You are currently using <b>[preferred]</b>.  If you encounter a
+problem with this mirror, please select another mirror.  If all
+mirrors are failing, there are <i>backup</i> mirrors (at the end of
+the mirrors list) that should be available.</p>
+
+<form action="[location]" method="get" id="SelectMirror">
+Other mirrors: <select name="Preferred">
+[if-any http]
+  [for http]<option value="[http]">[http]</option>[end]
+[end]  
+[if-any ftp]
+  [for ftp]<option value="[ftp]">[ftp]</option>[end]
+[end]
+[if-any backup]
+  [for backup]<option value="[backup]">[backup] (backup)</option>[end]
+[end]
+</select>
+<input type="submit" value="Change" />     
+</form>
+</section>
+
+<section id="v2_13">
+<title>Apache HTTP Request Library 2.13 is now available</title>
+
+<p>This release works with Apache HTTP Server 2.0.  Please note that this
+   version will not work with older 1.3.X releases of the Apache HTTP Server.</p>
+
+<a href="[preferred]/httpd/libapreq/libapreq2-2.13.tar.gz">libapreq2-2.13</a> 
+[<a href="http://www.apache.org/dist/httpd/libapreq/libapreq2-2.13.tar.gz.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/httpd/libapreq/libapreq2-2.13.tar.gz.md5">MD5</a>]
+
+</section>
+
+<section id="v1_03">
+<title>Apache HTTP Request Library 1.34 is now available</title>
+
+<p>This release works with Apache HTTP Server 1.3.  Please note that this
+   version will not work with newer 2.X releases of the Apache HTTP Server.
+   Please use <a href="#v2_13">libapreq2-2.13</a> for use with
+   Apache HTTP Server 2.0.</p>
+
+<a href="[preferred]/httpd/libapreq/libapreq-1.34.tar.gz">libapreq-1.34</a> 
+[<a href="http://www.apache.org/dist/httpd/libapreq/libapreq-1.34.tar.gz.asc">PGP</a>] 
+[<a href="http://www.apache.org/dist/httpd/libapreq/libapreq-1.34.tar.gz.md5">MD5</a>]
+
+</section>
+
+<section id="verify"><title>Verify the integrity of the files</title>
+
+<p>It is essential that you verify the integrity of the downloaded
+files using the PGP or MD5 signatures.</p>
+
+<p>The PGP signatures can be verified using PGP or GPG.  First
+download the <a href="http://www.apache.org/dist/httpd/KEYS">KEYS</a>
+as well as the <code>asc</code> signature file for the particular
+distribution.  Make sure you get these files from the <a
+href="http://www.apache.org/dist/httpd/">main distribution
+directory</a>, rather than from a mirror. Then verify the signatures
+using</p>
+
+<p><code>
+% pgpk -a KEYS<br />
+% pgpv libapreq2-2.13.tar.gz.asc<br />
+</code>
+<em>or</em><br />
+<code>
+% pgp -ka KEYS<br />
+% pgp libapreq2-2.13.tar.gz.asc<br />
+</code>
+<em>or</em><br />
+<code>
+% gpg --import KEYS<br />
+% gpg --verify libapreq-2.13.tar.gz.asc
+</code></p>
+
+<p>Alternatively, you can verify the MD5 signature on the files.  A
+unix program called <code>md5</code> or <code>md5sum</code> is
+included in many unix distributions.  It is also available as part of
+<a href="http://www.gnu.org/software/textutils/textutils.html">GNU
+Textutils</a>.  Windows users can get binary md5 programs from <a
+href="http://www.fourmilab.ch/md5/">here</a>, <a
+href="http://www.pc-tools.net/win32/freeware/console/">here</a>, or
+<a href="http://www.slavasoft.com/fsum/">here</a>.</p>
+
+</section>
+
+</section>
+</body>
+</document>

Propchange: httpd/site/trunk/content/apreq/download.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/site/trunk/content/apreq/index.html
URL: http://svn.apache.org/viewvc/httpd/site/trunk/content/apreq/index.html?rev=1334622&view=auto
==============================================================================
--- httpd/site/trunk/content/apreq/index.html (added)
+++ httpd/site/trunk/content/apreq/index.html Sun May  6 13:14:42 2012
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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" lang="en">
+<head>
+  <title>libapreq - Generic Apache Request Library</title>
+</head>
+<body bgcolor="#ffffff" text="#000000" link="#0000cc" vlink="#cc00cc" alink="#cc0000">
+<table width="100%">
+<tr>
+  <td align="left" valign="top"><img src="../images/apache_sub.gif" width="500" height="62" alt="Apache" /></td>
+  <td align="right"><a href="http://apachecon.com/"><img src="http://www.apache.org/images/ac2003-150.gif" 
+                                       width="150" border="0" height="86"
+                                       alt="ApacheCon" />
+                                       </a></td>
+</tr>
+</table>
+<h1>libapreq - Generic Apache Request Library</h1>
+
+<p>This package contains modules for manipulating client request
+data via the Apache API with Perl and C. Functionality includes:</p>
+
+<ul>
+  <li>parsing of application/x-www-form-urlencoded data</li>
+  <li>parsing of multipart/form-data</li>
+  <li>parsing of HTTP cookies</li>
+</ul>
+
+<p>You can view the documentation for the C interface <a
+href="libapreq.html">here</a>.</p>
+
+<p>You can view the documentation for the perl interfaces <a
+href="Apache-Request.html">here (Apache::Request and Apache::Upload)</a>
+and <a href="Apache-Cookie.html">here (Apache::Cookie)</a>.</p>
+
+<hr noshade="noshade" size="1" />
+
+<h2>News</h2>
+
+<p><b>November 11, 2003</b> - libapreq2-2.01-dev was released.</p>
+
+<p><b>September 27, 2003</b> - libapreq-1.3 was released.</p>
+
+<p><b>June 19, 2003</b> - libapreq-1.2 was released.</p>
+
+<p><b>January 28, 2003</b> - libapreq-1.1 was released.</p>
+
+<p><b>February 21, 2002</b> - libapreq-1.0 was released.</p>
+
+<p><b>June 19, 2001</b> - libapreq-0.33 was released.</p>
+
+<p><b>December 23, 2000</b> - libapreq-0.31_03 was released for testing.</p>
+
+<p><b>December 17, 2000</b> - libapreq-0.31_02 was released for testing.</p>
+
+<hr noshade="noshade" size="1" />
+
+<h2>Downloads</h2>
+
+<p>You can download the latest stable version of libapreq from:</p>
+
+<ul>
+  <li><a href="http://www.apache.org/dyn/closer.cgi/httpd/libapreq">http://www.apache.org/dyn/closer.cgi/httpd/libapreq</a></li>
+  <li><a href="http://search.cpan.org/search?mode=module&amp;query=libapreq">CPAN</a> ('perl -MCPAN -e "install libapreq"')</li>
+</ul>
+
+<hr noshade="noshade" size="1" />
+
+<h2>Mailing Lists</h2>
+
+<p>There are two mailing lists devoted to the development of libapreq.</p>
+
+<dl>
+  <dt><a href="mailto:apreq-dev-subscribe@httpd.apache.org">apreq-dev&#64;httpd.apache.org</a>
+  - for discussion about the development of libapreq (low volume)</dt>
+  <dd><ul>
+    <li><a href="http://marc.theaimsgroup.com/?l=apreq-dev&amp;r=1&amp;w=2">list archives</a></li>
+    <li><a href="nntp://news.gmane.org/gmane.comp.apache.apreq">NNTP gateway</a></li>
+  </ul></dd>
+
+  <dt><a href="mailto:apreq-cvs-subscribe@httpd.apache.org">apreq-cvs&#64;httpd.apache.org</a>
+   - when changes are commited to the cvs repository, cvs log messages are automatically sent to this list (low volume)</dt>
+   <dd><ul>
+     <li><a href="http://marc.theaimsgroup.com/?l=apreq-cvs&amp;r=1&amp;w=2">list archives</a></li>
+   </ul></dd>
+</dl>
+
+<hr noshade="noshade" size="1" />
+
+<h2>SVN</h2>
+
+<p>Development of libapreq can be followed through the
+<a href="http://subversion.apache.org/">Subversion</a> repositories.
+For public access you can use</p>
+<pre><code>
+    % svn checkout http://svn.apache.org/repos/asf/httpd/apreq/trunk/ httpd-apreq-2
+    % svn checkout http://svn.apache.org/repos/asf/httpd/apreq/branches/1.x/ httpd-apreq
+</code></pre>
+<p>SVN snapshots for httpd-apreq-2 are available at
+<a href="http://svn.apache.org/snapshots/apreq/">http://svn.apache.org/snapshots/apreq/</a>.
+You can also browse through the SVN repositories for 
+<a href="http://svn.apache.org/viewcvs.cgi/httpd/apreq/branches/1.x/">httpd-apreq</a> and
+<a href="http://svn.apache.org/viewcvs.cgi/httpd/apreq/trunk/">httpd-apreq-2</a>.
+</p>
+
+<hr noshade="noshade" size="1" />
+
+<small>$Id: index.html 951025 2010-06-03 15:10:53Z poirier $</small>
+
+</body>
+</html>

Propchange: httpd/site/trunk/content/apreq/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/site/trunk/content/apreq/index.xml
URL: http://svn.apache.org/viewvc/httpd/site/trunk/content/apreq/index.xml?rev=1334622&view=auto
==============================================================================
--- httpd/site/trunk/content/apreq/index.xml (added)
+++ httpd/site/trunk/content/apreq/index.xml Sun May  6 13:14:42 2012
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<document>
+  <properties>
+    <author email="apreq-dev@httpd.apache.org">apreq developers</author>
+    <title>Apache HTTP Request Library</title>
+  </properties>
+<body>
+
+<section>
+<title>Apache HTTP Request Library</title>
+<p><em>libapreq</em> is a shared library with associated modules for 
+manipulating client request data via the Apache API. It also includes 
+language bindings for Perl (Apache::Request and Apache::Cookie).  
+Functionality includes:
+</p>
+<ul type="square">
+  <li>parsing of application/x-www-form-urlencoded data</li>
+  <li>parsing of multipart/form-data</li>
+  <li>parsing of HTTP cookies</li>
+</ul>
+<p>
+Documentation for the latest release of libapreq2 is located
+at <a href="docs/libapreq2">http://httpd.apache.org/apreq/docs/libapreq2</a>.
+</p>
+</section>
+<section><title>News</title>
+
+<p><b>December 3, 2010</b> - libapreq2-2.13 was released.</p>
+<p><b>March 13, 2009</b> - libapreq2-2.12 was released.</p>
+<p><b>January 7, 2009</b> - libapreq-1.34 was released.</p>
+<p><b>August 8, 2006</b> - libapreq2-2.08 was released.</p>
+<p><b>February 12, 2006</b> - libapreq2-2.07 was released.</p>
+<p><b>July 20, 2005</b> - libapreq2-2.06-dev was released.</p>
+<p><b>May 5, 2005</b> - libapreq2-2.05-dev was released.</p>
+<p><b>December 16, 2004</b> - libapreq-1.33 was released.</p>
+<p><b>August 30, 2004</b> - libapreq2-2.04-dev was released.</p>
+<p><b>June 12, 2004</b> - libapreq2-2.03-dev was released.</p>
+<p><b>November 16, 2003</b> - libapreq2-2.02-dev was released.</p>
+<p><b>November 11, 2003</b> - libapreq2-2.01-dev was released.</p>
+<p><b>September 27, 2003</b> - libapreq-1.3 was released.</p>
+<p><b>June 19, 2003</b> - libapreq-1.2 was released.</p>
+<p><b>January 28, 2003</b> - libapreq-1.1 was released.</p>
+<p><b>February 21, 2002</b> - libapreq-1.0 was released.</p>
+</section>
+<section><title>Downloads</title>
+<p>You can download the latest version of libapreq from:</p>
+<ul type="square">
+  <li><a href="http://httpd.apache.org/apreq/download.cgi">ASF mirror</a></li>
+  <li><a href="http://search.cpan.org/search?mode=module&amp;query=libapreq">CPAN</a> ('perl -MCPAN -e "install libapreq"')</li>
+</ul>
+</section>
+<section><title>Mailing Lists</title>
+<p>There are two mailing lists devoted to the development of libapreq.</p>
+<dl>
+  <dt><a href="mailto:apreq-dev-subscribe@httpd.apache.org">apreq-dev&#64;httpd.apache.org</a>
+  - discusses libapreq development</dt>
+  <dd>
+    <ul type="square">
+      <li><a href="http://marc.theaimsgroup.com/?l=apreq-dev&amp;r=1&amp;w=2">list archives</a></li>
+      <li><a href="nntp://news.gmane.org/gmane.comp.apache.apreq">NNTP gateway</a></li>
+    </ul>
+  </dd>
+  <dt><a href="mailto:apreq-cvs-subscribe@httpd.apache.org">apreq-cvs&#64;httpd.apache.org</a>
+  - cvs commit logs for httpd-apreq and httpd-apreq-2</dt>
+  <dd>
+    <ul type="square">
+      <li><a href="http://marc.theaimsgroup.com/?l=apreq-cvs&amp;r=1&amp;w=2">list archives</a></li>
+    </ul>
+  </dd>
+</dl>
+</section>
+<section><title>SVN</title>
+<p>Development of libapreq can be followed through the
+<a href="http://subversion.apache.org/">Subversion</a> repositories.
+For public access you can use</p>
+<pre><code>
+    % svn checkout http://svn.apache.org/repos/asf/httpd/apreq/trunk/ httpd-apreq-2
+    % svn checkout http://svn.apache.org/repos/asf/httpd/apreq/branches/1.x/ httpd-apreq
+</code></pre>
+<p>SVN snapshots for httpd-apreq-2 are available at
+<a href="http://svn.apache.org/snapshots/apreq/">http://svn.apache.org/snapshots/apreq/</a>.
+You can also browse through the SVN repositories for 
+<a href="http://svn.apache.org/viewcvs.cgi/httpd/apreq/branches/1.x/">httpd-apreq</a> and
+<a href="http://svn.apache.org/viewcvs.cgi/httpd/apreq/trunk/">httpd-apreq-2</a>.
+</p>
+</section>
+
+</body>
+</document>

Propchange: httpd/site/trunk/content/apreq/index.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/site/trunk/content/apreq/libapreq.html
URL: http://svn.apache.org/viewvc/httpd/site/trunk/content/apreq/libapreq.html?rev=1334622&view=auto
==============================================================================
--- httpd/site/trunk/content/apreq/libapreq.html (added)
+++ httpd/site/trunk/content/apreq/libapreq.html Sun May  6 13:14:42 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>

Propchange: httpd/site/trunk/content/apreq/libapreq.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/site/trunk/content/bug_report.xml
URL: http://svn.apache.org/viewvc/httpd/site/trunk/content/bug_report.xml?rev=1334622&view=auto
==============================================================================
--- httpd/site/trunk/content/bug_report.xml (added)
+++ httpd/site/trunk/content/bug_report.xml Sun May  6 13:14:42 2012
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<document>
+  <properties>
+    <title>Bug Reporting</title>
+  </properties>
+<body>
+<section>
+<title>Bug Reporting</title>
+
+<note>
+<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>
+</note>
+
+<p>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, <font color="red">make <strong>sure</strong> you
+have done <strong>all</strong> of the following:</font></p>
+
+<ol>
+ <li>Verified that the bug exists in
+  <a href="/download.cgi">the most recent version</a>
+  of Apache.
+ </li>
+ <li>Followed the instructions in the <code>INSTALL</code> file correctly
+ </li>
+ <li>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.
+ </li>
+ <li>Looked at the error log.  Please include any related messages in your
+  report, or state that there are none.
+ </li>
+ <li>Checked the <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a>.
+ </li>
+ <li>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:
+  <ul>
+  <li><a
+  href="http://issues.apache.org/bugzilla/buglist.cgi?resolution=FIXED&amp;changedin=60&amp;product=Apache+httpd-2">All
+  bugs fixed in the last 60 days</a></li> <li><a
+  href="http://issues.apache.org/bugzilla/buglist.cgi?product=Apache+httpd-2&amp;long_desc=duplicate+of+this+bug.&amp;long_desc_type=allwordssubstr&amp;changedin=30">Frequently
+  reported bugs</a> (bugs with duplicates changed in the last 30
+  days)</li> <li><a
+  href="http://issues.apache.org/bugzilla/buglist.cgi?changedin=10&amp;product=Apache+httpd-2">All
+  bugs changed in the last 10 days</a></li>
+  </ul>
+ </li>
+</ol>
+
+<note>
+  <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>
+</note>
+
+<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>
+
+<note>
+<ul>
+ <li>
+  <strong>
+  Do NOT send configuration questions or requests for help debugging CGI!
+  </strong>
+ </li>
+ <li>
+  <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>
+ </li>
+</ul>
+</note>
+
+<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>
+
+</section>
+</body>
+</document>

Propchange: httpd/site/trunk/content/bug_report.xml
------------------------------------------------------------------------------
    svn:eol-style = native