1251876SpeterApache Portable Runtime Utility Library README
2251876Speter----------------------------------------------
3251876Speter
4251876Speter   The Apache Portable Runtime Utility Library provides a predictable
5251876Speter   and consistent interface to underlying client library interfaces.
6251876Speter   This API assures predictable if not identical behavior regardless
7251876Speter   of which libraries are available on a given platform.
8251876Speter
9251876Speter   APR and its companion libraries are implemented entirely in C
10251876Speter   and provide a common programming interface across a wide variety
11251876Speter   of operating system platforms without sacrificing performance.
12251876Speter   Currently supported platforms include:
13251876Speter
14251876Speter     UNIX variants
15251876Speter     Windows
16251876Speter     Netware
17251876Speter     Mac OS X
18251876Speter     OS/2
19251876Speter
20251876Speter   To give a brief overview, the primary core
21251876Speter   subsystems of APR-util 1.3 include the following:
22251876Speter
23251876Speter     Hashing and UUID services
24251876Speter     Multiple SQL DBD client interfaces
25251876Speter     Multiple flat-database DBM client interfaces
26251876Speter     Typesafe function Hooks abstraction
27251876Speter     LDAP SSL connections for a variety of LDAP toolkits   
28251876Speter     MemCache interface
29251876Speter     Date parsing rourtines
30251876Speter     Resource Lists
31251876Speter     Thread Pools
32251876Speter     Queues
33251876Speter     Relocatable Memory Management functions
34251876Speter     String filename-style pattern matching
35251876Speter     URI Parsing
36251876Speter     Charset translation (iconv based)
37362181Sdim     XML parsing (expat)
38251876Speter
39251876Speter   For a more complete list, please refer to the following URLs:
40251876Speter
41251876Speter     http://apr.apache.org/docs/apr-util/modules.html
42251876Speter
43251876Speter   Users of APR 0.9 should be aware that migrating to the APR 1.x
44251876Speter   programming interfaces may require some adjustments; APR 1.x is
45251876Speter   neither source nor binary compatible with earlier APR 0.9 releases.
46251876Speter   Users of APR 1.x can expect consistent interfaces and binary backwards
47251876Speter   compatibility throughout the entire APR 1.x release cycle, as defined
48251876Speter   in our versioning rules:
49251876Speter
50251876Speter     http://apr.apache.org/versioning.html
51251876Speter
52251876Speter   APR is already used extensively by the Apache HTTP Server
53251876Speter   version 2 and the Subversion revision control system, to
54251876Speter   name but a few.  We list all known projects using APR at
55251876Speter   http://apr.apache.org/projects.html -- so please let us know
56251876Speter   if you find our libraries useful in your own projects!
57251876Speter
58251876Speter
59251876SpeterDatabase Providers
60251876Speter------------------
61251876SpeterAs of apr-util version 1.2.11, MySQL DBD driver is shipped as part of the
62251876Speterdistribution.  However, to avoid licensing incompatibilities, it is not
63251876Speterbuilt by default.  To enable MySQL support, use the --with-mysql option,
64251876Speterbut be aware that the MySQL license may introduce licensing implications
65251876Speterfor your compiled code.  Similarly, the bindings for propritary drivers
66251876Spetersuch as Oracle (--with-oracle option) must also be explicitly enabled.
67251876Speter
68251876SpeterOn windows, selection of supported drivers is via the environment values
69362181SdimDBD_LIST (for mysql, oracle, pgsql, sqlite2 and/or sqlite3) 
70251876Speterand DBM_LIST (db and/or gdbm).  DBD odbc and DBM sdbm are unconditionally
71251876Spetercompiled and installed, do not include these in the list.
72251876Speter
73251876SpeterWhenever distributing apr-util in combination with database client 
74251876Speterdrivers, always review the license requirements of all components.
75251876Speter
76251876Speter
77251876SpeterCryptographic Software Notice
78251876Speter-----------------------------
79251876SpeterThis distribution includes cryptographic software.  The country in 
80251876Speterwhich you currently reside may have restrictions on the import, 
81251876Speterpossession, use, and/or re-export to another country, of 
82251876Speterencryption software.  BEFORE using any encryption software, please 
83251876Spetercheck your country's laws, regulations and policies concerning the
84251876Speterimport, possession, or use, and re-export of encryption software, to 
85251876Spetersee if this is permitted.  See http://www.wassenaar.org/ for more
86251876Speterinformation.
87251876Speter
88251876SpeterThe U.S. Government Department of Commerce, Bureau of Industry and
89251876SpeterSecurity (BIS), has classified this software as Export Commodity 
90251876SpeterControl Number (ECCN) 5D002.C.1, which includes information security
91251876Spetersoftware using or performing cryptographic functions with asymmetric
92251876Speteralgorithms.  The form and manner of this Apache Software Foundation
93251876Speterdistribution makes it eligible for export under the License Exception
94251876SpeterENC Technology Software Unrestricted (TSU) exception (see the BIS 
95251876SpeterExport Administration Regulations, Section 740.13) for both object 
96251876Spetercode and source code.
97251876Speter
98251876SpeterThe following provides more details on the included cryptographic
99251876Spetersoftware:
100251876Speter
101251876Speter  APR-Util provides an abstract interface for symmetrical cryptographic
102251876Speter  functions that make use of a general-purpose encryption library,
103251876Speter  such as OpenSSL, NSS, or the operating system's platform-specific
104251876Speter  facilities. This interface is known as the apr_crypto interface,
105251876Speter  with implementation beneath the /crypto directory.
106251876Speter
107251876Speter  APR-Util provides an abstract interface for SSL encrypted LDAP (ldaps
108251876Speter  and STARTTLS style) connections, which can be powered by OpenLDAP, 
109251876Speter  Netscape LDAP SDK, Mozilla LDAP SDK, or other platform specific ldap
110251876Speter  interfaces.
111251876Speter
112