chiark / gitweb /
Ian Jackson [Sun, 25 Jul 2021 17:04:44 +0000 (18:04 +0100)]
move InstanceConfig to prominently at the top of config.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 25 Jul 2021 12:30:45 +0000 (13:30 +0100)]
wip client etc.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 25 Jul 2021 11:21:43 +0000 (12:21 +0100)]
wip client etc.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 23:18:58 +0000 (00:18 +0100)]
turn on more hyper features
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 23:18:06 +0000 (00:18 +0100)]
wip client (notes)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 19:26:43 +0000 (20:26 +0100)]
config: remove some xxxs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:55:55 +0000 (19:55 +0100)]
config: check key sections
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:55:45 +0000 (19:55 +0100)]
config: fix vnetwork setting in defaults(!)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:49:13 +0000 (19:49 +0100)]
config: better display
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:38:57 +0000 (19:38 +0100)]
config: wip defaulting
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:02:58 +0000 (19:02 +0100)]
config: wip config completion
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:02:50 +0000 (19:02 +0100)]
config: fix some reporting
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:02:42 +0000 (19:02 +0100)]
config: dequote things
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:02:25 +0000 (19:02 +0100)]
config: fix client/server-specific parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:01:41 +0000 (19:01 +0100)]
config: fix some reporting
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:01:31 +0000 (19:01 +0100)]
config: filter out some debug
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 18:01:19 +0000 (19:01 +0100)]
config: fix Vec parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 17:27:27 +0000 (18:27 +0100)]
config parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 17:17:58 +0000 (18:17 +0100)]
identify links
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 16:27:27 +0000 (17:27 +0100)]
identify links before away from trait again?
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 15:35:59 +0000 (16:35 +0100)]
config: Get rid of Default
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 14:32:31 +0000 (15:32 +0100)]
config: Load builtin defaults
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 14:30:47 +0000 (15:30 +0100)]
config: Tidy defaults and move some info to README.config
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 14:28:03 +0000 (15:28 +0100)]
config: Copy defaults from python hippotat
Directly copied from
d5100ea6b9bb1d0d858c5475469f9cc4e3200b3a
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 14:27:56 +0000 (15:27 +0100)]
config: Break out read_file
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 14:23:07 +0000 (15:23 +0100)]
config: Fix error reporting
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 13:57:58 +0000 (14:57 +0100)]
config: Move server_name
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 13:50:47 +0000 (14:50 +0100)]
config: Move lookup_raw
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 13:47:31 +0000 (14:47 +0100)]
config: move LinkEnd
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 13:42:21 +0000 (14:42 +0100)]
config
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 12:52:36 +0000 (13:52 +0100)]
config
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 12:50:40 +0000 (13:50 +0100)]
config
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 12:49:10 +0000 (13:49 +0100)]
config, centralise "value needed"
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 12:44:01 +0000 (13:44 +0100)]
config, wip parsing, secret
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 12:39:23 +0000 (13:39 +0100)]
config, wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 12:32:31 +0000 (13:32 +0100)]
config, wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 12:14:35 +0000 (13:14 +0100)]
config, wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 11:56:54 +0000 (12:56 +0100)]
config, wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 11:51:13 +0000 (12:51 +0100)]
config, wip macro, spans
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 11:39:21 +0000 (12:39 +0100)]
config, wip macro, spans
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 11:34:45 +0000 (12:34 +0100)]
config, wip macro, generete fields with SKLs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 11:32:44 +0000 (12:32 +0100)]
config, wip macro, generetes some code
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 11:15:38 +0000 (12:15 +0100)]
config, wip macro
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 11:14:15 +0000 (12:14 +0100)]
config, wip macro
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 11:10:05 +0000 (12:10 +0100)]
config, wip macro
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 11:04:14 +0000 (12:04 +0100)]
config, wip macro
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 10:14:51 +0000 (11:14 +0100)]
config, break out var section list
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 09:54:13 +0000 (10:54 +0100)]
config, wip before break out var section list
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 01:03:15 +0000 (02:03 +0100)]
macros wip
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 00:55:25 +0000 (01:55 +0100)]
macros wip
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 00:31:57 +0000 (01:31 +0100)]
macros skeleton
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 00:15:04 +0000 (01:15 +0100)]
wip resolve, comment out for macro work, for revert
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 00:14:56 +0000 (01:14 +0100)]
wip resolve
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 00:12:20 +0000 (01:12 +0100)]
wip resolve
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 24 Jul 2021 00:04:56 +0000 (01:04 +0100)]
wip resolve
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 23:57:11 +0000 (00:57 +0100)]
wip resolve
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 23:33:45 +0000 (00:33 +0100)]
wip resolve
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 22:42:20 +0000 (23:42 +0100)]
document and parse limit section headings
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 22:32:52 +0000 (23:32 +0100)]
wip parsing, tolerate hyphens in config
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 22:29:48 +0000 (23:29 +0100)]
wip parsing, record loc
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 22:28:10 +0000 (23:28 +0100)]
wip parsing, record loc
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 22:17:32 +0000 (23:17 +0100)]
wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 22:15:15 +0000 (23:15 +0100)]
wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 22:10:33 +0000 (23:10 +0100)]
wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 21:58:13 +0000 (22:58 +0100)]
wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 21:23:30 +0000 (22:23 +0100)]
wip parsing, shuffle
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 21:12:34 +0000 (22:12 +0100)]
wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 18:44:16 +0000 (19:44 +0100)]
wip parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 18:44:06 +0000 (19:44 +0100)]
README.config: Further restrict server name
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 18:43:49 +0000 (19:43 +0100)]
README.config: fix to match Python implementation
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 11:54:02 +0000 (12:54 +0100)]
wip impl config reading, runs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 11:46:03 +0000 (12:46 +0100)]
wip impl config reading, compiles
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 10:01:31 +0000 (11:01 +0100)]
wip impl config reading
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 23 Jul 2021 10:01:16 +0000 (11:01 +0100)]
README.config: clarifications
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 21 Jul 2021 22:38:43 +0000 (23:38 +0100)]
wip optiona nnd config parser
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 21 Jul 2021 21:49:08 +0000 (22:49 +0100)]
Import docs from Python program
We are aiming to be compatible with this.
Copied these files from
d5100ea6b9bb1d0d858c5475469f9cc4e3200b3a
verbatim. We'll free to hack them here, though.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 21 Jul 2021 21:33:00 +0000 (22:33 +0100)]
dependencies
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 21 Jul 2021 21:23:25 +0000 (22:23 +0100)]
initial commit, cargo init + edits + licence
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 1 Oct 2020 16:51:29 +0000 (17:51 +0100)]
Add missing cpio dependency
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Scott Ellis [Fri, 24 Jan 2020 19:16:53 +0000 (19:16 +0000)]
Merge pull request #1 from mavuramd/master
Implement clean in make
Dilip Reddy Mavuram [Fri, 24 Jan 2020 10:40:55 +0000 (11:40 +0100)]
Fix the clean target
Dilip Reddy Mavuram [Fri, 24 Jan 2020 10:36:56 +0000 (11:36 +0100)]
Implement clean in make
Ian Jackson [Tue, 18 Jun 2019 17:41:27 +0000 (18:41 +0100)]
mtu: Discard over-mtu packets
There is no authentication of packet data. Bad captive portals
etc. can send garbage bad enough to overflow the mtu and cause the
client to crash.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 18 Jun 2019 17:40:29 +0000 (18:40 +0100)]
mtu: Add mtu parameter to SlipStreamDecoder and start_ipif
These don't take a config, so we must pass this as a parameter.
Change all call sites. Not used yet so no functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 18 Jun 2019 17:39:00 +0000 (18:39 +0100)]
config: Make c.mtu always be an integer, not a string
We are going to want to use this other than just to feed to ipif.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Scott Ellis [Fri, 7 Dec 2018 13:54:05 +0000 (08:54 -0500)]
Create LICENSE
Scott Ellis [Fri, 7 Dec 2018 13:50:13 +0000 (08:50 -0500)]
Initial commit
Mark Wooding [Mon, 25 Sep 2017 09:35:05 +0000 (10:35 +0100)]
hippotat: Convert an explicitly configured URL to ASCII.
The conversion is rather annoying, and not especially efficient, but it
does the job. In particular, it works better than leaving the URL as
`str', because that results in a `TypeError' later.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Mark Wooding [Mon, 25 Sep 2017 09:29:01 +0000 (10:29 +0100)]
hippotat: Don't set an explicit `Content-Length'.
It turns out (a) that the existing Twisted machinery already sets a
`Content-Length' header on `POST' submissions, (b) that it's too stupid
to notice that the caller's already set one, and (c) that nginx rejects
`POST' requests with duplicate `Content-Length' headers with `400 Bad
Request', which turns out to be surprisingly hard to debug.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Mark Wooding [Sat, 23 Sep 2017 23:09:51 +0000 (00:09 +0100)]
hippotatlib/__init__.py: Make `vaddr' be an actual address object.
Otherwise `route' won't actually match it correctly.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Ian Jackson [Tue, 22 Aug 2017 16:53:56 +0000 (17:53 +0100)]
ResponseConsumer: tolerate daft exception PotentialDataLoss
The docs for this say:
PotentialDataLoss may be raised by a transfer encoding decoder's
noMoreData method to indicate that it cannot be determined if the
entire response body has been delivered. This only occurs when
making requests to HTTP servers which do not set Content-Length or a
Transfer-Encoding in the response because in this case the end of
the response is indicated by the connection being closed, an event
which may also be due to a transient network problem or other error.
[1] https://twistedmatrix.com/documents/16.6.0/api/twisted.web.http.PotentialDataLoss.html retrieved 22.8.2017
If the origin server (or proxy) chooses to use `Connection: close' and
not to provide a Content-Length, then this exception will always be
raised. hippotatd uses Twisted's http server so does not trigger
this, but there might be an (intercepting) proxy. If so, then
hippotat will simply not work.
Additionally, the statement in the Twisted documentation that
connection close might be due to a "transient problem or other error"
is not correct. TCP is able to distinguish a graceful shutdown from
an ungraceful close, and origin servers ought to arrange that they do
not inappropriately perform a graceful close in error situations.
Of course a badly-implemented proxy might get this wrong, but in that
case a general web client would have no way to detect this situation
if it wants to function at all. So certainly turning this situation
into an exception by default seems wrong.
For hippotat, ignoring the potential problem hippotat just means
potentially processing a truncated response, which might mean lost
packets (which should be retransmitted) or truncated packets (which
will be detected by the IP header length field, and retransmitted).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 22 Aug 2017 16:37:06 +0000 (17:37 +0100)]
ResponseConsumer: break out connectionLostOK into superclass
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 22 Aug 2017 16:32:00 +0000 (17:32 +0100)]
ResponseConsumer: move _resp initialisation to superclass constructor (nfc)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 22 Aug 2017 16:31:46 +0000 (17:31 +0100)]
ResponseConsumer: pass resp to superclass constructor (nfc)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 22 Aug 2017 16:31:08 +0000 (17:31 +0100)]
ResponseConsumer: pass resp to constructor (nfc)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 22 Aug 2017 16:24:48 +0000 (17:24 +0100)]
do not crash on unexpected connectionLost
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Apr 2017 14:34:13 +0000 (15:34 +0100)]
ensure mtu is in the ipif substitution set
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Apr 2017 14:33:33 +0000 (15:33 +0100)]
report success after failure
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Apr 2017 14:33:19 +0000 (15:33 +0100)]
replace plaintext secret transmission with time-limited hmac-based bearer tokens
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Apr 2017 13:50:01 +0000 (14:50 +0100)]
rename "password" to "secret" everywhere
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>