Willem Toorop
8c4ed6294e
Merge branch 'develop' into features/zeroconf-dnssec
2017-09-14 12:27:47 +02:00
Sara Dickinson
f53e5645d9
Improve the comments about the new backoff handling.
...
Remove unnecessary log.
2017-09-13 10:00:56 +01:00
Sara Dickinson
b760a2ced2
Refine the logging levels to match the errors given when backing off, etc.
2017-09-12 15:01:02 +01:00
Sara Dickinson
729af1d159
Allow backed-off upstreams to be re-instated if all our upstreams are unusable (e.g. if the network is down).
...
But limit re-tries for a given netreq to the total number of upstreams before failing. This should (roughly) allow 2 retries per upstream of the correct transport before bailing out. Otherwise we are stuck in a loop retrying forever!
2017-09-12 13:47:56 +01:00
Willem Toorop
8aa46b305d
Merge branch 'develop' into features/zeroconf-dnssec
2017-09-11 11:09:58 +02:00
Sara Dickinson
2e4e3873e4
First pass at fixing problems when connections to servers are lost.
...
Need to reset connection state if connections fail at setup and on read/write if there are no more messages queued.
This means we will back-off servers that fail, so we should think about using a shorter backoff default in stubby
because otherwise temporarily loss of the network connection will mean having to restart stubby.
Also some minor changes to logging.
2017-09-06 11:05:08 +01:00
Willem Toorop
c6d40d9adc
Merge branch 'develop' into features/zeroconf-dnssec
2017-09-04 16:43:37 +02:00
Willem Toorop
5c8765fefe
No variable initializations in for loops
2017-09-01 16:23:26 +02:00
Willem Toorop
2ed2871549
Merge branch 'develop' into features/zeroconf-dnssec
2017-08-30 15:09:39 +02:00
Sara Dickinson
33ff6a95ac
Fix issue on macOX 10.10 where TCP fast open is detected but not implemented causing TCP to fail. The fix allows fallback to regular TCP in this case and is also more robust for cases where connectx() fails for some reason.
2017-08-18 17:59:49 +01:00
Neil Cook
1555c432f5
Fix array bounds bug in upstream_select
2017-07-31 22:51:24 +01:00
Neil Cook
2d7d6581b4
Ensure netreq->fd is set to -1 after close()/closesocket()
...
If netreq->fd is not set to -1, then multiple functions close the
same socket. This causes major issues in multithread code where the
socket must not be closed multiple times as it may be owned by a
different thread.
2017-07-31 22:48:09 +01:00
Willem Toorop
3e6c5775ff
Fetch and equip context with trust-anchors
2017-06-30 10:18:07 +02:00
Willem Toorop
264135e799
Reintroduct timestamps and replace GETDNS_DAEMON: with STUBBY:
2017-06-28 21:09:40 +02:00
Willem Toorop
8235250fb6
Rename SYSTEM_DAEMON in LOG_UPSTREAM_STATS
2017-06-28 20:57:53 +02:00
Willem Toorop
04e554086a
A configurable log function
...
Currently used only for DAEMON_DEBUG
2017-06-27 00:23:22 +02:00
Willem Toorop
9a273cf144
Get rid of superfluous struct member query_id
2017-06-15 21:24:40 +02:00
Willem Toorop
1d87437854
ERROR all outstanding netreqs whith a failed statefull upstream
...
Remove the currently processed netreq first, so it can be retries with another upstream/transport.
We MUST add netreq to the netreqs_by_query_id map even before we write to it, to have a reliable store of taken query ids.
2017-06-15 21:15:00 +02:00
Willem Toorop
d9158e639b
Clear netreq_by_query_id on upstream failure
...
But don't error the specific netreq then!
2017-06-15 17:21:05 +02:00
Willem Toorop
e2be41d352
Don't segfault on IPv6 unavailability
...
Resolved issue #306 ? Review needed!
Shoud upstream_failed cancel all the netreqs?
2017-06-14 15:36:53 +02:00
Willem Toorop
e00100b388
s/recieve/receive/
2017-06-09 11:24:51 +02:00
Willem Toorop
708e520989
Spelling fixes from Andreas Schulze
2017-04-11 23:33:24 +02:00
Willem Toorop
c9b3e3cf7b
Allow cleanup of naked idle timeouts
2017-04-06 20:50:34 +02:00
Willem Toorop
4ceec33d08
Do something about TLS renegotiation.
2017-04-06 11:46:10 +02:00
Willem Toorop
e08d3592a0
Schedule timeout when collecting for dnssec chain
2017-04-06 11:20:08 +02:00
Daniel Kahn Gillmor
9de4d6537b
Implement sensible default padding policy.
...
This commit changes the semantics of tls_query_padding_blocksize()
slightly. Where previously both 0 and 1 meant "no padding", this
commit changes 1 to mean "pad using a sensible policy".
At NDSS 2017's DNS privacy workshop, I presented an empirical study of
DNS padding policies:
https://www.internetsociety.org/events/ndss-symposium/ndss-symposium-2017/dns-privacy-workshop-2017-programme#session3
The slide deck is here:
https://dns.cmrg.net/ndss2017-dprive-empirical-DNS-traffic-size.pdf
The resulting recommendation from the research is that a simple
padding policy is relatively cheap and still protective of metadata
when DNS traffic is encrypted:
* queries should be padded to a multiple of 128 octets
* responses should be padded to a multiple of 468 octets
Since getdns is only currently doing queries over tls, we only have to
implement the first part of this policy :)
2017-03-26 14:37:28 -05:00
wtoorop
148dfabf88
Merge pull request #276 from huitema/develop
...
Fixing the select and poll event loops for Windows
2017-03-26 10:20:48 -05:00
huitema
6f0b08a400
Fixing the select event loop so it does not give up for naked timers in Windows.
...
Making sure the poll event loop works on windows.
Fixing the poll event loop so it does not give up for naked timers in Windows.
2017-03-26 10:07:44 -05:00
Willem Toorop
b7d16e3c89
One more leak
2017-03-25 17:00:02 -05:00
Willem Toorop
3eb6ebf5e4
Fix memory leak
2017-03-25 21:33:30 +01:00
Willem Toorop
5f6e47d091
Only equip with peer cert when transport is TLS
2017-03-25 21:26:05 +01:00
Willem Toorop
a2efd8f6c1
Report peer certificate in call_reporting
2017-03-25 19:36:20 +01:00
Willem Toorop
5d12545391
Bugfix in handling UDP backing off
2017-03-22 10:52:55 +01:00
Willem Toorop
fe446a0d66
Minor fixes
2017-03-20 23:17:44 +01:00
wtoorop
52e3d2e1b0
Merge pull request #265 from saradickinson/feature/new_settings
...
Feature/new settings
2017-03-20 22:25:52 +01:00
Willem Toorop
0891e16147
Pend netreqs when out of filedescriptors
2017-03-20 15:20:17 +01:00
Sara Dickinson
6f7bad5d73
Add new configuration parameters for TLS back off time and connection retries
2017-03-17 17:26:18 +00:00
Sara Dickinson
dd76132a92
Implement round robin for UDP. Not sure this is the best option though. Noticed it results in more timeouts if one resolver isn't responding because it is retried more frequently. Willem - please review.
2017-03-17 17:16:14 +00:00
Sara Dickinson
1d4e3dd790
Update the name of the new option to 'round_robin_upstreams'
2017-03-17 16:53:03 +00:00
Sara Dickinson
6734a00d59
Improve the logging
2017-03-17 11:25:47 +00:00
Sara Dickinson
f0f3c43552
- Add a new mode where for TLS (and infact TCP too) the upstream selection simply cycles over all the upstreams rather than treating them as an ordered list and always using the first open one.
...
- Make IP field in debug output fixed width
- Collect all the one line config options at the top of the stubby.conf file to make it easier to read
2017-03-16 14:51:46 +00:00
Willem Toorop
14c9f3aafc
Track netreqs "in flight"
2017-03-14 17:17:56 +01:00
Willem Toorop
639239f45c
Schedule dnsreqs with absolute timeout/expiry time
2017-03-13 14:20:47 +01:00
Willem Toorop
bbd2fb8cf0
Although safe, a bit scary
2017-02-27 14:30:44 -08:00
Sara Dickinson
ebdf657fd7
Change pins for IPv6 addresses for Sinodun privacy servers!
...
Improve logging of auth failure
2017-02-23 16:48:16 +00:00
Sara Dickinson
ff4ecd5b39
Couple of extra output messages so Stubby users in strict mode know why the authentication failed
2017-02-23 15:38:45 +00:00
Sara Dickinson
1b7aef5a88
Add a new GETDNS_RETURN code for the case where no upstream is considered valid and hence a query cannot even be scheduled. Only applies when using purely stateful transports. This can happen when using Stubby if there are problems with connections to upstreams.
2017-02-23 14:49:17 +00:00
Willem Toorop
ba7dfbeec0
Misplaced event clear in stub.c
2017-02-18 15:56:06 +01:00
Willem Toorop
74b1f77357
Cancel get validation chain getdns_dns_reqs
...
And miscellaneous little other scheduling fixes and optimizations
2017-02-18 13:16:25 +01:00
Willem Toorop
7bf953b2bd
Merge branch 'huitema-develop' into develop
2017-01-18 12:00:33 +01:00