Commit Graph

2569 Commits

Author SHA1 Message Date
Willem Toorop e2b26609d4 Stubby back to develop branch 2017-10-27 13:03:49 +02:00
Willem Toorop 725f5d486a Credit Remi Gacogne 2017-10-27 09:58:25 +02:00
wtoorop 24f7ae3ea6 Merge pull request #348 from rgacogne/stubby-libbsd-link
Fix a linking issue in stubby when libbsd is present
2017-10-27 09:57:48 +02:00
Remi Gacogne 8e12d86fc3
Fix a linking issue in stubby when libbsd is present
When libbsd is found on the system during the configure, the result
of `pkg-config --cflags libbsd-overlay` is added to `CFLAGS`:

`-DLIBBSD_OVERLAY -isystem /usr/include/bsd`

The result of `pkg-config --libs libbsd-overlay` is added to `LIBS`,
but not to `STUBBY_LIBS`, which is used when linking stubby.

Because of the new `CFLAGS`, the preprocessor replaces the call to
`getopt()` in stubby.c with a call to `bsd_getop()`:

```
 #ifdef LIBBSD_OVERLAY
 #undef getopt
 #define getopt(argc, argv, optstr) bsd_getopt(argc, argv, optstr)
 #endif
```

But since `-lbsd` has not been added to `STUBBY_LIBS`, the linking of
stubby fails with an unresolved symbol:

```
../libtool --tag=CC --mode=link gcc -o stubby stubby.lo convert_yaml_to_json.lo gbuffer.lo -lyaml  libgetdns.la
libtool: link: gcc -o .libs/stubby .libs/stubby.o .libs/convert_yaml_to_json.o .libs/gbuffer.o  -lyaml ./.libs/libgetdns.so
/usr/bin/ld: .libs/stubby.o: undefined reference to symbol 'bsd_getopt@@LIBBSD_0.0'
/usr/lib/libbsd.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
```

Simply adding the result of `pkg-config --libs libbsd-overlay` to
`STUBBY_LIBS` in addition to `LIBS` fixes the issue.
2017-10-22 17:36:45 +02:00
Sara Dickinson cb6af78944 Merge pull request #347 from saradickinson/update_stubby_commit
Update stubby to use the 0.1.4 release
2017-10-20 08:38:40 -07:00
Sara Dickinson d3b13c2bc9 Update stubby to use the 0.1.4 release 2017-10-20 16:22:03 +01:00
Sara Dickinson 5d581baae1 Merge pull request #345 from getdnsapi/devel/robustness
Devel/robustness
2017-10-20 07:30:17 -07:00
Willem Toorop 12272dda36 Merge branch 'develop' into devel/robustness 2017-10-20 16:10:35 +02:00
Willem Toorop f26fd6c8ee Merge branch 'features/mingw-win10-perror' into develop 2017-10-20 16:07:46 +02:00
Willem Toorop 971d876c70 Dependencies 2017-10-20 15:59:42 +02:00
Willem Toorop b2d32430f6 Merge branch 'develop' into features/mingw-win10-perror 2017-10-20 15:57:50 +02:00
Willem Toorop fc073267f1 Dead assignment 2017-10-19 14:14:37 +02:00
Willem Toorop f8e1ed78b8 Make upstream_reset static (and not shared between .c files) 2017-10-19 12:48:58 +02:00
Willem Toorop 5ce764ab70 Merge branch 'devel/robustness' into devel/robustness_bugfix 2017-10-19 12:37:53 +02:00
Willem Toorop 272d0cf0ef Allow clearing of upstreams 2017-10-19 12:35:10 +02:00
Sara Dickinson ddade192a3 Merge branch 'devel/robustness' of https://github.com/getdnsapi/getdns into devel/robustness_bugfix 2017-10-19 10:37:08 +01: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 87879783ec Postpone dealing with upstream derenferencing issue 2017-10-18 14:33:59 +02: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
Willem Toorop fa597399e2 Update stubby 2017-10-17 15:14:09 +02:00
Willem Toorop dc5a78b154 Printing something which is not on stack
(causing segfault in some cases)
2017-10-17 14:19:59 +02:00
Willem Toorop f83c8e217e Decrease assumptions based on network_by_query_id 2017-10-17 13:47:29 +02:00
Willem Toorop ee4feb0cc6 Clean parallel builds too 2017-10-17 13:32:56 +02:00
Willem Toorop 11e4635f2b Dependencies 2017-10-17 13:32:41 +02:00
Willem Toorop ce4c44830d Unused variables 2017-10-16 15:26:00 +02:00
Willem Toorop 968d94d2be atomic netreq removal from write_queue in upstream_write_cb 2017-10-16 14:17:49 +02:00
Jim Hague a4fa9ad4eb Merge branch 'develop' into features/mingw-win10-perror 2017-10-10 15:17:52 +01:00
wtoorop 6afcc97b87 Merge pull request #341 from banburybill/features/mingw-win10
Fix Stubby stopping listening to UDP on Win10 mingw64 builds
2017-10-09 15:53:10 +02:00
Jim Hague 4ca8ee008b Add _getdns_perror(). On Windows this reports Winsock errors. 2017-10-06 18:15:18 +01:00
Jim Hague 34f4e13833 Have separate Windows DEBUG_NL() similar to DEBUG_ON().
This removes a build warning.
2017-10-06 16:24:56 +01:00
Jim Hague 4b5303e6fb Merge branch 'features/mingw-win10' into features/mingw-win10-warnings 2017-10-06 15:28:10 +01:00
Jim Hague 5e415b60b6 Add missing platform.h include. 2017-10-06 15:04:49 +01:00
Jim Hague 74eaf4b03e Previous commit omitted platform.h. 2017-10-06 14:38:59 +01:00
Jim Hague eb6da94e25 Convert one more poll() to _getdns_poll(). 2017-10-06 12:07:47 +01:00
Jim Hague dc7daede40 Move Windows/Unix functions into new platform.h. 2017-10-06 12:07:15 +01:00
Jim Hague 0874a0a472 Use PRI format strings in wire2str.c and remove ARG_LL. 2017-10-05 19:17:12 +01:00
Jim Hague 8a291d4dce Revise autoconf checking for sigset_t.
The previous strategy for Windows of checking for sigset_t and if it failed repeating the check with -D_POSIX did not work as expected. Autoconf found the second instance of the test, thought it was the same as the first, and used the cached result from the first. It was only because a typo did not reset CFLAGS back, so always adding _POSIX, that this worked with mingw.

Change instead to checking for sigset_t and if that fails for _sigset_t, and in config.h if sigset_t does not exist but _sigset_t does then typedef _sigset_t to sigset_t. Also amend the implementation of sigfillset() to cast to sigset_t not _sigset_t; it may not be just mingw that doesn't have sigfilleset().

Also, ensure signal.h is one of the headers included when checking for sigset_t. It's the header Posix says sigset_t is defined in...
2017-10-05 19:15:41 +01:00
Jim Hague 59e6ec80fe Fix configure runtime error.
Error was:
checking for DSA_SIG_new... yes
../configure: line 13315: test: too many arguments
2017-10-05 15:04:40 +01:00
Jim Hague ff7c85ab20 Fix build errors introduced by a0c3134. 2017-10-05 12:43:35 +01:00
Jim Hague a70efd118d Fix build warnings about inet_ntop() not being declared on Win10/MinGW. 2017-10-05 12:36:03 +01:00
Jim Hague 0895522734 Merge branch 'develop' into features/mingw-win10 2017-10-05 10:52:06 +01:00
Jim Hague 1eae1ad96b Fix problem where Stubby stops listening to UDP on Win10.
Winsock can return ECONNRESET when receiving UDP via recvfrom() if an ICMP Port Unreachable has been received. Rather than treat the socket as being in error and closing it, just ignore the error.
2017-10-04 17:42:06 +01:00
Jim Hague 757becc812 write() on a socket is equivalent to send() with flag value of 0. 2017-10-04 17:32:52 +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 ffc72ff253 Rearrange includes for finding inet_ntop on Windows
+ make sure stubby is linked with initial LDFLAGS (i.e. static) as well
2017-10-03 17:09:33 +02:00
wtoorop d5efa01d06 Merge pull request #339 from banburybill/features/mingw-win10
Check for implementations of sigemptyset, sigfillset and sigaddset an…
2017-10-03 16:38:13 +02:00
Willem Toorop 3e221ebed5 Fix parallel make install's 2017-10-02 16:36:07 +02:00
Willem Toorop b22666d667 Bump version 2017-10-02 16:34:12 +02:00
Jim Hague 4acce42720 Check for implementations of sigemptyset, sigfillset and sigaddset and add if not present.
mingw64 doesn't have them and compilation fails at link time.
2017-10-02 14:15:16 +01:00
Willem Toorop c786ba03d2 Merge branch 'release/1.2.0' into develop 2017-09-29 22:47:19 +02:00