Willem Toorop
d5518bad67
Return which extensions are set
...
(for programs (Stubby) to know whether a context will do native dnssec validation or not)
2017-12-13 11:12:49 +01:00
Willem Toorop
da3f023d8f
set_CApath() and set_CAfile() for alt verify locs
2017-12-12 15:10:37 +01:00
Willem Toorop
96ed06c6a9
Initialize context with given resolv.conf and hosts files
...
- getdns_context_create with set_from_os set will simply call these
functions with the defaults
+ filechg_check is simplified somewhat (reducting memory management)
+ get OpenSSL version version via get_api_information()
2017-12-12 12:24:31 +01:00
Willem Toorop
01197f10ff
Merge branch 'develop' into features/resolvconf
2017-11-29 15:25:50 +01:00
Willem Toorop
025f1cdff3
set_from_os last to initialize ...
...
... because it is initialized with values from context itself!
I.e. context->tls_backoff_time, context->tls_connection_retries and context->log are used to initialize upstreams in upstreams_create() called from set_from_os
2017-11-28 16:04:23 +01:00
Willem Toorop
27847b9a0a
Initialize context->sys_ctxt!
2017-11-23 13:23:00 +01:00
Willem Toorop
c3cdf496e3
Meta queries to upstreams from resolvconf setting
2017-11-23 12:48:48 +01:00
Willem Toorop
c0a3babe0a
Separate sys_ctxt for meta queries
2017-11-23 12:44:40 +01:00
Willem Toorop
ed6c7a6b58
getdns_context_create2 and family that set an ...
...
... alternative resolvconf file
2017-11-22 15:49:30 +01:00
Willem Toorop
a7a6240202
Set default resolvconf and hosts during configure
2017-11-22 15:01:38 +01:00
Willem Toorop
6f20016889
default_trust_anchor_location in api_information
...
instead of trust_anchor_file
2017-11-10 10:35:41 +01:00
Willem Toorop
f8e1ed78b8
Make upstream_reset static (and not shared between .c files)
2017-10-19 12:48:58 +02:00
Sara Dickinson
8886c5317d
Fix 2 bugs:
...
- backoff time was not incrementing correctly
- best authentication information state was not being kept for shutdowns during setup (needed if e.g. hostname authentication failed during handshake).
2017-10-19 10:36:46 +01:00
Willem Toorop
eedd1a1448
Eat incoming garbage on statefull transports
...
Can deal with timed out queries that are answered anyway.
+ reset the upstream on failure always
(since requests are rescheduled for fallback by upstream_failed now anyway)
2017-10-17 16:58:01 +02:00
Jim Hague
dc7daede40
Move Windows/Unix functions into new platform.h.
2017-10-06 12:07:15 +01:00
Jim Hague
a0c313412d
Adjust Unix socket/Winsock handling.
...
Centralise it into util-internal.h, remove duplicate definitions from mdns, and add new pseudo-functions _getdns_closesocket(), _getdns_poll() and _getdns_socketerror(). Convert error values to simple values and convert error checking to use _getdns_socketerror() and the simple values. The simple values can also be used with the result from getsockopt() with SO_ERROR in stub.c.
2017-10-04 17:31:33 +01:00
Willem Toorop
23daf9aac3
Fix TLS authentication
2017-09-28 22:17:36 +02:00
Willem Toorop
c3df13b27c
PATH_MAX can be in sys/limits.h too..
...
and must have a fallback value
2017-09-28 19:45:16 +02:00
Willem Toorop
cefeed2b47
PRIsz usage like PRIu64 etc.
2017-09-27 13:15:12 +02:00
Willem Toorop
114b5785f7
Doxygen documentation for Zero configuration DNSSEC
...
+ rename of getdns_context_(get|set)_trust_anchor_*()
to getdns_context_(get|set)_trust_anchors_*()
2017-09-22 12:25:56 +02:00
Willem Toorop
a3bfee7d0a
Issues from unit tests
2017-09-22 11:12:27 +02:00
Willem Toorop
da2aa634d3
Make appdata_dir configurable +
...
settings via getdns_context_config()
2017-09-21 17:06:29 +02:00
Willem Toorop
1b47ce4d10
Slightly different function prototypes
2017-09-21 12:38:49 +02:00
Willem Toorop
712f62a4c1
Things that came out of compiling on Windows
2017-09-21 11:03:38 +02:00
Willem Toorop
7c229c40cd
Merge branch 'features/zeroconf-dnssec' into release/v1.2.0
2017-09-20 15:45:27 +02:00
Willem Toorop
e6536bb2ef
Typo
2017-09-20 15:18:43 +02:00
Willem Toorop
34d35f9e79
Track updating TA's with root DNSKEY rrset
2017-09-20 10:30:13 +02:00
Willem Toorop
463855d274
Writability test for application data
2017-09-16 18:16:21 +02:00
Willem Toorop
6d29f7fb65
Fix issues accumulated when tpkg didn't work
2017-09-14 15:14:00 +02:00
Willem Toorop
8c4ed6294e
Merge branch 'develop' into features/zeroconf-dnssec
2017-09-14 12:27:47 +02:00
Willem Toorop
f31eb517e0
Lazy TA and time checking
2017-09-14 11:47:02 +02:00
Jim Hague
80b2eacc26
Merge branch 'develop' into features/yaml
2017-09-13 16:55:11 +00:00
Sara Dickinson
f0190e4f03
Add 2 missing parameters from the config output
2017-09-13 13:02:01 +01:00
Willem Toorop
8f3ce9af35
Configurable zero configuration DNSSEC parameters
2017-09-13 14:00:54 +02: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
42945cfc08
Make the backoff time incrementally increase until the upstream starts working again
2017-09-08 17:28:37 +01: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
21f538f60c
Forgot ;
2017-09-01 17:00:34 +02:00
Willem Toorop
bf23968226
Final for loop initializations elimination
2017-09-01 16:50:31 +02:00
Willem Toorop
11138ff678
Also register application set trust anchors
2017-07-01 01:00:40 +02:00
Willem Toorop
59ff5e8178
0 terminate xml files
2017-07-01 00:45:09 +02:00
Willem Toorop
2b20f35e0e
Write fetched trust anchor
2017-07-01 00:05:20 +02:00
Willem Toorop
4a5f03ebbe
Anticipate surplus reads
2017-06-30 21:14:02 +02:00
Willem Toorop
3e6c5775ff
Fetch and equip context with trust-anchors
2017-06-30 10:18:07 +02:00
Willem Toorop
742588dd6f
Merge branch 'develop' into hackathon/zeroconf-dnssec
2017-06-29 11:09:30 +02:00
Willem Toorop
91ccbcd7df
Typo?
2017-06-28 21:45:54 +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
fb267938c3
Start with fetching root-anchors remotely
...
Also lays the foundation for looking up upstreams by name and DANE authentication of upstreams.
2017-06-28 20:35:30 +02:00
Sara Dickinson
55acf6662c
Fix for outputting the address string in the DAEMON log
2017-06-28 17:58:38 +01:00
Willem Toorop
04e554086a
A configurable log function
...
Currently used only for DAEMON_DEBUG
2017-06-27 00:23:22 +02:00
Willem Toorop
7ea3beaa6a
Equip context with xml read trust anchors
2017-06-22 12:27:20 +02:00
Willem Toorop
e496d13777
Start with getting files from user area
2017-06-20 15:38:32 +02:00
Willem Toorop
b0af051809
Initialize in correct order
2017-06-20 12:20:11 +02:00
Willem Toorop
67d787d74a
Merge branch 'develop' into hackathon/zeroconf-dnssec
2017-05-12 15:39:02 +02:00
Willem Toorop
d5dcdac58c
Validate tls_auth_name
...
Deals with issue #270
2017-04-13 11:19:22 +02:00
Hoda Rohani
6c4af3af93
unintiallized array
2017-04-13 09:44:08 +02:00
Willem Toorop
0da79ae77a
Fix to compile with libressl. Thanks phicoh.
2017-04-12 23:05:17 +02:00
Willem Toorop
c9b3e3cf7b
Allow cleanup of naked idle timeouts
2017-04-06 20:50:34 +02:00
Willem Toorop
2d011e3d19
Merge branch 'features/unset_max_udp_payload_sz' into release/1.1.0
2017-04-06 19:40:35 +02:00
Willem Toorop
e08d3592a0
Schedule timeout when collecting for dnssec chain
2017-04-06 11:20:08 +02:00
Willem Toorop
f8c7d8b5d5
Network request submission and callback reporting
2017-04-05 22:43:27 +02:00
Willem Toorop
67baa1d651
getdns_context_unset_edns_maximum_udp_payload_size
2017-04-05 12:37:48 +02:00
Willem Toorop
edecca8b63
smime verification of root-anchors.xml in ~/.getdns
2017-03-27 09:21:29 -05: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
Willem Toorop
6316c558bc
typo
2017-03-25 21:45:08 +01:00
Willem Toorop
15b451d71b
Recommit parts of "Minor fixes in MDNS code to make sure it does work after the recent loop tightening."
2017-03-23 13:09:34 +01:00
Willem Toorop
b2ac3849b7
Fxies for two NetBSD compiler warnings
...
ubkey-pinning.c -o pubkey-pinning.lo
./pubkey-pinning.c: In function '_getdns_verify_pinset_match':
./pubkey-pinning.c:385: warning: 'prev' may be used uninitialized in this function
IX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -c ./context.c -o context.lo
./context.c: In function '_getdns_upstream_shutdown':
./context.c:760: warning: comparison between signed and unsigned
2017-03-22 13:50:11 +01:00
Willem Toorop
5d12545391
Bugfix in handling UDP backing off
2017-03-22 10:52:55 +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
ed0d4d044c
Merge remote-tracking branch 'upstream/develop' into features/mdns-client
2017-03-20 16:42:24 +01:00
Sara Dickinson
68eadedc10
Fix rogue bracket
2017-03-17 17:35:47 +00: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
1d4e3dd790
Update the name of the new option to 'round_robin_upstreams'
2017-03-17 16:53:03 +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
5ea181172a
Reschedule pending netreqs
2017-03-15 15:16:42 +01:00
Willem Toorop
14c9f3aafc
Track netreqs "in flight"
2017-03-14 17:17:56 +01:00
Willem Toorop
f1968d1e2c
Merge branch 'devel/ub-symbol-mapping' into features/mdns-client
2017-03-09 13:09:56 +01:00
Willem Toorop
5b5123a79d
HAVE_PTHREAD instead of HAVE_PTHREADS like unbound
2017-03-09 11:46:15 +01:00
Willem Toorop
de1ab4c8a4
Merge branch 'develop' into huitema-develop
2017-03-06 16:07:12 +01:00
Willem Toorop
8fccd66813
cancel_outstanding_requests by transaction_id
...
to prevent double frees as side effect of getdns_dns_req being canceled by user callbacks.
2017-02-19 09:39:10 +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
7e9956b19e
Call cancel callbacks only when callback exists
2017-02-17 23:39:35 +01:00
Willem Toorop
6ed3d77523
Cancel child validation chain dns_reqs on ...
...
parent dns_req cancelation.
2017-02-17 23:35:50 +01:00
Willem Toorop
91dd991348
Cancel requests without callback
2017-02-16 22:55:15 +01:00
wtoorop
17a5a5db92
Merge pull request #258 from wtoorop/devel/_vfixed_gbuffers
...
A special bit for the snprintf style modus operandi of fixed gldns gbuffer's
2017-02-16 10:51:20 +01:00
Willem Toorop
445470d831
Rename a gldns function
2017-02-16 10:32:17 +01:00
Willem Toorop
7484b8c37b
Initialize default eventloop with custom mem funcs
2017-02-15 10:22:41 +01:00
Willem Toorop
2b9987014d
Special _vfixed gbuffer property
...
For snprintf style buffers which position can go beyond capacity
2017-02-08 13:51:25 +01:00
Christian Huitema
93d6f2b18f
Intermediate commit, after definition of the MDNS context
2017-02-06 18:23:35 -10:00
Christian Huitema
4c71d6239f
Fixing potential bug for comparision function net_req_query_id_cmp on 64 bits architectures.
2017-01-21 14:49:58 -08:00
Christian Huitema
4ccfa2a781
Preparing fix for 64 bit warning in net_req_query_id_cmp
2017-01-21 14:46:38 -08:00
Christian Huitema
83ec9b74e9
Merge branch 'develop' of https://github.com/huitema/getdns into develop
...
Conflicts:
src/jsmn
2017-01-20 19:57:11 -08:00
Christian Huitema
abd0244aba
Fixing a potential bug in the RB tree for netreq_by_id
2017-01-20 19:33:12 -08:00
Willem Toorop
7bf953b2bd
Merge branch 'huitema-develop' into develop
2017-01-18 12:00:33 +01:00
Willem Toorop
9c9c52aacc
Merge branch 'develop' into release/1.1.0-alpha3
2017-01-13 22:08:59 +01:00
Christian Huitema
99fb7100ea
Placing all MDNS code under ifdef HAVE MDNS SUPPORT to minimize risk in main branch.
2016-12-22 20:30:14 -08:00