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> > <a href="http://httpd.apache.org">HTTP Server Project</a> >
+<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 Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data 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 © 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&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@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&r=1&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@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&r=1&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&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@httpd.apache.org</a>
+ - discusses libapreq development</dt>
+ <dd>
+ <ul type="square">
+ <li><a href="http://marc.theaimsgroup.com/?l=apreq-dev&r=1&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@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&r=1&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->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->parms;
+ ap_table_set(data, "Key", "Value");
+</PRE>
+<DT><STRONG><A NAME="item_req">req->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->post_max = 1204;
+ if((status = ApacheRequest_parse(req)) != OK) {
+ char *errmsg = ap_table_get(r->notes, "error-notes");
+ ...
+ return status;
+ }
+</PRE>
+<DT><STRONG><A NAME="item_req">req->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->disable_uploads = 1;
+ if((status = ApacheRequest_parse(req)) != OK) {
+ char *errmsg = ap_table_get(r->notes, "error-notes");
+ ...
+ return status;
+ }
+</PRE>
+<DT><STRONG><A NAME="item_req">req->temp_dir</A></STRONG><DD>
+<P>
+Sets the directory where upload files are spooled.
+
+<P>
+<PRE> char dir[] = "/usr/tmp";
+ req->temp_dir = dir;
+</PRE>
+<DT><STRONG><A NAME="item_req">req->hook_data</A></STRONG><DD>
+<DT><STRONG><A NAME="item_req">req->upload_hook</A></STRONG><DD>
+<P>
+Redirects upload data to be processed by the hook.
+
+<P>
+<PRE> req->hook_data = (void *) data;
+ req->upload_hook = (int(*)(void*,char*,int,ApacheUpload*)) func;
+</PRE>
+<P>
+In this case
+
+<P>
+<PRE> func(req->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, "Key");
+</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, "Key");
+</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, "Key");
+</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->name</A></STRONG><DD>
+<P>
+The name of the filefield parameter:
+
+<P>
+<PRE> char *name = upload->name;
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload->filename</A></STRONG><DD>
+<P>
+The name of the upload file as reported by the client:
+
+<P>
+<PRE> char *filename = upload->filename;
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload->fp</A></STRONG><DD>
+<P>
+A file pointer to the uploaded file:
+
+<P>
+<PRE> FILE *fp = upload->fp;
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload->tempname</A></STRONG><DD>
+<P>
+The name of the temporary upload file on the server:
+
+<P>
+char <CODE>*tempname</CODE> = upload->tempname;
+
+<DT><STRONG><A NAME="item_upload">upload->size</A></STRONG><DD>
+<P>
+The size of the uploaded file in bytes:
+
+<P>
+<PRE> long size = upload->size;
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload->info</A></STRONG><DD>
+<P>
+The additional header information for the uploaded file:
+
+<P>
+<PRE> table *info = upload->info;
+ const char *type = ap_table_get(info, "Content-type");
+</PRE>
+<DT><STRONG><A NAME="item_upload">upload->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->next) {
+ char *name = uptr->name;
+ FILE *fp = uptr->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, "Content-Type");
+</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,
+ "-name", "foo",
+ "-value", "bar",
+ "-expires", "+3M",
+ "-domain", ".cp.net",
+ "-path", "/mypath/database",
+ "-secure", "On",
+ 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, "-name"); /* same as c->name */
+ (void *)ApacheCookie_attr(c, "-expires", "+3h");
+</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 < ApacheCookieJarItems(cookies); i++) {
+ ApacheCookie *c = ApacheCookieJarFetch(cookies, i);
+ int j;
+ for (j = 0; j < ApacheCookieItems(c); j++) {
+ char *name = c->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. "ASAP!")
+ now immediately
+ +3M in three months
+ +10y in ten years time
+ Thursday, 25-Apr-1999 00:40:33 GMT at the indicated time & 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->headers_out, "Set-Cookie", 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&changedin=60&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&long_desc=duplicate+of+this+bug.&long_desc_type=allwordssubstr&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&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