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