Commit Graph

1733 Commits

Author SHA1 Message Date
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
Sara Dickinson 356408955d Update the SPKI pin in the stubby.conf file for the Sinodun/Surfnet servers. 2017-02-23 13:55:43 +00:00
Sara Dickinson 09df4e2d5d Fix spacing error in stubby help output 2017-02-23 13:55:43 +00:00
Willem Toorop 4b6962cd9a Use __FUNC__ instead of function for protability
It is #defined to __FUNCTION__ or to __func__ depending on what configure detected.
2017-02-19 09:55:10 +01:00
Willem Toorop b3a06f1944 A bit more consistency in user_callback usage 2017-02-19 09:47:41 +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 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 a453678094 Debug the call to poll 2017-02-18 10:07:04 +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 990800d9f9 Bugfix poll_eventloop initialization error 2017-02-17 13:16:06 +01:00
Willem Toorop df45a2f1c7 Dependencies 2017-02-16 23:03:31 +01:00
Willem Toorop 91dd991348 Cancel requests without callback 2017-02-16 22:55:15 +01:00
Willem Toorop a6859a08d3 Remove getrlimit from poll_eventloop
No use to check for this limit, because the filedescriptor is already open.
2017-02-16 22:48:16 +01:00
Willem Toorop d20bbde25e Fixed time allocation and free for fd_events 2017-02-16 22:41:37 +01:00
Willem Toorop f6d46689b6 Fixed time allocation and free for to_events 2017-02-16 16:26:41 +01:00
Willem Toorop 2d35993c83 Timeout events in array 2017-02-16 15:22:57 +01:00
Willem Toorop e87e907128 Constants for Edward Curves 2017-02-16 11:01:48 +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
Melinda Shore c72d74a0fa Merge pull request #259 from wtoorop/devel/fixed_eventloop
Devel/fixed eventloop
2017-02-15 10:25:45 -09:00
Willem Toorop e4eddca259 Reference event_info directly 2017-02-15 15:10:11 +01:00
Willem Toorop 7b6b0ff642 No helper copy variables 2017-02-15 14:57:30 +01:00
Willem Toorop c805d40585 Clean in place executed unit tests 2017-02-15 14:04:34 +01:00
Willem Toorop b2fe9673de Fix realloc pfds set error + callback order error 2017-02-15 13:08:47 +01:00
Willem Toorop 04f6a2b13b Fixed dependencies 2017-02-15 12:47:55 +01:00
Willem Toorop 840ba8c85d Reference fixes jsmn 2017-02-15 12:46:48 +01:00
Willem Toorop b7c2e53a82 Off by one problem? 2017-02-15 12:21:29 +01:00
Willem Toorop 3e8822e0e2 Fix uninitialized data error in valgrind check 2017-02-15 11:43:07 +01:00
Willem Toorop c936f0c51d Other allocs and frees with custom mem funcs too 2017-02-15 10:56:19 +01:00
Willem Toorop 7484b8c37b Initialize default eventloop with custom mem funcs 2017-02-15 10:22:41 +01:00
Christian Huitema 6d3e0c7ca2 Rewrote the continuous query organization to use the LRU cache instead of an RB tree. 2017-02-14 11:30:29 -10:00
Willem Toorop 549de0de60 Use of custom mem funcs by uthash 2017-02-14 13:41:58 +01:00
Christian Huitema 1587e2f8f5 Code to manage the MDNS cache using LRUHASH 2017-02-13 18:28:46 -10:00
Willem Toorop 30e1683d2f Deal with windows vsnprintf in config.h 2017-02-13 12:32:10 +01:00
Willem Toorop 60443fb7fd Choice of poll or select based default event loop 2017-02-13 11:56:25 +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 31eee9c7d1 Intermediate commit of context.h, mdns.[ch] 2017-01-20 19:44:05 -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
Neil Cook dad4aaf6d8 correctly allocate and free memory for eventloop hashes 2017-01-18 15:31:01 +00:00
Neil Cook fd3e0c01f7 call default_time_cb with -1 instead of index 2017-01-18 15:12:56 +00:00
Willem Toorop f1c44dc15c Merge branch 'develop' into devel/1.1.0 2017-01-18 14:40:32 +01:00
Willem Toorop 17da80a828 Feed poll with millisecond timeout 2017-01-18 14:29:32 +01:00
Willem Toorop 45ee18e285 Merge branch 'fixed_eventloop' of https://github.com/neilcook/getdns into neilcook-fixed_eventloop 2017-01-18 12:05:32 +01:00
Willem Toorop 7bf953b2bd Merge branch 'huitema-develop' into develop 2017-01-18 12:00:33 +01:00
Willem Toorop f4cd8f6b47 Fix constants 2017-01-13 22:38:23 +01:00
Willem Toorop 9c9c52aacc Merge branch 'develop' into release/1.1.0-alpha3 2017-01-13 22:08:59 +01:00
Willem Toorop 9320364053 Fix two more sign-compare warnings 2017-01-13 21:28:07 +01:00
Willem Toorop 155ceede4c Unuser variables with --without-libidn 2017-01-13 20:49:26 +01:00
Willem Toorop e80d3340c6 Coverage linking + missing constant in str2int 2017-01-13 20:43:04 +01:00
Willem Toorop cd199def68 Cookies and roadblock avoidance on by default
per RFC7873 and RFC8027
2017-01-13 19:45:54 +01:00
Willem Toorop 25849645d4 Don't crash with missing trust-anchors 2017-01-13 13:42:16 +01:00
Willem Toorop bb0ad001e7 Fix non existant domain names 2017-01-13 12:59:16 +01:00
Willem Toorop 9a3b01ed62 DSA support with OpenSSL 1.1.0 2017-01-13 12:48:15 +01:00
Christian Huitema 53d73d2f90 Implementing the ARC4_LOCK/UNLOCK functions for Windows. 2017-01-13 12:24:46 +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
Christian Huitema 1d24c90768 Fixing bad declaration in mdns.h 2016-12-22 20:07:31 -08:00
Christian Huitema 2e46a4b136 Adding missing directives for mdns.c, .o, .lo in make file. 2016-12-22 19:37:49 -08:00
Christian Huitema f1b8b25afa Implementation of basic MDNS support 2016-12-22 15:51:47 -08:00
Neil Cook 7ebf3924b5 Copy event pointer out of event hash table before callbacks, because it might be deleted 2016-12-16 10:36:21 +00:00
Neil Cook 5e26137eda Fix default_eventloop_run OR instead of AND and hash table iteration safety 2016-12-15 13:40:40 +00:00
Willem Toorop 9b715d4743 Suppress compile warnings 2016-12-15 09:53:49 +01:00
Willem Toorop da527358c0 Merge branch 'develop' into devel/fixed_eventloop 2016-12-15 09:45:16 +01:00
wtoorop d3b7a30651 Merge pull request #218 from neilcook/openssl_init
call SSL_library_init() just once and lock with mutexes
2016-12-15 08:29:58 +01:00
Neil Cook 0d39563978 Consisten use of TIMEOUT_FOREVER 2016-12-14 17:50:39 +00:00
Neil Cook c1d5ae9a25 set event id in add_event rather than calling function 2016-12-14 17:04:09 +00:00
Neil Cook e9e6ff013b Fix travis compiler warnings/errors 2016-12-14 16:49:24 +00:00
Neil Cook 326b6bb410 remove redundant debugging 2016-12-14 16:10:44 +00:00
Neil Cook 5cc4028d63 cleanup poll.h include for non-windows 2016-12-14 15:54:10 +00:00
Neil Cook d3b097fffe Rewrite default_eventloop to use hash tables instead of arrays 2016-12-14 15:52:44 +00:00
Neil Cook a9386e621a max_fds and max_timeouts part of default eventloop structure 2016-12-14 15:50:55 +00:00
Neil Cook 8b4c90eaf4 move default eventloop from select to poll, make max fds dependent on value from getrlimit not FD_SETSIZE 2016-12-14 15:50:55 +00:00
Christian Huitema e01c85ef2f Implementing the ARC4_LOCK/UNLOCK functions for Windows. 2016-12-12 12:25:10 -08:00
Willem Toorop 80219a4195 Merge branch 'bugfix/replace__FUNCTION__' into bugfix/1.1.0-alpha3/replace__FUNCTION__ 2016-12-12 14:20:31 +01:00
Willem Toorop 5f6b93f7f2 Use __func__ var when supported
And let debugging messages compile with -Wpedantic -Werror too
2016-12-12 13:55:10 +01:00
Willem Toorop 600036da73 Merge branch 'develop' into release/1.1.0-alpha3 2016-12-12 12:08:49 +01:00
Sara Dickinson 83a0b944b5 Fix another stupid error.... 2016-12-11 17:10:44 +00:00
Sara Dickinson d584c6e3f5 Clean more compile warnings. 2016-12-11 16:58:18 +00:00
Sara Dickinson cfc7d18c85 Ug. Fix stupid mistake with string array. 2016-12-11 16:57:52 +00:00
Christian Huitema b91e13b13b Fixing VS studio analysis issues in Get DNS code. 2016-12-10 16:03:17 -08:00
Sara Dickinson ef12b0e764 Fix some compiler warnings on OS X 2016-12-09 17:15:28 +00:00
Sara Dickinson 5d8894495a Remove unnecessary test 2016-12-09 17:03:41 +00:00
Sara Dickinson 7567869f2c Improve transport tests by using the calll_reporting output to check the transport and authentication status
Add cases for self-signed certs.
2016-12-09 17:03:41 +00:00
Sara Dickinson 7b58dc25a6 - Fix bug where a self signed cert + only a pinset would not authenticate
- Add OARC servers with pinset only to stubby.conf
- Move Authentication strings to types_internal for use in call_debugging
- Add connection counts to call_debugging
-
2016-12-09 17:03:41 +00:00
Willem Toorop 1264099be7 Pedantic warnings and XTRA_CFLAGS for tools too 2016-12-09 14:02:27 +01:00
Willem Toorop 8b454afb80 dependencies 2016-12-09 13:57:42 +01:00
Willem Toorop 07c14dc1cc Merge branch 'develop' into release/1.1.0-alpha3 2016-12-09 13:57:37 +01:00
Willem Toorop bb9ae2dfa1 Fix use of potentially uninitialized variable next 2016-12-09 13:53:22 +01:00
Willem Toorop 9fb11368a5 dependencies 2016-12-09 13:52:00 +01:00
Willem Toorop 37cced78fc Merge branch 'develop' into release/1.1.0-alpha3 2016-12-09 13:27:55 +01:00
Willem Toorop 4345905a81 Address things that came out of VS static analysis
Except for the stack usage cases
2016-12-09 12:57:47 +01:00
Willem Toorop 3428412629 Some more minor merge fixes 2016-12-09 12:13:36 +01:00
Willem Toorop 5cc67ff554 Merge branch 'develop' into merge-develops 2016-12-09 12:05:42 +01:00
Willem Toorop 1a26b884ee Check for -W* support before use 2016-12-09 00:16:24 +01:00
Willem Toorop 86341fea08 -Wpedantic -Werror via XTRA_CFLAGS and make 2016-12-08 23:41:49 +01:00
Willem Toorop 6e9b1b5f53 One more unused when no TCP_FASTOPEN 2016-12-08 23:25:53 +01:00
Willem Toorop 26db6202a5 -Werror fixes for clang 2016-12-08 23:15:56 +01:00
Willem Toorop 8de9976a2b Some more unused variables in stub only mode 2016-12-08 22:56:02 +01:00
Willem Toorop eeca7b32b1 One more unused variable 2016-12-08 22:46:53 +01:00
Willem Toorop 55cdd8fed3 Fix pedantic warnings in unit tests 2016-12-08 22:33:10 +01:00
Christian Huitema 26eaf255c5 Fixing the bulk of the compilation warnings in the GetDNS code 2016-12-08 12:37:35 -08:00
Willem Toorop 2281accd38 Extra fixes for pedantic warnings 2016-12-08 16:36:23 +01:00
Willem Toorop 9d48c47980 Merge branch 'develop' into release/1.1.0-alpha3 2016-12-08 16:31:47 +01:00
Willem Toorop fbb4eb717a Unit tests fail on pedantic warnings 2016-12-08 16:28:21 +01:00
Willem Toorop 39f854d2b3 Fixes for pedantic warnings 2016-12-08 16:27:43 +01:00
Willem Toorop 8f75e4ed8d Few more things to work with CFLAGS=-Wextra 2016-12-08 15:17:27 +01:00
Willem Toorop f31b2fa233 Merge branch 'develop' into release/1.1.0-alpha3 2016-12-08 15:06:25 +01:00
Willem Toorop 743e04bfd6 Replace ((uint64_t)-1) with TIMEOUT_FOREVER 2016-12-08 14:44:24 +01:00
Willem Toorop 3629d558cd getdns_query fixes for CFLAGS=-Wextra 2016-12-08 14:40:06 +01:00
Willem Toorop a5748be5fb Unit test fixes for CFLAGS=-Wextra 2016-12-08 14:39:38 +01:00
Willem Toorop 473da8966b Library fixed for CFLAGS=-Wextra 2016-12-08 14:05:58 +01:00
Willem Toorop 21303fa40a Sync gldns with unbound's sldns 2016-12-08 11:07:37 +01:00
Christian Huitema 50b064a292 Fixing potential clipping of idle_timeout value in call to upstream_reschedule_events 2016-12-07 15:40:24 -08:00
huitema 702fe1f5d9 Update default_eventloop.c 2016-12-06 12:32:44 -08:00
Sara Dickinson 691d32cf80 Improve README entry on stubby. Add a link to dnsprivacy.org (Willem - is this set up yet?)
Add sample Strict config file into the source with a pointer from the README. Not sure about installing this yet as opportunistic seems a better default...?
2016-12-06 15:59:40 +00:00
Sara Dickinson 471e8725e2 Change the default profile for Stubby to use TLS then UDP/TCP
- this will only try over TLS a few times before backing off to clear text
  - but makes the default  for Stubby opportunistic privacy (Willem - WDYT?)
Also use padding and ECS privacy by default for Stubby.
More debugging to help users when there are failures or fallbacks.
Also remove a few help options from Stubby that don't apply
Add -v to output version on getdns_query/stubby
2016-12-06 14:44:40 +00:00
Christian Huitema dee33f53b6 Reminder of changes required by the Windows port. This solves the issues 228, 229, 230 and 232. 2016-12-05 11:38:59 -08:00
Sara Dickinson 576e38977f More logging changes to stubby to correctly report profile, transport and stats for TCP and UDP when used as fallbacks.
Reporting UDP stats every 100 responses or timeouts to give user some indication UDP is being used.
2016-12-05 18:05:04 +00:00
Christian Huitema 0d13ae6d72 Fixing several issues in function set_os_defaults_windows that prevent working on Windows. 2016-12-04 17:26:38 -08:00
Sara Dickinson 1ba2e5bf4d Add stubby to readme.
Add transport to stubby log.
2016-11-20 11:19:08 +00:00
Sara Dickinson b0e5f87984 Minor logging updates 2016-11-13 13:14:03 +09:00
Daniel Kahn Gillmor 73165b235f Allow public key pins higher in the chain than the EE cert
This resolves an old TODO; we'd never tested pinning any certs higher
than the end-entity cert before.
2016-11-12 16:53:21 +09:00
Willem Toorop c2bcd1ca72 Line up OPT rdata names with add_opt_parameters 2016-11-12 14:31:27 +09:00
Sara Dickinson 1593129b85 Fix mishandling of auth state for name mismatch 2016-11-09 16:41:40 +00:00
Neil Cook b857e3d7f1 call SSL_library_init() just once and lock with mutexes 2016-11-08 11:51:27 +00:00
Willem Toorop 57e2a18f94 Minor fixes to make it compile on Windows again 2016-11-03 15:35:53 +01:00
Willem Toorop 4bf93de12b More conventional function prototypes for servers 2016-11-02 13:40:02 +01:00
Willem Toorop bc9ebd5ae2 RFC3986 IPv6 address/port parsing for str2dict
Resolves issue #215, but does not deal with RFC3986 formatted IPv6 addresses in config files yet.
2016-10-31 13:47:22 +01:00
Willem Toorop 6e5b62c555 Allow conventional IPv6 address/port parsing
from getdns_query
2016-10-31 13:36:05 +01:00
Willem Toorop 6fe4b5a6d9 Merge remote-tracking branch 'upstream/develop' into develop 2016-10-31 11:24:06 +01:00
Willem Toorop c0f20a9023 Merge branch 'develop' into release/1.1.0-alpha3 2016-10-31 11:12:26 +01:00
Willem Toorop 72788cb172 OpenSSL 1.1.0 version of CRYPTO_w_lock in pinning
Thanks volkommenheit
2016-10-31 11:04:36 +01:00
Willem Toorop bb3d741f7a OpenSSL 1.1 support 2016-10-31 10:24:07 +01:00
Willem Toorop 2b682bc3a9 Merge remote-tracking branch 'upstream/develop' into release/1.1.0-alpha3 2016-10-27 16:17:44 +02:00
wtoorop 45643b6da5 Merge pull request #213 from neilcook/arc4locks
pthread-based locking for arc4random
2016-10-27 15:55:38 +02:00
Neil Cook 393b24fe89 pthread-based locking for arc4random 2016-10-26 14:32:35 +00:00
Willem Toorop 4ea4f68467 Get_suffix, no '\0' in returned strings
Resolves issue #203
2016-10-26 15:29:07 +02:00
Sara Dickinson a0ae9130cc Fix issue with session re-use making authentication appear to fail 2016-10-21 14:18:24 +01:00
Willem Toorop bc70b29416 Stubby release 2016-10-19 07:30:31 -05:00
Willem Toorop 732844eeaa Correct default config 2016-10-16 09:46:02 -05:00
Willem Toorop 05fb6edfcb Linking to allow running stubby from src/tools 2016-10-16 05:39:04 -05:00
Willem Toorop 838375fe66 Run stubby in foreground by default 2016-10-16 05:32:05 -05:00
Willem Toorop ec04dc21ee Stubby defaults in help text 2016-10-14 10:14:38 -05:00
Willem Toorop 3d356bd35e Stubby runs in background by default 2016-10-14 09:51:17 -05:00
Willem Toorop 58b5ead67a Make stubby act as stubby 2016-10-14 08:24:25 -05:00
Willem Toorop 3f965e68c0 Stubby is getdns_query with a different name 2016-10-14 12:02:23 +02:00
Willem Toorop 47e718eeb8 OpenSSL 1.1 support 2016-10-13 23:04:50 +02:00
Willem Toorop c84ff93e4f Anticipate Mac OS X glibtoolize 2016-08-25 12:40:02 +02:00
Sara Dickinson f156f2f24a Had to change some preprocessor checks to get all the options to compile 2016-08-08 17:07:46 +01:00
Sara Dickinson 6f9bfffe9f Catch another error path for failed connections 2016-08-08 16:12:33 +01:00
Sara Dickinson fdbefa17ec Add timer for back off on upstream (use 1 hr). Reset as new upstream when re-instated. 2016-08-05 17:25:27 +01:00
Sara Dickinson a1461d51ec Add abbreviated logging mode for daemon 2016-08-05 14:10:55 +01:00
Sara Dickinson 0432fe37c4 Tinker with upstream keepalive 2016-08-04 16:10:23 +01:00
Willem Toorop a7e5f65f65 Merge branch 'develop' into release/v1.1.0a1 2016-07-21 11:35:03 +02:00
Jerry Lundström 8c54142790 Use type and not struct 2016-07-17 11:44:34 +02:00
Willem Toorop 903605570b Doxygen documentation of the new prototypes 2016-07-14 17:57:17 +02:00
Willem Toorop 94292f5bc7 Merge branch 'release/v1.0.0b2' into release/v1.1.0a1 2016-07-14 16:22:53 +02:00
Willem Toorop f685a0c8b8 Unsigned expression >= 0 is always true 2016-07-14 16:18:50 +02:00
Willem Toorop 0736453bed Doxygen fixes 2016-07-14 15:53:53 +02:00
Willem Toorop 255cc9ab36 First bit of set_from_os loads OS defaults 2016-07-14 15:42:49 +02:00
Willem Toorop e857f680ce Dependencies (but this time good) 2016-07-14 15:05:46 +02:00
Willem Toorop 0340b74604 Dependencies 2016-07-14 15:04:19 +02:00
Willem Toorop 8b31ad5df1 Logic error 2016-07-14 15:03:47 +02:00
Willem Toorop 80ea8637d1 Recover src/tools 2016-07-14 14:50:26 +02:00
Willem Toorop ebba1d4cce Merge branch 'release/v1.0.0b2' into release/v1.1.0a1 2016-07-14 14:45:16 +02:00
Willem Toorop 99d8672bee Fix few possible NULL dereference issues 2016-07-14 14:24:32 +02:00
Willem Toorop 689fc02fd2 Allow errors while setting up listeners 2016-07-14 14:14:15 +02:00
Willem Toorop bae426a0e2 Unread assignment 2016-07-14 14:09:08 +02:00
Willem Toorop 906a8d68c2 fix for converting empty lists and dicts 2016-07-14 14:06:00 +02:00
Willem Toorop ea69d31dba move getdns_query to src/tools 2016-07-14 13:54:58 +02:00
Willem Toorop af70671641 parentheses around comparison in operand of ‘&’ 2016-07-14 13:46:12 +02:00
Willem Toorop b4e7a82e11 EDNS0 padding is RFC 2016-07-14 13:40:49 +02:00
Willem Toorop 74b57d4679 Resync utils with unbound source 2016-07-14 13:33:11 +02:00
Willem Toorop 470fb7a5fb !0 is not necessarily 1 2016-07-14 11:42:21 +02:00
Willem Toorop fed4818c27 Fix idle_timeout without keepalive for TLS 2016-07-14 11:03:33 +02:00
wtoorop 79f92cedd2 Merge pull request #197 from saradickinson/feature/upstream_handling
Feature/upstream handling
2016-07-14 10:58:32 +02:00
Sara Dickinson 6c73144b50 Minor logging updates 2016-07-13 17:39:26 +01:00
Willem Toorop 504cb8a783 Merge branch 'develop' into release/v1.1.0a1 2016-07-13 15:55:17 +02:00
Willem Toorop b26d69384f Merge branch 'develop' into release/v1.0.0b2 2016-07-13 15:52:14 +02:00
Willem Toorop 31f1375b8e Merge branch 'release/v1.0.0b2' into release/v1.1.0a1 2016-07-13 15:30:28 +02:00
Willem Toorop 9f7ceeded3 Don't SSL_library_init() on every context create
It will not be called when the second bit from the set_from_os parameter is set.
This deals with issue #117
2016-07-13 15:28:08 +02:00
Willem Toorop be97bd1d71 Mv getdns_context_set_listen_addresses in the lib
Also, check for request_id +
cancel a reply by specifying NULL as response to getdns_reply
2016-07-13 14:50:44 +02:00
Willem Toorop 69b607176c Move getdns_context_config into the library 2016-07-11 20:42:50 +02:00
Willem Toorop 7cbbad67aa Merge branch 'release/v1.0.0b2' into release/v1.1.0a1 2016-07-11 16:06:52 +02:00
Willem Toorop a523838cc6 set_listen_addresses does not change listen_list 2016-07-11 16:05:05 +02:00
Willem Toorop b98d91f745 Daemon edns0 handling bugfix 2016-07-11 15:43:42 +02:00
Willem Toorop 7e614bc534 More conventional server DNSSEC behaviour
+ documentation of behaviour
2016-07-11 15:13:40 +02:00
Willem Toorop d0f01b6bc4 Default values for extensions in context 2016-07-07 14:47:38 +02:00
Sara Dickinson 105d7acfa9 Just re-read RFC7858 and realised that TLS does support idle connections without keepalive. It is just TCP that doesn't. 2016-07-04 17:02:18 +01:00
Sara Dickinson 5e1575dabc Correct the logic for upstream back off 2016-07-04 17:02:18 +01:00
Sara Dickinson 8fa84c836a Initial re-work of stateful transport selection and timeout/error handling. Also update transport test to avoid timeout. 2016-07-04 17:02:14 +01:00
Willem Toorop e0eb39a295 Move str2getdns type functions in the library 2016-07-04 16:57:27 +02:00
Willem Toorop cc104320e8 Get RR types and classes from constant names 2016-07-04 15:54:05 +02:00
Willem Toorop b99b7511ec Generalize str2ipaddr_dict conversion 2016-07-04 12:58:23 +02:00
wtoorop a55c8ab377 Merge pull request #194 from saradickinson/documentation/doxygen_updates2
Make just the src/getdns files part of doxygen by default.
2016-07-04 12:47:57 +02:00
wtoorop 4e6e6e314a Merge pull request #193 from saradickinson/bugfix/transport_test2
Bugfix/transport test2
2016-07-04 12:43:26 +02:00
Melinda Shore 0e36a3b852 Merge pull request #192 from wtoorop/bugfix/transport_test
Bugfix/transport test
2016-07-01 16:26:26 -08:00
Sara Dickinson ec09d6b8a4 Make just the src/getdns files part of doxygen by default.
Add documentation to cover getdns_extra.h. Re-org of functions to align better with getdns.h Also some work on the README.
2016-07-01 17:53:45 +01:00
Sara Dickinson 03a994af50 Fix recursing_6 test 2016-06-30 15:10:41 +01:00
Willem Toorop 080b338a8f Explain own root server necessity in transport_7
Also query for the consistently large record and not the DNSKEY (which is sometimes large and sometimes not)
2016-06-29 12:32:51 +02:00
Melinda Shore 8318766593 Merge pull request #191 from wtoorop/devel/decompose-getdns_query
Devel/decompose getdns query
2016-06-28 16:36:13 -08:00
Willem Toorop cfaf15f54c When reply comes before request schedule ...
... transaction_id will not be set.
Is this problematic?
2016-06-28 16:53:26 +02:00
Willem Toorop dd03a29b00 Small memory leak fix in set_listen_addresses 2016-06-28 16:34:17 +02:00
Willem Toorop ed9912fae2 On the fly listen_addresses with getdns_query 2016-06-28 15:48:31 +02:00
Willem Toorop ce415a6e2a setup server debugging messages 2016-06-28 15:06:02 +02:00
Willem Toorop 62750b505f Own root server with TCP only full recursion test 2016-06-28 14:39:51 +02:00
wtoorop 61bcf0e5b7 Merge pull request #186 from saradickinson/documentation/doxygen_updates
Initial pass at updating Doxygen modules for getdns.h. Also add info …
2016-06-28 12:05:54 +02:00
wtoorop 66b7bb2ca1 Merge pull request #190 from saradickinson/bugfix/transport_test
Split the recursive transport test 6 into 3 and add a shorter timeout…
2016-06-28 11:54:58 +02:00
Willem Toorop dc7bc4d116 Add and remove listen addresses
Following the algorithm suggested by Shane Kerr:

   # figure out the new addresses to add and the old ones to remove
   to_add, to_remove = compare_addresses(current_set, new_set)

       # add our new addresses
       added = []
          for address in to_add:
                  if set_up_address(address) == SUCCESS:
                          added.add(address)
            else:
                    # if we have an error, remove any of those addresses
                    # that we have added so far and return error
                    for address in added:
                                tear_down_address(address)
                return BIG_FAT_FAILURE

               # git rid of our old addresses
               for address in to_remove:
                      tear_down_address(address)
           cancel_current_io(address)

       return SUCCESS
2016-06-28 11:03:25 +02:00
Sara Dickinson b277aef435 Remove build warnings 2016-06-27 11:53:39 +01:00
Sara Dickinson 75b0fef741 Update some type/value names and revert to original order of declarations with manual ordering within the page 2016-06-25 18:09:56 +01:00
Sara Dickinson d3309e89e8 Initial pass at updating Doxygen modules for getdns.h. Also add info on using context_create multithreaded.
- this is a rough first pass at making the oxygen Modules page more consistent and user navigable
  as a handy index into getdns
- I think a further re-org is needed in a later update, also haven't touched getdns_extra.h yet
- Added a few functions descriptions too, but still many functions without comments... a WIP
- Updated man page for context_create with multi-threaded instructions as a short term fix
2016-06-25 18:09:56 +01:00
Sara Dickinson 3ee5cf32b6 Split the recursive transport test 6 into 3 and add a shorter timeout to the fail case to stop the overall test timing out. 2016-06-25 15:57:14 +01:00
Willem Toorop a57b19332a track connections per listener
so they can be dealt with when a listener has to go.
Connections are kept in a double linked list.
Prev links are pointers to the next pointer, to deal with the list handle (i.e. the first next pointer) in a uniform way.
2016-06-23 17:05:32 +02:00
Willem Toorop 9c7f6faf76 Don't TCP idle timeout with queries to be answered 2016-06-23 16:26:20 +02:00
Willem Toorop 50416ecc7f Make getdns_query daemon work again 2016-06-23 15:26:19 +02:00
Willem Toorop 32c6e1fdee Merge branch 'develop' into devel/decompose-getdns_query 2016-06-23 15:06:20 +02:00
Willem Toorop 734a6625c4 s/inline static/static inline/g 2016-06-23 15:03:46 +02:00
wtoorop a435932b04 Features/call reporting timeout (#1)
* Timed out and canceled netreqs are finished too

* Minor code duplication elemination

* Blah typo

* Embarrassing logic error
2016-06-23 14:02:55 +02:00
Willem Toorop f5d31cd93c Some minor getdns_query memory leak fixes 2016-06-21 16:31:07 +02:00
Willem Toorop 3cc369a27d Move serving requests out of getdns_query 2016-06-21 16:14:54 +02:00
Robert Groenenberg 60c6c8d8ca Fixed build 2016-06-21 13:19:11 +02:00
Robert Groenenberg 3634fff4dd Return call_reporting info in case of timeout, so that we can see
which server did not respond.
2016-06-20 18:39:15 +02:00
Willem Toorop 09b4ef9e9c Let getdns_query use the default eventloop
instead of a custom eventloop
2016-06-17 17:07:41 +02:00
Willem Toorop 2555980b41 Forgot to update symbols 2016-06-17 17:07:26 +02:00
Willem Toorop 2873645068 get current (pluggable) eventloop from context
So applications can schedule events against it...
2016-06-17 16:50:47 +02:00
Willem Toorop 22095f23f6 Bugfix: cannot override targets in Makefile 2016-06-17 16:37:41 +02:00
Willem Toorop 0f16860dbd Move configuring contexts with a dict out 2016-06-17 16:01:36 +02:00
Sara Dickinson 497d87a028 Correct the name to resolution_type 2016-06-17 11:25:21 +01:00
Sara Dickinson 3c7758fdbc Minor testing updates:
- add option to use IPv6 for manual transport tests
- add recursion mode to call_reporting
2016-06-16 10:47:43 +01:00
Willem Toorop 4fde05380f Yet another pass at fixing dependencies
pretty sure it will work this time though...
2016-06-16 11:12:11 +02:00
Willem Toorop d70bd5e637 A dependency fix that actually works! 2016-06-16 11:01:46 +02:00
Sara Dickinson c0187a19ea Quick fix for TLS timeouts not re-using a connection. Better solution is needed.
Also minor fixes in getdns_query:
 - spurious semicolon (caused build warning)
 - build warning for initialised variable
 - have getdns_query honour the CLASS in the incoming query
2016-06-15 17:15:13 +01:00
Willem Toorop 1608244556 Dependency fix 2016-06-15 16:56:20 +02:00
Willem Toorop 8eea955f56 Dependencies
Including the decomposed getdns_str2dict
2016-06-15 16:47:40 +02:00
Willem Toorop ff77af148e Move str2dict conversion out of getdns_query 2016-06-15 15:53:43 +02:00
Willem Toorop c74bfb5339 Pass NULL to select when timeout is infinite 2016-06-15 11:04:11 +02:00
Willem Toorop ea226b882d To run tpkg tests directly from clean git repo 2016-06-14 12:52:54 +02:00
Willem Toorop 2ed28badfd Replies without answer don't have a canonical name 2016-06-09 16:47:00 +02:00
Willem Toorop e228f526a3 when nothing else, result[canonical_name] is qname 2016-06-09 16:12:06 +02:00
Willem Toorop 49840c9a85 Some more uniform _getdns_rrset usage 2016-06-09 15:03:51 +02:00
Willem Toorop e27bfcedb6 Merge branch 'develop' into devel/getdns_rrset 2016-06-09 14:13:11 +02:00
Willem Toorop 27110e0943 DNSSEC wildcard validation issue 2016-06-09 10:44:25 +02:00
Willem Toorop 8679633cd9 One more _getdns_rrset caused dnssec fix 2016-06-08 16:03:45 +02:00
Willem Toorop 6e7f66b216 Sorting of SRVs according to RFC2782
Could be optimized... but alas
2016-06-08 12:44:23 +02:00