hurl, branch HEADGopher/HTTP/HTTPS file grabber
545a1dd587466312d41d6378bc4df29aef3e5c4c2024-08-04T11:02:53Z2024-08-04T11:29:14Zrefactor read/write logic and merge logic for handling HTTP[s] and Gopher[s]Hiltjo Posthumahiltjo@codemadness.orgcommit 545a1dd587466312d41d6378bc4df29aef3e5c4c
parent 1bd2344632ecac436c229ddbc4d41f9715fff46f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 4 Aug 2024 13:02:53 +0200
refactor read/write logic and merge logic for handling HTTP[s] and Gopher[s]
* Make the interface for the read/write functions for unencrypted and encrypted
TLS connection the same.
* Handle the protocol (HTTP or Gopher) itself in one place.
1bd2344632ecac436c229ddbc4d41f9715fff46f2023-02-05T19:01:43Z2023-02-05T19:01:43Zbump version to 0.8Hiltjo Posthumahiltjo@codemadness.orgcommit 1bd2344632ecac436c229ddbc4d41f9715fff46f
parent 51bb5705c1de70fbe5afc791eab02c124b06e3b9
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 5 Feb 2023 20:01:43 +0100
bump version to 0.8
51bb5705c1de70fbe5afc791eab02c124b06e3b92022-09-13T11:41:45Z2022-09-13T11:41:45Zbump LICENSE yearHiltjo Posthumahiltjo@codemadness.orgcommit 51bb5705c1de70fbe5afc791eab02c124b06e3b9
parent f486580c45c694df83a78bb772c37f79322d5ac2
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Tue, 13 Sep 2022 13:41:45 +0200
bump LICENSE year
f486580c45c694df83a78bb772c37f79322d5ac22022-09-12T21:18:43Z2022-09-13T10:59:21Zvarious improvements(tm)Hiltjo Posthumahiltjo@codemadness.orgcommit f486580c45c694df83a78bb772c37f79322d5ac2
parent 04cee379643425520034c1262e58aa52f428a6a1
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 12 Sep 2022 23:18:43 +0200
various improvements(tm)
- Support setting a CA file. Useful for self-signed certificates.
- Fix type warnings with -Wextra.
- Fix checking the return value of alarm(), it doesn't return -1.
- Refactor protocol handlers and reuse code for setting up a TLS and plain
connection.
- Some code cleanups.
04cee379643425520034c1262e58aa52f428a6a12021-08-11T10:34:54Z2021-08-11T10:34:54Zbump version to 0.7Hiltjo Posthumahiltjo@codemadness.orgcommit 04cee379643425520034c1262e58aa52f428a6a1
parent 266933a3410be837c5dbd4a03b5a618acc0199b4
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Wed, 11 Aug 2021 12:34:54 +0200
bump version to 0.7
Version 0.6 had an issue with downloading binary files due to a new
Content-Length checking feature.
266933a3410be837c5dbd4a03b5a618acc0199b42021-08-11T10:14:46Z2021-08-11T10:14:46Zfix received content-length counting for binary dataHiltjo Posthumahiltjo@codemadness.orgcommit 266933a3410be837c5dbd4a03b5a618acc0199b4
parent 59def2c4c0c35c5a6fd38fe209343232f510d903
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Wed, 11 Aug 2021 12:14:46 +0200
fix received content-length counting for binary data
Reported by adc, thanks!
59def2c4c0c35c5a6fd38fe209343232f510d9032021-08-10T09:30:06Z2021-08-10T09:30:06Zadd GNU_SOURCE for strcasestr and other CPPFLAGSHiltjo Posthumahiltjo@codemadness.orgcommit 59def2c4c0c35c5a6fd38fe209343232f510d903
parent 6466dff70206fabeb89d70c893d88c0a285d1265
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Tue, 10 Aug 2021 11:30:06 +0200
add GNU_SOURCE for strcasestr and other CPPFLAGS
Prevents an error and warnings when compiling on Void Linux glibc.
6466dff70206fabeb89d70c893d88c0a285d12652021-08-10T08:54:11Z2021-08-10T08:54:11Zbump version to 0.6Hiltjo Posthumahiltjo@codemadness.orgcommit 6466dff70206fabeb89d70c893d88c0a285d1265
parent dc438c84e129c666039277f3cd8eb9788dec93e5
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Tue, 10 Aug 2021 10:54:11 +0200
bump version to 0.6
dc438c84e129c666039277f3cd8eb9788dec93e52021-08-09T16:56:59Z2021-08-09T16:56:59Zparse_content_length: be strict and prevent UBHiltjo Posthumahiltjo@codemadness.orgcommit dc438c84e129c666039277f3cd8eb9788dec93e5
parent 85d6ee233ea16724799840840cb19c955cc0842f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 9 Aug 2021 18:56:59 +0200
parse_content_length: be strict and prevent UB
85d6ee233ea16724799840840cb19c955cc0842f2021-08-09T16:54:46Z2021-08-09T16:54:46Zcheck received content length if the Content-Length header is setHiltjo Posthumahiltjo@codemadness.orgcommit 85d6ee233ea16724799840840cb19c955cc0842f
parent a931b2c32a110fc26258afe16cc77d1c7f5d1e44
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 9 Aug 2021 18:54:46 +0200
check received content length if the Content-Length header is set
This prevents corrupted downloads, noticed when my connection was crappy.
a931b2c32a110fc26258afe16cc77d1c7f5d1e442021-03-28T21:03:01Z2021-03-28T21:03:01Zbump version to 0.5Hiltjo Posthumahiltjo@codemadness.orgcommit a931b2c32a110fc26258afe16cc77d1c7f5d1e44
parent 795503097fd443e2cf68b26a734884ff4ed4ea1b
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 28 Mar 2021 23:03:01 +0200
bump version to 0.5
795503097fd443e2cf68b26a734884ff4ed4ea1b2021-03-28T11:55:27Z2021-03-28T11:55:27Zuse the same path logic for gophers:// as gopher://Hiltjo Posthumahiltjo@codemadness.orgcommit 795503097fd443e2cf68b26a734884ff4ed4ea1b
parent e3912666fc4f1516b588d03f6ae389dbc84339b4
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 28 Mar 2021 13:55:27 +0200
use the same path logic for gophers:// as gopher://
A type is optional.
Write path logic in a bit more clear way.
e3912666fc4f1516b588d03f6ae389dbc84339b42021-03-12T21:33:21Z2021-03-12T21:36:13Zremove unused variablesHiltjo Posthumahiltjo@codemadness.orgcommit e3912666fc4f1516b588d03f6ae389dbc84339b4
parent 7b754ee4801e3fada177b6ade9d3144a126da8a5
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 12 Mar 2021 22:33:21 +0100
remove unused variables
7b754ee4801e3fada177b6ade9d3144a126da8a52021-03-12T21:33:04Z2021-03-12T21:36:11Zvalidate value of -t timeout optionHiltjo Posthumahiltjo@codemadness.orgcommit 7b754ee4801e3fada177b6ade9d3144a126da8a5
parent e8e1e1a7d09c614b57fac5070eb5c28822c948ba
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 12 Mar 2021 22:33:04 +0100
validate value of -t timeout option
e8e1e1a7d09c614b57fac5070eb5c28822c948ba2021-03-12T21:22:13Z2021-03-12T21:33:34Zrework URI handlingHiltjo Posthumahiltjo@codemadness.orgcommit e8e1e1a7d09c614b57fac5070eb5c28822c948ba
parent 5a9951db80a5e9b9f2d5ad7ca1c6efebbd00e11f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 12 Mar 2021 22:22:13 +0100
rework URI handling
- Parse the URI in a more correct way following the Gopher URI RFC 4266 and
General URI RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax.
- An URI fragment is not sent to the server anymore.
- A gopher type is now optional for an empty path or for example:
"gopher://codemadness.org".
Also The use of strlcat() is removed and the code should now be more portable.
5a9951db80a5e9b9f2d5ad7ca1c6efebbd00e11f2021-03-12T21:19:39Z2021-03-12T21:19:39ZLICENSE: bump yearHiltjo Posthumahiltjo@codemadness.orgcommit 5a9951db80a5e9b9f2d5ad7ca1c6efebbd00e11f
parent 1dd1863410f987fe2564c431ef1128d701a18343
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 12 Mar 2021 22:19:39 +0100
LICENSE: bump year
1dd1863410f987fe2564c431ef1128d701a183432020-06-28T16:27:16Z2020-06-28T16:27:16Zbump version to 0.4Hiltjo Posthumahiltjo@codemadness.orgcommit 1dd1863410f987fe2564c431ef1128d701a18343
parent d751735baf6904ccc0c81ca9050a2a683f6389f3
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 28 Jun 2020 18:27:16 +0200
bump version to 0.4
d751735baf6904ccc0c81ca9050a2a683f6389f32020-06-14T12:17:52Z2020-06-14T12:17:52ZMakefile: tweaks to make dist targetHiltjo Posthumahiltjo@codemadness.orgcommit d751735baf6904ccc0c81ca9050a2a683f6389f3
parent ee0a010dcee9362e3c6b2d1ce4d33aa1691309b5
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 14 Jun 2020 14:17:52 +0200
Makefile: tweaks to make dist target
- use tar cf, not tar -cf, should be slightly more portable.
- gzip from stdin, saves moving a file.
ee0a010dcee9362e3c6b2d1ce4d33aa1691309b52020-06-14T12:15:37Z2020-06-14T12:15:37Zremove unused includesHiltjo Posthumahiltjo@codemadness.orgcommit ee0a010dcee9362e3c6b2d1ce4d33aa1691309b5
parent c5a5347274765fe9e6a193713653f017ee5d9842
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 14 Jun 2020 14:15:37 +0200
remove unused includes
c5a5347274765fe9e6a193713653f017ee5d98422020-06-14T12:13:07Z2020-06-14T12:14:13Zhurl: change timeout logic and now by default use no time killerHiltjo Posthumahiltjo@codemadness.orgcommit c5a5347274765fe9e6a193713653f017ee5d9842
parent 9546c0f17665658befbc25876245acaa9db4b08f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 14 Jun 2020 14:13:07 +0200
hurl: change timeout logic and now by default use no time killer
... also document in more detail how the time-out logic works.
9546c0f17665658befbc25876245acaa9db4b08f2020-06-07T18:10:46Z2020-06-14T12:08:22ZAdd gopher TLS supportChristoph Lohmann20h@r-36.netcommit 9546c0f17665658befbc25876245acaa9db4b08f
parent e5399e327f21a6033de0decb3c8588a17a63eea8
Author: Christoph Lohmann <20h@r-36.net>
Date: Sun, 7 Jun 2020 20:10:46 +0200
Add gopher TLS support
+ some changes by me (Hiltjo):
- Refactor gopher TLS support and for now use gophers:// instead of a fallback
to plain-text. Refactored because:
- Downgrade attacks are possible by spoofing the first byte.
- Some gopher servers have different buffering of the data, which causes
issues with the TLS handshake. Regular plain-text gopher requests must work
flawlessly without delay.
- There could be log "spam" of TLS handshake for gophers that don't support TLS.
Non-related fix:
- Fix error handling of path truncation.
e5399e327f21a6033de0decb3c8588a17a63eea82020-05-22T19:32:48Z2020-05-22T19:32:48Zadd alarm timer in case connection hangs without triggering a connect timeoutHiltjo Posthumahiltjo@codemadness.orgcommit e5399e327f21a6033de0decb3c8588a17a63eea8
parent e0b2498d20b2082339ac02a098b40a11bdbe3ab7
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 22 May 2020 21:32:48 +0200
add alarm timer in case connection hangs without triggering a connect timeout
Noticed on a (broken?) snapshot version on OpenBSD -current with libtls.
Should make the time-out behaviour more reliable regardless.
e0b2498d20b2082339ac02a098b40a11bdbe3ab72020-05-18T17:15:04Z2020-05-18T17:26:22Zimprove libtls return code handling, check header for truncationHiltjo Posthumahiltjo@codemadness.orgcommit e0b2498d20b2082339ac02a098b40a11bdbe3ab7
parent ea0fa924213696c5be26a10a20044c23ed83de9e
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 18 May 2020 19:15:04 +0200
improve libtls return code handling, check header for truncation
ea0fa924213696c5be26a10a20044c23ed83de9e2020-03-01T11:59:12Z2020-03-01T11:59:12Zbump version to 0.3Hiltjo Posthumahiltjo@codemadness.orgcommit ea0fa924213696c5be26a10a20044c23ed83de9e
parent d2bfb47ec398e41583709aa27696c12d7b6f71ba
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 1 Mar 2020 12:59:12 +0100
bump version to 0.3
and:
- bump LICENSE year.
- remove comment in Makefile.
d2bfb47ec398e41583709aa27696c12d7b6f71ba2019-12-13T16:18:38Z2019-12-13T16:18:38ZREADME: rewordHiltjo Posthumahiltjo@codemadness.orgcommit d2bfb47ec398e41583709aa27696c12d7b6f71ba
parent 096730d53b83cb9d73d3f552edd6eb5c9708b408
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 13 Dec 2019 17:18:38 +0100
README: reword
096730d53b83cb9d73d3f552edd6eb5c9708b4082019-12-13T15:21:44Z2019-12-13T15:21:44Zhurl.1: fix typo of -H option, reword a bitHiltjo Posthumahiltjo@codemadness.orgcommit 096730d53b83cb9d73d3f552edd6eb5c9708b408
parent 99bd976e6b50ef2d2987e71bd095833161a00022
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 13 Dec 2019 16:21:44 +0100
hurl.1: fix typo of -H option, reword a bit
99bd976e6b50ef2d2987e71bd095833161a000222019-12-13T13:50:40Z2019-12-13T13:50:40Zadd -H option to add one or more headersHiltjo Posthumahiltjo@codemadness.orgcommit 99bd976e6b50ef2d2987e71bd095833161a00022
parent 6005eab8a62903cc88275b4c8cd587e9bcd0c3be
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 13 Dec 2019 14:50:40 +0100
add -H option to add one or more headers
This option is back again since it is useful.
Also sort the options and improve the man page a bit.
6005eab8a62903cc88275b4c8cd587e9bcd0c3be2019-11-10T13:55:58Z2019-11-10T13:55:58ZREADME: tiny typoHiltjo Posthumahiltjo@codemadness.orgcommit 6005eab8a62903cc88275b4c8cd587e9bcd0c3be
parent cf199b744e423c554f26f42b5054b469ed142bbd
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 10 Nov 2019 14:55:58 +0100
README: tiny typo
cf199b744e423c554f26f42b5054b469ed142bbd2019-11-10T13:34:43Z2019-11-10T13:34:43Zbump version to 0.2Hiltjo Posthumahiltjo@codemadness.orgcommit cf199b744e423c554f26f42b5054b469ed142bbd
parent 709837bd458957d4a2f538123d45916184f81c3e
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 10 Nov 2019 14:34:43 +0100
bump version to 0.2
document some BSD functions are used.
709837bd458957d4a2f538123d45916184f81c3e2019-11-10T13:33:40Z2019-11-10T13:33:40Zchange a strlcpy call to memcpyHiltjo Posthumahiltjo@codemadness.orgcommit 709837bd458957d4a2f538123d45916184f81c3e
parent e481c652faf5477538afdcc73ab7c11f4391bfd3
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 10 Nov 2019 14:33:40 +0100
change a strlcpy call to memcpy
e481c652faf5477538afdcc73ab7c11f4391bfd32019-11-10T13:30:32Z2019-11-10T13:30:32Zadd C compiler and libc as dependency, POSIX make and mandoc as optional depHiltjo Posthumahiltjo@codemadness.orgcommit e481c652faf5477538afdcc73ab7c11f4391bfd3
parent ff51a96c8791d2865a559634bffbde3d7e0cc41f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 10 Nov 2019 14:30:32 +0100
add C compiler and libc as dependency, POSIX make and mandoc as optional dep
ff51a96c8791d2865a559634bffbde3d7e0cc41f2019-11-10T13:28:31Z2019-11-10T13:28:31ZHTTP/HTTPS: send port in Host header if the port is non-standardHiltjo Posthumahiltjo@codemadness.orgcommit ff51a96c8791d2865a559634bffbde3d7e0cc41f
parent b6b313880e857ecf04f6d41ef54ca452b804d1dd
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 10 Nov 2019 14:28:31 +0100
HTTP/HTTPS: send port in Host header if the port is non-standard
b6b313880e857ecf04f6d41ef54ca452b804d1dd2019-11-10T13:28:09Z2019-11-10T13:28:09Zallow to connect to HTTPS on non-standard (443) portHiltjo Posthumahiltjo@codemadness.orgcommit b6b313880e857ecf04f6d41ef54ca452b804d1dd
parent 65cc503083a2c47fb8a3c04c1ec2374bd6bf00e9
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 10 Nov 2019 14:28:09 +0100
allow to connect to HTTPS on non-standard (443) port
65cc503083a2c47fb8a3c04c1ec2374bd6bf00e92019-11-09T22:43:51Z2019-11-09T22:43:51ZMakefile: use .tar.gz, not .tgz for dist ruleHiltjo Posthumahiltjo@codemadness.orgcommit 65cc503083a2c47fb8a3c04c1ec2374bd6bf00e9
parent e231337fbff684fb0318b9370191490417dd2ce0
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 9 Nov 2019 23:43:51 +0100
Makefile: use .tar.gz, not .tgz for dist rule
e231337fbff684fb0318b9370191490417dd2ce02019-11-09T22:42:39Z2019-11-09T22:42:39Zsort option (-l) alphabeticallyHiltjo Posthumahiltjo@codemadness.orgcommit e231337fbff684fb0318b9370191490417dd2ce0
parent 6a379d19adb10778007c7a19d557585057984b0a
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 9 Nov 2019 23:42:39 +0100
sort option (-l) alphabetically
6a379d19adb10778007c7a19d557585057984b0a2019-11-09T22:36:30Z2019-11-09T22:36:30ZREADME: reword some things, clarify libtls is part of LibreSSLHiltjo Posthumahiltjo@codemadness.orgcommit 6a379d19adb10778007c7a19d557585057984b0a
parent ff79d2f04a7ce25d5765aa1c6f5ff90f1097b9e5
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 9 Nov 2019 23:36:30 +0100
README: reword some things, clarify libtls is part of LibreSSL
ff79d2f04a7ce25d5765aa1c6f5ff90f1097b9e52019-11-09T22:30:10Z2019-11-09T22:30:10ZMakefile: remove TODO, add hurl.vt ascii-art by josuahHiltjo Posthumahiltjo@codemadness.orgcommit ff79d2f04a7ce25d5765aa1c6f5ff90f1097b9e5
parent 6132b104325796373e89a5684344c8798d21c252
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 9 Nov 2019 23:30:10 +0100
Makefile: remove TODO, add hurl.vt ascii-art by josuah
6132b104325796373e89a5684344c8798d21c2522019-11-09T22:30:05Z2019-11-09T22:30:05Zremove TODO markers, make it a commentHiltjo Posthumahiltjo@codemadness.orgcommit 6132b104325796373e89a5684344c8798d21c252
parent 64cc365aabf090ea98df3b4d450fd176fe1ea9ff
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 9 Nov 2019 23:30:05 +0100
remove TODO markers, make it a comment
64cc365aabf090ea98df3b4d450fd176fe1ea9ff2019-11-09T22:11:35Z2019-11-09T22:11:35ZMakefile: remove hardcoded pathsHiltjo Posthumahiltjo@codemadness.orgcommit 64cc365aabf090ea98df3b4d450fd176fe1ea9ff
parent b5f4e541411a8ecb3074b2395a12e4d40f9eff15
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 9 Nov 2019 23:11:35 +0100
Makefile: remove hardcoded paths
b5f4e541411a8ecb3074b2395a12e4d40f9eff152019-11-09T22:10:08Z2019-11-09T22:10:08Zmake legacy ciphers for TLS a run-time option (-l), by default off.Hiltjo Posthumahiltjo@codemadness.orgcommit b5f4e541411a8ecb3074b2395a12e4d40f9eff15
parent a155a0aefef0243b8c383e61352c347e4402af33
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 9 Nov 2019 23:10:08 +0100
make legacy ciphers for TLS a run-time option (-l), by default off.
a155a0aefef0243b8c383e61352c347e4402af332019-11-09T22:07:58Z2019-11-09T22:07:58Zadd art by Josuah :)Hiltjo Posthumahiltjo@codemadness.orgcommit a155a0aefef0243b8c383e61352c347e4402af33
parent 81dc946dd8eddc1e6539babc7941451a8e4c0f2f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 9 Nov 2019 23:07:58 +0100
add art by Josuah :)
81dc946dd8eddc1e6539babc7941451a8e4c0f2f2019-11-09T22:07:21Z2019-11-09T22:07:21Zupdate LICENSE, README and versionHiltjo Posthumahiltjo@codemadness.orgcommit 81dc946dd8eddc1e6539babc7941451a8e4c0f2f
parent cee16e064cbaae88f175fc0fa9236af364ff1bba
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 9 Nov 2019 23:07:21 +0100
update LICENSE, README and version
cee16e064cbaae88f175fc0fa9236af364ff1bba2019-02-17T14:18:58Z2019-02-17T14:18:58Zupdate TODOHiltjo Posthumahiltjo@codemadness.orgcommit cee16e064cbaae88f175fc0fa9236af364ff1bba
parent 86926b7519594e5d1f25ffc08c4cdf229a02d09a
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 17 Feb 2019 15:18:58 +0100
update TODO
86926b7519594e5d1f25ffc08c4cdf229a02d09a2019-02-17T14:17:38Z2019-02-17T14:17:38Zupdate README and hurl.1Hiltjo Posthumahiltjo@codemadness.orgcommit 86926b7519594e5d1f25ffc08c4cdf229a02d09a
parent 045bafeea9fd50dc3c78051a372717c908bc23cc
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 17 Feb 2019 15:17:38 +0100
update README and hurl.1
045bafeea9fd50dc3c78051a372717c908bc23cc2019-02-17T14:11:44Z2019-02-17T14:11:44Zminor style issueHiltjo Posthumahiltjo@codemadness.orgcommit 045bafeea9fd50dc3c78051a372717c908bc23cc
parent e260518fff049888d3fcbc767f34a11a98f895d4
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 17 Feb 2019 15:11:44 +0100
minor style issue
e260518fff049888d3fcbc767f34a11a98f895d42019-02-17T14:08:32Z2019-02-17T14:08:32Zremove custom header support (-H option)Hiltjo Posthumahiltjo@codemadness.orgcommit e260518fff049888d3fcbc767f34a11a98f895d4
parent 23ccf09d87db6c960b6fb6360ae306a91c8b16b5
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 17 Feb 2019 15:08:32 +0100
remove custom header support (-H option)
23ccf09d87db6c960b6fb6360ae306a91c8b16b52019-02-17T14:04:42Z2019-02-17T14:04:42ZMakefile: use system CFLAGS and LDFLAGS, simplify: remove options targetHiltjo Posthumahiltjo@codemadness.orgcommit 23ccf09d87db6c960b6fb6360ae306a91c8b16b5
parent 102c200727ea0e943ea3b793b0e7894bc1078f6c
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 17 Feb 2019 15:04:42 +0100
Makefile: use system CFLAGS and LDFLAGS, simplify: remove options target
102c200727ea0e943ea3b793b0e7894bc1078f6c2019-02-17T14:02:49Z2019-02-17T14:02:49Zadd ifdef to support legacy ciphersHiltjo Posthumahiltjo@codemadness.orgcommit 102c200727ea0e943ea3b793b0e7894bc1078f6c
parent a09813538d85a05d7eb5adf470834eb996391a07
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 17 Feb 2019 15:02:49 +0100
add ifdef to support legacy ciphers
By default this is off. NOTE: OpenBSD ftp has legacy on by default, with
OpenBSD netcat this is off.
Noticed on the feed:
https://nvd.nist.gov/feeds/xml/cve/misc/nvd-rss.xml
other changes:
also change die() to errx(1, ...)
a09813538d85a05d7eb5adf470834eb996391a072018-12-19T17:50:10Z2018-12-19T17:50:10Ztls_write: check return value correctlyHiltjo Posthumahiltjo@codemadness.orgcommit a09813538d85a05d7eb5adf470834eb996391a07
parent 253d3a83fa37c241595e1ccb06332b0d06917443
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Wed, 19 Dec 2018 18:50:10 +0100
tls_write: check return value correctly
253d3a83fa37c241595e1ccb06332b0d069174432018-12-18T17:25:02Z2018-12-18T17:25:02Ztls_read: check return value correctlyHiltjo Posthumahiltjo@codemadness.orgcommit 253d3a83fa37c241595e1ccb06332b0d06917443
parent 07d17b2f66f68e86d0858c662b86d4486bb1e817
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Tue, 18 Dec 2018 18:25:02 +0100
tls_read: check return value correctly
the value can be negative, but not neccesarily -1. Noticed on a timeout of
some site.
07d17b2f66f68e86d0858c662b86d4486bb1e8172018-11-22T17:28:12Z2018-11-22T17:28:12ZPOSIX struct timeval requires <sys/time.h>Hiltjo Posthumahiltjo@codemadness.orgcommit 07d17b2f66f68e86d0858c662b86d4486bb1e817
parent 6a18a28e5de88e5d15df3bb1b1dd2adb4ea422d9
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Thu, 22 Nov 2018 18:28:12 +0100
POSIX struct timeval requires <sys/time.h>
this makes hurl compile for Linux (musl).
Reported by josuah, thanks!
6a18a28e5de88e5d15df3bb1b1dd2adb4ea422d92018-11-20T08:48:28Z2018-11-20T08:48:28Zfix tls_write error handling, typo from 49f3642cHiltjo Posthumahiltjo@codemadness.orgcommit 6a18a28e5de88e5d15df3bb1b1dd2adb4ea422d9
parent 211f680bec370eb261142b8b4eb615b37a4cf576
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Tue, 20 Nov 2018 09:48:28 +0100
fix tls_write error handling, typo from 49f3642c
211f680bec370eb261142b8b4eb615b37a4cf5762018-11-17T10:52:39Z2018-11-17T10:52:39Zimprove usage() formattingHiltjo Posthumahiltjo@codemadness.orgcommit 211f680bec370eb261142b8b4eb615b37a4cf576
parent c197d88840a5544997be532a8caad6875c95abc8
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 17 Nov 2018 11:52:39 +0100
improve usage() formatting
c197d88840a5544997be532a8caad6875c95abc82018-11-17T10:50:05Z2018-11-17T10:50:05Zcheck maxfilesize and timeout more strictly, use signed typeHiltjo Posthumahiltjo@codemadness.orgcommit c197d88840a5544997be532a8caad6875c95abc8
parent 049d30214771c86b673413086eee4c541a01cf5a
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 17 Nov 2018 11:50:05 +0100
check maxfilesize and timeout more strictly, use signed type
049d30214771c86b673413086eee4c541a01cf5a2018-11-16T15:07:00Z2018-11-16T15:07:00Zremove double code, an empty protocol was handled twiceHiltjo Posthumahiltjo@codemadness.orgcommit 049d30214771c86b673413086eee4c541a01cf5a
parent 7f1f2eb85f5716b6a5632bcefc0c4c0cbb9a515e
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 16 Nov 2018 16:07:00 +0100
remove double code, an empty protocol was handled twice
7f1f2eb85f5716b6a5632bcefc0c4c0cbb9a515e2018-11-16T15:05:45Z2018-11-16T15:05:45Zcheck range of max response size and max timeout parametersHiltjo Posthumahiltjo@codemadness.orgcommit 7f1f2eb85f5716b6a5632bcefc0c4c0cbb9a515e
parent 49f3642c3fa644bc376ad67e33a8f686c72c7e06
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 16 Nov 2018 16:05:45 +0100
check range of max response size and max timeout parameters
let setsockopt handle the max range of timeout.
49f3642c3fa644bc376ad67e33a8f686c72c7e062018-11-16T15:05:03Z2018-11-16T15:05:03Zcleanup TLS on tls_write errorHiltjo Posthumahiltjo@codemadness.orgcommit 49f3642c3fa644bc376ad67e33a8f686c72c7e06
parent cbccd2ddfd3cc994f06c966eb88d088e52d92159
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 16 Nov 2018 16:05:03 +0100
cleanup TLS on tls_write error
cbccd2ddfd3cc994f06c966eb88d088e52d921592018-11-16T14:53:31Z2018-11-16T14:53:31Zadd initial man page, fix man path, improve make distHiltjo Posthumahiltjo@codemadness.orgcommit cbccd2ddfd3cc994f06c966eb88d088e52d92159
parent af2736e8ff7e4ec1eae5500d7c6840b0a177cc23
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 16 Nov 2018 15:53:31 +0100
add initial man page, fix man path, improve make dist
af2736e8ff7e4ec1eae5500d7c6840b0a177cc232018-11-16T14:53:17Z2018-11-16T14:53:17Zadd url to usageHiltjo Posthumahiltjo@codemadness.orgcommit af2736e8ff7e4ec1eae5500d7c6840b0a177cc23
parent 3c7441b9985fcdce9555ea2034284420712fafa0
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 16 Nov 2018 15:53:17 +0100
add url to usage
3c7441b9985fcdce9555ea2034284420712fafa02018-11-12T19:34:35Z2018-11-12T19:34:35ZMakefile: some tweaksHiltjo Posthumahiltjo@codemadness.orgcommit 3c7441b9985fcdce9555ea2034284420712fafa0
parent cf1cb9bbf57c7721b94100585fa1ae7fbe113164
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 12 Nov 2018 20:34:35 +0100
Makefile: some tweaks
cf1cb9bbf57c7721b94100585fa1ae7fbe1131642018-11-12T19:25:19Z2018-11-12T19:26:54ZMake the makefile bitreich compliant.Christoph Lohmann20h@r-36.netcommit cf1cb9bbf57c7721b94100585fa1ae7fbe113164
parent 507bbf24b497940404172a65808a0da45df54a55
Author: Christoph Lohmann <20h@r-36.net>
Date: Mon, 12 Nov 2018 20:25:19 +0100
Make the makefile bitreich compliant.
507bbf24b497940404172a65808a0da45df54a552018-11-12T19:22:44Z2018-11-12T19:22:44Zas suspected it was incorrectHiltjo Posthumahiltjo@codemadness.orgcommit 507bbf24b497940404172a65808a0da45df54a55
parent 1e46afb6d205fa41815bbd84b63de163d7b0c341
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 12 Nov 2018 20:22:44 +0100
as suspected it was incorrect
off-by-one because of NUL termination when the buffer is fully filled.
1e46afb6d205fa41815bbd84b63de163d7b0c3412018-11-12T18:55:14Z2018-11-12T18:55:14Zrename bget to hurlHiltjo Posthumahiltjo@codemadness.orgcommit 1e46afb6d205fa41815bbd84b63de163d7b0c341
parent 1f8427dcd93c50f45649604517f5ca7494c480ad
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 12 Nov 2018 19:55:14 +0100
rename bget to hurl
1f8427dcd93c50f45649604517f5ca7494c480ad2018-11-12T18:46:13Z2018-11-12T18:46:13ZREADME: no HTTP/2 support, even HTTP/3 is in the worksHiltjo Posthumahiltjo@codemadness.orgcommit 1f8427dcd93c50f45649604517f5ca7494c480ad
parent 23259e9166d683eb9f3f92dfbb7a3fa71c63b65f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 12 Nov 2018 19:46:13 +0100
README: no HTTP/2 support, even HTTP/3 is in the works
... maybe a week after HTTP/4 will be done...
23259e9166d683eb9f3f92dfbb7a3fa71c63b65f2018-11-12T18:45:57Z2018-11-12T18:45:57Zon HTTP error also print "\r\n\r\n"Hiltjo Posthumahiltjo@codemadness.orgcommit 23259e9166d683eb9f3f92dfbb7a3fa71c63b65f
parent b0ae028e1af0a7f6e3e828390109462cbd2ea6bb
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 12 Nov 2018 19:45:57 +0100
on HTTP error also print "\r\n\r\n"
b0ae028e1af0a7f6e3e828390109462cbd2ea6bb2018-11-12T18:45:01Z2018-11-12T18:45:01Ztls_read/read: buffer is not always filled in one readHiltjo Posthumahiltjo@codemadness.orgcommit b0ae028e1af0a7f6e3e828390109462cbd2ea6bb
parent 2ab1b868fbac189f3c7b8e2d4af14838aad1227f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Mon, 12 Nov 2018 19:45:01 +0100
tls_read/read: buffer is not always filled in one read
+ change a MACRO to sizeof(buf).
2ab1b868fbac189f3c7b8e2d4af14838aad1227f2018-11-11T12:34:20Z2018-11-11T12:34:20Zinitial repoHiltjo Posthumahiltjo@codemadness.orgcommit 2ab1b868fbac189f3c7b8e2d4af14838aad1227f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 11 Nov 2018 13:34:20 +0100
initial repo