[jsword-svn] r2031 - in trunk: bibledesktop/etc/installer/macosx/BibleDesktop.app/Contents bibledesktop/etc/jnlp jsword jsword/jar jsword/jar/httpcomponents-client-4.1-beta1 jsword/jar/httpcomponents-core-4.1 jsword/src/main/java/org/crosswire/common/util jsword/src/main/java/org/crosswire/jsword/book/install jsword/src/main/java/org/crosswire/jsword/book/install/sword jsword-limbo/src/main/java/org/crosswire/jsword/book/install/sword jsword-web/src/main/webapp/iBD
dmsmith at crosswire.org
dmsmith at crosswire.org
Tue Nov 30 14:44:24 MST 2010
Author: dmsmith
Date: 2010-11-30 14:44:24 -0700 (Tue, 30 Nov 2010)
New Revision: 2031
Added:
trunk/jsword/jar/httpcomponents-client-4.0.3-bin.tar.gz
trunk/jsword/jar/httpcomponents-client-4.1-beta1-bin.tar.gz
trunk/jsword/jar/httpcomponents-client-4.1-beta1/
trunk/jsword/jar/httpcomponents-client-4.1-beta1/LICENSE.txt
trunk/jsword/jar/httpcomponents-client-4.1-beta1/NOTICE.txt
trunk/jsword/jar/httpcomponents-client-4.1-beta1/README.txt
trunk/jsword/jar/httpcomponents-client-4.1-beta1/RELEASE_NOTES.txt
trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpclient-4.1-beta1.jar
trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpclient-cache-4.1-beta1.jar
trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpcomponents-client-4.1-beta1-src.zip
trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpmime-4.1-beta1.jar
trunk/jsword/jar/httpcomponents-core-4.1-bin.tar.gz
trunk/jsword/jar/httpcomponents-core-4.1/
trunk/jsword/jar/httpcomponents-core-4.1/LICENSE.txt
trunk/jsword/jar/httpcomponents-core-4.1/NOTICE.txt
trunk/jsword/jar/httpcomponents-core-4.1/README.txt
trunk/jsword/jar/httpcomponents-core-4.1/RELEASE_NOTES.txt
trunk/jsword/jar/httpcomponents-core-4.1/httpcomponents-core-4.1-src.zip
trunk/jsword/jar/httpcomponents-core-4.1/httpcore-4.1.jar
trunk/jsword/jar/httpcomponents-core-4.1/httpcore-nio-4.1.jar
Removed:
trunk/jsword/jar/commons-httpclient-3.1/
Modified:
trunk/bibledesktop/etc/installer/macosx/BibleDesktop.app/Contents/Info.plist
trunk/bibledesktop/etc/jnlp/bibledesktop.jnlp
trunk/jsword-limbo/src/main/java/org/crosswire/jsword/book/install/sword/FtpSwordInstaller.java
trunk/jsword-web/src/main/webapp/iBD/tutorial.html
trunk/jsword/.classpath
trunk/jsword/core.xml
trunk/jsword/src/main/java/org/crosswire/common/util/NetUtil.java
trunk/jsword/src/main/java/org/crosswire/common/util/WebResource.java
trunk/jsword/src/main/java/org/crosswire/jsword/book/install/Installer.java
trunk/jsword/src/main/java/org/crosswire/jsword/book/install/sword/HttpSwordInstaller.java
Log:
JS-135: Upgrade commons-httpclient from 1.3 to httpcore 1.4 and httpclient 1.4-beta1 (requires Java 5)
Note this significantly hit WebResource and now shutdown needs to be called on it.
Modified: trunk/bibledesktop/etc/installer/macosx/BibleDesktop.app/Contents/Info.plist
===================================================================
--- trunk/bibledesktop/etc/installer/macosx/BibleDesktop.app/Contents/Info.plist 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/bibledesktop/etc/installer/macosx/BibleDesktop.app/Contents/Info.plist 2010-11-30 21:44:24 UTC (rev 2031)
@@ -46,7 +46,8 @@
<string>$JAVAROOT/lucene-smartcn-2.9.1.jar</string>
<string>$JAVAROOT/jdom-1.1.1.jar</string>
<string>$JAVAROOT/commons-codec-1.4.jar</string>
- <string>$JAVAROOT/commons-httpclient-3.1.jar</string>
+ <string>$JAVAROOT/httpcore-4.1.jar</string>
+ <string>$JAVAROOT/httpclient-4.1-beta1.jar</string>
<string>$JAVAROOT/commons-logging-1.1.1.jar</string>
<string>$JAVAROOT/commons-net-2.2.jar</string>
<string>$JAVAROOT/javatar-2.5.jar</string>
Modified: trunk/bibledesktop/etc/jnlp/bibledesktop.jnlp
===================================================================
--- trunk/bibledesktop/etc/jnlp/bibledesktop.jnlp 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/bibledesktop/etc/jnlp/bibledesktop.jnlp 2010-11-30 21:44:24 UTC (rev 2031)
@@ -35,7 +35,8 @@
<jar href="javatar-2.5.jar"/>
<jar href="jdom-1.1.1.jar"/>
<jar href="commons-codec-1.4.jar"/>
- <jar href="commons-httpclient-3.1.jar"/>
+ <jar href="httpcore-4.1.jar"/>
+ <jar href="httpclient-4.1-beta1.jar"/>
<jar href="commons-logging-1.1.1.jar"/>
<jar href="commons-net-2.2.jar"/>
<jar href="lucene-core-2.9.1.jar"/>
Modified: trunk/jsword/.classpath
===================================================================
--- trunk/jsword/.classpath 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/jsword/.classpath 2010-11-30 21:44:24 UTC (rev 2031)
@@ -8,7 +8,6 @@
<classpathentry exported="true" kind="lib" path="jar/lucene-2.9.1/lucene-core-2.9.1.jar" sourcepath="jar/lucene-2.9.1/lucene-2.9.1-src.zip"/>
<classpathentry exported="true" kind="lib" path="jar/lucene-2.9.1/lucene-smartcn-2.9.1.jar" sourcepath="jar/lucene-2.9.1/lucene-2.9.1-src.zip"/>
<classpathentry exported="true" kind="lib" path="jar/lucene-2.9.1/lucene-snowball-2.9.1.jar" sourcepath="jar/lucene-2.9.1/lucene-2.9.1-src.zip"/>
- <classpathentry exported="true" kind="lib" path="jar/commons-httpclient-3.1/commons-httpclient-3.1.jar" sourcepath="jar/commons-httpclient-3.1/commons-httpclient-3.1-src.zip"/>
<classpathentry exported="true" kind="lib" path="jar/commons-logging-1.1.1/commons-logging-1.1.1.jar" sourcepath="jar/commons-logging-1.1.1/commons-logging-1.1.1-src.zip"/>
<classpathentry exported="true" kind="lib" path="jar/icu4j-4.0/icu4j-charsets-4_0.jar"/>
<classpathentry exported="true" kind="lib" path="jar/jaf-1.1/activation.jar"/>
@@ -18,5 +17,7 @@
<classpathentry exported="true" kind="lib" path="jar/jdom-1.1.1/jdom-1.1.1.jar" sourcepath="jar/jdom-1.1.1/jdom-1.1.1-src.zip"/>
<classpathentry exported="true" kind="lib" path="jar/commons-codec-1.4/commons-codec-1.4.jar" sourcepath="jar/commons-codec-1.4/commons-codec-1.4-src.zip"/>
<classpathentry exported="true" kind="lib" path="jar/commons-net-2.2/commons-net-2.2.jar" sourcepath="jar/commons-net-2.2/commons-net-2.2-src.zip"/>
+ <classpathentry kind="lib" path="jar/httpcomponents-core-4.1/httpcore-4.1.jar" sourcepath="jar/httpcomponents-core-4.1/httpcomponents-core-4.1-src.zip"/>
+ <classpathentry kind="lib" path="jar/httpcomponents-client-4.1-beta1/httpclient-4.1-beta1.jar" sourcepath="jar/httpcomponents-client-4.1-beta1/httpcomponents-client-4.1-beta1-src.zip"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: trunk/jsword/core.xml
===================================================================
--- trunk/jsword/core.xml 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/jsword/core.xml 2010-11-30 21:44:24 UTC (rev 2031)
@@ -53,7 +53,8 @@
<exclude name="**/*-src.jar"/>
<include name="**/jdom-*.jar"/>
<include name="**/commons-codec-*.jar"/>
- <include name="**/commons-httpclient-*.jar"/>
+ <include name="**/httpcore-*.jar"/>
+ <include name="**/httpclient-*.jar"/>
<include name="**/commons-logging-*.jar"/>
<include name="**/commons-net-*.jar"/>
<include name="**/lucene-core-*.jar"/>
Added: trunk/jsword/jar/httpcomponents-client-4.0.3-bin.tar.gz
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-client-4.0.3-bin.tar.gz
___________________________________________________________________
Added: svn:needs-lock
+ *
Added: svn:mime-type
+ application/x-gzip
Added: trunk/jsword/jar/httpcomponents-client-4.1-beta1/LICENSE.txt
===================================================================
--- trunk/jsword/jar/httpcomponents-client-4.1-beta1/LICENSE.txt (rev 0)
+++ trunk/jsword/jar/httpcomponents-client-4.1-beta1/LICENSE.txt 2010-11-30 21:44:24 UTC (rev 2031)
@@ -0,0 +1,182 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+This project contains annotations derived from JCIP-ANNOTATIONS
+Copyright (c) 2005 Brian Goetz and Tim Peierls.
+See http://www.jcip.net and the Creative Commons Attribution License
+(http://creativecommons.org/licenses/by/2.5)
+
Property changes on: trunk/jsword/jar/httpcomponents-client-4.1-beta1/LICENSE.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/jsword/jar/httpcomponents-client-4.1-beta1/NOTICE.txt
===================================================================
--- trunk/jsword/jar/httpcomponents-client-4.1-beta1/NOTICE.txt (rev 0)
+++ trunk/jsword/jar/httpcomponents-client-4.1-beta1/NOTICE.txt 2010-11-30 21:44:24 UTC (rev 2031)
@@ -0,0 +1,8 @@
+Apache HttpComponents Client
+Copyright 1999-2010 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+This project contains annotations derived from JCIP-ANNOTATIONS
+Copyright (c) 2005 Brian Goetz and Tim Peierls. See http://www.jcip.net
\ No newline at end of file
Property changes on: trunk/jsword/jar/httpcomponents-client-4.1-beta1/NOTICE.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/jsword/jar/httpcomponents-client-4.1-beta1/README.txt
===================================================================
--- trunk/jsword/jar/httpcomponents-client-4.1-beta1/README.txt (rev 0)
+++ trunk/jsword/jar/httpcomponents-client-4.1-beta1/README.txt 2010-11-30 21:44:24 UTC (rev 2031)
@@ -0,0 +1,77 @@
+Apache HttpComponents Client
+============================
+
+Welcome to the HttpClient component of the Apache HttpComponents project.
+
+Building Instructions
+---------------------
+
+For building from source instructions please refer to BUILDING.txt.
+
+Dependencies
+------------
+
+HttpClient main module requires Java 5.0 compatible runtime and
+depends on the following external libraries:
+
+* Apache HttpComponents HttpCore
+* Apache Commons Logging
+* Apache Commons Codec
+
+(for detailed information on external dependencies please see pom.xml)
+
+HttpMime module is optional and requires Java 5.0 compatible runtime
+and depends on the following external libraries:
+
+* Apache HttpComponents HttpCore
+* Apache Commons Logging
+
+(for detailed information on external dependencies please see pom.xml)
+
+Licensing
+---------
+
+Apache HttpComponents Client is licensed under the Apache License 2.0.
+See the files called LICENSE.txt and NOTICE.txt for more information.
+
+Cryptographic Software Notice
+-----------------------------
+
+This distribution may include software that has been designed for use
+with cryptographic software. The country in which you currently reside
+may have restrictions on the import, possession, use, and/or re-export
+to another country, of encryption software. BEFORE using any encryption
+software, please check your country's laws, regulations and policies
+concerning the import, possession, or use, and re-export of encryption
+software, to see if this is permitted. See <http://www.wassenaar.org/>
+for more information.
+
+The U.S. Government Department of Commerce, Bureau of Industry and
+Security (BIS), has classified this software as Export Commodity
+Control Number (ECCN) 5D002.C.1, which includes information security
+software using or performing cryptographic functions with asymmetric
+algorithms. The form and manner of this Apache Software Foundation
+distribution makes it eligible for export under the License Exception
+ENC Technology Software Unrestricted (TSU) exception (see the BIS
+Export Administration Regulations, Section 740.13) for both object
+code and source code.
+
+The following provides more details on the included software that
+may be subject to export controls on cryptographic software:
+
+ Apache HttpComponents Client interfaces with the
+ Java Secure Socket Extension (JSSE) API to provide
+
+ - HTTPS support
+
+ Apache HttpComponents Client does not include any
+ implementation of JSSE.
+
+Contact
+-------
+
+ o For general information visit the main project site at
+ http://hc.apache.org/
+
+ o For current status information visit the status page at
+ http://hc.apache.org/status.html
Property changes on: trunk/jsword/jar/httpcomponents-client-4.1-beta1/README.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/jsword/jar/httpcomponents-client-4.1-beta1/RELEASE_NOTES.txt
===================================================================
--- trunk/jsword/jar/httpcomponents-client-4.1-beta1/RELEASE_NOTES.txt (rev 0)
+++ trunk/jsword/jar/httpcomponents-client-4.1-beta1/RELEASE_NOTES.txt 2010-11-30 21:44:24 UTC (rev 2031)
@@ -0,0 +1,900 @@
+Release 4.1 BETA1
+-------------------
+
+HttpClient 4.1 BETA1 finalizes the 4.1 API and brings a number of major improvements to the HTTP
+caching module. This release also adds full support for NTLMv1, NTLMv2, and NTLM2 Session
+authentication. The NTLM protocol code was kindly contributed by the Lucene Connector Framework
+project.
+
+Changelog
+-------------------
+
+* [HTTPCLIENT-1015] Support only-if-cached directive.
+ Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com>
+
+* [HTTPCLIENT-990] Allow heuristic freshness caching.
+ Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com>
+
+* [HTTPCLIENT-919] Support for NTLMv1, NTLMv2, and NTLM2 Session authentication.
+ Contributed by Karl Wright <karl.wright at nokia.com>
+
+* [HTTPCLIENT-1008] Send all variants' ETags on "variant miss".
+ Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> and
+ Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com>
+
+* [HTTPCLIENT-1011] Handling of IOExceptions thrown by cache components.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-1003] Handle conditional requests in cache.
+ Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> and
+ Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com>
+
+* [HTTPCLIENT-1002] Stale connection check fails if wire logging is on.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-1000] Maximum connection lifetimes settings for ThreadSafeClientConnManager.
+ Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com>
+
+* [HTTPCLIENT-960] HttpMultipart doesn't generate Content-Type header for binary parts in
+ BROWSER_COMPATIBLE mode.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-998] Cache should use both Last-Modified and ETag for validations when available.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-997] Cache module should handle out-of-order validations properly and unconditionally
+ refresh.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-994] Cache does not allow client to override origin-specified freshness using
+ max-stale.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-995] Cache returns cached responses even if validators not consistent with all
+ conditional headers.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-977] Memcached implementation for HttpCache.
+ Contributed by Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com>
+
+* [HTTPCLIENT-992] cache should not generate stale responses to requests explicitly requesting
+ first-hand or fresh ones.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-991] cache module produces improperly formatted Warning header when revalidation
+ fails.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-989] DefaultHttpRequestRetryHandler no longer retries non-idempotent http methods
+ if NoHttpResponseException is thrown.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-988] Cache module should strip 'Content-Encoding: identity' from responses
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-987] cache module does not recognize equivalent URIs.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-986] cache module does not completely handle upstream Warning headers correctly
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-985] cache module should populate Via header to capture upstream and downstream protocols
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-984] Additional conditional compliance tests for the caching module for
+ Content-Encoding, Content-Location, Date, Expires, Server, Transfer-Encoding, and Vary headers.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-978] HTTP cache update exception handling
+ Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com>
+
+* [HTTPCLIENT-981] CachingHttpClient returns a 411 respones when executing a POST (HttpPost)
+ request.
+ Contributed by Joe Campbell <joseph.r.campbell at gmail.com>
+
+* [HTTPCLIENT-980] CachingHttpClient returns a 503 response when the backend HttpClient produces
+ an IOException.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-978] Ehcache based HTTP cache implementation
+ Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com>
+
+* [HTTPCLIENT-967] support for non-shared (private) caches
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-969] BasicCookieStore#getCookies() to return a copy of Cookie list
+ Contributed by David Smiley <dsmiley at mitre.org>
+
+* [HTTPCLIENT-965] Fixed problem with cache not honoring must-revalidate or
+ proxy-revalidate Cache-Control directives.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-964] 'no-cache' directives with field names are no longer transmitted
+ downstream.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-963] Fixed handling of 'Cache-Control: no-store' on requests.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-962] Fixed handling of Authorization headers in shared cache mode.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-961] Not all applicable URIs are invalidated on PUT/POST/DELETEs
+ that pass through client cache.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-958] Client cache no longer allows incomplete responses to be
+ passed on to the client.
+ Contributed by Jonathan Moore <jonathan_moore at comcast.com>
+
+* [HTTPCLIENT-951] Non-repeatable entity enclosing requests are not correctly
+ retried when 'expect-continue' handshake is active.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-948] In rare circumstances the idle connection handling code
+ can leave closed connections in a inconsistent state.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-953] IllegalStateException thrown by RouteSpecificPool.
+ Contributed by Guillaume <gueugaie at gmail.com>
+
+* [HTTPCLIENT-952] Trust store parameter is ignored by SSLSocketFactory
+ (affects version 4.1-alpha2 only)
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-937] CacheEntry made immutable; now uses immutable HttpEntity
+ to store cached content.
+ Contributed by David Mays <david_mays at comcast.com> and
+ Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.1 ALPHA2
+-------------------
+
+HttpClient 4.1 ALPHA2 fixes a number of non-severe bugs discovered since
+the last release and introduces support for two frequently requested features:
+
+* HTTP/1.1 response caching
+
+* transparent support for host multihoming
+
+* a mechanism to bypass the standard certificate trust verification
+(useful when dealing with self-signed certificates)
+
+Compatibility notes
+-------------------
+(1) Please note the HTTP caching module is still considered experimental and
+its API may change significantly in the future releases.
+
+(2) This release eliminates Mime4J as a dependency for the HttpMime module.
+HttpMime is no longer binary compatible with the previous releases.
+Full API and binary compatibility between minor versions of HttpMime will be
+maintained as of 4.1 GA release.
+
+Changelog
+-------------------
+
+* [HTTPCLIENT-936] Fixed bug causing NPE or an infinite loop in
+ the authentication code in case of a SPNEGO authentication failure.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-427] HTTP caching support
+ Contributed by Joe Campbell, David Cleaver, David Mays, Jon Moore, Brad Spenla
+
+* Dropped dependency on Mime4j for HttpMime.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Extended SSLSocketFactory with a mechanism to bypass the standard certificate
+ trust verification (primarily to simplify dealing with self-signed
+ certificates)
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-898] Improved support for host multihoming
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-916] UsernamePasswordCredentials, NTUserPrincipal,
+ BasicClientCookie, BasicClientCookie2 and BasicCookieStore made Serializable.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-914] Upgraded Commons Codec dependency to version 1.4
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-903] Use ConcurrentHashMap instead of [Linked]HashMap for
+ thread-safety. Improve performance of AuthSchemeRegistry, CookieSpecRegistry
+ and SchemeRegistry classes.
+ Contributed by Sebastian Bazley <sebb at apache.org>
+
+* [HTTPCLIENT-902] HttpRequestRetryHandler not called on I/O exceptions
+ thrown when opening a new connection.
+ Contributed by Olivier Lamy <olamy at apache.org> and
+ Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.1 ALPHA1
+-------------------
+
+HttpClient 4.1 ALPHA1 builds on the stable 4.0 release and adds several
+functionality improvements and new features.
+
+* Simplified configuration of connection managers.
+
+* Persistence of authentication data between request executions within
+ the same execution context.
+
+* Support for SPNEGO/Kerberos authentication scheme
+
+* Support for transparent content encoding. Please note transparent content
+ encoding is not enabled per default in order to avoid conflicts with
+ already existing custom content encoding solutions.
+
+* 5 to 10% performance increase due to elimination of unnecessary Log object
+ lookups by short-lived components.
+
+Please note all methods and classes added in this release and marked as
+4.1 are API unstable and can change in the future 4.1 ALPHA releases.
+
+Changelog
+-------------------
+
+* [HTTPCLIENT-889] 'expect: continue' handshake disabled per default.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-862] Extended client's redirect handling interface to allow
+ control of the content of the redirect.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-872] HttpClient can now persist authentication data between request
+ executions as long as they share the same execution context. It has also become
+ much easier to make HttpClient authenticate preemptively by pre-populating
+ authentication data cache.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-883] SO_TIMEOUT is not reset on persistent (re-used) connections.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-832] Distinguish cookie format errors from violations of
+ restrictions imposed by a cookie specification. In the latter case
+ CookieRestrictionViolationException will be thrown.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-523] Support for SPNEGO authentication scheme.
+ Contributed by Matthew Stevenson <mavricknzwork at yahoo.com>
+
+* Simplified configuration of connection managers. Total connection maximum
+ and maximum connection per route limits can be set using methods of
+ the class instead of HTTP parameters.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Added parameters to define the order of preference for supported auth
+ schemes for target host and proxy authentication.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-875] DefaultClientConnectionOperator#openConnection doesn't
+ update the connection state if the connection socket changed after
+ the call to SocketFactory#connectSocket().
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-834] Transparent content encoding support.
+ Contributed by James Abley <james.abley at gmail.com>
+
+Release 4.0.1
+-------------------
+
+This is a bug fix release that addresses a number of issues discovered since
+the previous stable release. None of the fixed bugs is considered critical.
+Most notably this release eliminates eliminates dependency on JCIP annotations.
+
+This release is also expected to improve performance by 5 to 10% due to
+elimination of unnecessary Log object lookups by short-lived components.
+
+Changelog
+-------------------
+
+* [HTTPCLIENT-895] Eliminated Log lookups in short lived objects impairing
+ performance.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-885] URLEncodedUtils now correctly parses form-url-encoded
+ entities that specify a charset.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-884] UrlEncodedFormEntity now sets charset on the Content-Type
+ header.
+ Contributed by Jared Jacobs <jmjacobs at cs.stanford.edu>
+
+* [HTTPCLIENT-883] SO_TIMEOUT is not reset on persistent (re-used) connections.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-882] Auth state is now correctly updated if a successful NTLM
+ authentication results in a redirect. This is a minor bug as HttpClient
+ manages to recover from the problem automatically.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-881] Fixed race condition in AbstractClientConnAdapter that makes
+ it possible for an aborted connection to be returned to the pool.
+ Contributed by Tim Boemker <tboemker at elynx.com> and
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-866] Removed dependency on jcip-annotations.jar.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+ and Sebastian Bazley <sebb at apache.org>
+
+
+Release 4.0
+-------------------
+
+HttpClient 4.0 represents a complete, ground-up redesign and almost a complete
+rewrite of the HttpClient 3.x codeline. This release finally addresses several
+design flaws that existed since the 1.0 release and could not be fixed without
+a major code overhaul and breaking API compatibility.
+
+
+Architectural changes
+---------------------
+
+* Redesign of the HttpClient internals addressing all known major
+ architectural shortcomings of the 3.x codeline.
+
+* Cleaner, more flexible and expressive API.
+
+* More modular structure.
+
+* Better performance and smaller memory footprint due to a more efficient HTTP
+ transport based on HttpCore.
+
+* Implementation of cross-cutting HTTP protocol aspects through protocol
+ interceptors.
+
+* Improved connection management, better handling of persistent connections,
+ support for stateful connections
+
+* Pluggable redirect and authentication handlers.
+
+* Improved support for sending requests via a proxy or a chain of proxies
+
+* More flexible SSL context customization
+
+* Reduced intermediate garbage in the process of generating HTTP requests
+ and parsing HTTP responses
+
+
+Important notes
+-------------------
+
+* Future releases of HttpMime module may be binary incompatible with this
+ release due to possible API changes in Apache Mime4J. Apache Mime4J is
+ still being actively developed and its API is considered unstable.
+
+* HttpClient 4.0 is not fully binary compatible with 4.0 BETA1 release.
+ Some protected variables in connection management class have been
+ made final in order to help ensure their thread safety:
+
+ org.apache.http.conn.BasicEofSensorWatcher#attemptReuse
+ org.apache.http.conn.BasicEofSensorWatcher#managedConn
+ org.apache.http.impl.conn.DefaultClientConnectionOperator#schemeRegistry
+ org.apache.http.impl.conn.DefaultHttpRoutePlanner#schemeRegistry
+ org.apache.http.impl.conn.ProxySelectorRoutePlanner#schemeRegistry
+ org.apache.http.impl.conn.SingleClientConnManager#alwaysShutDown
+ org.apache.http.impl.conn.SingleClientConnManager#connOperator
+ org.apache.http.impl.conn.SingleClientConnManager#schemeRegistry
+ org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager#connOperator
+ org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager#schemeRegistry
+
+
+Bug fixes since 4.0 BETA2 release
+-------------------
+
+* [HTTPCLIENT-861] URIUtils#resolve is now compatible with all examples given
+ in RFC 3986.
+ Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de>
+
+* [HTTPCLIENT-860] HttpClient no longer converts redirects of PUT/POST to GET
+ for status codes 301, 302, 307, as required by the HTTP spec.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-859] CookieIdentityComparator now takes path attribute into
+ consideration when comparing cookies.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HttpClient will no longer send expired cookies back to the origin server.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-856] Proxy NTLM authentication no longer fails on a redirect to
+ a different host.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-841] Removed automatic connection release using garbage collection
+ due to a memory leak.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-853] Fixed bug causing invalid cookie origin port to be selected
+ when the target is accessed on the default port and the connection is
+ established via a proxy.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-852] Fixed bug causing automatically retried redirects fail with
+ CircularRedirectException.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Fixed problem with the default HTTP response parser failing to handle garbage
+ preceding a valid HTTP response.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* NonRepeatableRequestExceptions now include the cause that the original
+ request failed.
+ Contributed by Sam Berlin <sberlin at apache.org>
+
+* [HTTPCLIENT-837] Fixed problem with the wire log skipping zero byte values
+ if read one byte at a time.
+ Contributed by Kirill Safonov <ksafonov at swiftteams.com>
+
+* [HTTPCLIENT-823] 'http.conn-manager.max-total' parameter can be adjusted
+ dynamically. However, the size of existing connection pools per route,
+ once allocated, will not be adjusted.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-822] Default socket factories to rethrow SocketTimeoutException
+ as ConnectTimeoutException in case of connect failure due to a time out.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-813] Fixed default port resolution. Invalid ports no longer
+ get replaced with the default port value.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.0 beta 2
+-------------------
+
+BETA2 is a maintenance release, which addresses a number of issues
+discovered since the previous release.
+
+The only significant new feature is an addition of an OSGi compliant
+bundle combining HttpClient and HttpMime jars.
+
+All upstream projects are strongly encouraged to upgrade.
+
+* Fixed NPE in DefaultRequestDirector thrown when retrying a failed
+ request over a proxied connection.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-803] Fixed bug in SSL host verifier implementations
+ causing the SSL certificate to be rejected as invalid if the connection
+ is established using an IP address.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-806] DefaultHttpMethodRetryHandler will no longer retry
+ on ConnectExceptions.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* DigestScheme can use an arbitrary digest algorithm requested by the
+ target server (such as SHA) as long as this algorithm is supported by
+ the Java runtime.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Fixed parsing and validation of RFC2109 compliant Set-Cookie headers
+ by the Best-Match cookie spec.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Fixed bug that can cause a managed connection to be returned from the
+ pool in an inconsistent state.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+4.0 Beta 1
+-------------------
+
+BETA1 release brings yet another round of API enhancements and
+improvements in the area of connection management. Among the most notable
+ones is the capability to handle stateful connections such as persistent
+NTLM connections and private key authenticated SSL connections.
+
+This is the first API stable release of HttpClient 4.0. All further
+releases in the 4.0 code line will maintain API compatibility with this
+release.
+
+There has been a number of important bug fixes since ALPHA4. All upstream
+projects are encouraged to upgrade to the latest release.
+
+Please note HttpClient currently provides only limited support for NTLM
+authentication. For details please see NTLM_SUPPORT.txt.
+
+-------------------
+
+Changelog:
+-------------------
+
+* [HTTPCLIENT-790] Protocol interceptors are now correctly invoked when
+ executing CONNECT methods.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-668] Do not use static loggers.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-781] Respect Keep-Alive header's timeout value.
+ Contributed by Sam Berlin <sberlin at apache.org>
+
+* [HTTPCLIENT-779] Top-level classes (HttpClient, and HttpGet, HttpPut
+ and similar HttpMethods) throw fewer checked exceptions.
+ Contributed by Sam Berlin <sberlin at apache.org>
+
+* HttpClient will throw an exception if an attempt is made to retry
+ a request with a non-repeatable request entity.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Fixed request re-generation logic when retrying a failed request.
+ Auto-generated headers will no accumulate.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-424] Preemptive authentication no longer limited to BASIC
+ scheme only. HttpClient can be customized to authenticate preemptively
+ with DIGEST scheme.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-670] Pluggable hostname resolver.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-719] Clone support for HTTP request and cookie objects.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-776] Fixed concurrency issues with AbstractPoolEntry.
+ Contributed by Sam Berlin <sberlin at gmail.com>
+
+* Resolved a long standing problem with HttpClient not taking into account
+ the user context when pooling / re-using connections. HttpClient now
+ correctly handles stateful / user specific connections such as persistent
+ NTLM connections and SSL connections with client side authentication.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-773] Improved handling of the 'expires' attribute by the
+ 'Best Match' cookie spec.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Partial NTLM support (requires an external NTLM engine). For details see
+ NTLM_SUPPORT.txt
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Redesigned local execution context management.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+--------------------------------------
+
+Release 4.0 Alpha 4
+-------------------
+
+ALPHA4 marks the completion of the overhaul of the connection management
+code in HttpClient. All known shortcomings of the old HttpClient 3.x
+connection management API have been addressed.
+
+NTLM authentication remains the only missing major feature in the new
+codeline that prevents us from moving awards the API freeze.
+
+There has been a number of important bug fixes since ALPHA3. All upstream
+projects are encouraged to upgrade to the latest release.
+
+-------------------
+
+HttpClient 3.x features that have NOT yet been ported:
+-------------------
+
+* NTLM authentication scheme
+
+-------------------
+
+Changelog:
+-------------------
+
+* [HTTPCLIENT-765] String.toLowerCase() / toUpperCase() should specify
+ Locale.ENGLISH
+ Contributed by Sebastian Bazley <sebb at apache.org>
+
+* [HTTPCLIENT-769] Do not pool connection marked non-reusable.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-763] Fixed problem with AbstractClientConnAdapter#abortConnection()
+ not releasing the connection if called from the main execution thread while
+ there is no blocking I/O operation.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-652] Added optional state attribute to managed client connections.
+ This enables connection managers to correctly handle stateful connections.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-673] Revised max connections per route configuration
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-753] Class Scheme and related classes moved to a separate package
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-757] Improved request wrapping in the DefaultClientRequestDirector.
+ This also fixed the problem with the default proxy set at the client level
+ having no effect.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-734] Request abort will unblock the thread waiting for a connection
+ Contributed by Sam Berlin <sberlin at gmail.com>
+
+* [HTTPCLIENT-759] Ensure release of connections back to the connection manager
+ on exceptions.
+ Contributed by Sam Berlin <sberlin at gmail.com>
+
+* [HTTPCLIENT-758] Fixed the use of generics in AbstractHttpClient
+ #removeRequestInterceptorByClass and #removeResponseInterceptorByClass
+ Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de>
+
+* [HTTPCLIENT-749] HttpParams beans
+ Contributed by Stojce Dimski <sdmiski at yahoo.it>
+
+* [HTTPCLIENT-755] Workaround for known bugs in java.net.URI.resolve()
+ Bug ID: 4708535
+ Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de>
+
+--------------------------------------
+
+Release 4.0 Alpha 3
+-------------------
+
+ALPHA3 release brings another round of API refinements and improvements in
+functionality. As of this release HttpClient requires Java 5 compatible
+runtime environment and takes full advantage of generics and new concurrency
+primitives.
+
+This release also introduces new default cookie policy that selects a cookie
+specification depending on the format of cookies sent by the target host.
+It is no longer necessary to know beforehand what kind of HTTP cookie support
+the target host provides. HttpClient is now able to pick up either a lenient
+or a strict cookie policy depending on the compliance level of the target host.
+
+Another notable improvement is a completely reworked support for multipart
+entities based on Apache mime4j library.
+
+-------------------
+
+HttpClient 3.x features that have NOT yet been ported:
+-------------------
+
+* NTLM authentication scheme
+
+-------------------
+
+Changelog:
+-------------------
+
+* [HTTPCLIENT-742] common interface for HttpRoute and RouteTracker
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-741] Fixed concurrency issues in AbstractClientConnAdapter.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-726] testcase for spurious wakeups in ThreadSafeClientConnManager
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-643] Automatic connect fail-over for multi-home remote servers.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-735] unsetting of DEFAULT_PROXY and FORCED_ROUTE in hierarchies
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-723] route planner based on java.net.ProxySelector
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-740] don't start connection GC thread in pool constructor
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-736] route planners use SchemeRegistry instead of ConnManager
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-730] Fixed rewriting of URIs containing escaped characters
+ Contributed by Sam Berlin <sberlin at gmail.com> and
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-667] Added 'Meta' cookie policy that selects a cookie
+ specification depending on the format of the cookie(s).
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-729] Move HttpRoute and related classes to routing package.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-725] Use TimeUnit arguments for timeouts in connection manager.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-677] Connection manager no longer uses Thread.interrupt().
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-716] Allow application-defined routes.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-712] Improve HttpRoute API
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-711] Bad route computed for redirected requests
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-715] Remove RoutedRequest from API
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-705] Fixed incorrect handling of URIs with null path component.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-688] HttpOptions#getAllowedMethods can now handle multiple
+ Allow headers.
+ Contributed by Andrea Selva <selva.andre at gmail.com>
+
+--------------------------------------
+
+Release 4.0 Alpha 2
+-------------------
+
+ALPHA2 release is another milestone in the redesign of HttpClient. It includes
+a number of improvements since ALPHA1, among which are improved connection
+pooling, support for proxy chains, redesigned HTTP state and authentication
+credentials management API, improved RFC 2965 cookie specification.
+
+-------------------
+
+HttpClient 3.x features that have NOT yet been ported
+-------------------
+* NTLM authentication scheme
+
+* Support for multipart MIME coded entities
+
+-------------------
+
+Changelog
+-------------------
+
+* [HTTPCLIENT-698] Resolve non-absolute redirect URIs relative to
+ the request URI
+ Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de>
+
+* [HTTPCLIENT-697] Throw a more intelligible exception when connection
+ to a remote host cannot be established.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-689] Caching of SimpleDateFormat in DateUtils
+ Contributed by Daniel Müller <strider at digitalstrider.com>
+
+* [HTTPCLIENT-689] stackable parameters in AbstractHttpClient
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-477] Use distinct instances of the authentication handler
+ interface for authentication with target and proxy hosts
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-690] ManagedClientConnection provides access to SSLSession
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-692] ClientConnectionManager throws InterruptedException
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-116] moved parameter names to interfaces
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-649] support for proxy chains in HttpConn
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-636] refactor ThreadSafeClientConnManager in separate package
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-669] new HttpRoutePlanner interface and implementation
+ Contributed by Andrea Selva <selva.andre at gmail.com>
+
+* [HTTPCLIENT-653] detached connection wrapper no longer prevents
+ garbage collection of ThreadSafeClientConnManager
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-674] use org.apache.http.util.VersionInfo instead of a local one
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-666] Replaced HttpState with CredentialsProvier and CookieStore interfaces
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-100] revised HttpContext hierarchy
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-618] eliminate class HostConfiguration
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-672] re-sync with API changes in core alpha6-SNAPSHOT
+ Contributed by Roland Weber <rolandw at apache.org>
+
+--------------------------------------
+
+Release 4.0 Alpha 1
+-------------------
+
+HttpClient 4.0 represents a complete, ground-up redesign and almost a complete
+rewrite of the HttpClient 3.x codeline. This release finally addresses several
+design flaws that existed since the 1.0 release and could not be fixed without
+a major code overhaul and breaking API compatibility.
+
+The HttpClient 4.0 API is still very experimental and is bound to change
+during the course of the ALPHA development phase. Several important features
+have not yet been ported to the new API.
+
+Architectural changes
+---------------------
+
+* Redesign of the HttpClient internals addressing all known
+ major architectural shortcomings of the 3.x codeline
+
+* Cleaner, more flexible and expressive API
+
+* Better performance and smaller memory footprint due to a more
+ efficient HTTP transport based on HttpCore. HttpClient 4.0 is
+ expected to be 10% to 25% faster than HttpClient 3.x codeline
+
+* More modular structure
+
+* Pluggable redirect and authentication handlers
+
+* Support for protocol incerceptors
+
+* Improved connection management
+
+* Improved support for sending requests via a proxy or a chain of
+ proxies
+
+* Improved handling redirects of entity enclosing requests
+
+* More flexible SSL context customization
+
+* Reduced intermediate garbage in the process of
+ generating HTTP requests and parsing HTTP responses
+
+-------------------
+
+HttpClient 3.x features that have NOT yet been ported
+-------------------
+* NTLM authentication scheme
+
+* RFC2965 cookie policy (Cookie2)
+
+* Support for multipart MIME coded entities
+
+-------------------
+
+Changelog
+-------------------
+
+The following is a list of contributions tracked in JIRA.
+Note that this is not a complete list of contributions or changes.
+Since the API was redesigned completely, tracking everything outside
+of the source code repository would have been too burdensome.
+
+* [HTTPCLIENT-655] User-Agent string no longer violates RFC
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-541] Virtual host API redesign
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-614] Allow for different strategies when checking
+ CN of x509 certificates
+ Contributed by Julius Davies <juliusdavies at gmail.com>
+
+* [HTTPCLIENT-136] Fixed inadequate proxy support
+ Long standing architectural problem. Issue opened on 19/Dec/2002.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-63] Support for pluggable redirect and authentication handlers
+ Long standing architectural problem. Issue opened on 15/Jul/2002.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-245] Fixed redirect handling. HttpClient can now automatically
+ handle redirects of entity enclosing requests.
+ Long standing architectural problem. Issue opened on 14/Jul/2003.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-613] HTTPS connections now verify CN of x509 certificates
+ Contributed by Julius Davies <juliusdavies at gmail.com>
+
+* [HTTPCLIENT-497] Wire/header logger names consistent with class loggers
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-484] AuthSSLProtocolSocketFactory in the main distribution
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCLIENT-589] Do not consume the remaining response content if
+ the connection is to be closed
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCLIENT-475] Support for unconnected sockets. HTTP requests can now be
+ aborted while network socket is still being connected.
+ Contributed by Roland Weber <rolandw at apache.org>
+
Property changes on: trunk/jsword/jar/httpcomponents-client-4.1-beta1/RELEASE_NOTES.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpclient-4.1-beta1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpclient-4.1-beta1.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpclient-cache-4.1-beta1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpclient-cache-4.1-beta1.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpcomponents-client-4.1-beta1-src.zip
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpcomponents-client-4.1-beta1-src.zip
___________________________________________________________________
Added: svn:needs-lock
+ *
Added: svn:mime-type
+ application/zip
Added: trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpmime-4.1-beta1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-client-4.1-beta1/httpmime-4.1-beta1.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/jsword/jar/httpcomponents-client-4.1-beta1-bin.tar.gz
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-client-4.1-beta1-bin.tar.gz
___________________________________________________________________
Added: svn:needs-lock
+ *
Added: svn:mime-type
+ application/x-gzip
Added: trunk/jsword/jar/httpcomponents-core-4.1/LICENSE.txt
===================================================================
--- trunk/jsword/jar/httpcomponents-core-4.1/LICENSE.txt (rev 0)
+++ trunk/jsword/jar/httpcomponents-core-4.1/LICENSE.txt 2010-11-30 21:44:24 UTC (rev 2031)
@@ -0,0 +1,176 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
\ No newline at end of file
Property changes on: trunk/jsword/jar/httpcomponents-core-4.1/LICENSE.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/jsword/jar/httpcomponents-core-4.1/NOTICE.txt
===================================================================
--- trunk/jsword/jar/httpcomponents-core-4.1/NOTICE.txt (rev 0)
+++ trunk/jsword/jar/httpcomponents-core-4.1/NOTICE.txt 2010-11-30 21:44:24 UTC (rev 2031)
@@ -0,0 +1,5 @@
+Apache HttpComponents Core
+Copyright 2005-2010 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
Property changes on: trunk/jsword/jar/httpcomponents-core-4.1/NOTICE.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/jsword/jar/httpcomponents-core-4.1/README.txt
===================================================================
--- trunk/jsword/jar/httpcomponents-core-4.1/README.txt (rev 0)
+++ trunk/jsword/jar/httpcomponents-core-4.1/README.txt 2010-11-30 21:44:24 UTC (rev 2031)
@@ -0,0 +1,65 @@
+Apache HttpComponents Core
+==========================
+
+Welcome to the HttpCore component of the Apache HttpComponents project.
+
+Building Instructions
+---------------------
+
+For building from source instructions please refer to BUILDING.txt.
+
+Dependencies
+------------
+
+HttpCore main module requires Java 1.3 compatible runtime only.
+
+HttpCore NIO module is optional and requires Java 5.0 compatible runtime
+and the main module of the same version.
+
+Licensing
+---------
+
+Apache HttpComponents Core is licensed under the Apache License 2.0.
+See the files called LICENSE.txt and NOTICE.txt for more information.
+
+Cryptographic Software Notice
+-----------------------------
+
+This distribution may include software that has been designed for use
+with cryptographic software. The country in which you currently reside
+may have restrictions on the import, possession, use, and/or re-export
+to another country, of encryption software. BEFORE using any encryption
+software, please check your country's laws, regulations and policies
+concerning the import, possession, or use, and re-export of encryption
+software, to see if this is permitted. See <http://www.wassenaar.org/>
+for more information.
+
+The U.S. Government Department of Commerce, Bureau of Industry and
+Security (BIS), has classified this software as Export Commodity
+Control Number (ECCN) 5D002.C.1, which includes information security
+software using or performing cryptographic functions with asymmetric
+algorithms. The form and manner of this Apache Software Foundation
+distribution makes it eligible for export under the License Exception
+ENC Technology Software Unrestricted (TSU) exception (see the BIS
+Export Administration Regulations, Section 740.13) for both object
+code and source code.
+
+The following provides more details on the included software that
+may be subject to export controls on cryptographic software:
+
+ Apache HttpComponents Core interfaces with the
+ Java Secure Socket Extension (JSSE) API to provide
+
+ - HTTPS support
+
+ Apache HttpComponents Core does not include any
+ implementation of JSSE.
+
+Contact
+-------
+
+ o For general information visit the main project site at
+ http://hc.apache.org/
+
+ o For current status information visit the status page at
+ http://hc.apache.org/status.html
Property changes on: trunk/jsword/jar/httpcomponents-core-4.1/README.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/jsword/jar/httpcomponents-core-4.1/RELEASE_NOTES.txt
===================================================================
--- trunk/jsword/jar/httpcomponents-core-4.1/RELEASE_NOTES.txt (rev 0)
+++ trunk/jsword/jar/httpcomponents-core-4.1/RELEASE_NOTES.txt 2010-11-30 21:44:24 UTC (rev 2031)
@@ -0,0 +1,697 @@
+Release 4.1
+-------------------
+
+This is the first stable (GA) release of HttpCore 4.1. This release provides a compatibility mode
+with JREs that have a naive (broken) implementation of SelectionKey API and also improves
+compatibility with the Google Android platform. There has also been a number of performance
+related improvements and bug fixes in both blocking and non-blocking components.
+
+All upstream projects are encouraged to upgrade.
+
+HttpCore is a set of low level HTTP transport components that can be used to build custom
+client and server side HTTP services with a minimal footprint. HttpCore supports two I/O
+models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O
+model based on Java NIO. The blocking I/O model may be more appropriate for data intensive,
+low latency scenarios, whereas the non-blocking model may be more appropriate for high latency
+scenarios where raw data throughput is less important than the ability to handle thousands of
+simultaneous HTTP connections in a resource efficient manner.
+
+* [HTTPCORE-240]: DefaultConnectingIOReactor leaks a socket descriptor if the session request fails.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-239]: The ChunkEncoder could request for a negative buffer limit causing an
+ IllegalArgumentException.
+ Contributed by Asankha Perera <asankha at apache.org>
+
+* [HTTPCORE-236]: SSLIOSession#isAppInputReady() does not check the status of the session input
+ buffer.
+ Contributed by Dmitry Lukyanov <dlukyanov at ukr.net>
+
+* [HTTPCORE-233]: EntityUtils#toString() and EntityUtils#toByteArray() to return null if
+ HttpEntity#getContent() is null
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-231] Fixed incorrect handling of HTTP entities by non-blocking LengthDelimitedDecoder
+ when the Content-Length value is larger than Integer.MAX_VALUE.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.1-BETA2
+-------------------
+
+This is the second BETA release of HttpCore 4.1. This is mainly a bug fix release that addresses
+a number of non-critical bugs.
+
+The most significant change in this release is deprecation of the HttpEntity#consumeContent()
+method and streamlining of connection management and resource deallocation by HTTP entities.
+Please refer to the javadocs for details.
+
+* [HTTPCORE-229] AbstractSessionInputBuffer#readLine(CharArrayBuffer) returns incorrect
+ number of characters read by the method when using non-standard HTTP element charset.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Non-blocking connections can trigger #responseReady / #requestReady events by mistake
+ when the underlying session is already closed.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-228] Fixed NPE in AsyncNHttpServiceHandler caused by entity enclosing requests
+ if no matching request handler can be found.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-227] Fixed incorrect request / response count by non-blocking connections.
+ Contributed by Harold Lee <harold at hotelling.net>
+
+* [HTTPCORE-226] Improved compatibility of NIO components with Google Android.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* ByteArrayBuffer, CharArrayBuffer, BasicHeader, BufferedHeader, HeaderGroup, BasicRequestLine,
+ BasicStatusLine made Serializable.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.1-BETA1
+-------------------
+
+This is the first BETA release of HttpCore 4.1. This release finalizes the API introduced in the
+4.1 development branch. It also fixes a number of bugs discovered since the previous release and
+delivers a number of performance optimizations in the blocking HTTP transport components.
+The blocking HTTP transport is expected to be 5% to 10% faster compared to previous releases.
+
+* [HTTPCORE-222] Fixed Import-Package in the OSGi META-INF
+ Contributed by Willem Jiang <willem.jiang at gmail.com>
+
+* [HTTPCORE-177] Reduce intermediate data buffering by reading large chunks of data directly from
+ the underlying socket stream. This results in improved performance of blocking read operations.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-220] IdentityDecoder fails to detect end of stream when using file channels.
+ Contributed by Asankha C. Perera <asankha at apache.org>
+
+* [HTTPCORE-218] ChunkEncoder#write method no longer returns incorrect value if
+ the data to write is greater than the size of the internal buffer used by the encoder.
+ Contributed by Richie Jefts <rjefts at gmail.com>
+
+* [HTTPCORE-209] Added parameter to set SO_REUSEADDR on sockets bound to a local address.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-207] SocketHttp*Connection classes can leak sockets if the connection is half-closed
+ Contributed by David Koski <david_koski at mac.com>
+
+Release 4.1-ALPHA1
+-------------------
+
+This is the first public release from the 4.1 branch of HttpCore. This release adds a number of
+new features, most notable being introduction of compatibility mode with IBM JREs and other JREs
+with naive (broken) implementation of SelectionKey API.
+
+Please note new classes and methods added in the 4.1 branch are still considered API unstable.
+
+* Ensure that an attempt is made to close out all active sessions gracefully in case of an abnormal
+ shutdown of the I/O reactor.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-201] OSGi Export-Package to specify release version
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-183] Added Thread-safe implementations of HttpParams and HttpProcessor -
+ SyncBasicHttpParams and ImmutableHttpProcessor classes
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-199] ContentInputStream implements InputStream#available().
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-195] Truncated chunk-coded streams can now be tolerated by catching and discarding
+ TruncatedChunkException.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-155] Compatibility mode with IBM JRE and other JREs with naive (broken) implementation
+ of SelectionKey.
+ Contributed by Marc Beyerle <marc.beyerle at de.ibm.com> and Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-191] Blocking HTTP connections are now capable of correctly preserving their internal
+ state on SocketTimeoutExceptions, which makes it possible to continue reading from the connection
+ after a socket timeout.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-190] ChunkedInputStream is now capable of correctly preserving its internal state on
+ SocketTimeoutExceptions, which makes it possible to continue reading from the stream after a
+ socket timeout.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.0.1
+-------------------
+
+This is a patch release addressing a number of issues discovered since the 4.0 release. Users
+of NIO module are advised to upgrade.
+
+* [HTTPCORE-198] CONNECT request includes Host header for HTTP 1.1 connections.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-196] SSLIOSession now unwraps encrypted data more aggressively eliminating long
+ pauses when receiving data over non-blocking connections.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-197] Fixed bug causing the non-blocking ChunkDecoder to report some data stream as
+ truncated under special conditions.
+ Contributed by Denis Rogov <denrogov at gmail.com> and Oleg Kalnichevski <olegk at apache.org>
+
+* SSLIOSession#isAppOutputReady and SSLIOSession#isAppInputReady no longer ignore the application
+ event mask causing I/O event notifications for unrequested type of events.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-193] Fixed problem with SSLIOSession incorrectly handling of end-of-stream condition.
+ Contributed by Asankha C. Perera <asankha at apache.org> and Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.0
+-------------------
+
+This is the first stable (GA) release of HttpCore 4.0. This release mainly improves the
+documentation and fixes a few minor bugs reported since the previous release. HttpCore
+now comes with a complete tutorial presenting an in-depth coverage of the API.
+
+HttpCore is a set of low level HTTP transport components that can be used to build custom
+client and server side HTTP services with a minimal footprint. HttpCore supports two I/O
+models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O
+model based on Java NIO. The blocking I/O model may be more appropriate for data intensive,
+low latency scenarios, whereas the non-blocking model may be more appropriate for high latency
+scenarios where raw data throughput is less important than the ability to handle thousands of
+simultaneous HTTP connections in a resource efficient manner.
+
+* [HTTPCORE-180] Fixed NPE in standard I/O event dispatchers when
+ IOEventDispatch#disconnected fires before the session was fully initialized
+ (IOEventDispatch#connected was not called).
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-175] Chunk decoders no longer accept truncated chunks as valid input.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.0 Beta 3
+-------------------
+
+The third BETA version of HttpComponents Core has been released. This is a
+maintenance release, which addresses a number of issues discovered since the
+previous release.
+
+The only significant new feature is an addition of an OSGi compliant bundle
+combining HttpCore and HttpCore NIO jars.
+
+* [HTTPCORE-173] Tolerate missing closing chunk if the chunk coded content
+ is terminated by the end of stream (EOF) condition.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-174] Position is incremented twice in ContentLengthInputStream#skip(long)
+ Contributed by Ildar Safarov <ildar.safarov at gmail.com>
+
+* [HTTPCORE-125] OSGi bundle containing HttpCore & HttpCore NIO jars.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* CancelledKeyException thrown in BaseIOReactor#validate() no longer causes
+ a premature I/O reactor shutdown.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-172] Added #close() method to SharedInputBuffer and
+ SharedOutputBuffer. The purpose of the new method is to close the buffer
+ in case of normal / orderly termination of the underlying HTTP connection.
+ Use #shutdown() method to force-close the buffer in case of abnormal /
+ exceptional termination of the underlying connection.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-170] Fixed race condition in SharedOutputBuffer.
+ Contributed by Jason Walton <Jason.Walton at alcatel-lucent.com>
+
+* [HTTPCORE-169] Fixed bug causing connecting I/O reactors to shut down due to
+ ClosedChannelException if a pending session request is cancelled before the new
+ channel has been registered with the selector.
+ Contributed by Anders Wallgren <anders_wallgren at alum.mit.edu>
+
+* [HTTPCORE-167] Fixed handling the end of stream (EOF) condition in the #isStale()
+ check of blocking HTTP connections.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-166] NIO reactors now maintain an audit log of fatal exceptions,
+ which can be used to examine the cause and problems experienced during
+ the shutdown process.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-165] Improved handling of CancelledKeyException in I/O reactors
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+
+Release 4.0 Beta 2
+-------------------
+
+The second BETA version of HttpComponents Core has been released. This release
+adds a number of improvements to the NIO components, most notable being improved
+asynchronous client side and server side protocol handlers.
+
+There has been a number of important bug fixes in HttpCore NIO module, whereas
+HttpCore base module has had very few changes.
+
+All upstream projects dependent on HttpCore NIO are strongly advised to upgrade.
+
+* [HTTPCORE-163] Fixed AbstractMultiworkerIOReactor#execute() to correctly
+ propagate the original I/O exception in case of an abnormal termination.
+ Contributed by Patrick Moore <patmoore at ieee.org>
+
+* Changed behavior of IdentityDecoder & LengthDelimitedDecoder to throw
+ an IOException if data is attempted to be written beyond the length
+ of a FileChannel. Previously would write nothing.
+ Contributed by Sam Berlin <sberlin at apache.org>
+
+* Fixed bug in LengthDelimitedDecoder & IdentityDecoder that caused transfers
+ to a FileChannel to overwrite arbitrary parts of the file, if data was
+ buffered in SessionInputBuffer.
+ Contributed by Sam Berlin <sberlin at apache.org>
+
+* Fixed concurrency bug in the ThrottlingHttpServerHandler protocol handler.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Fixed bug in SharedInputBuffer that caused input events to be
+ incorrectly suspended.
+ Contributed by Asankha C. Perera <asankha at wso2.com>
+
+* [HTTPCORE-150] Entity implementation that serializes a Java object
+ Contributed by Andrea Selva <selva.andrea at gmail.com>
+
+* [HTTPCORE-157] ChunkedOutputStream#flush() now behaves consistently with the
+ specification of OutputStream#flush().
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-147] Fixed handling of requests with partially consumed content
+ in ThrottlingHttpServiceHandler.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-92] ChunkEncoder splits input data larger than available space
+ in the session output buffer into smaller chunks instead of expanding
+ the buffer.
+ Contributed by Andrea Selva <selva.andrea at gmail.com> and
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-149] I/O reactors now count period of inactivity since the
+ time of the last read or write operation. Previously only read
+ operations resulted in timeout counter reset.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-148] Improved asynchronous server and client HTTP protocol
+ handler implementations.
+ Contributed by Sam Berlin <sberlin at gmail.com>
+
+* [HTTPCORE-143] Ensure the underlying channel is closed if the session
+ request is canceled or times out.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-140] Fixed timeout handling in ThrottlingHttpServiceHandler.
+ Contributed by Lorenzo Moretti <moznerol at hotmail.com> and
+ Oleg Kalnichevski <olegk at apache.org>
+
+
+
+Release 4.0 Beta 1
+-------------------
+
+The first BETA version of HttpComponents Core has been released. This release
+can be considered a major milestone, as it marks the end of API instability
+in HttpCore. As of this release the API compatibility between minor releases
+in 4.x codeline will be maintained.
+
+This release includes several major improvements such as enhanced HTTP message
+parsing API and optimized parser implementations, Java 5.0 compatibility
+for HttpCore NIO extensions. Upstream projects are strongly encouraged to
+upgrade to the latest release.
+
+The focus of the development efforts will be gradually shifting towards
+providing better test coverage, documentation and performance optimizations.
+
+Changelog:
+----------
+
+* [HTTPCORE-141] Session request timeout in DefaultConnectingIOReactor
+ invalidates the request.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-137] DefaultHttpRequestFactory extended to support all methods
+ specified in RFC 2616 (except CONNECT).
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Replaced HTTP parameter linking with a simple child/parent stack.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-134] all serialVersionUID attributes are private
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-133] Clone support for basic HTTP message elements and
+ non-streaming entities.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-127] Improved API for lifecycle management of listening I/O
+ reactors. One can now suspend and resume listener endpoints.
+ Contributed by Asankha C. Perera <asankha at wso2.com>
+
+* [HTTPCORE-112] DefaultConnectionReuseStrategy interprets token sequences
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-122] new interface TokenIterator and basic implementation
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* HttpCore NIOSSL classes moved to HttpCore NIO.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* HttpCore NIO ported to Java 1.5.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-130] Fixed over-synchronization bug leading to a thread deadlock
+ condition in SSL IOEventDispatch implementations.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-37] HttpParams beans
+ Contributed by Stojce Dimski <sdmiski at yahoo.it>
+
+* [HTTPCORE-128] Simplified injection of custom NIO connection implementations.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-126] Improved HTTP message parsing API and optimized parser
+ implementations.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* Do not include "Connection: close" to 500 responses per default.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-121] new interface HeaderElementIterator
+ Contributed by Andrea Selva <selva.andrea at gmail.com>
+
+* [HTTPCORE-123] Fixed problem with SSLSession losing buffered data, if the
+ connection has been closed by the peer.
+ Contributed by Risto Reinpõld <risto.reinpold at gmail.com>
+
+
+
+Release 4.0 Alpha 6
+-------------------
+
+The sixth ALPHA version of HttpComponents Core has been released. This release
+sports an improved message parsing and formatting API in the base module and
+lots of incremental improvements and bug fixes in the NIO and NIOSSL modules.
+Based on the improved API, it is now possible to send and receive SIP messages
+with HttpComponents Core.
+
+HttpCore is now feature complete and we are planning to freeze the public APIs
+as of next release (BETA1).
+
+* [HTTPCORE-120] new interface HeaderIterator, available from HttpMessage
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-118] Purge closed sessions prior to opening new ones. This should
+ reduce chances of running out of memory when opening and closing lots of
+ NIO connections in a tight loop.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-117] Fixed bug preventing protocol handlers from closing timed out
+ NIO connection when pending output (output session buffer is not empty).
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-86] Allow for optional handling of runtime exceptions
+ thrown by protocol handlers to ensure the I/O dispatch thread
+ remains running.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-116] moved parameter names to interfaces
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-109] Improved shutdown process of the I/O reactors in NIO modules.
+ I/O reactors now attempt to terminate connections gracefully before shutting
+ down the underlying socket channels.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-107] allow sending and receiving of SIP messages
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-114]: Fixed incorrect handling of the end-of-stream condition
+ in SSLIOSession.
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-110] refactored message parsing and formatting logic
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-113] Removed unnecessary target hostname resolution from
+ non-blocking client protocol handlers.
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-108] Close all channels registered with the I/O reactor during
+ shutdown. Fixed the problem with DefaultListeningIOReactor not releasing
+ socket ports until JVM is restarted.
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-106] Pluggable HTTP message parsers and message writers
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-105] Consistent class names in base and NIO modules
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-100] revised HttpContext hierarchy
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-103] NIO connections now attempt to consume all available session
+ data while parsing HTTP messages. This can potentially improve performance
+ of non-blocking SSL connections.
+ Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-102] Exceeding of maximum line length limit detected late
+ Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-21] Transport and connection metrics
+ Contributed by Andrea Selva <selva.andre at gmail.com> and
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-91] new interceptor RequestDate, renamed constants in protocol.HTTP
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-90] Version detection based on build-time properties
+ Contributed by Oleg Kalnichevski <olegk at apache.org> and
+ Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-88] Added convenience methods to HttpRequestInterceptorList,
+ HttpResponseInterceptorList interfaces
+ Contributed by Andrea Selva <selva.andre at gmail.com>
+
+* [HTTPCORE-89]: Fixed bug in DefaultConnectingIOReactor causing incorrect
+ handling of local (immediate) connections on some platforms (affects Sun
+ Solaris 2.9 / Sparc and likely other Solaris 2.x platforms)
+ Contributed by Sam Berlin <sberlin at gmail.com>
+
+Release 4.0 Alpha 5
+-------------------
+
+The fifth ALPHA version of HttpComponents Core has been released. This release
+delivers a number of incremental improvements across the board in all modules
+and adds several performance oriented features such as ability to transfer
+data directly between a file and a socket channels.
+
+HttpCore is almost fully feature complete now and we are likely to freeze
+the public APIs as of next release (BETA1).
+
+* [HTTPCORE-87] RuntimeExcpetions thrown in I/O worker threads are now correctly
+ propagated to the I/O reactor.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-84]: Removed DateUtils/DateParseException from core.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-63]: Made I/O select interval configurable for all default I/O
+ reactor implementations.
+ Contributed by Oleg Kalnichevski <olegk at apache.org> and
+ Anders Wallgren <anders_wallgren at alum.mit.edu>
+
+* [HTTPCORE-82]: Revised linking of HttpParams to reduce potential for misuse.
+ Method #setDefaults() removed from the HttpParams interface.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-81]: Maximum line length and maximum header counts parameters are now
+ correctly enforced in both base and NIO modules. Fixed maximum line length check
+ when parsing folded header lines.
+ Contributed by Steffen Pingel <spingel at limewire.com>
+
+* Added HTTP client handler implementation that allocates fixed size content
+ buffers upon initialization and is capable of throttling the rate of I/O events
+ in order to make sure those content buffers do not get overflown.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-76]: Added IOSession#shutdown() method intended to force-close
+ I/O sessions (primarily needed to terminate hung SSL connections).
+ Contributed by Sandeep Tamhankar <sandman at electric-cloud.com>
+
+* [HTTPCORE-78]: Added ByteBufferAllocator interface that can be used to apply
+ different ByteArray allocation strategies to session and content buffers.
+ Use heap bound implementation for short-lived or variable in length (requiring
+ frequent content re-allocation) buffers.
+ Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-77]: The result of CharsetDecoder#decode() and CharsetEncoder#encode()
+ was not checked for errors resulting in an infinite loop in
+ SessionInputBuffer#readLine() and SessionOutputBuffer#writeLine()
+ when malformed characters were processed.
+ Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-71]: HttpParams can be copied.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-75]: DefaultNHttpServerConnection and DefaultNHttpClientConnection
+ now correctly terminate the underlying I/O session when closed.
+ BufferingHttpServiceHandler now correctly applies connection keep-alive
+ strategy when sending a response with no content body.
+ Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-73]: Fixed bug preventing NHttpServiceHandler#responseReady and
+ NHttpClientHandler#requestReady events from being fired if the HTTP message
+ has no content body.
+ Contributed by Steffen Pingel <spingel at limewire.com>
+
+* [HTTPCORE-67]: Improved event listener interface
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-43]: Support for FileChannel#transferFrom() and
+ FileChannel#transferTo() methods. Direct coping from and to FileChannel is
+ expected to improve performance of file bound operations
+ Contributed by Andrea Selva <selva.andre at gmail.com>
+
+* [HTTPCORE-66]: Fixed handling of HTTP HEAD methods
+ Contributed by Steffen Pingel <spingel at limewire.com> and
+ Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-58]: NIO HTTP connections changed to throw checked
+ ConnectionClosedException instead of unchecked IllegalStateException when
+ an attempt is made to perform an I/O operation on a closed conection
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-56]: DefaultConnectingIOReactor no longer terminates due to a
+ CancelledKeyException, if a session request gets canceled before selection
+ key is fully initialized.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.0 Alpha 4
+-------------------
+
+The forth ALPHA version of HttpComponents Core has been released.
+The ALPHA4 release fixes a number of bugs and adds a number of
+improvements to HttpCore base and HttpCore NIO extensions.
+HttpCore NIO can be used to build HTTP services intended to handle
+thousands of simultaneous connections with a small number of I/O
+threads. This release also introduces NIOSSL extensions that can be
+used to extend HttpCore non-blocking transport components with
+ability to transparently encrypt data in transit using SSL/TLS protocol.
+
+* [HTTPCORE-49]: DefaultConnectingIOReactor can now correctly handle
+ unresolved socket addresses. It no longer terminates with the
+ UnresolvedAddressException runtime exception.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-42]: Added server side API for the expectation verification.
+ Improved support for the 'expect: continue' handshake in HttpCore and
+ HttpCore NIO.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-26]: Added SSL support for HttpCore NIO.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-40]: API classes no longer reference impl classes in module-main.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-39]: Refactored HttpStatus, spun off [English]ReasonPhraseFactory.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-32]: HttpRequestInterceptorList, HttpResponseInterceptorList
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-38]: Packages nio.impl.* are now impl.nio.*, same for examples.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-27]: I/O reactors can now accept a thread factory as an optional
+ parameter.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-36]: Fixed #setHandlers() method and matching of request URIs
+ with a query part in HttpRequestHandlerRegistry
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-28]: DefaultConnectingIOReactor now maintains a queue of connect
+ requests and registers new sessions with the selector on the I/O thread.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-29] DefaultConnectingIOReactor changed to ensure IOExceptions
+ are correctly propagated to the caller, if an exception is thrown while
+ initializing a newly connected socket.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-24] Fixed bug in non-blocking connection implementations, which
+ prevented the session buffer from being correctly flushed when the content
+ coding process has been completed.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-23] Fixed threading bug in DefaultConnectingIOReactor.
+ Contributed by Asankha C. Perera <asankha at wso2.com>
+
+Release 4.0 Alpha 3
+-------------------
+
+The third ALPHA version of HttpCore has been released. The ALPHA3 release
+includes a number of API optimizations and improvements and introduces a set
+of NIO extensions to the HttpCore API. NIO extensions can be used to build
+HTTP services intended to handle thousands of simultaneous connections with
+a small number of I/O threads.
+
+* [HTTPCORE-15] Provided a interafce to access IP address of the local and
+ remote end points.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [ HTTPCORE-14] Scheme, SocketFactory and SecureSocketFactory moved to
+ HttpClient. Decoupled HttpHost and Scheme.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-13] Refactored HttpProcessor interface and related impl classes
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-11] Client connection interface no longer defines a specific
+ method to open a connection. HTTP connections can now represent any
+ abstract I/O transport such as those based on NIO API.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-10] Non-blocking (async) client side I/O transport based on NIO.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-9] Non-blocking (async) server side I/O transport based on NIO.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-7] ConnectionReuseStrategy interface changed to allow access
+ to the HTTP execution context.
+ Contributed by Roland Weber <rolandw at apache.org>
+
+* [HTTPCORE-6] Header implementation allowing for performance short-cuts
+ when serializing and deserializing HTTP headers.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* [HTTPCORE-5] Header, HeaderElement, NameValuePair, RequestLine, StatusLine,
+ HttpVersion changed to interfaces. API no longer contains any parsing and
+ formatting code and does not imply any specific physical representation of
+ HTTP messages and their elements.
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.0 Alpha 2
+-------------------
+This is a maintenance release that mostly fixes minor problems found since the
+previous release. The upstream projects are strongly encouraged use this
+release as a dependency while HttpCore undergoes another round of reviews
+and optimization in the SVN trunk
+
+Changelog:
+---------
+* [HTTPCORE-4] optional header and line length limits to contain OOME risks
+ Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+Release 4.0 Alpha 1
+-------------------
+This release represents a complete redesign of the Jakarta Commons HttpClient
+3.x API and a significant rewrite of the core HTTP components derived from
+HttpClient 3.0 code base.
+
+These components will form the foundation of the future releases of Jakarta
+HttpClient and can also be used separately to build custom client- and
+server-side HTTP services.
Property changes on: trunk/jsword/jar/httpcomponents-core-4.1/RELEASE_NOTES.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/jsword/jar/httpcomponents-core-4.1/httpcomponents-core-4.1-src.zip
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-core-4.1/httpcomponents-core-4.1-src.zip
___________________________________________________________________
Added: svn:needs-lock
+ *
Added: svn:mime-type
+ application/zip
Added: trunk/jsword/jar/httpcomponents-core-4.1/httpcore-4.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-core-4.1/httpcore-4.1.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/jsword/jar/httpcomponents-core-4.1/httpcore-nio-4.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-core-4.1/httpcore-nio-4.1.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/jsword/jar/httpcomponents-core-4.1-bin.tar.gz
===================================================================
(Binary files differ)
Property changes on: trunk/jsword/jar/httpcomponents-core-4.1-bin.tar.gz
___________________________________________________________________
Added: svn:needs-lock
+ *
Added: svn:mime-type
+ application/x-gzip
Modified: trunk/jsword/src/main/java/org/crosswire/common/util/NetUtil.java
===================================================================
--- trunk/jsword/src/main/java/org/crosswire/common/util/NetUtil.java 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/jsword/src/main/java/org/crosswire/common/util/NetUtil.java 2010-11-30 21:44:24 UTC (rev 2031)
@@ -620,18 +620,21 @@
* the resource whose size is wanted
* @return the size of that resource
*/
- public static int getSize(URI uri) {
+ public static long getSize(URI uri) {
return getSize(uri, null, null);
}
- public static int getSize(URI uri, String proxyHost) {
+ public static long getSize(URI uri, String proxyHost) {
return getSize(uri, proxyHost, null);
}
- public static int getSize(URI uri, String proxyHost, Integer proxyPort) {
+ public static long getSize(URI uri, String proxyHost, Integer proxyPort) {
try {
if (uri.getScheme().equals(PROTOCOL_HTTP)) {
- return new WebResource(uri, proxyHost, proxyPort).getSize();
+ WebResource resource = new WebResource(uri, proxyHost, proxyPort);
+ long size = resource.getSize();
+ resource.shutdown();
+ return size;
}
return uri.toURL().openConnection().getContentLength();
@@ -655,7 +658,10 @@
public static long getLastModified(URI uri, String proxyHost, Integer proxyPort) {
try {
if (uri.getScheme().equals(PROTOCOL_HTTP)) {
- return new WebResource(uri, proxyHost, proxyPort).getLastModified();
+ WebResource resource = new WebResource(uri, proxyHost, proxyPort);
+ long time = resource.getLastModified();
+ resource.shutdown();
+ return time;
}
URLConnection urlConnection = uri.toURL().openConnection();
Modified: trunk/jsword/src/main/java/org/crosswire/common/util/WebResource.java
===================================================================
--- trunk/jsword/src/main/java/org/crosswire/common/util/WebResource.java 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/jsword/src/main/java/org/crosswire/common/util/WebResource.java 2010-11-30 21:44:24 UTC (rev 2031)
@@ -24,19 +24,26 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.net.ProxySelector;
import java.net.URI;
import java.util.Date;
-import org.apache.commons.httpclient.HostConfiguration;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpConnectionManager;
-import org.apache.commons.httpclient.HttpHost;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.ProxyHost;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.HeadMethod;
-import org.apache.commons.httpclient.util.HttpURLConnection;
+import org.apache.http.Header;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpHost;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.StatusLine;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpHead;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.conn.params.ConnRouteParams;
+import org.apache.http.impl.client.AbstractHttpClient;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.ProxySelectorRoutePlanner;
+import org.apache.http.params.HttpConnectionParams;
+import org.apache.http.params.HttpParams;
/**
* A WebResource is backed by an URL and potentially the proxy through which it
@@ -136,23 +143,35 @@
*/
public WebResource(URI theURI, String theProxyHost, Integer theProxyPort, int theTimeout) {
uri = theURI;
- client = new HttpClient();
+ client = new DefaultHttpClient();
+ HttpParams params = client.getParams();
- // Set a 2 second timeout on getting a connection.
- HttpConnectionManager connectMgr = client.getHttpConnectionManager();
- connectMgr.getParams().setConnectionTimeout(theTimeout);
+ // Allowable time between packets
+ HttpConnectionParams.setSoTimeout(params, theTimeout);
+ // Allowable time to get a connection
+ HttpConnectionParams.setConnectionTimeout(params, theTimeout);
- // Configure the host and port
- HostConfiguration config = client.getHostConfiguration();
- config.setHost(new HttpHost(theURI.getHost(), theURI.getPort()));
-
// Configure proxy info if necessary and defined
if (theProxyHost != null && theProxyHost.length() > 0) {
- config.setProxyHost(new ProxyHost(theProxyHost, theProxyPort == null ? -1 : theProxyPort.intValue()));
+ // Configure the host and port
+ HttpHost proxy = new HttpHost(theProxyHost, theProxyPort == null ? -1 : theProxyPort.intValue());
+ ConnRouteParams.setDefaultProxy(params, proxy);
}
+ ProxySelectorRoutePlanner routePlanner = new ProxySelectorRoutePlanner(
+ client.getConnectionManager().getSchemeRegistry(),
+ ProxySelector.getDefault());
+ ((AbstractHttpClient) client).setRoutePlanner(routePlanner);
}
/**
+ * When this WebResource is no longer needed it should be shutdown to return
+ * underlying resources back to the OS.
+ */
+ public void shutdown() {
+ client.getConnectionManager().shutdown();
+ }
+
+ /**
* @return the timeout in milliseconds
*/
public static int getTimeout() {
@@ -175,16 +194,23 @@
*
* @return the size of the file
*/
- public int getSize() {
- HttpMethod method = new HeadMethod(uri.getPath());
-
+ public long getSize() {
+ HttpRequestBase method = new HttpHead(uri);
+ HttpResponse response = null;
try {
// Execute the method.
- int status = client.executeMethod(method);
- if (status == HttpStatus.SC_OK) {
- return new HttpURLConnection(method, NetUtil.toURL(uri)).getContentLength();
+ response = client.execute(method);
+ StatusLine statusLine = response.getStatusLine();
+ if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
+ Header header = response.getFirstHeader("Content-Length");
+ String value = header.getValue();
+ try {
+ return Long.parseLong(value);
+ } catch (NumberFormatException ex) {
+ return 0;
+ }
}
- String reason = HttpStatus.getStatusText(status);
+ String reason = response.getStatusLine().getReasonPhrase();
// TRANSLATOR: Common error condition: {0} is a placeholder for the
// URL of what could not be found.
Reporter.informUser(this, UserMsg.gettext("Unable to find: {0}", new Object[] {
@@ -192,9 +218,6 @@
}));
} catch (IOException e) {
return 0;
- } finally {
- // Release the connection.
- method.releaseConnection();
}
return 0;
}
@@ -207,19 +230,32 @@
*
* @return the last mod date of the file
*/
+ @SuppressWarnings("deprecation")
public long getLastModified() {
- HttpMethod method = new HeadMethod(uri.getPath());
-
+ HttpRequestBase method = new HttpHead(uri);
+ HttpResponse response = null;
try {
// Execute the method.
- if (client.executeMethod(method) == HttpStatus.SC_OK) {
- return new HttpURLConnection(method, NetUtil.toURL(uri)).getLastModified();
+ response = client.execute(method);
+ StatusLine statusLine = response.getStatusLine();
+ if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
+ Header header = response.getFirstHeader("Last-Modified");
+ String value = header.getValue();
+ try {
+ // This date cannot be readily parsed with DateFormatter
+ return Date.parse(value);
+ } catch (Exception ex) {
+ return 0;
+ }
}
+ String reason = response.getStatusLine().getReasonPhrase();
+ // TRANSLATOR: Common error condition: {0} is a placeholder for the
+ // URL of what could not be found.
+ Reporter.informUser(this, UserMsg.gettext("Unable to find: {0}", new Object[] {
+ reason + ':' + uri.getPath()
+ }));
} catch (IOException e) {
return new Date().getTime();
- } finally {
- // Release the connection.
- method.releaseConnection();
}
return new Date().getTime();
}
@@ -234,13 +270,15 @@
InputStream in = null;
OutputStream out = null;
- HttpMethod method = new GetMethod(uri.getPath());
-
+ HttpRequestBase method = new HttpGet(uri);
+ HttpResponse response = null;
+ HttpEntity entity = null;
try {
// Execute the method.
- int status = client.executeMethod(method);
- if (status == HttpStatus.SC_OK) {
- in = method.getResponseBodyAsStream();
+ response = client.execute(method);
+ entity = response.getEntity();
+ if (entity != null) {
+ in = entity.getContent();
// Download the index file
out = NetUtil.getOutputStream(dest);
@@ -252,7 +290,7 @@
count = in.read(buf);
}
} else {
- String reason = HttpStatus.getStatusText(status);
+ String reason = response.getStatusLine().getReasonPhrase();
// TRANSLATOR: Common error condition: {0} is a placeholder for
// the URL of what could not be found.
Reporter.informUser(this, UserMsg.gettext("Unable to find: {0}", new Object[] {
@@ -266,8 +304,6 @@
uri.toString()
}), e);
} finally {
- // Release the connection.
- method.releaseConnection();
// Close the streams
IOUtil.close(in);
IOUtil.close(out);
Modified: trunk/jsword/src/main/java/org/crosswire/jsword/book/install/Installer.java
===================================================================
--- trunk/jsword/src/main/java/org/crosswire/jsword/book/install/Installer.java 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/jsword/src/main/java/org/crosswire/jsword/book/install/Installer.java 2010-11-30 21:44:24 UTC (rev 2031)
@@ -88,7 +88,7 @@
* The book meta-data to check on.
* @return whether there is a newer version to install
*/
- int getSize(Book book);
+ long getSize(Book book);
/**
* Return true if the book is not installed or there is a newer version to
Modified: trunk/jsword/src/main/java/org/crosswire/jsword/book/install/sword/HttpSwordInstaller.java
===================================================================
--- trunk/jsword/src/main/java/org/crosswire/jsword/book/install/sword/HttpSwordInstaller.java 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/jsword/src/main/java/org/crosswire/jsword/book/install/sword/HttpSwordInstaller.java 2010-11-30 21:44:24 UTC (rev 2031)
@@ -59,7 +59,7 @@
/* (non-Javadoc)
* @see org.crosswire.jsword.book.install.Installer#getSize(org.crosswire.jsword.book.Book)
*/
- public int getSize(Book book) {
+ public long getSize(Book book) {
return NetUtil.getSize(toRemoteURI(book), proxyHost, proxyPort);
}
@@ -112,6 +112,7 @@
WebResource wr = new WebResource(uri, proxyHost, proxyPort);
wr.copy(dest);
+ wr.shutdown();
}
/* (non-Javadoc)
Modified: trunk/jsword-limbo/src/main/java/org/crosswire/jsword/book/install/sword/FtpSwordInstaller.java
===================================================================
--- trunk/jsword-limbo/src/main/java/org/crosswire/jsword/book/install/sword/FtpSwordInstaller.java 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/jsword-limbo/src/main/java/org/crosswire/jsword/book/install/sword/FtpSwordInstaller.java 2010-11-30 21:44:24 UTC (rev 2031)
@@ -61,7 +61,7 @@
* org.crosswire.jsword.book.install.Installer#getSize(org.crosswire.jsword
* .book.Book)
*/
- public int getSize(Book book) {
+ public long getSize(Book book) {
// not implemented
return 0;
}
Modified: trunk/jsword-web/src/main/webapp/iBD/tutorial.html
===================================================================
--- trunk/jsword-web/src/main/webapp/iBD/tutorial.html 2010-11-30 16:13:23 UTC (rev 2030)
+++ trunk/jsword-web/src/main/webapp/iBD/tutorial.html 2010-11-30 21:44:24 UTC (rev 2031)
@@ -34,7 +34,8 @@
|-- javatar-2.5.jar
|-- jdom-1.1.1.jar
|-- commons-codec-1.4.jar
- |-- commons-httpclient-3.1.jar
+ |-- httpcore-4.1.jar
+ |-- httpclient-4.1-beta1.jar
|-- commons-logging-1.1.1.jar
|-- commons-net-2.2.jar
|-- lucene-core-2.9.1.jar
More information about the jsword-svn
mailing list