Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package dhcp for openSUSE:Factory checked in 
at 2021-02-16 22:35:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dhcp (Old)
 and      /work/SRC/openSUSE:Factory/.dhcp.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dhcp"

Tue Feb 16 22:35:47 2021 rev:124 rq:870911 version:4.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/dhcp/dhcp.changes        2021-01-11 
17:10:11.360065667 +0100
+++ /work/SRC/openSUSE:Factory/.dhcp.new.28504/dhcp.changes     2021-02-16 
22:40:06.413939219 +0100
@@ -1,0 +2,204 @@
+Sun Jan 24 13:20:58 UTC 2021 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 4.4.2:
+  * Please note that that ISC DHCP is now licensed under the Mozilla Public
+  License, MPL 2.0.
+
+  In general, the areas of focus for ISC DHCP 4.4 were:
+
+  1. Dynamic DNS additions
+  2. dhclient improvements
+  3. Support for dynamic shared libraries
+
+  * Added the interface name to socket initialization failure log messages.
+    Prior to this the log messages stated only the error reason without
+    stating the target interface.
+  * Corrected buffer pointer logic in dhcrelay functions that manipulate
+    agent relay options. Thanks to Thomas Imbert of MSRC Vulnerabilities
+    & Mitigations for reporting the issue.
+  * Corrected unresolved symbol errors building relay_unittests when
+    configured to build using libtool.
+  * A new configuration parameter, ping-cltt-secs (v4 operation only), has
+    been added to allow the user to specify the number of seconds that must
+    elapse since CLTT before a ping check is conducted.  Prior to this, the
+    value was hard coded at 60 seconds.  Please see the server man pages for
+    a more detailed discussion.
+  * A new configuration parameter, ping-timeout-ms (v4 operation only),
+    has been added that allows the user to specify the amount of time
+    the server waits for a ping-check response in milliseconds rather
+    than in seconds (via ping-timeout). When greater than zero, the value
+    of ping-timeout-ms will override the value of ping-timeout.  Thanks
+    to Jay Doran from Bluecat Networks for suggesting this feature.
+  * An experimental tool called, Keama (KEA Migration Assistant), which helps
+    translate ISC DHCP configurations to Kea configurations, is now included
+    in the distribution.
+  * Corrected a misuse of the BIND9 DDNS API which caused DDNS updates to be
+    carried out over TCP rather than UDP. The coding error was exposed by
+    migration to BIND9 9.11.  Thanks to Jinmei Tatuya at Infoblox for
+    reporting the issue.
+  * Bind9 now defaults to requiring python to build. The Makefile for
+    building Bind9 when bundled with ISC DHCP was modified to turn off
+    this dependency.
+  * Corrected a dual-stack mixed-mode issue that occurs when both
+    ddns-guard-id-must-match and ddns-other-guard-is-dynamic
+    are enabled and that caused the server to incorrectly interpret
+    the presence of a guard record belonging to another client as
+    a case of no guard record at all.  Thanks to Fernando Soto
+    from BlueCat Networks for reporting this issue.
+  * Corrected a compilation issue that occurred when building without DNS
+    update ability (e.g. by undefining NSUPDATE).
+  * Corrected an issue that was causing the server, when running in
+    DHPCv4 mode, to segfault when class lease limits are reached.
+    Thanks to Peter Nagy at Porion-Digital for reporting the matter
+    and submitting a patch.
+  * Made minor changes to eliminate warnings when compiled with GCC 9.
+    Thanks to Brett Neumeier for bringing the matter to our attention.
+  * Fixed potential memory leaks in parser error message generation
+    spotted by Coverity, CIDs: 1448191, 1448193, 1448194, 1448195
+  * Updated URL of IEEE oui.txt in contrib/dhcp-lease-list.pl. Thanks
+    to Tommy Smith for contributing the patch.
+  * Fixed define flags when using SO_BINDTODEVICE. Thanks to Joe LeVeque for
+    reporting the issue.
+  * Applied a patch from OpenBSD to always set the scope id of outbound
+    DHPCv6 packets.  Note this change only applies when compiling under
+    OpenBSD.  Thanks to Brad Smith at OpenBSD from bringing it to our
+    attention.
+  * Modified dhclient to not discard config file leases that are
+    duplicates of server-provided leases and to retain such leases
+    after they have been used as the fallback active lease and
+    DHCP service has been restored.  This allows them to be used
+    more than once during the lifetime of a dhclient instance.
+    This applies to DHCPv4 operation only.
+  * Corrected a number of reference counter and zero-length buffer leaks.
+    Thanks to Christopher Ertl of MSRC Vulnerabilities & Mitigations for
+    pointing them out.
+  * Closed a small window of time between the installation of graceful
+    shutdown signal handlers and application context startup, during which
+    the receipt of shutdown signal would cause a REQUIRE() assertion to
+    occur.  Note this issue is only visible when compiling with
+    ENABLE_GENTLE_SHUTDOWN defined.
+  * Corrected a buffer overflow that can occur when retrieving zone
+    names that are more than 255 characters in length.
+  * The "d" domain name option format was incorrectly handled as text
+    instead of RFC 1035 wire format. Thanks to Jay Doran at BlueCat Networks
+    for reporting this issue.
+  * Improved the error message issued when a host declaration has both
+    a uid and a dhcp-client-identifier. Server configuration parsing will
+    now fail if a host declaration specifies more than one uid.
+  * Updated developer's documentation on building and running unit tests.
+    Removed support for --with-atf=bind as BIND9 no longer bundles in ATF
+    source.
+  * Fixed a syntax error in ldap.c which cropped up under Ubuntu
+    18.04.1/gcc 7.4.0. Thanks to Charles Hedrick for pointing it out.
+  * Added clarification to dhcp-options.5 section on ip-address values
+    describing the first-use DNS resolution of options with hostnames as
+    values (e.g. next-server).
+  * The option format for the server option omapi-key was changed to a
+    format type 'k' (key name); while server options ldap-port and
+    ldap-init-retry were changed to 'L' (unsigned 32-bit integer). These
+    three options were inadvertantly broken when the 'd' format content
+    was changed to comply with RFC 1035 wire format (see Gitlab #2).
+  * A delayed-ack value of 0 (the default), now correctly disables the delayed
+    feature.  A change in 4.4.0 prohibited lease updates marking leases active
+    from be written to the lease file when delayed-ack is 0. This in turn,
+    caused servers to lose active lease assignments upon restart.
+  ! Option reference count was not correctly decremented in error path
+    when parsing buffer for options. Reported by Felix Wilhelm, Google
+    Security Team.
+    CVE: CVE-2018-5733
+  ! Corrected an issue where large sized 'X/x' format options were causing
+    option handling logic to overwrite memory when expanding them to human
+    readable form. Reported by Felix Wilhelm, Google Security Team.
+    CVE: CVE-2018-5732
+  * Added use of new Bind9 compatibility header files, that are now necessary
+    to supply type definitions for primitive data types, removed from Bind9
+    proper.  Altered util/bind.sh to pull from Bind9 repo on gitlab.
+  * Duplicate address detection when binding to a new IPv6 address was added
+    to the following dhclient scripts: linux,freebsd,netbsd,openbsd, and macos.
+    The scripts will check for DAD errors after binding to a new IPv6 address
+    for at most --dad-wait-time seconds.  If a DAD error is detected the script
+    will exit with a value of 3, instructing dhclient to decline the address. 
If
+    dad-wait-time is zero (the default), DAD error checking is not peformed.
+  * Support for sending and receiving additional DHCP4 options has been added
+    to both the dhcpd and dhclient.  Specifically: option codes 93,94, and 97
+    (RFC 4578); code 150 (RFC 5859); and codes 209,219, and 211 (RFC 5071).
+    Beyond configuring, sending, requesting, and receiving these options 
neither
+    server nor client apply any additional logic based on their values.
+    Thanks to Peter Lewis for requesting this change.
+  * Added clarifying text to dhcpd.conf.5 explaining the class match 
expressions
+    cannot rely on the results of executable statements.
+  * Fixed a bug which causes dhcpd and dhclient to crash on certain
+    systems when given relative path names for lease or pid files on
+    the command line.  Affected systems are those on which the C library
+    function, realpath() does not support a second parameter value of
+    NULL (see manpages for realpath(3)).
+  * Fixed a build issue when building with embedded BIND9 under OpenBSD that
+    was causing BIND9 build to not generate dns/enumclass.h and dns/enumtype.h.
+  * Added <dhcp>/m4/README to the distribution tarball.  Some versions of
+    ac_local() treat the absence of the m4 subdirectory as error rather than
+    warning.  This was causing the call to autoreconf, necessary for building
+    with libtool, to fail.
+  * Added experimental support for relay port 
(draft-ietf-dhc-relay-port-10.txt)
+    feature for DHCPv4, DHCPv6 and DHCPv4-over-DHCPv6.  Relay port has to be
+    enabled at compile time via --enable-relay-port and is fully backward
+    compatible (i.e. works with previous implementations of servers and relays
+    using the standard ports).  A new --rp <relay-port> command line option
+    specifies to dhcrelay an alternate source port for upstream (i.e. toward
+    the server) messages.  Thanks to Naiming Shen and Enke Chen of Cisco
+    systems for submitting these patches.
+  * Added --release-on-roam to dhcpd server. When enabled and the server 
detects
+    that a DHCPv6 client (IAID+DUID) has roamed to a new network, it will 
release
+    the pre-existing leases on the old network and emit a log statement similar
+    to the following:
+
+        "Client: <id> roamed to new network, releasing lease: <address>"
+
+    The server will carry out all of the same steps that would normally occur
+    when a client explicitly releases a lease.  This behavior is disabled by
+    default and may only be specified globally. Prior to this the server 
renders
+    the leases unavailable until they expire or the server is restarted. 
Clients
+    that need leases in multiple networks must supply a unique IAID in each IA.
+    When release-on-roam is disabled (the default) the server maintains the
+    prior behavior of making such leases unavailable until they expire or the
+    server is restarted. Clients that need leases in multiple networks must
+    supply a unique IAID in each IA.  This parameter may only be specified at
+    the global level.  Thanks to Fernando Soto from BlueCat Networks for
+    suggesting this change.
+  * Support for delayed-ack is now compiled in by default. Prior to this
+    it had to be enabled at compile time via --enable-delayed-acks. The
+    default value for delayed-ack, however, has been changed from 28 to 0
+    (i.e. disabled).  This was done to minimize the impact on users not
+    currently using the feature.  Please note that the delayed-ack feature
+    is not currently compatible with support for DHPCv4-over-DHCPv6 so
+    when a 4to6 port command line argument enables this in the server the
+    delayed-ack value is reset to 0.
+  * Added to the server (-6) a new statement, local-address6, which specifies
+    the source address of packets sent by the server. An additional flag,
+    bind-local-address6, disabled by default, binds the service socket to
+    to local-address6. Note that bind-local-address does not work with direct
+    clients: a relay has to forward packets to the server using the
+    local-address6 destination.
+  * The server now recognizes environment variables PATH_DHCPD_DB and
+    PATH_DHCPD_PID.  These had been incorrectly compiled out of the code
+    unless DHCPv6 support was disabled. Additionally, the server man
+    pages were corrected to accurately reflect how the server chooses
+    file names (see lease-file-name and pid-file-name statements). Thanks
+    to Fernando Soto at Bluecat Networks for bringing this matter to our
+    attention.
+  * Removed an "Impossible condition" error upon exit in the dhcpd server that
+    has been shutdown via OMAPI. This condition was only apparent under Solaris
+    when building with --enable-use-sockets and --enable-ipv4-pktinfo.
+  * Corrected some minor Coverity issues: CID 1426059, 1426058, and 1426057.
+  * Added missing text to dhclient.8 and expanded release note coverage
+    for --address-prefix-len changes.
+- remove dhcp-CVE-2019-6470.patch,
+  0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch: merged upstream
+- 0006-dhcp-4.3.2-dhclient-send-hostname-or-fqdn.patch
+  0009-dhcp-4.2.6-close-on-exec.patch
++++ 7 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/dhcp/dhcp.changes
++++ and /work/SRC/openSUSE:Factory/.dhcp.new.28504/dhcp.changes

Old:
----
  0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch
  dhcp-4.3.6-P1.tar.gz
  dhcp-4.3.6-P1.tar.gz.asc
  dhcp-CVE-2019-6470.patch

New:
----
  dhcp-4.4.2.tar.gz
  dhcp-4.4.2.tar.gz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dhcp.spec ++++++
--- /var/tmp/diff_new_pack.2FbyPs/_old  2021-02-16 22:40:08.645941894 +0100
+++ /var/tmp/diff_new_pack.2FbyPs/_new  2021-02-16 22:40:08.649941899 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package dhcp
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,26 +16,25 @@
 #
 
 
-%if 0%{?usrmerged}
-%define sbindir %_sbindir
-%else
-%define sbindir /sbin
-%endif
-
-%define isc_version   4.3.6-P1
+%define isc_version   4.4.2
 #Compat macro for new _fillupdir macro introduced in Nov 2017
 %if ! %{defined _fillupdir}
   %define _fillupdir %{_localstatedir}/adm/fillup-templates
 %endif
+%if 0%{?usrmerged}
+%define sbindir %{_sbindir}
+%else
+%define sbindir /sbin
+%endif
 Name:           dhcp
-Version:        4.3.5
+Version:        4.4.2
 Release:        0
 Summary:        Common Files Used by ISC DHCP Software
-License:        BSD-3-Clause
+License:        MPL-2.0
 Group:          Productivity/Networking/Boot/Servers
-URL:            http://www.isc.org/software/dhcp
-Source0:        dhcp-%{isc_version}.tar.gz
-Source1:        dhcp-%{isc_version}.tar.gz.asc
+URL:            https://www.isc.org/software/dhcp
+Source0:        
https://ftp.isc.org/isc/dhcp/%{isc_version}/dhcp-%{isc_version}.tar.gz
+Source1:        
https://ftp.isc.org/isc/dhcp/%{isc_version}/dhcp-%{isc_version}.tar.gz.asc
 Source2:        %{name}.keyring
 #
 Source10:       dhcpd.script
@@ -79,8 +78,6 @@
 Patch10:        0010-dhcp-4.2.2-quiet-dhclient.patch
 # PATCH-FIX-OPENSUSE dhcp-4.2.x-chown-server-leases bnc#868253
 Patch12:        0012-dhcp-4.2.x-chown-server-leases.bnc868253.patch
-# PATCH-FIX-SLE dhcp-4.2.x-dhcpv6-decline-on-DAD-failure bnc#872609
-Patch13:        0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch
 # PATCH-FIX-SLE dhclient6-unsigned-lifetimes-for-script bsc#926159
 Patch14:        0014-dhclient6-unsigned-lifetimes-for-script-bsc-926159.patch
 # PATCH-FIX-SLE Expose-next-server-DHCPv4-option-to-dhclient-script bsc#928390
@@ -94,7 +91,6 @@
 # PATCH-FIX-SLE dhcp-4.2.4-P1-interval bsc#947780
 Patch20:        0020-dhcp-4.x.x-fixed-improper-lease-duration-checking.patch
 Patch21:        0021-dhcp-ip-family-symlinks.patch
-Patch22:        dhcp-CVE-2019-6470.patch
 BuildRequires:  automake
 BuildRequires:  dos2unix
 BuildRequires:  libtool
@@ -108,14 +104,14 @@
 Summary:        ISC DHCP Server
 Group:          Productivity/Networking/Boot/Servers
 Requires:       dhcp = %{version}
+Requires(post): %fillup_prereq
+%systemd_ordering
 %if 0%{?suse_version} < 1500
 Requires:       net-tools
 %endif
-Requires(post): %fillup_prereq
-%systemd_ordering
 %if 0%{?suse_version} >= 1330
 Requires(pre):  group(nogroup)
-%sysusers_requires
+# %sysusers_requires
 %else
 Requires(pre):  shadow
 %endif
@@ -137,11 +133,11 @@
 Summary:        ISC DHCP Relay Agent
 Group:          Productivity/Networking/Boot/Servers
 Requires:       dhcp = %{version}
+Requires(post): %fillup_prereq
+%systemd_ordering
 %if 0%{?suse_version} < 1500
 Requires:       net-tools
 %endif
-Requires(post): %fillup_prereq
-%systemd_ordering
 
 %package devel
 Summary:        Header Files and Libraries for dhcpctl API
@@ -199,7 +195,6 @@
 %patch9
 %patch10 -p1
 %patch12 -p1
-%patch13 -p1
 %patch14
 %patch15 -p1
 %patch16
@@ -207,7 +202,6 @@
 %patch18 -p1
 %patch20
 %patch21
-%patch22
 ##
 find . -type f -name \*.cat\* -exec rm -f {} \;
 dos2unix contrib/ms2isc/*
@@ -242,16 +236,14 @@
 FFLAGS="$CFLAGS"
 CXXFLAGS="$CFLAGS"
 export CFLAGS LDFLAGS FFLAGS CXXFLAGS
-#
-#libtoolize --force
-#autoreconf -f -i
-#
 %configure \
        --enable-dhcpv6 \
        --enable-failover \
        --enable-paranoia \
        --enable-early-chroot \
-       --enable-secs-byteorder \
+       --disable-libtool \
+       --enable-log-pid \
+       --enable-binary-leases \
        --with-ldap \
        --with-ldapcrypto \
        --with-cli-pid-file=%{_localstatedir}/run/dhclient.pid \
@@ -264,12 +256,12 @@
        --with-srv6-lease-file=%{_localstatedir}/lib/dhcp6/db/dhcpd6.leases
 #
 : building bind sources
-make -j1 -C bind all
+%make_build -j1 -C bind all
 cat bind/configure.log
 cat bind/build.log
 cat bind/install.log
 : building dhcp sources
-make %{?_smp_mflags}
+%make_build
 %if 0%{?suse_version} >= 1330
 %sysusers_generate_pre %{SOURCE47} dhcp-server
 %endif
@@ -397,7 +389,7 @@
 done
 popd
 # move also all dhcp-devel files to dhcp subdirectories
-mv %{buildroot}%{_includedir}/{dhcpctl,isc-dhcp,omapip} \
+mv %{buildroot}%{_includedir}/{dhcpctl,omapip} \
    %{buildroot}%{_includedir}/dhcp/
 mv %{buildroot}%{_libdir}/lib*.* \
    %{buildroot}%{_libdir}/dhcp/

++++++ 0006-dhcp-4.3.2-dhclient-send-hostname-or-fqdn.patch ++++++
--- /var/tmp/diff_new_pack.2FbyPs/_old  2021-02-16 22:40:08.717941981 +0100
+++ /var/tmp/diff_new_pack.2FbyPs/_new  2021-02-16 22:40:08.717941981 +0100
@@ -5,11 +5,11 @@
 
 Signed-off-by: Marius Tomaschewski <m...@suse.de>
 
-diff --git a/client/dhclient.8 b/client/dhclient.8
-index cf073b4..6c7296b 100644
---- a/client/dhclient.8
-+++ b/client/dhclient.8
-@@ -72,6 +72,10 @@ dhclient - Dynamic Host Configuration Protocol Client
+Index: dhcp-4.4.2/client/dhclient.8
+===================================================================
+--- dhcp-4.4.2.orig/client/dhclient.8
++++ dhcp-4.4.2/client/dhclient.8
+@@ -73,6 +73,10 @@ dhclient - Dynamic Host Configuration Pr
  .I LL|LLT
  ]
  [
@@ -20,7 +20,7 @@
  .B -p
  .I port-number
  ]
-@@ -340,6 +344,11 @@ transmits these messages to 255.255.255.255 (the IP 
limited broadcast
+@@ -353,6 +357,11 @@ transmits these messages to 255.255.255.
  address).  Overriding this is mostly useful for debugging purposes.  This
  feature is not supported in DHCPv6 (\fB-6\fR) mode.
  .TP
@@ -32,19 +32,19 @@
  .BI \-g \ relay
  .\" mockup relay
  Set the giaddr field of all packets to the \fIrelay\fR IP address
-diff --git a/client/dhclient.c b/client/dhclient.c
-index 2fb8de8..678379a 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -174,6 +174,7 @@ usage(const char *sfmt, const char *sarg)
- #else /* DHCPv6 */
-                 "[-I1dvrxi] [-nw] [-p <port>] [-D LL|LLT] \n"
- #endif /* DHCPv6 */
-+                "                [-H hostname]\n"
-                 "                [-s server-addr] [-cf config-file]\n"
-                 "                [-df duid-file] [-lf lease-file]\n"
-                 "                [-pf pid-file] [--no-pid] [-e VAR=val]\n"
-@@ -200,6 +201,7 @@ main(int argc, char **argv) {
+Index: dhcp-4.4.2/client/dhclient.c
+===================================================================
+--- dhcp-4.4.2.orig/client/dhclient.c
++++ dhcp-4.4.2/client/dhclient.c
+@@ -185,6 +185,7 @@ static const char use_v6command[] = "Com
+ #endif
+ 
+ #define DHCLIENT_USAGEC \
++"                [-H hostname]\n" \
+ "                [-s server-addr] [-cf config-file]\n" \
+ "                [-df duid-file] [-lf lease-file]\n" \
+ "                [-pf pid-file] [--no-pid] [-e VAR=val]\n" \
+@@ -235,6 +236,7 @@ main(int argc, char **argv) {
        int no_dhclient_db = 0;
        int no_dhclient_pid = 0;
        int no_dhclient_script = 0;
@@ -52,7 +52,7 @@
  #ifdef DHCPv6
        int local_family_set = 0;
  #ifdef DHCP4o6
-@@ -337,6 +339,24 @@ main(int argc, char **argv) {
+@@ -434,6 +436,24 @@ main(int argc, char **argv) {
                        if (++i == argc)
                                usage(use_noarg, argv[i-1]);
                        mockup_relay = argv[i];
@@ -77,7 +77,7 @@
                } else if (!strcmp(argv[i], "-nw")) {
                        nowait = 1;
                } else if (!strcmp(argv[i], "-n")) {
-@@ -630,6 +650,48 @@ main(int argc, char **argv) {
+@@ -759,6 +779,48 @@ main(int argc, char **argv) {
        /* Parse the dhclient.conf file. */
        read_client_conf();
  

++++++ 0009-dhcp-4.2.6-close-on-exec.patch ++++++
--- /var/tmp/diff_new_pack.2FbyPs/_old  2021-02-16 22:40:08.733942000 +0100
+++ /var/tmp/diff_new_pack.2FbyPs/_new  2021-02-16 22:40:08.733942000 +0100
@@ -8,9 +8,11 @@
 References: bnc#732910
 Signed-off-by: Marius Tomaschewski <m...@suse.de>
 
+Index: client/clparse.c
+===================================================================
 --- client/clparse.c.orig
 +++ client/clparse.c
-@@ -262,7 +262,7 @@ int read_client_conf_file (const char *n
+@@ -265,7 +265,7 @@ int read_client_conf_file (const char *n
        int token;
        isc_result_t status;
  
@@ -19,7 +21,7 @@
                return uerr2isc (errno);
  
        cfile = NULL;
-@@ -338,7 +338,7 @@ void read_client_leases ()
+@@ -341,7 +341,7 @@ void read_client_leases ()
  
        /* Open the lease file.   If we can't open it, just return -
           we can safely trust the server to remember our state. */
@@ -28,9 +30,11 @@
                return;
  
        cfile = NULL;
+Index: client/dhclient.c
+===================================================================
 --- client/dhclient.c.orig
 +++ client/dhclient.c
-@@ -565,7 +565,7 @@ main(int argc, char **argv) {
+@@ -683,7 +683,7 @@ main(int argc, char **argv) {
                long temp;
                int e;
  
@@ -39,7 +43,7 @@
                        e = fscanf(pidfd, "%ld\n", &temp);
                        oldpid = (pid_t)temp;
  
-@@ -3403,7 +3403,7 @@ void rewrite_client_leases ()
+@@ -3642,7 +3642,7 @@ void rewrite_client_leases ()
  
        if (leaseFile != NULL)
                fclose (leaseFile);
@@ -48,7 +52,7 @@
        if (leaseFile == NULL) {
                log_error ("can't create %s: %m", path_dhclient_db);
                return;
-@@ -3598,7 +3598,7 @@ write_duid(struct data_string *duid)
+@@ -3837,7 +3837,7 @@ write_duid(struct data_string *duid)
                return DHCP_R_INVALIDARG;
  
        if (leaseFile == NULL) {        /* XXX? */
@@ -57,7 +61,7 @@
                if (leaseFile == NULL) {
                        log_error("can't create %s: %m", path_dhclient_db);
                        return ISC_R_IOERROR;
-@@ -3643,7 +3643,7 @@ write_client6_lease(struct client_state
+@@ -3882,7 +3882,7 @@ write_client6_lease(struct client_state
                return DHCP_R_INVALIDARG;
  
        if (leaseFile == NULL) {        /* XXX? */
@@ -66,7 +70,7 @@
                if (leaseFile == NULL) {
                        log_error("can't create %s: %m", path_dhclient_db);
                        return ISC_R_IOERROR;
-@@ -3802,7 +3802,7 @@ int write_client_lease (client, lease, r
+@@ -4041,7 +4041,7 @@ int write_client_lease (client, lease, r
                return 1;
  
        if (leaseFile == NULL) {        /* XXX */
@@ -75,6 +79,8 @@
                if (leaseFile == NULL) {
                        log_error ("can't create %s: %m", path_dhclient_db);
                        return 0;
+Index: common/bpf.c
+===================================================================
 --- common/bpf.c.orig
 +++ common/bpf.c
 @@ -94,7 +94,7 @@ int if_register_bpf (info)
@@ -86,9 +92,11 @@
                if (sock < 0) {
                        if (errno == EBUSY) {
                                continue;
+Index: common/dlpi.c
+===================================================================
 --- common/dlpi.c.orig
 +++ common/dlpi.c
-@@ -813,7 +813,7 @@ dlpiopen(const char *ifname) {
+@@ -817,7 +817,7 @@ dlpiopen(const char *ifname) {
        }
        *dp = '\0';
        
@@ -97,6 +105,8 @@
  }
  
  /*
+Index: common/nit.c
+===================================================================
 --- common/nit.c.orig
 +++ common/nit.c
 @@ -75,7 +75,7 @@ int if_register_nit (info)
@@ -108,9 +118,11 @@
        if (sock < 0)
                log_fatal ("Can't open NIT device for %s: %m", info -> name);
  
+Index: common/resolv.c
+===================================================================
 --- common/resolv.c.orig
 +++ common/resolv.c
-@@ -44,7 +44,7 @@ void read_resolv_conf (parse_time)
+@@ -43,7 +43,7 @@ void read_resolv_conf (parse_time)
        struct domain_search_list *dp, *dl, *nd;
        isc_result_t status;
  
@@ -119,6 +131,8 @@
                log_error ("Can't open %s: %m", path_resolv_conf);
                return;
        }
+Index: common/upf.c
+===================================================================
 --- common/upf.c.orig
 +++ common/upf.c
 @@ -71,7 +71,7 @@ int if_register_upf (info)
@@ -130,9 +144,11 @@
                if (sock < 0) {
                        if (errno == EBUSY) {
                                continue;
+Index: omapip/trace.c
+===================================================================
 --- omapip/trace.c.orig
 +++ omapip/trace.c
-@@ -138,10 +138,10 @@ isc_result_t trace_begin (const char *fi
+@@ -136,10 +136,10 @@ isc_result_t trace_begin (const char *fi
                return DHCP_R_INVALIDARG;
        }
  
@@ -145,7 +161,7 @@
                                     0600);
        }
  
-@@ -429,7 +429,7 @@ void trace_file_replay (const char *file
+@@ -427,7 +427,7 @@ void trace_file_replay (const char *file
        isc_result_t result;
        int len;
  
@@ -154,10 +170,12 @@
        if (!traceinfile) {
                log_error("Can't open tracefile %s: %m", filename);
                return;
+Index: relay/dhcrelay.c
+===================================================================
 --- relay/dhcrelay.c.orig
 +++ relay/dhcrelay.c
-@@ -659,13 +659,14 @@ main(int argc, char **argv) {
- 
+@@ -783,13 +783,14 @@ main(int argc, char **argv) {
+               /* Create the pid file. */
                if (no_pid_file == ISC_FALSE) {
                        pfdesc = open(path_dhcrelay_pid,
 -                                    O_CREAT | O_TRUNC | O_WRONLY, 0644);
@@ -173,6 +191,8 @@
                                if (!pf)
                                        log_error("Can't fdopen %s: %m",
                                                  path_dhcrelay_pid);
+Index: server/confpars.c
+===================================================================
 --- server/confpars.c.orig
 +++ server/confpars.c
 @@ -118,7 +118,7 @@ isc_result_t read_conf_file (const char
@@ -184,18 +204,20 @@
                if (leasep) {
                        log_error ("Can't open lease database %s: %m --",
                                   path_dhcpd_db);
+Index: server/db.c
+===================================================================
 --- server/db.c.orig
 +++ server/db.c
-@@ -1081,7 +1081,7 @@ void db_startup (testp)
+@@ -1105,7 +1105,7 @@ void db_startup (int test_mode)
+       * Therefore, in test mode we need to point db_file to a disposable
+       * file to protect the original lease file. */
+       current_db_path = (test_mode ? "/dev/null" : path_dhcpd_db);
+-      db_file = fopen (current_db_path, "a");
++      db_file = fopen (current_db_path, "ae");
+       if (!db_file) {
+               log_fatal ("Can't open %s for append.", current_db_path);
        }
- #endif
-       if (!testp) {
--              db_file = fopen (path_dhcpd_db, "a");
-+              db_file = fopen (path_dhcpd_db, "ae");
-               if (!db_file)
-                       log_fatal ("Can't open %s for append.", path_dhcpd_db);
-               expire_all_pools ();
-@@ -1129,7 +1129,7 @@ int new_lease_file ()
+@@ -1154,7 +1154,7 @@ int new_lease_file (int test_mode)
                     path_dhcpd_db) >= sizeof newfname)
                log_fatal("new_lease_file: lease file path too long");
  
@@ -204,7 +226,7 @@
        if (db_fd < 0) {
                log_error ("Can't create new lease file: %m");
                return 0;
-@@ -1154,7 +1154,7 @@ int new_lease_file ()
+@@ -1179,7 +1179,7 @@ int new_lease_file (int test_mode)
        }
  #endif /* PARANOIA */
  
@@ -213,9 +235,11 @@
                log_error("Can't fdopen new lease file: %m");
                close(db_fd);
                goto fdfail;
+Index: server/dhcpd.c
+===================================================================
 --- server/dhcpd.c.orig
 +++ server/dhcpd.c
-@@ -760,7 +760,7 @@ main(int argc, char **argv) {
+@@ -880,7 +880,7 @@ main(int argc, char **argv) {
         */
        if ((lftest == 0) && (no_pid_file == ISC_FALSE)) {
                /*Read previous pid file. */
@@ -224,7 +248,7 @@
                        status = read(i, pbuf, (sizeof pbuf) - 1);
                        close(i);
                        if (status > 0) {
-@@ -878,7 +878,7 @@ main(int argc, char **argv) {
+@@ -990,7 +990,7 @@ main(int argc, char **argv) {
         * appropriate.
         */
        if (no_pid_file == ISC_FALSE) {
@@ -233,9 +257,11 @@
                if (i >= 0) {
                        sprintf(pbuf, "%d\n", (int) getpid());
                        IGNORE_RET(write(i, pbuf, strlen(pbuf)));
+Index: server/ldap.c
+===================================================================
 --- server/ldap.c.orig
 +++ server/ldap.c
-@@ -1446,7 +1446,7 @@ ldap_start (void)
+@@ -1447,7 +1447,7 @@ ldap_start (void)
  
    if (ldap_debug_file != NULL && ldap_debug_fd == -1)
      {

++++++ 0016-infiniband-support.patch ++++++
++++ 610 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/dhcp/0016-infiniband-support.patch
++++ and 
/work/SRC/openSUSE:Factory/.dhcp.new.28504/0016-infiniband-support.patch

++++++ 0018-client-fail-on-script-pre-init-error-bsc-912098.patch ++++++
--- /var/tmp/diff_new_pack.2FbyPs/_old  2021-02-16 22:40:08.769942043 +0100
+++ /var/tmp/diff_new_pack.2FbyPs/_new  2021-02-16 22:40:08.769942043 +0100
@@ -4,11 +4,11 @@
 Subject: [PATCH] client: fail on script pre-init error (bsc#912098)
 References: bsc#912098
 
-diff --git a/client/dhclient.c b/client/dhclient.c
-index b438629..82d6ed5 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -632,7 +632,8 @@ main(int argc, char **argv) {
+Index: dhcp-4.4.2/client/dhclient.c
+===================================================================
+--- dhcp-4.4.2.orig/client/dhclient.c
++++ dhcp-4.4.2/client/dhclient.c
+@@ -882,7 +882,8 @@ main(int argc, char **argv) {
                 * in case somebody cares.
                 */
                script_init(NULL, "NBI", NULL);
@@ -18,8 +18,8 @@
  
                /*
                 * If we haven't been asked to persist, waiting for new
-@@ -644,6 +645,8 @@ main(int argc, char **argv) {
-                       exit(0);
+@@ -894,6 +895,8 @@ main(int argc, char **argv) {
+                       finish(0);
                }
        } else if (!release_mode && !exit_mode) {
 +              unsigned int failed = 0;
@@ -27,7 +27,7 @@
                /* Call the script with the list of interfaces. */
                for (ip = interfaces; ip; ip = ip->next) {
                        /*
-@@ -665,7 +668,16 @@ main(int argc, char **argv) {
+@@ -915,7 +918,16 @@ main(int argc, char **argv) {
                                                            "alias_",
                                                            ip->client->alias);
                        }
@@ -45,6 +45,3 @@
                }
        }
  
--- 
-2.1.4
-

++++++ 0021-dhcp-ip-family-symlinks.patch ++++++
--- /var/tmp/diff_new_pack.2FbyPs/_old  2021-02-16 22:40:08.785942062 +0100
+++ /var/tmp/diff_new_pack.2FbyPs/_new  2021-02-16 22:40:08.789942067 +0100
@@ -1,26 +1,31 @@
+Index: client/dhclient.c
+===================================================================
 --- client/dhclient.c.orig
 +++ client/dhclient.c
-@@ -252,6 +252,17 @@ main(int argc, char **argv) {
+@@ -284,6 +284,18 @@ main(int argc, char **argv) {
+ #else
        progname = argv[0];
  #endif
- 
++
 +#ifdef DHCPv6
-+      /* Support being called using `dhclient4` or `dhclient6` symlinks */
-+      if (argv[0][strlen(argv[0]) - 1] == '4') {
-+              local_family_set = 1;
-+              local_family = AF_INET;
-+      } else if (argv[0][strlen(argv[0]) - 1] == '6') {
-+              local_family_set = 1;
-+              local_family = AF_INET6;
-+      }
++       /* Support being called using `dhclient4` or `dhclient6` symlinks */
++       if (argv[0][strlen(argv[0]) - 1] == '4') {
++               local_family_set = 1;
++               local_family = AF_INET;
++       } else if (argv[0][strlen(argv[0]) - 1] == '6') {
++               local_family_set = 1;
++               local_family = AF_INET6;
++       }
 +#endif /* DHCPv6 */
 +
        /* Initialize client globals. */
        memset(&default_duid, 0, sizeof(default_duid));
  
+Index: relay/dhcrelay.c
+===================================================================
 --- relay/dhcrelay.c.orig
 +++ relay/dhcrelay.c
-@@ -237,6 +237,17 @@ main(int argc, char **argv) {
+@@ -300,6 +300,17 @@ main(int argc, char **argv) {
        progname = argv[0];
  #endif
  
@@ -38,9 +43,11 @@
        /* Make sure that file descriptors 0(stdin), 1,(stdout), and
           2(stderr) are open. To do this, we assume that when we
           open a file the lowest available file descriptor is used. */
+Index: server/dhcpd.c
+===================================================================
 --- server/dhcpd.c.orig
 +++ server/dhcpd.c
-@@ -260,6 +260,17 @@ main(int argc, char **argv) {
+@@ -301,6 +301,17 @@ main(int argc, char **argv) {
        progname = argv[0];
  #endif
  

++++++ dhcp-4.3.6-P1.tar.gz -> dhcp-4.4.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/dhcp/dhcp-4.3.6-P1.tar.gz 
/work/SRC/openSUSE:Factory/.dhcp.new.28504/dhcp-4.4.2.tar.gz differ: char 5, 
line 1

++++++ dhcp.keyring ++++++
--- /var/tmp/diff_new_pack.2FbyPs/_old  2021-02-16 22:40:08.909942210 +0100
+++ /var/tmp/diff_new_pack.2FbyPs/_new  2021-02-16 22:40:08.917942220 +0100
@@ -1,152 +1,252 @@
 -----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: GPGTools - http://gpgtools.org
 
-mQINBFf1aL4BEADaw6pPFCoWEtbcGEbfFRsCxEK2PDjzG7+PWTDUpdJgzMvHKvWU
-BkKKpxxkWk6+irY4fZnaRkXKR6ggkTDRXucpssayXt95ZXdniOWGOuEGvGmIcif9
-klfvDLxK3dq1WrsRGs35FE4puxldS0RAS8dcRlq0bqMpnaSPxay8bdvQF8v5syIF
-vW2ySfT21e1YgaMdSCu92kmg7lzrPccKFNuX3xkosGIglnoVcjpXqsZEIZjj6YAw
-cZiEGB1Lxc88WjWbhrct0S1Z4zITapRAFdY65i1POmHmcyqEDlhYvbPIfk99PUvB
-o6SbvE5IGChc+O5cqwp9i8sTw/ABewUkv2rcRfjaehQzIm6HHq3lX+ukqinic1fc
-+FsZnQNQXUoh9z3InKPzWkxOcc1DiXkMcXUdxSi7C0zghR/tFKTLHeTOxj8j6oaX
-DfWpdhBfFch2ogVQXZMyPaQxuObtG9aVffbpQsTHzAitz5/M7lXj2044DE8p9gcq
-ORMZnqAE/uVuYvGzdQZJEx8pDma4Aegx/Nn0Wpv19U2zw2dfGon3Ckrdi8G77K10
-5++BB0ZFDia93kkEodcyJtdLMhFSxXV2XMMN8frO4jhHq86lnG71kbb5Y2ZdrkXz
-BCGo6sVMVqWWEXUp4COfgEboeDneLUTlVLFQbgqpgWCCFZKz/k0hQpZbOQARAQAB
+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
-LCAyMDE3LTIwMTgpIDxjb2Rlc2lnbkBpc2Mub3JnPokCPwQTAQgAKQUCV/VovgIb
-AwUJBF9JgAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEPGxG/Bc8C5XwvEP
-/jRPx7GaTG4PqXiNptV36r1q+Eg92oRozUqNcuhN/l09gThyClfQylsEhZBcTT3I
-VAjqqqAott5XNqw8pyPjERMFnqal0zBMZTln9RLkLnvoWQrHnEzG3CJ9Ndkk7niM
-DOpRI71h8+nMl7YbkXOy87qamvoZ2BQZcdL+a8R5p733JaPMDUy5leZKNiywThQQ
-iEtpWuz5u+zoALP5EKedPKCr0+xfGTUS5qptR2nHnRXnZouPfbQWKyEWtC3Qbiu+
-0ir9e2/4pp725g+os8TDCyzfRDLgD1cbxPrObwDAiw1B8KrL5l9WD70vfYpyMuvj
-aUVkNbL5kFEuKKOrQSxyehyR8pgUyUnYUejmSdXDg/BmOpXr6gscnRDpq7Th6yew
-85Dy5ntYHVAO2Qq6Iafnsun0/i1g0Wlv+OEbN+YIXTMbweCt5qddC1ak6I0WomiP
-Frh8a2EeFrpRGEsKR9aFxUb+HdobclBMV4T2siewcW12W+MWnvRzVcMxFs/Yf1Wi
-4DTb0sAztpftYk3vOVFkhIlTtgp0u9GPkSgCwIeW1ZCVMnxaWMfzDvzjt0cp09MQ
-a6MBwIoKPLIRwVOzoyIhS9PrI26e/hdcQPaJo6ESYbJGT64lTbkVoaWkKKbJbJrG
-gTnIzoxDL7l9rlYGOy3G1M6jZvT8uFanMM9vl22QfT5nuQINBFf1aL4BEADuNlry
-8PqyjDsl/olp5bUc3Y97jKyHAYNghg0VrwwoKtaGGieWXaV7HtUslmtmUlj7L8Dy
-zvBvOlmKZwGnAEA6UJSHEY+VbYzjxKaPzTHtWJpZtfskZkyCQeYy7yChxk500khU
-8wNP5+zdkFU+d95jlj0Q26KS/ZLnK/0wZoSzGRNV2+CeTlPztPuzotcpY5eg/7X0
-D/ie8WE7BOK2BoxNWHvmpmHjeAoW5asBlJ6Hyd7ON0tbP8+ieHbcAxapkr9IEr12
-+/RPhmurAwRT1W3XNKPbqHhEMmanpjv9QFZnzhusPumebS9F3S3IdSPHnZZsCupV
-5Ve7d6zqvbdb0f/nE/7tR+7jEFNe491kJUnzXTN7rKfjJkIVkxlYDkDH8K2r7kNb
-Ckds2sRN+w8/v8REJkA31FGhf2oO6mgV+Na3NpYtSN8tS2x9oC5cMteElvnBxoDf
-E0YUHSv5Ny5sGjjW/+RHqq1VxqKBHYbblQpfR1OsEsWzRWJ4R5F8Sum8k9XfRAdq
-T04gE9DlmGsg4ZNn4d1R+SvXaojIRhzOrFu2thEvQJp1cYMjM9CSIU+q3021E+li
-ED7zg5d5D19l2iVAmJkXfKsFdv4mHS1OM/IDgtu0vg7g4qRRB4oGQRlSl288Elpu
-wo/mO1LXwyqk6oH3pZB+Fu7axo1xN5EPvYZrFwARAQABiQIlBBgBCAAPBQJX9Wi+
-AhsMBQkEX0mAAAoJEPGxG/Bc8C5Xys8QAK+Zf+5dONEeAjc5+qT4BxKrB9H1czGd
-X2IgjsBrMDCHZCFRfvUhMG905b1ibO16xwgEw/VrXwJQujWSKc4uLHuKF9SNdwp/
-oBUpyltHm0ZUVJzpnQpLuNowYc2hKULRSRKjURkBw5n0gK+OmvCA2uRHERBdUokJ
-mVrajTIVtYOuqzMvRUYgObo1EAi0LLwloCIDZl7y/WeAJM/4scvfRRPvZ2zCmn7Q
-kKZxae1nWKRCiSuZdVV9E05sOC0c2P4EA+pqaXyHLkZ2/XOHL0eVeks7zl7qp4yB
-WaZfmU/h3SBPvxhk0IQr+PZ0Nkzq+gqV0azh6Oy6a5Sz1OhJtxdax9h9WwO1KcBR
-a6IC8UOtbGHuHa0TGKt7/3Y+W53zZgyJ1rK9QbJMVSnNzFcaWpsKewJk0iNSMLSp
-lrEUPaNdGULGfxG1Hx1jRCadTWsbqHRtpkM+fSaAfdMKlPEIlzegD+mXKWLoZ+D5
-WyFgoNxnUV1SWYh/H+1nKAIAE9FsqIHYM2vlLhV3lVhkUZRH+EC+tWgTR/9fltxF
-q+51plQhtod1i5Zk/WAioWnma45K4Onvd12sh0RsQh5LUl8NzL6M8IV+XbDpO45F
-JqFQTqHt7B/HcxEICgdWTISBQDVdH7shzk3iZ2ir/2UFWTmgmbny4m0BZuASzmnm
-TLm3Bfj8ss6qmQENBFR9szQBCADAwiKoEyFh32NHLc+c1vGgZ2lDKvXd7MoZZAOM
-2NUJkaDqt+Xy537ycGmZRqukpGUsa0fDeqjOq+l4paX3QnW1DEs8ypnWi5Zme4lY
-HysmNeG33iheSMeGRbnZi+9VTho3NGv3iM9gtRMDXTB5wi7OCu0XNypUtR2afP9F
-9EgRs4nJ5iMzo5c1y0wH4y+lJ33NCHZDj8ditl64yMbuVlZOD3UxoQqw/8E6T4rH
-ly64g9s6Ld7oYybSN/hKIXFZRqrTebEd2LwZqGhPQIgYDUdumwvtw6jfrosbMOx0
-tan3esnxlptlfbkmOsoi8pPJqlo2VtLBx9XN53ZFMqc/Pj3tABEBAAG0TUludGVy
-bmV0IFN5c3RlbXMgQ29uc29ydGl1bSwgSW5jLiAoU2lnbmluZyBrZXksIDIwMTUt
-MjAxNikgPGNvZGVzaWduQGlzYy5vcmc+iEYEEBECAAYFAlSqwTUACgkQs9Bv5D4Y
-wC2XOwCgyzqRPw321UGSlg8BsLTL30oIp5sAnj0V/+8utHZDkXfCAVdaIIQNJmD/
-iEYEEBECAAYFAlSrw4MACgkQEKO5buIYjAZGywCfbu462hUgo3zPQHOm8Wo266j8
-qWUAni78PlKHBZ28H2Rjq+KhVJ45nZhHiEYEEBECAAYFAlTrQigACgkQi9gubzC5
-S1wIQQCgieUn67RR0OpW6y7mAYDbI0tsZgoAoIcrlgiZcRUQWEuguOXdkR/6oUtr
-iQEcBBABAgAGBQJUrXNsAAoJEJbpllA5TJms5wcH/1Czp5cpkrxV/ONDuL5goYd/
-UpNS7P/VlowYS3uMUe0BEW5JSp0dzgqfBMQUe53cH+N6wFex23QlJbCM4S1fEuol
-MWI1X7f8KJtp8vMUTR9DgMINVM5Kw+YeM7ud8RLOe4qBOcyPUDYK6xr4wxA4zuDQ
-qAxqjJHlEx7g19ED9yJX5JZ98FmsPS0rsA3h3LvkfFpIUuhTM3+uPSuktZNwjQtD
-Ps8VQmydUtgBRToA/KJQfTibufUrzRwI73HakPUH/pwj7Ynkfy2YkKRpW30RtDyG
-Zt3hOMNBIHPz57iFXLg4d7y8ZtgVOdcOGSsc9CYBwZxoAWrcv5r30RIW49fBmwOJ
-ARwEEAECAAYFAlStdBoACgkQvZfcY57oxHv+JwgAiO39F3dFN5z3JA/rlw8j43iM
-YkBKfOjFeJTvmp05gv8zgNiqlLHerEVC88HfJdeVWKV6r8bnzOmFtRR44Sjzg4/W
-zz9J2x0Y3p+s54xrNrJi4zGUbwFCqFznkOntcrHlAIGt9Q6Ks9ztcxBiAqtLAj6+
-XlU0IXVX5YymdusqYo3qkWm+HNxhYsf7JJMyGzsGuOsL9eV/+jplreVrIprdcxJD
-TUx4pUuGjJgnQqXhl+O6vpS3qV54ASW74VtJaniVhQ6+vTjWxRFnJQia2jZiFg/u
-5hawb53CcQatjSB886HKlb2xMbeF8T+jZOGiIIjQd5Vf6xeyKN0uNXTkiOBzu4kB
-HAQQAQIABgUCVK2fAAAKCRBFrHhXGJzbxYefB/0cNKb+GkiapChQ4mKInw7ozm4K
-mqrrGMWpddY5VY7nHuSfLCOpnFLFby6lyVNzTwjMWwDVs24GR22CZ9pYJm2uT4PO
-xYEfgYOW3dRUlW16fJ6dk/4qHJXqTrSHn/4BZDUwQpH2z15rl6RZQSOB1QrkAjiY
-2lsdpCIxxy/dwoltpsf1uYUJ40nXjzZnFXKmu5INc9ryBLCGTzNq86b1MWLqmXdy
-iWJOvho8SDEFFGQi0JJuXOTk6EJvhM90ofsrdchubf60RiwbD9n8EJw63Z7lNHvM
-aNfyriP+nRibFQUW7wSZBOZaBgVxEr3PcQBvmbXarw1MlROEbcKMZi9zf2sSiQEc
-BBABAgAGBQJU45s8AAoJEDp7U4zJG4K/oC0IAIqu8yhL2Omyw7qkFt+N8ByKvk/5
-T3UBQ3kf0JmQTEU12ZpZFkQNxmTZ+nwJG2I1qxpSj8NnmLQVktFj9i8Eb65q0zqe
-hgqCo8XRlAgO/7X8pcrZU21a9u0eoCT6DGUfvIcYo+dqiMV+VC31YMfQyGoJxueX
-QpTnjGAx46iJPLjgehlU3GY4ZfWnGr8azez5Tkq+0hxGGVJgsLGzNYQVZjdL6JpV
-A8NMgvs2N4/aaAm5m83scYVdenIF+Fr3uCjjJnYiUn2gGAuXc/IAP67jbtrR5tNA
-Phs8BrZhJzxNyAdsZgxOZMe/Juqxe2nSZUYS+jXjPsZ/p/pO4dOCF5WVBgCJAT0E
-EwECACgFAlR9szQCGwMFCQQS0oAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJ
-EG+m68mRGkwCEPcH+KnXyRBITj/9i3xUwXqRyINtwJAA7DLjn/V+tlpf3BLmuL+l
-0fEHS/DhLCukmAkSQsYbSwTNHBLztB4UK0YOEjAn/7klfqKfRwn6GvYbsMlSlWAq
-ndjyURndyH6ABneTjm7POg5NPi2bq5daWQ6eU8mNRvWz1tXMv3NSwntdpXnHhpHc
-HDnf+LMkQhrFYePUISMDNELvA9Cmj8Qr59bMUF96dIIEkS9bW+Sia1vWMx2P66Gh
-3UvMV1cd1CMMJIqf8aWmf9hxn38uSJRLA0tOkvgLENsSKzhBY0Od0BH+71EQLXMN
-b/FAQLdTGwHTpmb01paMAfLyzSs6KGCh61quhokCHAQQAQoABgUCVK1/PAAKCRBX
-QSctAwfif73dEAC0v76ioGt7g7uwXDeuF2RDio2Pwn6mqrzgU6BnqwX8u8qUEWFW
-uhJmQstEaRk4+vLso2lLad/5DEjany+TqRwyA4GR6Q9krQ4mpMzaVLtLIXDDQGzk
-LjHvERjlsy5xeXHhooUhGe98R+8oyS0ykliiZd/aR+tGOZRPJmK/0zZ29aNi2n87
-oJwN4h6c/Gieoa2dO4iwnKbbIof+PXAhHczNAvV0ufhgXDbuf4ZjbuGbOVJzM2ej
-4iLnHpqAiqHvZviVZdcs+9mBc+rrk6DJ03uVNakrLApykRxHoBSkbIhzoiBPT8vE
-9QMZCIZLWkWWZ791LKWCK4JuPP6iHNmmWacZwvRHOyXRTjWX4qBaVRugaIfETdVP
-y0tmwooTR7KLQwcjFlm5P20x+WoWC/EgcfXs1PvG6hLDc62HsqCgt9mykk4Ud/V9
-QFigaZCQf4sI5GuRr/jD24fzN1b0BVV0Df3tqQ9JbymKo0EBESZuYrA/RIM9oH4f
-E0PLSAEbcm2Ef/kBbicLYrIWxgxcCKA0xoQ737bPPLE7EM8HJYMBZaUZl8eqXTau
-TxNBU9c6UhDVjhyViTcBv+cIYbIo+c6khSL64FPT32zDaDYR/0AUn6+u+JSVXjvx
-Wl0oPMHOAOOtgKSXBOUwZC6r9vgBWH67kKPYr0ZGnhVN5lbfRfdmYgXOi4kCIgQQ
-AQoADAUCVUg3zQWDA0hN5wAKCRAfRF6wIguS7NiaD/9nVUAIXSZx8xq2Lo37E6je
-1APbdSAT/K2TdLTMJsugzORVj4LVaSE4lOskMa3g8ffMdAnfGhEB5uLG9THDxOsv
-Q0ipdNdTr2hdpbo0v9J63H44LEaqKppOV3eHOJYXnfWI6Armv31cUGAuJkI1GZUI
-InL9jE80Ky/zYmkdSQwogPiSjb7i3ftS0QI7MR/hgJWz7vYLZ7o+Sqyse3PKl9Bw
-6SVL9oy05u/Kx9nih5nh4mYWokfY3cEKVV9mhlTApkCgRqPWPVLN4/FfgoPIzKVG
-71wAVgkNwuZOAJH6+nNSV/N/nITyqLz0ddt4qxGtepZ+6P3FF7Qi4UNSGnhyHBbB
-kMbG3rRvo0VSgxWBUJQz3GAZjkS/YwGzR4F4P+IlFzj+1iKxke6vjGnXN06FzpsS
-YJ46j9EOk/+j2K1ir/pUn7hF4QeLUCnxQL785kUiKg2+8KWkM6hGawUsvH9TqAfq
-Cp8Mu4YDGXG0KoBMeD7h6N9DZYGGk/kqbFhitnKZ2VanheaI6wFCjTCwDAnySfib
-+i1uKxaeddmSLMYiFlGz0E1pwjgALQF+qm6XHn6yD/vFLj/kiP1BtjY9dUTb6Yg3
-W01CyBOeFA/iSGZzWPgsbghlM7DJ16Jxq/Ij3M/7wfg6TiBgJoXLk7YXyWzGf2l2
-JI1kkLlZDCV7vAwC5+7ORIkCNwQQAQoAIQUCVp2NngMFATwWhjxbXj5dK1tALl1p
-c2NcLm9yZz4kAAAKCRCVthgbLTPp7OCdD/9fQ3sqawQmdWoU9+MQZQ+lvirre8k7
-L0oSsoQGcjAn5VDD047dwyXsnQkEdQFBM0VSYYHTAuVYBd1CmqILcaiwzWpaOrvk
-Fvxe3IqUhdyP/KNzmUaVvVR/qnujD1Wn8PwDAD+KwZnL0DApqo53tQfsuzeMjiZw
-JI5+VFVUPWiYEbTOwZxUIfVGxhEQoRC6zR9CeJqdXIwKBLh22xBgfNrsNPF/UaEV
-Wdf5eLIbgsTicPLOTbs8rz3cXCskd6J68Zk4S1chmZLx8sqVFYl0Eh6TZXpWOVqp
-MUXYq9iZ5ir0csTNoLuCpLgunyUpTMbXixoCMDrDsX3Xgxl235JPpVTHiFRJmZz2
-Grvs+IIHUodCuCtYISvBE97mv4QAtvAz4ZM5Tdv+ka57n4bKN878iKy3wKzcQ2dS
-EAdcyXiCTRPz9w/C+IfSdZ/agWEyESSj3D6k5Wa0b7bzBttpx4dSsAOB2MV4i2mQ
-a95uEGqv00SokyITYi031BbpDy9xZdp/O7XxqlWpIf2qrNg+AoedfFyEeg//+3Op
-iAKHCYojoG7q2qgcLVq98acxiyx9qs02d8gErEANMF2IOohJtlm34w1KXCqe9x9F
-UMjb8+PksnoQrzPPSJJuzn+7PmtbUiVjvK3SoEOPtxYYxxUOuNv8VjOroJ7ea9RV
-pK/E+8aGMKRLZrkBDQRUfbM0AQgAreBuzWxpZYdYbGw+6E5/7HXyDT/43t/h9kTt
-NN6082F06BjQsbG6X1UdGhmC89ueb4FmZmFgYyv+haVMS4X6xr8OvxIqpUONgiPS
-o7OKYwtiBophXxJDwuFQW1RCOblXkn8VD3s3M7Z8+AQijslshWuGw8Saz7WCX3Jq
-cpb/4dSi+XspTI1Gi99ol2k7i7K5j0IbPzvkOoTf0SF+UFY33pukJSan079VCzh4
-lOnqmS/YSQxVwRp20VcBUWVIV785R3zeBtVcz00JF9j3xkloHY6cjX+VTw6iZ0c6
-37PqHtt20L/DjaqyMGa77LYW2HhZfM93tZt+9V2UyNsEdkufwQARAQABiQElBBgB
-AgAPBQJUfbM0AhsMBQkEEtKAAAoJEG+m68mRGkwCERcH/Rer02pHu+BJlN53t6xI
-xao4tZmWgp2PHKzcED2HcRcKQXqAx0Thvo6QhQfRXZoUJgldmbIWiXS2rnRoRMPr
-ZoKAI5W3GWTHlUe1MuX9PVV6d/1MMhKISYMEj7cMOqMDdg4fzoWqXsmr4QxnHh7Y
-vnQ9ZbJFHcvOOnpMV71eHiupAmgjQ4G0vJfXc1978CvhnzkNfo7Wy/8IzRpaR8Zt
-0wB54esNVEpqtodQvLJfiR+76ZmPwC2HEylUPJoeKX1YJfW7Aaj7quSK4Ay9RFuf
-TmHkL3a3ZBRAkTWu8EqnMsQFbypCrl+ij7zIcdanO57iLiva4Qnf4UtSyO2VT7cX
-4+qJAjcEEAEKACEFAladjZ4DBQE8FoY8W14+XStbQC5daXNjXC5vcmc+JAAACgkQ
-lbYYGy0z6ezgnQ//X0N7KmsEJnVqFPfjEGUPpb4q63vJOy9KErKEBnIwJ+VQw9OO
-3cMl7J0JBHUBQTNFUmGB0wLlWAXdQpqiC3GosM1qWjq75Bb8XtyKlIXcj/yjc5lG
-lb1Uf6p7ow9Vp/D8AwA/isGZy9AwKaqOd7UH7Ls3jI4mcCSOflRVVD1omBG0zsGc
-VCH1RsYREKEQus0fQnianVyMCgS4dtsQYHza7DTxf1GhFVnX+XiyG4LE4nDyzk27
-PK893FwrJHeievGZOEtXIZmS8fLKlRWJdBIek2V6VjlaqTFF2KvYmeYq9HLEzaC7
-gqS4Lp8lKUzG14saAjA6w7F914MZdt+ST6VUx4hUSZmc9hq77PiCB1KHQrgrWCEr
-wRPe5r+EALbwM+GTOU3b/pGue5+GyjfO/Iist8Cs3ENnUhAHXMl4gk0T8/cPwviH
-0nWf2oFhMhEko9w+pOVmtG+28wbbaceHUrADgdjFeItpkGvebhBqr9NEqJMiE2It
-N9QW6Q8vcWXafzu18apVqSH9qqzYPgKHnXxchHoP//tzqYgChwmKI6Bu6tqoHC1a
-vfGnMYssfarNNnfIBKxADTBdiDqISbZZt+MNSlwqnvcfRVDI2/Pj5LJ6EK8zz0iS
-bs5/uz5rW1IlY7yt0qBDj7cWGMcVDrjb/FYzq6Ce3mvUVaSvxPvGhjCkS2Y=
-=E+8v
+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
+=MkGo
 -----END PGP PUBLIC KEY BLOCK-----

Reply via email to