Duncaen
08b9ed878f
lib/fetch: default port, error checks and authentication support
2016-09-02 17:50:05 +02:00
Duncaen
30ace44394
lib/fetch: add socks5 support
2016-09-01 00:38:55 +02:00
Enno Boland
934a59ecd9
lib/fetch/http.c: send proxy auth on https as connect header.
...
fixes #185
2016-07-08 08:24:14 +02:00
Michael Gehring
46744c412d
lib/fetch/common.c: fix build with -Werror=misleading-indentation
...
Fixes #179
2016-06-03 20:26:52 +02:00
Enno Boland
7c8b1d7aaa
lib/fetch/http.c: HTTP CONNECT needs two \r\ns
2016-04-27 11:04:14 +02:00
Enno Boland
3a5c1f3a71
lib/fetch/http.c: fix EOL at HTTP CONNECT
...
fixes #172 .
2016-04-26 13:59:49 +02:00
Juan RP
adcc6d16a4
lib/fetch/common.c: simplify ssl_init().
2016-04-24 19:20:54 +02:00
Juan RP
eb3d227d61
lib/fetch: check that SSL_CTX_new() does not fail and print its errors ( #170 ).
...
Thanks @ebfe.
2016-04-24 08:42:32 +02:00
Juan RP
b810c25601
lib/fetch/common.c: dup pthread.h inclusion.
2016-04-23 07:04:25 +02:00
Juan RP
e2e8eea490
lib/fetch: also call SSL_load_error_strings() once ( #167 ).
...
Close #168
2016-04-22 11:38:01 +02:00
Juan RP
228a89d51e
Use pthread_once(3) to initialize openssl/libressl just once.
...
Fixes openssl initialization concurrently by multiple threads.
Close #167
2016-04-22 11:32:34 +02:00
Michael Gehring
0f56b68eac
add HAVE_STRNSTR
2016-02-08 15:09:33 +01:00
Juan RP
9e524d831c
fetch/common.c: fix a memleak found by clang-analyzer.
2015-12-21 17:12:14 +01:00
Juan RP
f4cb178f6c
libfetch: use default CA path rather than default CA file.
...
The default CA file set by FreeBSD is only available when using the
LibreSSL provided CA file, and we've decided to use the CA path
by default.
Discussed with @dominikh.
2015-10-28 07:31:26 +01:00
Juan RP
90eb1d9433
libfetch: merge some features from FreeBSD:
...
- Supports HTTP/1.1 308 redirect.
- SSLv[23] HTTPS connections are forbidden by default.
- TLS client certificate validation thru OpenSSL.
- Fixes for user/password encoding, misc.
2015-10-24 07:52:30 +02:00
Juan RP
a7378f70de
fetch: fix regression introduced in 791e683e
.
...
us->size and us->{a,m}time must be set after there's real data.
2015-06-30 21:48:21 +02:00
Juan RP
791e683e01
fetch: handle GET with offset == length.
...
While xbps_fetch_file() creates the .part file and for whatever reason
it did not finish properly to rename the file, it could request the server
to restart the download with offset set to file size, resulting in HTTP 416
return code.
Handle this case by checking if the server returns 416 and then checking
if the returned file size matches the requested offset and just rename
the file.
Thanks to @beefcurtains for the test case.
2015-06-28 04:28:55 +02:00
Juan RP
15893caf0b
fetch: support keep-alive even if the HTTP server returns 304 (Not-Modified).
2015-04-13 12:05:40 +02:00
Juan RP
b513a5e15e
libfetch: misc cleanups due to nbcompat removal.
2014-12-28 03:34:36 +01:00
Juan RP
4ee6f943dd
libfetch: fix races in the cache connection code.
...
Tested by @Gottox.
2014-12-23 10:52:54 +01:00
Juan RP
967acd82b0
lib/fetch/http.c: CID 62725 (NULL pointer dereference)
2014-10-07 11:12:04 +02:00
Juan RP
a6cdd9a698
lib/fetch/common.c: CID 62709 (NULL pointer dereference)
2014-10-07 11:07:24 +02:00
Juan RP
6e7c160195
lib/fetch/file.c: CID 62701 (NULL pointer dereference)
2014-10-07 11:02:12 +02:00
Juan RP
d434b44cfc
lib/fetch/http.c: CID 62698 (NULL pointer dereference)
2014-10-07 10:51:37 +02:00
Juan RP
680abe50e7
lib/fetch/ftp.c: CID 62745 (unusued value)
2014-10-07 08:25:57 +02:00
Juan RP
68ef66eb51
lib/fetch/fetch.c: CID 62784 (uninitialized pointer read)
2014-10-05 13:10:05 +02:00
Juan RP
44f5fb107e
lib/fetch/fetch.c: CID 62738 (unused value)
2014-10-05 12:01:25 +02:00
Juan RP
c3dc804bc0
lib/fetch/http.c: try to fix CID 62683 (resource leak)
2014-10-05 10:32:09 +02:00
Juan RP
25e8fca7b4
lib/fetch/common.c: fix CID 62681 correctly (resource leak).
2014-10-05 10:21:18 +02:00
Juan RP
c1959b3915
lib/fetch/common.c: resource leak (CID 62681)
2014-10-05 09:08:05 +02:00
Juan RP
9d90c75fcc
lib/fetch/http.c: buffer not NUL terminated (CID 62666)
2014-10-05 09:04:16 +02:00
Juan RP
25e8002737
fetch: hardcode HTTPS port and fallback to /etc/services for other unknown ports.
2014-08-25 16:07:47 +02:00
Juan RP
510c84d3bb
libfetch: synchronized with NetBSD's pkgsrc/libfetch, preserving our changes.
2014-06-29 10:29:36 +02:00
Juan RP
be1ef74ba2
libfetch: merge NetBSD's common.c 1.29 too to reduce differences and fix a warning.
2014-06-29 10:04:07 +02:00
Juan RP
7bb36ddaa2
libfetch: fetch_close: make sure conn->ssl is valid before shutting down.
2014-06-28 12:12:03 +02:00
Juan RP
633c20a2e6
libfetch: merge TLS SNI support from NetBSD with some other random changes.
...
Close GH #41
2014-06-28 12:01:00 +02:00
Juan RP
d0a9bbb912
Fix #34 (make libfetch always add "Accept: */*" in the HTTP header).
2014-03-18 14:08:40 +01:00
Juan RP
5eea259c13
Remove the config.h kludge and override vasprintf detection via HAVE_VASPRINTF.
2014-01-20 18:50:33 +01:00
Juan RP
42ba861e21
lib/fetch: ignore -Wformat-nonliteral with clang.
2013-07-02 08:54:02 +02:00
Juan RP
d419f8ac2a
Move fetch.h to lib/fetch.
2013-06-19 11:03:03 +02:00
Juan RP
2f3913f3aa
lib/fetch/common.c: merge 2.34 and backport a patch for select(2) and SSL.
2013-01-13 21:09:15 +01:00
Juan RP
3339d0cd25
libfetch: fix warnings.
2012-07-19 18:00:31 +02:00
Juan RP
c49bd80e20
fetch/ftp.c: fix a cast that caught clang via -Wcast-qual.
2010-10-27 00:17:08 +02:00
Juan RP
bd37736d89
Import and merge libfetch-2.31 from NetBSD pkgsrc.
2010-06-02 23:44:25 +02:00
Juan RP
03e8fa53d9
Merge libfetch-2.30 from NetBSD's pkgsrc.
...
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100124144753-ni487x8m7r05847b
2010-01-24 15:47:53 +01:00
Juan RP
61d2ea8896
Rework Makefile files, fully parallel builds are now possible.
...
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100118201826-q2zsyooicxi7lcfm
2010-01-18 21:18:26 +01:00
Juan RP
e404632f7e
Sync fetch code with libfetch-2.27.
...
joerg@netbsd libfetch-2.27:
The connection sharing didn't handle the case of active transfers
correctly and tried to close the connection in that case (PR 42607).
Correctly check if there is a transfer going on and just leave the
connection alone in that case.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100111192421-5fddbsek3ayi9wm8
2010-01-11 20:24:21 +01:00
Juan RP
ec907d0646
Restructure the Makefiles, INET6 and SSL support in libfetch is now
...
mandatory, build executables as PIE objects.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100106101556-tqzwk80xpp0iz20t
2010-01-06 11:15:56 +01:00
Juan RP
d55391e2e9
Cleaned up the Makefiles, improve README about what's required.
...
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091228151958-ehx17nupq3uckhhg
2009-12-28 16:19:58 +01:00
Juan RP
6e863cbf45
lib/fetch/Makefile: ignore fstack-protector warnings.
...
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091218122139-g4ljwb50cvnr8alj
2009-12-18 13:21:39 +01:00