aboutsummaryrefslogtreecommitdiff
path: root/packages/OS400/curl.inc.in
AgeCommit message (Collapse)Author
2016-11-24proxy: Support HTTPS proxy and SOCKS+HTTP(s)Alex Rousskov
* HTTPS proxies: An HTTPS proxy receives all transactions over an SSL/TLS connection. Once a secure connection with the proxy is established, the user agent uses the proxy as usual, including sending CONNECT requests to instruct the proxy to establish a [usually secure] TCP tunnel with an origin server. HTTPS proxies protect nearly all aspects of user-proxy communications as opposed to HTTP proxies that receive all requests (including CONNECT requests) in vulnerable clear text. With HTTPS proxies, it is possible to have two concurrent _nested_ SSL/TLS sessions: the "outer" one between the user agent and the proxy and the "inner" one between the user agent and the origin server (through the proxy). This change adds supports for such nested sessions as well. A secure connection with a proxy requires its own set of the usual SSL options (their actual descriptions differ and need polishing, see TODO): --proxy-cacert FILE CA certificate to verify peer against --proxy-capath DIR CA directory to verify peer against --proxy-cert CERT[:PASSWD] Client certificate file and password --proxy-cert-type TYPE Certificate file type (DER/PEM/ENG) --proxy-ciphers LIST SSL ciphers to use --proxy-crlfile FILE Get a CRL list in PEM format from the file --proxy-insecure Allow connections to proxies with bad certs --proxy-key KEY Private key file name --proxy-key-type TYPE Private key file type (DER/PEM/ENG) --proxy-pass PASS Pass phrase for the private key --proxy-ssl-allow-beast Allow security flaw to improve interop --proxy-sslv2 Use SSLv2 --proxy-sslv3 Use SSLv3 --proxy-tlsv1 Use TLSv1 --proxy-tlsuser USER TLS username --proxy-tlspassword STRING TLS password --proxy-tlsauthtype STRING TLS authentication type (default SRP) All --proxy-foo options are independent from their --foo counterparts, except --proxy-crlfile which defaults to --crlfile and --proxy-capath which defaults to --capath. Curl now also supports %{proxy_ssl_verify_result} --write-out variable, similar to the existing %{ssl_verify_result} variable. Supported backends: OpenSSL, GnuTLS, and NSS. * A SOCKS proxy + HTTP/HTTPS proxy combination: If both --socks* and --proxy options are given, Curl first connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy. TODO: Update documentation for the new APIs and --proxy-* options. Look for "Added in 7.XXX" marks.
2016-11-07vtls: support TLS 1.3 via CURL_SSLVERSION_TLSv1_3Kamil Dudka
Fully implemented with the NSS backend only for now. Reviewed-by: Ray Satiro
2016-09-22New libcurl option to keep sending on errorMichael Kaufmann
Add the new option CURLOPT_KEEP_SENDING_ON_ERROR to control whether sending the request body shall be completed when the server responds early with an error status code. This is suitable for manual NTLM authentication. Reviewed-by: Jay Satiro Closes https://github.com/curl/curl/pull/904
2016-09-07errors: new alias CURLE_WEIRD_SERVER_REPLY (8)Jay Satiro
Since we're using CURLE_FTP_WEIRD_SERVER_REPLY in imap, pop3 and smtp as more of a generic "failed to parse" introduce an alias without FTP in the name. Closes https://github.com/curl/curl/pull/975
2016-06-16os400: add new definitions to ILE/RPG binding.Patrick Monnerat
2016-04-22os400: upgrade ILE/RPG bindingPatrick Monnerat
2016-04-11http2: Add handling stream level errorTatsuhiro Tsujikawa
Previously, when a stream was closed with other than NGHTTP2_NO_ERROR by RST_STREAM, underlying TCP connection was dropped. This is undesirable since there may be other streams multiplexed and they are very much fine. This change introduce new error code CURLE_HTTP2_STREAM, which indicates stream error that only affects the relevant stream, and connection should be kept open. The existing CURLE_HTTP2 means connection error in general. Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
2016-02-24os400: Fix ILE/RPG definition of CURLOPT_TFTP_NO_OPTIONSPatrick Monnerat
2016-02-23getinfo: CURLINFO_TLS_SSL_PTR supersedes CURLINFO_TLS_SESSIONJay Satiro
The two options are almost the same, except in the case of OpenSSL: CURLINFO_TLS_SESSION OpenSSL session internals is SSL_CTX *. CURLINFO_TLS_SSL_PTR OpenSSL session internals is SSL *. For backwards compatibility we couldn't modify CURLINFO_TLS_SESSION to return an SSL pointer for OpenSSL. Also, add support for the 'internals' member to point to SSL object for the other backends axTLS, PolarSSL, Secure Channel, Secure Transport and wolfSSL. Bug: https://github.com/curl/curl/issues/234 Reported-by: dkjjr89@users.noreply.github.com Bug: https://curl.haxx.se/mail/lib-2015-09/0127.html Reported-by: Michael König
2016-02-23TFTP: add option to suppress TFTP option requests (Part 1)Michael Koenig
Some TFTP server implementations ignore the "TFTP Option extension" (RFC 1782-1784, 2347-2349), or implement it in a flawed way, causing problems with libcurl. Another switch for curl_easy_setopt "CURLOPT_TFTP_NO_OPTIONS" is introduced which prevents libcurl from sending TFTP option requests to a server, avoiding many problems caused by faulty implementations. Bug: https://github.com/curl/curl/issues/481
2016-02-08os400: sync ILE/RPG definitions with latest public header files.Patrick Monnerat
2016-02-03URLs: change all http:// URLs to https://Daniel Stenberg
2015-12-07os400: define CURL_VERSION_PSL in ILE/RPG bindingPatrick Monnerat
2015-11-19os400: synchronize ILE/RPG header filePatrick Monnerat
2015-11-05os400: adjust specific code to support new options.Patrick Monnerat
2015-08-24os400: include new options in wrappers and update ILE/RPG binding.Patrick Monnerat
2015-07-21os400: ebcdic wrappers for new functions. Upgrade ILE/RPG bindings.Patrick Monnerat
2015-05-05OS400: Add SPNEGO service name options to ILE/RPG binding.Patrick Monnerat
2015-03-24os400: define new options in ILE/RPG binding.Patrick Monnerat
2015-01-19OS400: CURLOPT_SSL_VERIFYSTATUS for ILE/RPG too.Patrick Monnerat
2014-12-04libcurl: add UNIX domain sockets supportPeter Wu
The ability to do HTTP requests over a UNIX domain socket has been requested before, in Apr 2008 [0][1] and Sep 2010 [2]. While a discussion happened, no patch seems to get through. I decided to give it a go since I need to test a nginx HTTP server which listens on a UNIX domain socket. One patch [3] seems to make it possible to use the CURLOPT_OPENSOCKETFUNCTION function to gain a UNIX domain socket. Another person wrote a Go program which can do HTTP over a UNIX socket for Docker[4] which uses a special URL scheme (though the name contains cURL, it has no relation to the cURL library). This patch considers support for UNIX domain sockets at the same level as HTTP proxies / IPv6, it acts as an intermediate socket provider and not as a separate protocol. Since this feature affects network operations, a new feature flag was added ("unix-sockets") with a corresponding CURL_VERSION_UNIX_SOCKETS macro. A new CURLOPT_UNIX_SOCKET_PATH option is added and documented. This option enables UNIX domain sockets support for all requests on the handle (replacing IP sockets and skipping proxies). A new configure option (--enable-unix-sockets) and CMake option (ENABLE_UNIX_SOCKETS) can disable this optional feature. Note that I deliberately did not mark this feature as advanced, this is a feature/component that should easily be available. [0]: http://curl.haxx.se/mail/lib-2008-04/0279.html [1]: http://daniel.haxx.se/blog/2008/04/14/http-over-unix-domain-sockets/ [2]: http://sourceforge.net/p/curl/feature-requests/53/ [3]: http://curl.haxx.se/mail/lib-2008-04/0361.html [4]: https://github.com/Soulou/curl-unix-socket Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-29smb: Added SMB protocol and port definitionsBill Nagel
Added the necessary protocol and port definitions in order to support SMB/CIFS.
2014-11-07version info: Added Kerberos V5 to the supported featuresSteve Holme
2014-10-13vtls: remove QsoSSLPatrick Monnerat
2014-10-08OS400: upgrade interface for pinned public key (no implementation yet)Patrick Monnerat
2014-07-23GSSAPI: private export mechanisms OIDs. OS400: Make RPG binding up to date.Patrick Monnerat
2014-06-18OS400: make it compilable again. Make RPG binding up to date.Patrick Monnerat
2014-02-14OS400: Add new options to RPG binding.Patrick Monnerat
2013-12-14login options: remove the ;[options] support from CURLOPT_USERPWDDaniel Stenberg
To avoid the regression when users pass in passwords containing semi- colons, we now drop the ability to set the login options with the same options. Support for login options in CURLOPT_USERPWD was added in 7.31.0. Test case 83 was modified to verify that colons and semi-colons can be used as part of the password when using -u (CURLOPT_USERPWD). Bug: http://curl.haxx.se/bug/view.cgi?id=1311 Reported-by: Petr Bahula Assisted-by: Steve Holme Signed-off-by: Daniel Stenberg <daniel@haxx.se>
2013-12-02OS400: sync wrappers and RPG binding.Patrick Monnerat
2013-11-12curl_easy_setopt: Added the ability to set the login options separatelySteve Holme
Rather than set the authentication options as part of the login details specified in the URL, or via the older CURLOPT_USERPWD option, added a new libcurl option to allow the login options to be set separately.
2013-10-25OS400: sync RPG wrapper, zlib support, fix header file names, ...Patrick Monnerat
IFS compilation support, SSL GSKit backend by default, TLSv1.[12] support in GSKit for OS400 >= V7R1, no more tabs in make scripts.
2013-10-15SSL: protocol version can be specified more preciselyGergely Nagy
CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, CURL_SSLVERSION_TLSv1_2 enum values are added to force exact TLS version (CURL_SSLVERSION_TLSv1 means TLS 1.x). axTLS: axTLS only supports TLS 1.0 and 1.1 but it cannot be set that only one of these should be used, so we don't allow the new enum values. darwinssl: Added support for the new enum values. SChannel: Added support for the new enum values. CyaSSL: Added support for the new enum values. Bug: The original CURL_SSLVERSION_TLSv1 value enables only TLS 1.0 (it did the same before this commit), because CyaSSL cannot be configured to use TLS 1.0-1.2. GSKit: GSKit doesn't seem to support TLS 1.1 and TLS 1.2, so we do not allow those values. Bugfix: There was a typo that caused wrong SSL versions to be passed to GSKit. NSS: TLS minor version cannot be set, so we don't allow the new enum values. QsoSSL: TLS minor version cannot be set, so we don't allow the new enum values. OpenSSL: Added support for the new enum values. Bugfix: The original CURL_SSLVERSION_TLSv1 value enabled only TLS 1.0, now it enables 1.0-1.2. Command-line tool: Added command line options for the new values.
2013-07-24OS400: sync ILE/RPG binding with current curl.hPatrick Monnerat
2013-07-15OS400: add slist and certinfo EBCDIC supportPatrick Monnerat
2013-03-12OS400: synchronize RPG bindingPatrick Monnerat
2012-11-12OS400: upgrade wrappers for the 7.28.1 release.Patrick Monnerat
2011-10-26- Prepare the ILE/RPG binding and OS400 documentation for the upcoming releasePatrick Monnerat
2011-07-14Fix OS400 scripts to make it compilable again.Patrick Monnerat
Upgrade ILE/RPG binding to 7.21.7. Update OS400 documentation accordingly.
2011-04-18Augment RPG binding with "OLDIES" definitions.Patrick Monnerat
Fix OS400 LDAP wrappers: strings were non null-terminated.
2011-03-14- Take new char * options into account in OS400 curl_easy_setopt_ccsid().Patrick Monnerat
- Keep RPG binding, STRING_* table end check and OS400 README up to date.
2011-01-31Include TLSAUTH options in ILE/RPG binding.Patrick Monnerat
2010-12-21New curl/curl.h definitions added to ILE/RPG binding.Patrick Monnerat
2010-09-29Add gopher protocol definition to ILE/RPG binding.Patrick Monnerat
OS400 compile script in test dir updated for chkhostname.
2010-06-09ILE/RPG binding updated to current curl.h definitions.Patrick Monnerat
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2010-02-11_ Make it compilable again on OS400.Patrick Monnerat
_ Upgrade OS400 EBCDIC wrappers for new options. _ Upgrade ILE/RPG bindings to current state.
2009-12-21Take new SMTP definitions into account in OS400 wrapper and RPG bindingPatrick Monnerat
2009-08-11Fix definition of CURLOPT_SOCKS5_GSSAPI_SERVICE from LONG to OBJECTPOINTPatrick Monnerat
Fix OS400 makefile for tests to use the new Makefile.inc in libtest Update the OS400 wrappers and RPG binding according to the current CVS source state
2009-06-10Adjusted to take in account that...Yang Tse
With the curl memory tracking feature decoupled from the debug build feature, CURLDEBUG and DEBUGBUILD preprocessor symbol definitions are used as follows: CURLDEBUG used for curl debug memory tracking specific code (--enable-curldebug) DEBUGBUILD used for debug enabled specific code (--enable-debug)