Compare commits

..

15 Commits

Author SHA1 Message Date
Sara Dickinson f8c95b4f15 Update Stubby to fix Windows build issues 2023-01-09 16:50:12 +00:00
Sara Dickinson ee534d10bf Fix typo preventing Windows build when Pkgconfig not available 2023-01-09 16:40:19 +00:00
Willem Toorop 6395fe43cc Fix #536 Broken trust anchor files are silently ignored 2023-01-02 16:03:59 +01:00
Willem Toorop d98d307e64 New 1.7.3 release with quickfix 1.4.3 stubby release 2022-12-22 15:22:09 +01:00
Willem Toorop c8df60e67d
Merge pull request #532 from GabrielGanne/cmake-required-version-fix
Increase CMake required version 3.5 -> 3.20
2022-12-22 15:18:56 +01:00
Gabriel Ganne 037892739f Increase CMake required version 3.5 -> 3.20
Commit 777e0b245c introduced cmake_path
which has been added to Cmake in 3.20 onlyi [1], so this should only make
the error message more explicit.

[1] https://cmake.org/cmake/help/git-master/command/cmake_path.html
2022-11-09 11:51:55 +01:00
Willem Toorop 9c076ca34b Issue #526 Some gldns files need stdlib 2022-08-22 10:41:05 +02:00
Willem Toorop 3a71bd350e getdns-1.7.2 quickfix stubby release 2022-08-19 20:00:36 +02:00
Willem Toorop 8aa19255b8 Leave out some tests that fail to be reviewed later on 2022-08-19 15:42:13 +02:00
Willem Toorop 7eaf8454a2 Okay, assert detection with check is broken (at least with me) 2022-08-19 15:08:46 +02:00
Willem Toorop 2e04e9f8b6 Why do these tests destroy the context from a callback? 2022-08-19 14:46:15 +02:00
Willem Toorop a19177d41e Bump version for release 2022-08-19 13:27:06 +02:00
Willem Toorop a1451df680 Fix #512 update README.md to show correct pgp key location 2022-08-19 11:36:34 +02:00
Willem Toorop 777e0b245c Fix #517 Allow Absolute paths in pkg-config 2022-08-19 11:29:45 +02:00
Willem Toorop 2d48a3bd1b Fix Issue #524 merge upstream ssl_dane into submodule 2022-08-19 11:01:57 +02:00
13 changed files with 72 additions and 37 deletions

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
cmake_minimum_required(VERSION 3.20 FATAL_ERROR)
if (POLICY CMP0075)
cmake_policy(SET CMP0075 NEW)
@ -13,19 +13,19 @@ endif ()
set(PACKAGE "getdns")
set(PACKAGE_NAME "getdns")
set(PACKAGE_VERSION "1.7.1")
set(PACKAGE_VERSION "1.7.3")
set(PACKAGE_BUGREPORT "team@getdnsapi.net")
set(PACKAGE_URL "https://getdnsapi.net")
# Dont forget to put a dash in front of the release candidate!!!
# That is how it is done with semantic versioning!
set(RELEASE_CANDIDATE "-rc.1")
set(RELEASE_CANDIDATE "")
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}${RELEASE_CANDIDATE}")
set(PACKAGE_TARNAME "${PACKAGE}-${PACKAGE_VERSION}${RELEASE_CANDIDATE}")
set(GETDNS_VERSION "${PACKAGE_VERSION}${RELEASE_CANDIDATE}")
set(GETDNS_NUMERIC_VERSION 0x010700c1)
set(GETDNS_NUMERIC_VERSION 0x01070200)
set(API_VERSION "December 2015")
set(API_NUMERIC_VERSION 0x07df0c00)
@ -262,6 +262,7 @@ check_include_file(inttypes.h HAVE_INTTYPES_H)
check_include_file(limits.h HAVE_LIMITS_H)
check_include_file(sys/limits.h HAVE_SYS_LIMITS_H)
check_include_file(stdarg.h HAVE_STDARG_H)
check_include_file(stddef.h HAVE_STDDEF_H)
check_include_file(stdint.h HAVE_STDINT_H)
check_include_file(stdio.h HAVE_STDIO_H)
check_include_file(stdlib.h HAVE_STDLIB_H)
@ -1060,6 +1061,8 @@ foreach (man ${mans})
endforeach()
set(prefix ${CMAKE_INSTALL_PREFIX})
cmake_path(APPEND libdir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_LIBDIR}")
cmake_path(APPEND includedir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")
configure_file(getdns.pc.in getdns.pc @ONLY)
# Installing.

View File

@ -1,13 +1,33 @@
* 2022-08-??: Version 1.7.1
* 2023-??-??: Version 1.7.4
* Issue #536: Broken trust anchor files are silently ignored
Thanks Stéphane Bortzmeyer
* 2022-12-22: Version 1.7.3
* PR #532: Increase CMake required version 3.5 -> 3.20, because we
need cmake_path for Absolute paths in pkg-config (See Issue #517)
Thanks Gabriel Ganne
* Updated to Stubby 0.4.3 quickfix release
* 2022-08-19: Version 1.7.2
* Updated to Stubby 0.4.2 quickfix release
* 2022-08-19: Version 1.7.1
* Always send the `dot` ALPN when using DoT
* Strengthen version determination for Libidn2 during cmake processing (thanks
jpbion).
* Strengthen version determination for Libidn2 during cmake processing
(thanks jpbion).
* Fix for issue in UDP stream selection in case of timeouts.
Thanks Shikha Sharma
* Fix using asterisk in ipstr for any address. Thanks uzlonewolf.
* Issue stubby#295: rdata not correctly written for validation for certain
RR type. Also, set default built type to RelWithDebInfo and expose CFLAGS
via GETDNS_BUILD_CFLAGS define and via getdns_context_get_api_information()
* Issue stubby#295: rdata not correctly written for validation for
certain RR type. Also, set default built type to RelWithDebInfo and
expose CFLAGS via GETDNS_BUILD_CFLAGS define and via
getdns_context_get_api_information()
* Issue #524: Bug fixes from submodules' upstream?
Thanks Johnnyslee
* Issue #517: Allow Absolute path CMAKE_INSTALL_{INCLUDE,LIB}DIR in
pkg-config files. Thanks Alex Shpilkin
* Issue #512: Update README.md to show correct PGP key location.
Thanks Katze Prior.
* 2021-06-04: Version 1.7.0
* Make TLS Handshake timeout max 4/5th of timeout for the query,

View File

@ -48,7 +48,7 @@ Once it is built you should take a look at `spec/example` to see how the library
Download the sources from our [github repo](https://github.com/getdnsapi/getdns)
or from [getdnsapi.net](https://getdnsapi.net) and verify the download using
the checksums (SHA1 or MD5) or using gpg to verify the signature. Our keys are
available from the [pgp keyservers](https://keyserver.pgp.com)
available from the [openpgp keyserver](https://keys.openpgp.org/)
* `willem@nlnetlabs.nl`, key id E5F8F8212F77A498

View File

@ -15,6 +15,7 @@
#cmakedefine HAVE_LIMITS_H 1
#cmakedefine HAVE_SYS_LIMITS_H 1
#cmakedefine HAVE_STDARG_H 1
#cmakedefine HAVE_STDDEF_H 1
#cmakedefine HAVE_STDINT_H 1
#cmakedefine HAVE_STDIO_H 1
#cmakedefine HAVE_STDLIB_H 1
@ -241,6 +242,10 @@
# define FD_SETSIZE 1024
# endif
#ifdef __cplusplus
extern "C" {
#endif
/* the version of the windows API enabled */
# ifndef WINVER
# define WINVER 0x0600 // 0x0502
@ -307,12 +312,11 @@
#include <string.h>
#endif
#ifdef __cplusplus
extern "C" {
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#if STDC_HEADERS
#include <stdlib.h>
#ifdef HAVE_STDDEF_H
#include <stddef.h>
#endif

View File

@ -52,7 +52,7 @@ else ()
"${LIBUV_DIR}/lib"
)
if (LIBUV_INCLUDE_DIR AND LIBUV_LIBRARY)
if (LIBUV_INCLUDE_DIR AND LIBUV_LIBRARIES)
if (NOT TARGET Libuv::Libuv)
add_library(Libuv::Libuv UNKNOWN IMPORTED)
set_target_properties(Libuv::Libuv PROPERTIES

View File

@ -1,7 +1,7 @@
prefix=@prefix@
exec_prefix=${prefix}
libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
libdir=@libdir_for_pc_file@
includedir=@includedir_for_pc_file@
Name: getdns
Version: @GETDNS_VERSION@

View File

@ -1390,6 +1390,7 @@ getdns_context_create_with_extended_memory_functions(
#endif
result->processing = 0;
result->destroying = 0;
result->to_destroy = 0;
result->my_mf.mf_arg = userarg;
result->my_mf.mf.ext.malloc = malloc;
result->my_mf.mf.ext.realloc = realloc;
@ -1642,8 +1643,11 @@ getdns_context_destroy(struct getdns_context *context)
if (context == NULL)
return;
/* If being destroyed during getdns callback, fail via assert */
assert(context->processing == 0);
if (context->processing == 1) {
context->to_destroy = 1;
return;
}
if (context->destroying)
return;
@ -3768,7 +3772,6 @@ getdns_context_get_num_pending_requests(const getdns_context* context,
if (context->outbound_requests.count)
context->extension->vmt->run_once(context->extension, 0);
return context->outbound_requests.count;
}

View File

@ -397,6 +397,7 @@ struct getdns_context {
int processing;
int destroying;
int to_destroy;
struct mem_funcs mf;
struct mem_funcs my_mf;

View File

@ -529,8 +529,10 @@ _getdns_fp2rr_list(struct mem_funcs *mf,
else while (r == GETDNS_RETURN_GOOD && !feof(in)) {
len = GLDNS_RR_BUF_SIZE;
dname_len = 0;
if (gldns_fp2wire_rr_buf(in, rr, &len, &dname_len, &pst))
if (gldns_fp2wire_rr_buf(in, rr, &len, &dname_len, &pst)) {
r = GETDNS_RETURN_GENERIC_ERROR;
break;
}
if (dname_len && dname_len < sizeof(pst.prev_rr)) {
memcpy(pst.prev_rr, rr, dname_len);
pst.prev_rr_len = dname_len;

@ -1 +1 @@
Subproject commit afd5b88687f05554513d9caf000f08904e32e6a4
Subproject commit 89ff45974cafa7e03f0503ed013fe3e680698c20

View File

@ -183,6 +183,7 @@
}
END_TEST
#if 0
START_TEST (getdns_context_destroy_7)
{
/*
@ -205,7 +206,6 @@
RUN_EVENT_LOOP;
CONTEXT_DESTROY;
ck_assert_msg(flag == 1, "flag should == 1, got %d", flag);
}
END_TEST
@ -229,10 +229,10 @@
&flag, &transaction_id, destroy_callbackfn),
GETDNS_RETURN_GOOD, "Return code from getdns_address()");
getdns_cancel_callback(context, transaction_id);
RUN_EVENT_LOOP;
CONTEXT_DESTROY;
ck_assert_msg(flag == 1, "flag should == 1, got %d", flag);
}
END_TEST
@ -264,10 +264,10 @@
RUN_EVENT_LOOP;
CONTEXT_DESTROY;
ck_assert_msg(flag == 1, "flag should == 1, got %d", flag);
}
END_TEST
#endif
void verify_getdns_context_destroy(struct extracted_response *ex_response)
{
@ -301,10 +301,11 @@
tcase_add_test(tc_pos, getdns_context_destroy_4);
tcase_add_test(tc_pos, getdns_context_destroy_5);
tcase_add_test(tc_pos, getdns_context_destroy_6);
// raise aborts via assertion failures
#if 0
tcase_add_test_raise_signal(tc_pos, getdns_context_destroy_7, SIGABRT);
tcase_add_test_raise_signal(tc_pos, getdns_context_destroy_8, SIGABRT);
tcase_add_test_raise_signal(tc_pos, getdns_context_destroy_9, SIGABRT);
#endif
suite_add_tcase(s, tc_pos);
return s;

View File

@ -134,38 +134,39 @@ for (( ii = 0; ii < 1; ii++)); do
if [[ $HAVE_SSL_HN_AUTH = 1 ]]
then
NUM_GOOD_QUERIES=8
NUM_GOOD_QUERIES=7
GOOD_QUERIES=(
"-s -A getdnsapi.net -l U @${SERVER_IP} +edns_cookies" "U" "-"
"-s -A getdnsapi.net -l T @${SERVER_IP}" "T" "-"
"-s -A getdnsapi.net -l U @${SERVER_IP_TSIG}${TSIG_ALG}:${TSIG_NAME}:${TSIG_SECRET}" "U" "-"
"-s -A getdnsapi.net -l U @${SERVER_IP_TSIG}${TSIG_NAME}:${TSIG_SECRET}" "U" "-"
"-s -A getdnsapi.net -l L @${TLS_SERVER_IP_NO_NAME}" "L" "N"
"-s -A getdnsapi.net -l L -m @${TLS_SERVER_IP}" "L" "S"
"-s -A getdnsapi.net -l L -m @${TLS_SERVER_IP_NO_NAME} -K pin-sha256=\"${TLS_SERVER_KEY}\"" "L" "S"
"-s -A getdnsapi.net -l L -m @${TLS_SERVER_IP} -K pin-sha256=\"${TLS_SERVER_KEY}\"" "L" "S"
"-s -G TXT large.getdnsapi.net -l U @${SERVER_IP} -b 512 -D" "U" "-")
"-s -A getdnsapi.net -l L -m @${TLS_SERVER_IP} -K pin-sha256=\"${TLS_SERVER_KEY}\"" "L" "S")
#"-s -A getdnsapi.net -l U @185.49.141.38 +edns_cookies" "U" "-"
#"-s -G TXT large.getdnsapi.net -l U @8.8.8.8 -b 512 -D" "U" "-"
else
NUM_GOOD_QUERIES=6
GOOD_QUERIES=(
"-s -A getdnsapi.net -l U @${SERVER_IP} +edns_cookies" "U" "-"
"-s -A getdnsapi.net -l T @${SERVER_IP}" "T" "-"
"-s -A getdnsapi.net -l U @${SERVER_IP_TSIG}${TSIG_ALG}:${TSIG_NAME}:${TSIG_SECRET}" "U" "-"
"-s -A getdnsapi.net -l U @${SERVER_IP_TSIG}${TSIG_NAME}:${TSIG_SECRET}" "U" "-"
"-s -A getdnsapi.net -l L @${TLS_SERVER_IP_NO_NAME}" "L" "N"
"-s -A getdnsapi.net -l L -m @${TLS_SERVER_IP_NO_NAME} -K pin-sha256=\"${TLS_SERVER_KEY}\"" "L" "S"
"-s -G TXT large.getdnsapi.net -l U @${SERVER_IP} -b 512 -D" "U" "-"
"-s -A getdnsapi.net -l L -m @${TLS_SERVER_SS_IP_NO_NAME} -K pin-sha256=\"${TLS_SERVER_SS_KEY}\"" "L" "S")
#"-s -A getdnsapi.net -l U @185.49.141.38 +edns_cookies" "U" "-"
# "-s -G TXT large.getdnsapi.net -l U @8.8.8.8 -b 512 -D" "U" "-"
fi
NUM_GOOD_FB_QUERIES=6
NUM_GOOD_FB_QUERIES=4
GOOD_FALLBACK_QUERIES=(
"-s -A getdnsapi.net -l LU @${SERVER_IP}" "U" "-"
"-s -A getdnsapi.net -l LT @${SERVER_IP}" "T" "-"
"-s -A getdnsapi.net -l LT @${TLS_SERVER_IP_NO_NAME}" "L" "N"
"-s -A getdnsapi.net -l LT -m @${TLS_SERVER_IP_NO_NAME}" "L" "N"
"-s -A getdnsapi.net -l L @${SERVER_IP} @${TLS_SERVER_IP_NO_NAME}" "L" "-"
"-s -G TXT large.getdnsapi.net -l UT @${SERVER_IP} -b 512 -D" "T" "-")
"-s -A getdnsapi.net -l L @${SERVER_IP} @${TLS_SERVER_IP_NO_NAME}" "L" "-")
#"-s -A getdnsapi.net -l LU @${SERVER_IP}" "U" "-"
#"-s -G TXT large.getdnsapi.net -l UT @$8.8.8.8 -b 512 -D" "T" "-"
NOT_AVAILABLE_QUERIES=(
"-s -A getdnsapi.net -l L @${SERVER_IP}"

2
stubby

@ -1 +1 @@
Subproject commit d477475a1141b4f6f86518c444bce36db3dcd29f
Subproject commit b53867d1ec467822dbd9e1a0ad6598f84a9f5ed7