Added Cyg-Win
This commit is contained in:
parent
82cbc206eb
commit
413c315806
10586 changed files with 3806249 additions and 0 deletions
310
Agent-Windows/OGP64/usr/share/doc/serf/CHANGES
Normal file
310
Agent-Windows/OGP64/usr/share/doc/serf/CHANGES
Normal file
|
|
@ -0,0 +1,310 @@
|
|||
Apache Serf 1.3.9 [2016-09-01, from tags/1.3.9, rxxxx]
|
||||
serf is now Apache Serf; apply header changes (r1700062)
|
||||
Fix issue #151: SCons build broken when only one library in ENVPATH
|
||||
Fix issue #153: avoid SSPI handle leak
|
||||
Fix issue #167: Explicitly use the ANSI version of SSPI
|
||||
Fix issue #170: Allow building with Microsoft Visual Studio 2015
|
||||
Fix build of 'check' target when using VPATH-style builds (r1699858, ...)
|
||||
(builddir != srcdir).
|
||||
Resolve a bucket (aka "memory") leak when a request bucket is
|
||||
destroyed before it is morphed into an aggregate bucket (r1699791)
|
||||
Reset state variables when resetting connection (r1708849)
|
||||
Fix types of passed, but unused batons (r1699986, r1699987)
|
||||
Fix some usages of the openssl BIO api (r1699852)
|
||||
Improve handling of bad data in the response state line. (r1699985)
|
||||
Resolve several compiler issues with less common compilers
|
||||
Support more overrides via SCons arguments (r1701836, ...)
|
||||
Adapt to OpenSSL 1.1.x api (r1750819)
|
||||
|
||||
|
||||
Serf 1.3.8 [2014-10-20, from /tags/1.3.8, r2441]
|
||||
Fix issue #152: CRC calculation error for gzipped http reponses > 4GB.
|
||||
Fix issue #153: SSPI CredHandle not freed when APR pool is destroyed.
|
||||
Fix issue #154: Disable SSLv2 and SSLv3 as both or broken.
|
||||
|
||||
|
||||
Serf 1.3.7 [2014-08-11, from /tags/1.3.7, r2411]
|
||||
Handle NUL bytes in fields of an X.509 certificate. (r2393, r2399)
|
||||
|
||||
|
||||
Serf 1.3.6 [2014-06-09, from /tags/1.3.6, r2372]
|
||||
Revert r2319 from serf 1.3.5: this change was making serf call handle_response
|
||||
multiple times in case of an error response, leading to unexpected behavior.
|
||||
|
||||
|
||||
Serf 1.3.5 [2014-04-27, from /tags/1.3.5, r2355]
|
||||
Fix issue #125: no reverse lookup during Negotiate authentication for proxies.
|
||||
Fix a crash caused by incorrect reuse of the ssltunnel CONNECT request (r2316)
|
||||
Cancel request if response parsing failed + authn callback set (r2319)
|
||||
Update the expired certificates in the test suite.
|
||||
|
||||
|
||||
Serf 1.3.4 [2014-02-08, from /tags/1.3.4, r2310]
|
||||
Fix issue #119: Endless loop during ssl tunnel setup with Negotiate authn
|
||||
Fix issue #123: Can't setup ssl tunnel which sends Connection close header
|
||||
Fix a race condition when initializing OpenSSL from multiple threads (r2263)
|
||||
Fix issue #138: Incorrect pkg-config file when GSSAPI isn't configured
|
||||
|
||||
|
||||
Serf 1.3.3 [2013-12-09, from /tags/1.3.3, r2242]
|
||||
Fix issue 129: Try more addresses of multihomed servers
|
||||
Handle X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE correctly (r2225)
|
||||
Return APR_TIMEUP from poll() to enable detecting connection timeouts (r2183)
|
||||
|
||||
|
||||
Serf 1.3.2 [2013-10-04, from /tags/1.3.2, r2195]
|
||||
Fix issue 130: HTTP headers should be treated case-insensitively
|
||||
Fix issue 126: Compilation breaks with Codewarrior compiler
|
||||
Fix crash during cleanup of SSL buckets in apr_terminate() (r2145)
|
||||
Fix Windows build: Also export functions with capital letters in .def file
|
||||
Fix host header when url contains a username or password (r2170)
|
||||
Ensure less TCP package fragmentation on Windows (r2145)
|
||||
Handle authentication for responses to HEAD requests (r2178,-9)
|
||||
Improve serf_get: add option to add request headers, allow url with query,
|
||||
allow HEAD requests (r2143,r2175,-6)
|
||||
Improve RFC conformance: don't expect body for certain responses (r2011,-2)
|
||||
Do not invoke progress callback when no data was received (r2144)
|
||||
And more test suite fixes and build warning cleanups
|
||||
SCons-related fixes:
|
||||
Fix build when GSSAPI not in default include path (2155)
|
||||
Fix OpenBSD build: always map all LIBPATH entries into RPATH (r2156)
|
||||
Checksum generation in Windows shared libraries for release builds (2162)
|
||||
Mac OS X: Use MAJOR version only in dylib install name (r2161)
|
||||
Use both MAJOR and MINOR version for the shared library name (2163)
|
||||
Fix the .pc file when installing serf in a non-default LIBDIR (r2191)
|
||||
|
||||
|
||||
Serf 1.3.1 [2013-08-15, from /tags/1.3.1, r2138]
|
||||
Fix issue 77: Endless loop if server doesn't accept Negotiate authentication.
|
||||
Fix issue 114: ssl/tls renegotiation fails
|
||||
Fix issue 120: error with ssl tunnel over proxy with KeepAlive off and
|
||||
Basic authentication.
|
||||
Fixed bugs with authentication (r2057,2115,2118)
|
||||
SCons-related fixes:
|
||||
Fix issue 111: add flag to set custom library path
|
||||
Fix issue 112: add soname
|
||||
Fix issue 113: add gssapi libs in the serf pc file
|
||||
Fix issue 115: Setting RPATH on Solaris broken in SConstruct
|
||||
Fix issue 116: scons check should return non-zero exit staths
|
||||
Fix issue 121: make CFLAGS, LIBS, LINKFLAGS and CPPFLAGS take a space-
|
||||
separated list of flags.
|
||||
Fix issue 122: make scons PREFIX create the folder if it doesn't exist
|
||||
Mac OS X: Fix scons --install-sandbox
|
||||
Solaris: Fix build with cc, don't use unsupported compiler flags
|
||||
Require SCons version 2.3.0 or higher now (for the soname support).
|
||||
|
||||
|
||||
Serf 1.3.0 [2013-07-23, from /tags/1.3.0, r2074]
|
||||
Fix issue 83: use PATH rather than URI within an ssltunnel (r1952)
|
||||
Fix issue 108: improved error reporting from the underlying socket (r1951)
|
||||
NEW: Switch to the SCons build system; retire serfmake, serf.mak, autotools
|
||||
Improved Basic and Digest authentication:
|
||||
- remember credentials on a per-server basis
|
||||
- properly manage authentication realms
|
||||
- continue functioning when a server sets KeepAlive: off
|
||||
Windows: add support for NTLM authentication
|
||||
Improved 2617 compliance: always use strongest authentication (r1968,1971)
|
||||
Fixed bugs with proxy authentication and SSL tunneling through a proxy
|
||||
Fixed bugs the response parser (r2032,r2036)
|
||||
SSL connection performance improvements
|
||||
Huge expansion of the test suite
|
||||
|
||||
|
||||
Serf 1.2.1 [2013-06-03, from /tags/1.2.1, r1906]
|
||||
Fix issue 95: add gssapi switches to configure (r1864, r1900)
|
||||
Fix issue 97: skip mmap bucket if APR_HAS_MMAP is undefined (r1877)
|
||||
Fix issue 100: building against an old Windows Platform SDK (r1881)
|
||||
Fix issue 102: digest authentication failures (r1885)
|
||||
Improve error return values in SSPI authentication (r1804)
|
||||
Ensure serf-1.pc is constructed by serfmake (r1865)
|
||||
Optimize SPNego authentication processing (r1868)
|
||||
Reject certs that application does not like (r1794)
|
||||
Fix possible endless loop in serf_linebuf_fetch() (r1816)
|
||||
Windows build: dereference INTDIR in serf.mak (r1882)
|
||||
|
||||
|
||||
Serf 1.2.0 [2013-02-22, from /tags/1.2.0, r1726]
|
||||
Fixed issue 94: Serf can enter an infinite loop when server aborts conn.
|
||||
Fixed issue 91: Serf doesn't handle an incoming 408 Timeout Request
|
||||
Fixed issue 80: Serf is not handling Negotiate authentication correctly
|
||||
Fixed issue 77: Endless loop if server doesn't accept Negotiate authn
|
||||
Fixed issue 93: cleanup-after-fork interferes with parent (r1714)
|
||||
Fixed most of issue 89: Support REAL SPNEGO authentication
|
||||
Enable Negotiate/Kerberos support for proxy servers.
|
||||
Return error when C-L, chunked, gzip encoded response bodies were
|
||||
truncated (due to aborted connection) (r1688)
|
||||
Add a logging mechanism that can be enabled at compile-time.
|
||||
Don't lookup server address if a proxy was configured. (r1706)
|
||||
Fix an off-by-one in buffer sizing (r1695)
|
||||
Disable SSL compression by default + API to enable it (r1692)
|
||||
New serf_connection_get_latency() for estimated network latency (r1689)
|
||||
New error code and RFC compliance for the HTTPS tunnel (r1701, r1644)
|
||||
Handle EINTR when a user suspends and then backgrounds the app (r1708)
|
||||
Minor fixes and test suite improvements.
|
||||
|
||||
|
||||
Serf 1.1.1 [2012-10-04, from /tags/1.1.1, r1657]
|
||||
Fixed issue 86: ensure requeued requests are correctly handled.
|
||||
This fixes:
|
||||
- infinite loop with multiple connection resets or SIGPIPE errors
|
||||
- "connection" hang where we would not re-queue requests that are
|
||||
held after we re-connect
|
||||
Fixed issue 74: test_all goes in an endless loop
|
||||
Fix memleak when conn. is closed explicitly/due to pool cleanups (r1623)
|
||||
Windows: Fix https connection aborts (r1628..-30,-33,-34,-37)
|
||||
Add new error codes for the SSL bucket
|
||||
|
||||
|
||||
Serf 1.1.0 [2012-06-07, from /tags/1.1.0, r1617]
|
||||
New: serf_bucket_request_set_CL() for C-L based, non-chunked requests
|
||||
New: serf_ssl_server_cert_chain_callback_set() for full-chain validation
|
||||
|
||||
|
||||
Serf 1.0.3 [2012-03-20, from /tags/1.0.3, r1586]
|
||||
Map more OpenSSL errors into SERF_SSL_CERT_UNKNOWNCA (r1573)
|
||||
|
||||
|
||||
Serf 1.0.2
|
||||
Not released.
|
||||
|
||||
|
||||
Serf 1.0.1 [2012-02-15, from /tags/1.0.1, r1569]
|
||||
FreeBSD fixes in the test suite (r1560, r1565)
|
||||
Minor build fixes
|
||||
|
||||
|
||||
Serf 1.0.0 [2011-07-15, from /tags/1.0.0, r1540]
|
||||
Fixed issue 38: enable builds using non-GNU make
|
||||
Fixed issue 49: support SSL tunnels for HTTPS via a proxy
|
||||
Fixed issue 56: allow Subject Alternative Name, and enable SNI
|
||||
Fixed issue 61: include order dependencies
|
||||
Fixed issue 66: improved error reporting when creating install dirs
|
||||
Fixed issue 71: handle ECONNREFUSED on Windows
|
||||
Fixed issue 79: destroy the APR allocator, if we create one
|
||||
Fixed issue 81: build failed on APR 0.9.x
|
||||
Major performance improvements and bug fixes for SSL buckets/handling (r1462)
|
||||
Add a new "iovec" bucket type (r1434)
|
||||
Minimize network packet writes based on ra_serf analysis (r1467, r1471)
|
||||
Fix out of order issue with multiple priority requests (r1469)
|
||||
Work around broken WSAPoll() impl on Windows introduced in APR 1.4.0 (r1506)
|
||||
Fix 100% CPU usage with many pipelined requests (r1456)
|
||||
Corrected contents of build/serf.def; it now includes bucket types (r1512)
|
||||
Removed "snapshot" feature from buckets (r1503)
|
||||
Various improvements to the test system
|
||||
Various memory leak fixes
|
||||
|
||||
|
||||
Serf 0.7.2 [2011-03-12, from /tags/0.7.2, r1452]
|
||||
Actually disable Nagle when creating a connection (r1441)
|
||||
Return error when app asks for HTTPS over proxy connection (r1433)
|
||||
|
||||
|
||||
Serf 0.7.1 [2011-01-25, from /tags/0.7.1, r1432]
|
||||
Fix memory leak when using SSL (r1408, r1416)
|
||||
Fix build for blank apr-util directory (r1421)
|
||||
|
||||
|
||||
Serf 0.7.0 [2010-08-25, from /tags/0.7.0, r1407]
|
||||
Fix double free abort when destroying request buckets
|
||||
Fix test server in unit test framework to avoid random test failures
|
||||
Allow older Serf programs which don't use the new authn framework to still
|
||||
handle authn without forcing them to switch to the new framework. (r1401)
|
||||
Remove the SERF_DECLARE macros, preferring a .DEF file for Windows
|
||||
Barrier buckets now pass read_iovec to their wrapped bucket
|
||||
Fix HTTP header parsing to allow for empty header values
|
||||
|
||||
|
||||
Serf 0.6.1 [2010-05-14, from /tags/0.6.1, r1370]
|
||||
Generally: this release fixes problems with the 0.4.0 packaging
|
||||
Small compilation fix in outgoing.c for Windows builds
|
||||
|
||||
|
||||
Serf 0.6.0
|
||||
Not released.
|
||||
|
||||
|
||||
Serf 0.5.0
|
||||
Not released.
|
||||
|
||||
|
||||
Serf 0.4.0
|
||||
WITHDRAWN: this release misstated itself as 0.5.0; use a later release
|
||||
|
||||
Provide authn framework, supporting Basic, Digest, Kerberos (SSPI, GSS),
|
||||
along with proxy authn using Basic or Digest
|
||||
Added experimental listener framework, along with test_server.c
|
||||
Improvements and fixes to SSL support, including connection setup changes
|
||||
Experimental support for unrequested, arriving ("async") responses
|
||||
Experimental BWTP support using the async arrival feature
|
||||
Headers are combined on read (not write), to ease certian classes of parsing
|
||||
Experimental feature on aggregate buckets for a callback-on-empty
|
||||
Fix the bucket allocator for when APR is using its pool debugging features
|
||||
Proxy support in the serf_get testing utility
|
||||
Fix to include the port number in the Host header
|
||||
serf_get propagates errors from the response, instead of aborting (Issue 52)
|
||||
Added serf_lib_version() for runtime version tests
|
||||
|
||||
|
||||
Serf 0.3.1 [2010-02-14, from /tags/0.3.1, r1322]
|
||||
Fix loss of error on request->setup() callback. (Issue 47)
|
||||
Support APR 2.x. (Issue 48)
|
||||
Fixed slowdown in aggregate bucket with millions of child buckets
|
||||
Avoid hang in apr_pollset_poll() by unclosed connections after fork()
|
||||
|
||||
|
||||
Serf 0.3.0 [2009-01-26, from /tags/0.3.0, r1217]
|
||||
Support LTFLAGS override as a config-time env. variable (Issue 44)
|
||||
Fix CUTest test harness compilation on Solaris (Issue 43)
|
||||
Fix small race condition in OpenSSL initialization (Issue 39)
|
||||
Handle content streams larger than 4GB on 32-bit OSes (Issue 41)
|
||||
Fix test_ssl.c compilation with mingw+msys
|
||||
Fix conn close segfault by explicitly closing conn when pool is destroyed
|
||||
Expose the depth of the SSL certificate so the validator can use that info
|
||||
Fix socket address family issue when opening a connection to a proxy
|
||||
Provide new API to take snapshots of buckets
|
||||
Implement snapshot API for simple and aggregate buckets
|
||||
Build with bundled apr and apr-util VPATH builds
|
||||
Build with bundled OpenSSL builds
|
||||
|
||||
|
||||
Serf 0.2.0 [2008-06-06, from /tags/0.2.0, r1189]
|
||||
Enable use of external event loop: serf_create_context_ex
|
||||
Enable adding new requests at the beginning of the request queue
|
||||
Handle 'Connection:close' headers
|
||||
Enable limiting the number of outstanding requests
|
||||
Add readline function to simple buckets
|
||||
Concatenate repeated headers using comma as separator, as per RFC 2616,
|
||||
section 4.2. (Issue 29)
|
||||
Add proxy server support
|
||||
Add progress feedback support. (Issue 11)
|
||||
Provide new API to simplify use of proxy and progress feedback support
|
||||
Add callback to validate SSL server certificates. (Issue 31)
|
||||
Add new test framework
|
||||
Send current version string in the test programs (Issue 21)
|
||||
Bugfixes:
|
||||
Fix segfault with epoll when removing a NULL socket
|
||||
Reset OpenSSL thread-safety callbacks when apr_terminate() called
|
||||
Do not remove the socket from the pollset on pool cleanup
|
||||
Do not issue double close on skt w/second one being close(-1) (Issue 33)
|
||||
|
||||
|
||||
Serf 0.1.2 [2007-06-18, from /tags/0.1.2, r1115]
|
||||
Enable thread-safety with OpenSSL (Issue 19)
|
||||
Teach serfmake to install headers into include/serf-0
|
||||
Be more tolerant when servers close the connection without telling us
|
||||
Do not open the connection until we have requests to deliver
|
||||
Fix serfmake to produce the library that corresponds to the minor version
|
||||
Fix a memory leak with the socket bucket (Issue 14)
|
||||
Fix uninitialized branch in serf_spider (Issue 15)
|
||||
|
||||
|
||||
Serf 0.1.1 [2007-05-12, from /tags/0.1.1, r1105]
|
||||
Add SSL client certificate support
|
||||
Implement optimized iovec reads for header buckets
|
||||
Fix up 'make clean' and 'make distclean' (Issues 9, 10)
|
||||
Add SERF_VERSION_AT_LEAST macro
|
||||
Remove abort() calls (Issue 13)
|
||||
|
||||
|
||||
Serf 0.1.0 [2006-12-14, from /tags/0.1.0, r1087]
|
||||
Initial packaged release
|
||||
201
Agent-Windows/OGP64/usr/share/doc/serf/LICENSE
Normal file
201
Agent-Windows/OGP64/usr/share/doc/serf/LICENSE
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
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
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
7
Agent-Windows/OGP64/usr/share/doc/serf/NOTICE
Normal file
7
Agent-Windows/OGP64/usr/share/doc/serf/NOTICE
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
Apache Serf
|
||||
Copyright 2015 The Apache Software Foundation
|
||||
|
||||
This product includes software developed by many people, and distributed
|
||||
under Contributor License Agreements to The Apache Software Foundation
|
||||
(http://www.apache.org/). See the revision logs for an exact contribution
|
||||
history.
|
||||
92
Agent-Windows/OGP64/usr/share/doc/serf/README
Normal file
92
Agent-Windows/OGP64/usr/share/doc/serf/README
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
Welcome to Apache Serf, a high-performance asynchronous HTTP client library.
|
||||
|
||||
The Apache Serf library is a C-based HTTP client library built upon the Apache
|
||||
Portable Runtime (APR) library. It multiplexes connections, running the
|
||||
read/write communication asynchronously. Memory copies and transformations are
|
||||
kept to a minimum to provide high performance operation.
|
||||
|
||||
* Site: http://serf.apache.org//
|
||||
* Code: http://svn.apache.org/repos/asf/serf/
|
||||
* Issues: https://issues.apache.org/jira/browse/SERF
|
||||
* Mail: dev@serf.apache.org
|
||||
* People: Justin Erenkrantz, Greg Stein
|
||||
|
||||
----
|
||||
|
||||
1. INSTALL
|
||||
|
||||
1.1. SCons build system
|
||||
|
||||
Apache Serf uses SCons 2.3 for its build system. If it is not installed
|
||||
on your system, then you can install it onto your system. If you do not
|
||||
have permissions, then you can download and install the "local"
|
||||
version into your home directory. When installed privately, simply
|
||||
create a symlink for 'scons' in your PATH to /path/to/scons/scons.py.
|
||||
|
||||
Fetch the scons-local package:
|
||||
http://prdownloads.sourceforge.net/scons/scons-local-2.3.0.tar.gz
|
||||
|
||||
|
||||
1.2 Building Apache Serf
|
||||
|
||||
To build serf:
|
||||
|
||||
$ scons APR=/path/to/apr APU=/path/to/apu OPENSSL=/openssl/base PREFIX=/path/to/prefix
|
||||
|
||||
The switches are recorded into .saved_config, so they only need to be
|
||||
specified the first time scons is run.
|
||||
|
||||
PREFIX should specify where serf should be installed. PREFIX defaults to
|
||||
/usr/local.
|
||||
|
||||
The default for the other three switches (APR, APU, OPENSSL) is /usr.
|
||||
|
||||
The build system looks for apr-1-config at $APR/bin/apr-1-config, or
|
||||
the path should indicate apr-1-config itself. Similarly for the path
|
||||
to apu-1-config.
|
||||
|
||||
OPENSSL should specify the root of the install (eg. /opt/local). The
|
||||
includes will be found OPENSSL/include and libraries at OPENSSL/lib.
|
||||
|
||||
If you wish to use VPATH-style builds (where objects are created in a
|
||||
distinct directory from the source), you can use:
|
||||
|
||||
$ scons -Y /path/to/serf/source
|
||||
|
||||
If you plan to install the library on a system that uses different
|
||||
paths for architecture dependent files, specify LIBDIR. LIBDIR defaults
|
||||
to /usr/local/lib otherwise. Example for a 64 bit GNU/Linux system:
|
||||
|
||||
$ scons PREFIX=/usr/ LIBDIR=/usr/lib64
|
||||
|
||||
At any point, the current settings can be examined:
|
||||
|
||||
$ scons --help
|
||||
|
||||
|
||||
1.3 Running the test suite
|
||||
|
||||
$ scons check
|
||||
|
||||
|
||||
1.4 Installing Apache Serf
|
||||
|
||||
$ scons install
|
||||
|
||||
Note that the PREFIX variable should have been specified in a previous
|
||||
invocation of scons (and saved into .saved_config), or it can be
|
||||
specified on the install command line:
|
||||
|
||||
$ scons PREFIX=/some/path install
|
||||
|
||||
Distribution package maintainers regulary install to a buildroot, and
|
||||
would normally use something like below in their build systems, with
|
||||
placeholders for the specific paths:
|
||||
|
||||
$ scons PREFIX=/usr/ LIBDIR=/usr/lib64
|
||||
$ scons install --install-sandbox=/path/to/buildroot
|
||||
|
||||
|
||||
1.4 Cleaning up the build
|
||||
|
||||
$ scons -c
|
||||
152
Agent-Windows/OGP64/usr/share/doc/serf/design-guide.txt
Normal file
152
Agent-Windows/OGP64/usr/share/doc/serf/design-guide.txt
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
APACHE COMMONS: serf -*-indented-text-*-
|
||||
|
||||
|
||||
TOPICS
|
||||
|
||||
1. Introduction
|
||||
2. Thread Safety
|
||||
3. Pool Usage
|
||||
4. Bucket Read Functions
|
||||
5. Versioning
|
||||
6. Bucket lifetimes
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
1. INTRODUCTION
|
||||
|
||||
This document details various design choices for the serf library. It
|
||||
is intended to be a guide for serf developers. Of course, these design
|
||||
principles, choices made, etc are a good source of information for
|
||||
users of the serf library, too.
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
2. THREAD SAFETY
|
||||
|
||||
The serf library should contain no mutable globals, making it is safe
|
||||
to use in a multi-threaded environment.
|
||||
|
||||
Each "object" within the system does not need to be used from multiple
|
||||
threads at a time. Thus, they require no internal mutexes, and can
|
||||
disable mutexes within APR objects where applicable (e.g. pools that
|
||||
are created).
|
||||
|
||||
The objects should not have any thread affinity (i.e. don't use
|
||||
thread-local storage). This enables an application to use external
|
||||
mutexes to guard entry to the serf objects, which then allows the
|
||||
objects to be used from multiple threads.
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
3. POOL USAGE
|
||||
|
||||
For general information on the proper use of pools, please see:
|
||||
|
||||
http://cvs.apache.org/viewcvs/*checkout*/apr/docs/pool-design.html
|
||||
|
||||
Within serf itself, the buckets introduce a significant issue related
|
||||
to pools. Since it is very possible to end up creating *many* buckets
|
||||
within a transaction, and that creation could be proportional to an
|
||||
incoming or outgoing data stream, a lot of care must be take to avoid
|
||||
tying bucket allocations to pools. If a bucket allocated any internal
|
||||
memory against a pool, and if that bucket is created an unbounded
|
||||
number of times, then the pool memory could be exhausted.
|
||||
|
||||
Thus, buckets are allocated using a custom allocator which allows the
|
||||
memory to be freed when that bucket is no longer needed. This
|
||||
contrasts with pools where the "free" operation occurs over a large
|
||||
set of objects, which is problematic if some are still in use.
|
||||
|
||||
### need more explanation of strategy/solution ...
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
4. BUCKET READ FUNCTIONS
|
||||
|
||||
The bucket reading and peek functions must not block. Each read
|
||||
function should return (up to) the specified amount of data. If
|
||||
SERF_READ_ALL_AVAIL is passed, then the function should provide
|
||||
whatever is immediately available, without blocking.
|
||||
|
||||
The peek function does not take a requested length because it is
|
||||
non-destructive. It is not possible to "read past" any barrier with a
|
||||
peek function. Thus, peek should operate like SERF_READ_ALL_AVAIL.
|
||||
|
||||
The return values from the read functions should follow this general
|
||||
pattern:
|
||||
|
||||
APR_SUCCESS Some data was returned, and the caller can
|
||||
immediately call the read function again to read
|
||||
more data.
|
||||
|
||||
NOTE: when bucket behavior tracking is enabled,
|
||||
then you must read more data from this bucket
|
||||
before returning to the serf context loop. If a
|
||||
bucket is not completely drained first, then it is
|
||||
possible to deadlock (the server might not read
|
||||
anything until you read everything it has already
|
||||
given to you).
|
||||
|
||||
APR_EAGAIN Some data was returned, but no more is available
|
||||
for now. The caller must "wait for a bit" or wait
|
||||
for some event before attempting to read again
|
||||
(basically, this simply means re-run the serf
|
||||
context loop). Though it shouldn't be done, reading
|
||||
again will, in all likelihood, return zero length
|
||||
data and APR_EAGAIN again.
|
||||
|
||||
NOTE: when bucket behavior tracking is enabled,
|
||||
then it is illegal to immediately read a bucket
|
||||
again after it has returned APR_EAGAIN. You must
|
||||
run the serf context loop again to (potentially)
|
||||
fetch more data for the bucket.
|
||||
|
||||
APR_EOF Some data was returned, and this bucket has no more
|
||||
data available and should not be read again. If you
|
||||
happen to read it again, then it will return zero
|
||||
length data and APR_EOF.
|
||||
|
||||
NOTE: when bucket behavior tracking is enabled,
|
||||
then it is illegal to read this bucket ever again.
|
||||
|
||||
other An error has occurred. No data was returned. The
|
||||
returned length is undefined.
|
||||
|
||||
In the above paragraphs, when it says "some data was returned", note
|
||||
that this could be data of length zero.
|
||||
|
||||
If a length of zero is returned, then the caller should not attempt to
|
||||
dereference the data pointer. It may be invalid. Note that there is no
|
||||
reason to dereference that pointer, since it doesn't point to any
|
||||
valid data.
|
||||
|
||||
Any data returned by the bucket should live as long as the bucket, or
|
||||
until the next read or peek occurs.
|
||||
|
||||
The read_bucket function falls into a very different pattern. See its
|
||||
doc string for more information.
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
5. VERSIONING
|
||||
|
||||
The serf project uses the APR versioning guidelines described here:
|
||||
|
||||
http://apr.apache.org/versioning.html
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
6. BUCKET LIFETIMES
|
||||
|
||||
### flesh out. basically: if you hold a bucket pointer, then you own
|
||||
### it. passing a bucket into another transfers ownership. use barrier
|
||||
### buckets to limit destruction of a tree of buckets.
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Loading…
Add table
Add a link
Reference in a new issue