On 2018-10-27 18:36:12 [+0200], Christoph Biedl wrote:
> +--- a/ipseckey.c
> ++++ b/ipseckey.c
> +@@ -111,8 +111,11 @@
> + default:
> + strcpy(gw, "??");
> + }
> ++#pragma GCC diagnostic push
> ++#pragma GCC diagnostic ignored "-Wformat-truncation"
> + snprintf(s, 1024, "( %d %d %d %s ... )",
> + rr->precedence, rr->gateway_type, rr->algorithm, gw);
> ++#pragma GCC diagnostic pop
This looks odd. There has to be a better way of dealing with this than
just shutting off the warning so things compile again.
> diff -Nru validns-0.8+git20160720/debian/patches/use-openssl-1.1.patch
> validns-0.8+git20160720/debian/patches/use-openssl-1.1.patch
> --- validns-0.8+git20160720/debian/patches/use-openssl-1.1.patch
> 1970-01-01 01:00:00.000000000 +0100
> +++ validns-0.8+git20160720/debian/patches/use-openssl-1.1.patch
> 2018-10-27 18:13:35.000000000 +0200
> +--- a/dnskey.c
> ++++ b/dnskey.c
> +@@ -154,6 +154,7 @@
> + unsigned int e_bytes;
> + unsigned char *pk;
> + int l;
> ++ BIGNUM *n, *e;
> +
> + rsa = RSA_new();
> + if (!rsa)
> +@@ -174,11 +175,12 @@
> + if (l < e_bytes) /* public key is too short */
> + goto done;
> +
> +- rsa->e = BN_bin2bn(pk, e_bytes, NULL);
> ++ e = BN_bin2bn(pk, e_bytes, NULL);
BN_bin2bn() and EVP_MD_CTX_new() which were introduced as part of this
patch may return NULL. Not a single instance in the patch checks the
return value. This is just sloppy.
> + pk += e_bytes;
> + l -= e_bytes;
> +
> +- rsa->n = BN_bin2bn(pk, l, NULL);
> ++ n = BN_bin2bn(pk, l, NULL);
> ++ RSA_set0_key(rsa, n, e, NULL);
> +
> + pkey = EVP_PKEY_new();
> + if (!pkey)
> +--- a/rrsig.c
> ++++ b/rrsig.c
> +@@ -374,7 +374,7 @@
> + static pthread_mutex_t *lock_cs;
> + static long *lock_count;
> +
> +-static unsigned long pthreads_thread_id(void)
> ++unsigned long pthreads_thread_id(void)
not only there is no need for this hunk IMHO the thread locking used
here is not required for openssl 1.1.0+.
> + {
> + unsigned long ret;
> +
Sebastian