Patrick Steinhardt
43c55111d9
winhttp: plug several memory leaks
2016-06-07 15:36:13 +02:00
Edward Thomson
375bb2fe60
transport: cast away constness for free
2016-04-21 11:02:31 -04:00
Carlos Martín Nieto
0d72f67f28
proxy: don't specify the protocol in the type
...
We leave this up to the scheme in the url field. The type should only
tell us about whether we want a proxy and whether we want to auto-detect
it.
2016-04-19 13:54:19 +02:00
Carlos Martín Nieto
bf6f7ad297
winhttp: correctly detect HTTPS usage
2016-04-19 13:54:19 +02:00
Carlos Martín Nieto
b373e9a6ba
net: use proxy options struct in the stream config
2016-04-19 13:54:19 +02:00
Carlos Martín Nieto
22e6aa0d4f
proxy: don't require the trailing slash on WinHTTP
...
The path is not something that you use for proxies, so make use of the
new optionality of the path when extracting URL parts.
2016-04-19 13:54:19 +02:00
Carlos Martín Nieto
b117721dd8
proxy: use poxy to test our Windows proxy support
2016-04-19 13:54:19 +02:00
Carlos Martín Nieto
07bd3e57d9
proxy: ask the user for credentials if necessary
2016-04-19 13:54:19 +02:00
Carlos Martín Nieto
d4763c9861
Merge pull request #3574 from chescock/buffer-sideband-pack-data
...
Buffer sideband packet data
2016-03-24 06:56:25 -07:00
Chris Hescock
9028a8a22a
Only buffer if necessary.
2016-03-08 10:43:37 -05:00
Edward Thomson
b7809b8469
Merge pull request #3555 from cbargren/ssh-git-protocols
...
Support for ssh+git and git+ssh protocols
2016-03-08 13:38:55 +00:00
Carlos Martín Nieto
22f3d3aa6b
ssh: initialize libssh2
...
We should have been doing this, but it initializes itself upon first
use, which works as long as nobody's doing concurrent network
operations. Initialize it on our init to make sure it's not getting
initialized concurrently.
2016-03-03 22:26:31 +01:00
Carlos Martín Nieto
a4cba9d453
winhttp: retry authentication
...
If the caller has provided bad authentication, give them another
apportunity to get it right until they give up. This brings WinHTTP in
line with the other transports.
2016-03-03 11:18:03 +01:00
Patrick Steinhardt
003c5e46a8
transports: smart_pkt: fix memory leaks on error paths
2016-02-23 11:50:23 +01:00
Patrick Steinhardt
6e2a37556d
smart_pkt: check buffer with GITERR_CHECK_ALLOC_BUF
2016-02-23 11:50:23 +01:00
Patrick Steinhardt
b0f7512f40
transports: smart_pkt: fix memory leaks
2016-02-18 20:50:33 +01:00
Patrick Steinhardt
704554cdf0
transports: smart: fix memory leak on OOM path
2016-02-18 20:50:33 +01:00
Edward Thomson
9ce0399c4d
winhttp: use an unsigned iterator
2016-02-16 11:50:49 +00:00
Edward Thomson
5c7f2f0188
winhttp: name mangle class / iid on mingw
...
Standard Windows type systems define CLSID_InternetSecurityManager
and IID_IInternetSecurityManager, but MinGW lacks these definitions.
As a result, we must hardcode these definitions ourselves. However,
we should not use a public struct with those names, lest another
library do the same thing and consumers cannot link to both.
2016-01-19 11:13:23 -06:00
Chris Hescock
a7d9d93dad
Buffer sideband packet data
...
The inner packet may be split across multiple sideband packets.
2016-01-12 10:08:58 -05:00
Chris Bargren
4df17045c1
Removing #define for SSH_PREFIX_COUNT and using ARRAY_SIZE instead
...
Also moving var declarations to top of blocks to support bad old compilers
2015-12-28 11:45:00 -07:00
Michał Górny
02fdc2db22
ssh_stream_read(): fix possible *bytes_read < 0 branch
...
Fix the possibility of returning successfully from ssh_stream_read()
with *bytes_read < 0. This would occur if stdout channel read resulted
in 0, and stderr channel read failed afterwards.
2015-12-26 17:17:05 +01:00
Chris Bargren
ed21fd745c
Handle git+ssh:// and ssh+git:// protocols support
2015-12-22 10:38:31 -07:00
Chris Hescock
efd9ab568b
Treat GIT_PASSTHROUGH as though git_cred_acquire_cb isn't set.
2015-12-01 10:54:20 -05:00
Carlos Martín Nieto
1411cb9eb5
winhttp: use a custom user-agent if the user has set it
...
We also keep the "git/1.0" prefix in order to maintain compatibility
with hosters.
2015-11-12 17:18:42 +01:00
Carlos Martín Nieto
94bac76c3f
http: use a custom user-agent if the user has set it
...
We still prefix it with "git/1.0" since that's required in many
situations, but we replace the area which mentions libgit2.
2015-11-12 17:18:42 +01:00
Carlos Martín Nieto
e0be1d605f
git: put NULL check at the top
2015-10-30 18:23:17 +01:00
Carlos Martín Nieto
45d295e08c
git: accept NULL as argument to its stream free
2015-10-30 17:51:50 +01:00
Carlos Martín Nieto
72b7c57093
Merge pull request #3411 from spraints/custom-push-headers
...
Include custom HTTP headers
2015-09-30 09:17:18 +02:00
Matt Burke
d7375662e7
Copy custom_headers insteach of referencing the caller's copy
2015-09-25 10:16:30 -04:00
Matt Burke
d16c1b978f
These can be static
2015-09-24 10:32:29 -04:00
Matt Burke
e60db3c79a
Revise custom header error messages
...
If the header doesn't look like a header (e.g. if it doesn't have a ":"
or if it has newlines), report "custom HTTP header '%s' is malformed".
If the header has the same name as a header already set by libgit2 (e.g.
"Host"), report "HTTP header '%s' is already set by libgit2".
2015-09-24 09:24:10 -04:00
Matt Burke
63cc57232c
Don't null-check
2015-09-24 09:13:05 -04:00
Matt Burke
098f1e6e25
Use an array of forbidden custom headers
2015-09-24 09:09:48 -04:00
Matt Burke
3245896bb7
Add a test for custom header validation
...
Also, *some* custom headers actually are valid.
2015-09-10 13:18:26 -04:00
Matt Burke
66d90e7098
More specific names
2015-09-10 09:14:20 -04:00
Matt Burke
8c876fa91d
Validate custom http headers
2015-09-10 09:11:16 -04:00
Matt Burke
35969c6839
Ignore NULL headers
2015-09-10 08:58:23 -04:00
Carlos Martín Nieto
6c21211c38
Merge pull request #3379 from theseion/additional_libssh2_error_reporting
...
report libssh2 error if list of authentication methods can't be retrieved
2015-09-09 13:59:38 +02:00
Matt Burke
c82c2ba60f
o i
2015-09-08 14:17:59 -04:00
Matt Burke
80ee25434d
Teach winhttp about the extra headers
2015-09-08 14:04:59 -04:00
Matt Burke
276f6aa08d
Hook up the custom_headers to the http transport
2015-09-08 14:02:47 -04:00
Matt Burke
24f5b4e155
Drop extra_http_headers from git_remote
2015-09-08 14:01:57 -04:00
Matt Burke
59d6128e27
Allow the world to set HTTP headers for remotes
2015-09-04 09:36:50 -04:00
Matt Burke
ac9b512789
Pull extra_http_headers from the git_remote
2015-09-04 09:20:45 -04:00
Matt Burke
6af6e69009
Put the extra headers on the connection_data instead
2015-09-04 09:18:32 -04:00
Matt Burke
c3733e5641
Add more headers to HTTP requests
2015-09-04 09:01:30 -04:00
Carlos Martín Nieto
1947592461
Merge pull request #3355 from palmin/palmin/fix-2830
...
Include the 4 characters not recognised as hex-number in parse_len
2015-08-25 00:39:58 +02:00
Carlos Martín Nieto
57af0b928e
cred: add a free function wrapper
2015-08-19 02:23:18 +02:00
Carlos Martín Nieto
47ed7e5acd
transport: provide a way to get the callbacks
...
libgit2 implementations of smart subtransports can simply reach through
the structure, but external implementors cannot.
Add these two functions as a way for the smart subtransports to get the
callbacks as set by the user.
2015-08-19 02:23:18 +02:00