Update to 1.7.0, supporting also OpenSSL 1.1

This commit is contained in:
Petr Menšík 2017-01-12 19:44:14 +01:00
parent 27061aaf8f
commit 96bf60c90b
5 changed files with 22 additions and 104 deletions

View File

@ -1,28 +0,0 @@
diff -up ldns-1.6.17/keys.c.dsa ldns-1.6.17/keys.c
--- ldns-1.6.17/keys.c.dsa 2014-01-10 22:04:41.000000000 +0100
+++ ldns-1.6.17/keys.c 2014-03-18 17:54:34.751742493 +0100
@@ -1324,7 +1324,6 @@ ldns_key_dsa2bin(unsigned char *data, DS
/* See RFC2536 */
*size = (uint16_t)BN_num_bytes(k->p);
T = (*size - 64) / 8;
- memcpy(data, &T, 1);
if (T > 8) {
#ifdef STDERR_MSGS
@@ -1335,12 +1334,13 @@ ldns_key_dsa2bin(unsigned char *data, DS
}
/* size = 64 + (T * 8); */
+ memset(data, 0, 21 + *size * 3);
data[0] = (unsigned char)T;
BN_bn2bin(k->q, data + 1 ); /* 20 octects */
BN_bn2bin(k->p, data + 21 ); /* offset octects */
- BN_bn2bin(k->g, data + 21 + *size); /* offset octets */
- BN_bn2bin(k->pub_key, data + 21 + *size + *size); /* offset octets */
- *size = 21 + (*size * 3);
+ BN_bn2bin(k->g, data + 21 + *size * 2 - BN_num_bytes(k->g));
+ BN_bn2bin(k->pub_key,data + 21 + *size * 3 - BN_num_bytes(k->pub_key));
+ *size = 21 + *size * 3;
return true;
}

View File

@ -1,13 +0,0 @@
diff --git a/doc/doxyparse.pl b/doc/doxyparse.pl
index 96a1732..745d564 100755
--- a/doc/doxyparse.pl
+++ b/doc/doxyparse.pl
@@ -273,7 +273,7 @@ foreach (keys %manpages) {
print MAN $MAN_MIDDLE;
- if (defined(@$also)) {
+ if (@$also) {
print MAN "\n.SH SEE ALSO\n\\fI";
print MAN join "\\fR, \\fI", @$also;
print MAN "\\fR.\nAnd ";

View File

@ -1,32 +0,0 @@
diff --git a/examples/ldns-keygen.c b/examples/ldns-keygen.c
index 316d60d..f4f0116 100644
--- a/examples/ldns-keygen.c
+++ b/examples/ldns-keygen.c
@@ -247,9 +247,14 @@ main(int argc, char *argv[])
LDNS_FREE(filename);
}
+ {
+ mode_t oldmask = umask();
+
/* print the priv key to stderr */
filename = LDNS_XMALLOC(char, strlen(owner) + 21);
snprintf(filename, strlen(owner) + 20, "K%s+%03u+%05u.private", owner, algorithm, (unsigned int) ldns_key_keytag(key));
+
+ umask(077); /* ensure only owner can read private key */
file = fopen(filename, "w");
if (!file) {
fprintf(stderr, "Unable to open %s: %s\n", filename, strerror(errno));
@@ -262,9 +267,12 @@ main(int argc, char *argv[])
} else {
ldns_key_print(file, key);
fclose(file);
+ umask(oldmask);
LDNS_FREE(filename);
}
+ }
+
/* print the DS to .ds */
if (algorithm != LDNS_SIGN_HMACMD5 &&
algorithm != LDNS_SIGN_HMACSHA1 &&

View File

@ -1,7 +1,8 @@
diff -Naur ldns-1.6.17-orig/configure ldns-1.6.17/configure
--- ldns-1.6.17-orig/configure 2014-01-10 16:04:50.000000000 -0500
+++ ldns-1.6.17/configure 2014-01-10 20:22:39.138190093 -0500
@@ -662,6 +662,7 @@
diff --git a/configure b/configure
index cd087de..aeec9fb 100755
--- a/configure
+++ b/configure
@@ -684,6 +684,7 @@ PYTHON_SITE_PKG
PYTHON_LDFLAGS
PYTHON_CPPFLAGS
PYTHON
@ -9,7 +10,7 @@ diff -Naur ldns-1.6.17-orig/configure ldns-1.6.17/configure
PYTHON_VERSION
UNINSTALL_CONFIG_MANPAGE
UNINSTALL_CONFIG
@@ -13599,6 +13600,7 @@
@@ -14311,6 +14312,7 @@ EOD`
# use the official shared library
ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
@ -17,7 +18,7 @@ diff -Naur ldns-1.6.17-orig/configure ldns-1.6.17/configure
else
# old way: use libpython from python_configdir
ac_python_libdir=`$PYTHON -c \
@@ -13606,6 +13608,7 @@
@@ -14318,6 +14320,7 @@ EOD`
import os; \
print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
@ -25,20 +26,14 @@ diff -Naur ldns-1.6.17-orig/configure ldns-1.6.17/configure
fi
if test -z "PYTHON_LDFLAGS"; then
diff -Naur ldns-1.6.17-orig/packaging/ldns-config.in ldns-1.6.17/packaging/ldns-config.in
--- ldns-1.6.17-orig/packaging/ldns-config.in 2014-01-10 16:04:41.000000000 -0500
+++ ldns-1.6.17/packaging/ldns-config.in 2014-01-10 20:33:13.033665804 -0500
@@ -3,13 +3,25 @@
prefix="@prefix@"
exec_prefix="@exec_prefix@"
VERSION="@PACKAGE_VERSION@"
-CFLAGS="@CFLAGS@"
-CPPFLAGS="@CPPFLAGS@ @LIBSSL_CPPFLAGS@ @PYTHON_CPPFLAGS@"
-LDFLAGS="@LDFLAGS@ @LIBSSL_LDFLAGS@ @PYTHON_LDFLAGS@"
LIBS="@LIBS@ @LIBSSL_LIBS@"
-LIBDIR="@libdir@"
diff --git a/packaging/ldns-config.in b/packaging/ldns-config.in
index ffb2c57..dd9989c 100755
--- a/packaging/ldns-config.in
+++ b/packaging/ldns-config.in
@@ -10,6 +10,22 @@ LIBS="@LIBS@ @LIBSSL_LIBS@"
LIBDIR="@libdir@"
INCLUDEDIR="@includedir@"
LIBVERSION="@LIBLDNS_CURRENT@.@LIBLDNS_REVISION@.@LIBLDNS_AGE@"
LIBVERSION="@VERSION_INFO@"
+ARCH="`uname -m`"
+
+case $ARCH in
@ -58,7 +53,7 @@ diff -Naur ldns-1.6.17-orig/packaging/ldns-config.in ldns-1.6.17/packaging/ldns-
for arg in $@
do
@@ -21,9 +33,13 @@
@@ -21,9 +37,13 @@ do
then
echo "${LDFLAGS} -L${LIBDIR} ${LIBS} -lldns"
fi

View File

@ -25,18 +25,13 @@
Summary: Low-level DNS(SEC) library with API
Name: ldns
Version: 1.6.17
Release: 21%{?dist}
Version: 1.7.0
Release: 1%{?dist}
License: BSD
Url: http://www.nlnetlabs.nl/%{name}/
Source0: http://www.nlnetlabs.nl/downloads/%{name}/%{name}-%{version}.tar.gz
Patch1: ldns-1.6.17-multilib.patch
Patch2: ldns-1.6.16-dsa-key-failures.patch
Patch3: ldns-1.6.17-keygen.patch
# https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=685
# https://bugzilla.redhat.com/show_bug.cgi?id=1230140
Patch4: ldns-1.6.17-doxyparse-perl-5-22-fix.patch
Patch1: ldns-1.7.0-multilib.patch
Group: System Environment/Libraries
# Only needed for builds from svn snapshot
@ -58,6 +53,7 @@ BuildRequires: python-devel, swig
BuildRequires: perl-devel
BuildRequires: perl-ExtUtils-MakeMaker
BuildRequires: perl-generators
BuildRequires: perl(Devel::CheckLib)
%endif
Requires: ca-certificates
@ -117,9 +113,6 @@ This package contains documentation for the ldns library
%prep
%setup -q
%patch1 -p1
%patch2 -p1 -b .dsa
%patch3 -p1 -b .keygen
%patch4 -p1
# To built svn snapshots
# rm config.guess config.sub ltmain.sh
# aclocal
@ -276,6 +269,9 @@ rm -rf %{buildroot}
%doc doc
%changelog
* Wed Mar 01 2017 Petr Menšík <pemensik@redhat.com> - 1.7.0-2
- Update to 1.7.0
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.17-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild