<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/curl.git/lib/http_proxy.h, branch bagder/https-proxyu-req-http</title>
<subtitle>github.com: bagder/curl.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/'/>
<entry>
<title>http_proxy: ported to use dynbuf instead of a static size buffer</title>
<updated>2020-05-04T08:41:06+00:00</updated>
<author>
<name>Daniel Stenberg</name>
<email>daniel@haxx.se</email>
</author>
<published>2020-05-02T15:04:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=dae126ff12655fdad0dc0b7b808ace5963d1bd40'/>
<id>dae126ff12655fdad0dc0b7b808ace5963d1bd40</id>
<content type='text'>
Removes a 16K static buffer from the easy handle. Simplifies the code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removes a 16K static buffer from the easy handle. Simplifies the code.
</pre>
</div>
</content>
</entry>
<entry>
<title>http_proxy: fix build with http and proxy</title>
<updated>2017-06-18T13:18:15+00:00</updated>
<author>
<name>Marcel Raad</name>
<email>Marcel.Raad@teamviewer.com</email>
</author>
<published>2017-06-18T13:18:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=edafd52be16e4a64f1ae14ea0de722413eedfea2'/>
<id>edafd52be16e4a64f1ae14ea0de722413eedfea2</id>
<content type='text'>
After deff7de0eb0e22d2d142b96b9cc84cd8db5d2a48, the build without
CURL_DISABLE_PROXY and CURL_DISABLE_HTTP was failing because of missing
includes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After deff7de0eb0e22d2d142b96b9cc84cd8db5d2a48, the build without
CURL_DISABLE_PROXY and CURL_DISABLE_HTTP was failing because of missing
includes.
</pre>
</div>
</content>
</entry>
<entry>
<title>http-proxy: fix build with --disable-proxy or --disable-http</title>
<updated>2017-06-15T22:02:57+00:00</updated>
<author>
<name>Daniel Stenberg</name>
<email>daniel@haxx.se</email>
</author>
<published>2017-06-15T21:57:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=0d39e5cc95177b0255c32b24b9907dd67bf56252'/>
<id>0d39e5cc95177b0255c32b24b9907dd67bf56252</id>
<content type='text'>
Reported-by: Dan Fandrich
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reported-by: Dan Fandrich
</pre>
</div>
</content>
</entry>
<entry>
<title>http-proxy: do the HTTP CONNECT process entirely non-blocking</title>
<updated>2017-06-14T21:43:52+00:00</updated>
<author>
<name>Daniel Stenberg</name>
<email>daniel@haxx.se</email>
</author>
<published>2017-06-07T21:02:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=5113ad0424044458ac497fa1458ebe0101356b22'/>
<id>5113ad0424044458ac497fa1458ebe0101356b22</id>
<content type='text'>
Mentioned as a problem since 2007 (8f87c15bdac63) and of course it
existed even before that.

Closes #1547
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mentioned as a problem since 2007 (8f87c15bdac63) and of course it
existed even before that.

Closes #1547
</pre>
</div>
</content>
</entry>
<entry>
<title>http-proxy: removed unused argument in CURL_DISABLE_PROXY case</title>
<updated>2017-04-27T09:42:04+00:00</updated>
<author>
<name>Dan Fandrich</name>
<email>dan@coneharvesters.com</email>
</author>
<published>2017-04-27T09:42:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=63503a969fe9e11907f7e3f262a3f6c27d885f60'/>
<id>63503a969fe9e11907f7e3f262a3f6c27d885f60</id>
<content type='text'>
Missed in commit 55c3c02e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Missed in commit 55c3c02e
</pre>
</div>
</content>
</entry>
<entry>
<title>http-proxy: remove unused argument from Curl_proxyCONNECT()</title>
<updated>2017-04-25T22:34:22+00:00</updated>
<author>
<name>Daniel Stenberg</name>
<email>daniel@haxx.se</email>
</author>
<published>2017-04-25T22:34:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=55c3c02e59d1daf31ec2097f93b8139ddb3fdeb6'/>
<id>55c3c02e59d1daf31ec2097f93b8139ddb3fdeb6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>proxy: Support HTTPS proxy and SOCKS+HTTP(s)</title>
<updated>2016-11-24T22:41:44+00:00</updated>
<author>
<name>Alex Rousskov</name>
<email>rousskov@measurement-factory.com</email>
</author>
<published>2016-11-16T17:49:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=cb4e2be7c6d42ca0780f8e0a747cecf9ba45f151'/>
<id>cb4e2be7c6d42ca0780f8e0a747cecf9ba45f151</id>
<content type='text'>
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>URLs: change all http:// URLs to https://</title>
<updated>2016-02-02T23:19:02+00:00</updated>
<author>
<name>Daniel Stenberg</name>
<email>daniel@haxx.se</email>
</author>
<published>2016-02-02T23:19:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=4af40b3646d3b09f68e419f7ca866ff395d1f897'/>
<id>4af40b3646d3b09f68e419f7ca866ff395d1f897</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>FTP: fixed compiling with --disable-proxy, broken in b88f980a</title>
<updated>2015-06-18T21:20:10+00:00</updated>
<author>
<name>Dan Fandrich</name>
<email>dan@coneharvesters.com</email>
</author>
<published>2015-06-18T21:20:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=1c3811f4fd46680ca3701c68049d3b50d5882b94'/>
<id>1c3811f4fd46680ca3701c68049d3b50d5882b94</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>FTP: do the HTTP CONNECT for data connection blocking</title>
<updated>2015-06-17T12:00:12+00:00</updated>
<author>
<name>Daniel Stenberg</name>
<email>daniel@haxx.se</email>
</author>
<published>2015-06-16T22:30:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=b88f980a7437abc1159a1185c04d381347c8f5b1'/>
<id>b88f980a7437abc1159a1185c04d381347c8f5b1</id>
<content type='text'>
** WORK-AROUND **

The introduced non-blocking general behaviour for Curl_proxyCONNECT()
didn't work for the data connection establishment unless it was very
fast. The newly introduced function argument makes it operate in a more
blocking manner, more like it used to work in the past. This blocking
approach is only used when the FTP data connecting through HTTP proxy.

Blocking like this is bad. A better fix would make it work more
asynchronously.

Bug: https://github.com/bagder/curl/issues/278
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
** WORK-AROUND **

The introduced non-blocking general behaviour for Curl_proxyCONNECT()
didn't work for the data connection establishment unless it was very
fast. The newly introduced function argument makes it operate in a more
blocking manner, more like it used to work in the past. This blocking
approach is only used when the FTP data connecting through HTTP proxy.

Blocking like this is bad. A better fix would make it work more
asynchronously.

Bug: https://github.com/bagder/curl/issues/278
</pre>
</div>
</content>
</entry>
</feed>
