Commit Graph

3194 Commits

Author SHA1 Message Date
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 b56fbbb604 Merge pull request #187 from rwgroenenberg/call_reporting_timeout
Return call_reporting info in case of timeout, so that we can see which server did not respond.
2016-06-23 14:11:32 +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
wtoorop 11f5eac21f Merge pull request #188 from rwgroenenberg/CentOS6_build
Build fails with autoconf 2.63, works with 2.68.

Muchas gracias
2016-06-23 13:58:32 +02:00
Robert Groenenberg 03fcfc006f Build fails with autoconf 2.63, works with 2.68.
Found on CentOS 6.6. With autoconf268 (available from EPEL repo) it works.
Looking at the update description of autoconf 2.64, the problem _might_ be fixed with that version already.
2016-06-22 14:40:21 +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
wtoorop 6d63f74d18 Merge pull request #185 from saradickinson/feature/transport_testing
Minor testing updates:
2016-06-17 12:32:28 +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
wtoorop ddf69b4883 Merge pull request #184 from saradickinson/bugfix/tls_connection_timeout
Quick fix for TLS timeouts not re-using a connection.  Better solutio 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-16 11:07:26 +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
Melinda Shore 20ba3958fa Merge pull request #181 from wtoorop/features/getdns_service
Features/getdns service
2016-06-09 10:03:34 -08: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
wtoorop 3b1d7a3b26 Merge pull request #182 from guillemj/libbsd
Use libbsd when available

Tested on Linux/OS-X/FreeBSD/NetBSD
Works perfectly. Thanks!
2016-06-09 15:39:17 +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
wtoorop cdc0fc04e2 Merge pull request #183 from wtoorop/develop
DNSSEC wildcard validation issue
2016-06-09 11:03:15 +02:00
Willem Toorop 27110e0943 DNSSEC wildcard validation issue 2016-06-09 10:44:25 +02:00
Guillem Jover 1fb763761b Use libbsd when available
Use the libbsd (https://libbsd.freedesktop.org/) overlay to transparently
use the bsd compatibility layer without needing any actual code changes.

Remove now unnecessary direct access to libbsd includes. And remove
checks for unused functions.
2016-06-09 02:42:22 +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
Willem Toorop 457a4bec92 develop merge fix 2016-06-08 10:57:03 +02:00
Willem Toorop 490aac1b48 Merge branch 'develop' into features/getdns_service 2016-06-08 10:21:29 +02:00
Willem Toorop 2d22b8729d Locks must be >= 0 2016-06-07 17:21:10 +02:00
Willem Toorop e16efbbeee Small bugs from the _getdns_rrset move 2016-06-07 17:08:35 +02:00