<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/921298a6b725daa2b5d0e24c9a264a2b9926ec00">https://github.com/macports/macports-ports/commit/921298a6b725daa2b5d0e24c9a264a2b9926ec00</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 921298a6b72 lsh: remove obsolete port
</span>921298a6b72 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 921298a6b725daa2b5d0e24c9a264a2b9926ec00
</span>Author: Perry E. Metzger <perry@piermont.com>
AuthorDate: Thu Jun 27 11:51:35 2024 -0400

<span style='display:block; white-space:pre;color:#404040;'>    lsh: remove obsolete port
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    lsh was an ssh implementation that has not been maintained by upstream
</span><span style='display:block; white-space:pre;color:#404040;'>    for many years. It has numerous security vulnerabilities, has not
</span><span style='display:block; white-space:pre;color:#404040;'>    built in years in MacPorts, and nothing depends on it.
</span>---
 net/lsh/Portfile                          |  88 --------
 net/lsh/files/configure-CC.patch          |  60 ------
 net/lsh/files/configure-paths.patch       |  25 ---
 net/lsh/files/missing-include.patch       |  11 -
 net/lsh/files/nettle3.4.patch             |  29 ---
 net/lsh/files/nettle3.patch               | 338 ------------------------------
 net/lsh/files/patch-argp-fmtstream.h.diff |  11 -
 net/lsh/files/patch-src-unix_user.c.diff  |  16 --
 net/lsh/files/strndup.patch               |  26 ---
 9 files changed, 604 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lsh/Portfile b/net/lsh/Portfile
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6144f7f8418..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lsh/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,88 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem  1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name                lsh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             2.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  ce1a67851bb860de5ab7f4ae0d6c6a36fdcc8c2b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  8bbf94b1aa77a02cac1a10350aac599b7aedda61881db16606debeef7ef212e3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    1540150
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories          net
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license             GPL-2+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts           openssh pkixssh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description         A GNU implementation of the Secure Shell protocols
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lsh is a free implementation (in the GNU sense) of the ssh \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version 2 protocol, currently being standardised by the IETF SECSH \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-working group
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            http://www.lysator.liu.se/~nisse/lsh/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        http://www.lysator.liu.se/~nisse/archive/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:gmp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:liboop \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:nettle \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:readline \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:tcp_wrappers \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:xauth \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:xorg-libXau \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          configure-CC.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    configure-paths.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    missing-include.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    nettle3.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    nettle3.4.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-argp-fmtstream.h.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    strndup.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args      --disable-datafellows-workarounds \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --disable-gss \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --disable-kerberos \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --disable-srp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-include-path=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-lib-path=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-pam \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-tcpwrappers \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-x \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --without-system-argp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --x-includes=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --x-libraries=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.env-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    XAUTH_PROGRAM=${prefix}/bin/xauth
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Before Snow Leopard, pam_appl.h was in /usr/include/pam instead of /usr/include/security.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set paminclude ${workpath}/paminclude
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            file mkdir ${paminclude}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ln -s /usr/include/pam ${paminclude}/security
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.cppflags-prepend \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -I${paminclude}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-src-unix_user.c.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # fix time stamps
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        touch ${worksrcpath}/src/unix_user.c.x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    notes-append {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        Additionally, for PAM, you need to copy /etc/pam.d/sshd to\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        /etc/pam.d/lshd, or use another config with pam_securityserver.so.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     ${name}-(\[0-9.\]+)${extract.suffix}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lsh/files/configure-CC.patch b/net/lsh/files/configure-CC.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 023c081044a..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lsh/files/configure-CC.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,60 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fix "No such file or directory" when $CC contains multiple words, such as when
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-ccache is used.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.orig 2013-06-26 06:01:23.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure      2018-11-01 17:45:26.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9906,13 +9906,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set these flags *last*, or else the test programs won't compile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test x$GCC = xyes ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if $CC --version | grep '^2\.96$' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CFLAGS="$CFLAGS -ggdb3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   # FIXME: It would be better to actually test if this option works and/or is needed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if "$CC" --version | grep 'gcc.* 4\.' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if $CC --version | grep 'gcc.* 4\.' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CFLAGS="$CFLAGS -Wno-pointer-sign"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   CFLAGS="$CFLAGS -Wall -W \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/argp/configure.orig        2013-06-15 09:04:59.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/argp/configure     2018-11-01 17:45:26.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5767,7 +5767,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set these flags *last*, or else the test programs won't compile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test x$GCC = xyes ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if $CC --version | grep '^2\.96$' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CFLAGS="$CFLAGS -ggdb3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/sftp/configure.orig        2013-06-26 06:01:54.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/sftp/configure     2018-11-01 17:45:26.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6252,7 +6252,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set these flags *last*, or else the test programs won't compile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test x$GCC = xyes ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if $CC --version | grep '^2\.96$' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CFLAGS="$CFLAGS -ggdb3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/spki/configure.orig        2013-06-15 09:05:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/spki/configure     2018-11-01 17:45:26.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5255,13 +5255,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set these flags *last*, or else the test programs won't compile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test x$GCC = xyes ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if $CC --version | grep '^2\.96$' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CFLAGS="$CFLAGS -ggdb3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   # FIXME: It would be better to actually test if this option works and/or is needed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if "$CC" --version | grep 'gcc.* 4\.' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if $CC --version | grep 'gcc.* 4\.' 1>/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CFLAGS="$CFLAGS -Wno-pointer-sign"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   CFLAGS="$CFLAGS -Wall -W \
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lsh/files/configure-paths.patch b/net/lsh/files/configure-paths.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 14fb8a38ac5..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lsh/files/configure-paths.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,25 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Do not look for files in all these paths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.orig 2013-06-26 06:01:23.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure      2018-11-01 18:08:57.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4787,8 +4787,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for d in `echo $with_lib_path | sed 's/:/ /g'` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     `echo $exec_prefix | sed "s@^NONE@$prefix/lib@g" | sed "s@^NONE@$ac_default_prefix/lib@g"` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /usr/local/lib /sw/local/lib /sw/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /usr/gnu/lib /opt/gnu/lib /sw/gnu/lib /usr/freeware/lib /usr/pkg/lib ; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking $d" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo_n "checking $d... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_exists=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/spki/configure.orig        2013-06-15 09:05:11.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/spki/configure     2018-11-01 18:08:58.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2915,8 +2915,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for d in `echo $with_lib_path | sed 's/:/ /g'` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     `echo $exec_prefix | sed "s@^NONE@$prefix/lib@g" | sed "s@^NONE@$ac_default_prefix/lib@g"` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /usr/local/lib /sw/local/lib /sw/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /usr/gnu/lib /opt/gnu/lib /sw/gnu/lib /usr/freeware/lib /usr/pkg/lib ; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking $d" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo_n "checking $d... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_exists=no
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lsh/files/missing-include.patch b/net/lsh/files/missing-include.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 2185128c714..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lsh/files/missing-include.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://sources.debian.org/patches/lsh-utils/2.1-12/missing_include.patch/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/io_commands.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/io_commands.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,6 +36,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "command.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "connection.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* For lsh_get_cstring */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "lsh_string.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "format.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "io.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "queue.h"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lsh/files/nettle3.4.patch b/net/lsh/files/nettle3.4.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 441e4365bf1..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lsh/files/nettle3.4.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,29 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://sources.debian.org/patches/lsh-utils/2.1-12/nettle3.4.patch/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/dummy.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/dummy.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -113,14 +113,14 @@ base64_encode_init(struct base64_encode_ctx *ctx UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- base64_encode_update(struct base64_encode_ctx *ctx UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--               uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+               char *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                size_t length UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                const uint8_t *src UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- base64_encode_final(struct base64_encode_ctx *ctx UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--              uint8_t *dst UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+              char *dst UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -132,7 +132,7 @@ base64_decode_update(struct base64_decode_ctx *ctx UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                size_t *dst_length UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                size_t src_length UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--               const uint8_t *src UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+               const char *src UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lsh/files/nettle3.patch b/net/lsh/files/nettle3.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index cbd1eea3470..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lsh/files/nettle3.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,338 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://sources.debian.org/patches/lsh-utils/2.1-12/nettle3.patch/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/spki/verify.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/spki/verify.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,7 +25,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <nettle/bignum.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <nettle/dsa.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <nettle/dsa-compat.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <nettle/rsa.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "certificate.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -74,7 +74,7 @@ spki_verify_dsa(const uint8_t *digest,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   dsa_public_key_init(&dsa);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   dsa_signature_init(&rs);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  res = (dsa_keypair_from_sexp_alist(&dsa, NULL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  res = (dsa_keypair_from_sexp_alist((struct dsa_params *)&dsa, dsa.y, NULL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                RSA_KEYSIZE_LIMIT, DSA_SHA1_Q_BITS, &key->sexp)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    && spki_parse_type(key)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    && dsa_signature_from_sexp(&rs, &signature->sexp, DSA_SHA1_Q_BITS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/crypto.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/crypto.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -322,7 +322,7 @@ make_cast128_cbc_instance(struct crypto_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ? do_cast128_encrypt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   : do_cast128_decrypt);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  cast128_set_key(&self->ctx.ctx, algorithm->key_size, key);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  cast5_set_key(&self->ctx.ctx, algorithm->key_size, key);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   CBC_SET_IV(&self->ctx, iv);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return(&self->super);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/dsa.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/dsa.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -28,7 +28,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <assert.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <nettle/bignum.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <nettle/dsa.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <nettle/dsa-compat.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <nettle/sexp.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <nettle/sha.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -322,7 +322,7 @@ make_dsa_verifier(struct signature_algor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   NEW(dsa_verifier, res);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   init_dsa_verifier(res);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (dsa_keypair_from_sexp_alist(&res->key, NULL, DSA_MAX_BITS, DSA_SHA1_Q_BITS, i))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (dsa_keypair_from_sexp_alist((struct dsa_params *)&res->key, res->key.y, NULL, DSA_MAX_BITS, DSA_SHA1_Q_BITS, i))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return &res->super;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   KILL(res);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -341,7 +341,7 @@ make_dsa_signer(struct signature_algorit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   dsa_private_key_init(&res->key);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (dsa_keypair_from_sexp_alist(&verifier->key, &res->key, DSA_MAX_BITS, DSA_SHA1_Q_BITS, i))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (dsa_keypair_from_sexp_alist((struct dsa_params *)&verifier->key, verifier->key.y, res->key.x, DSA_MAX_BITS, DSA_SHA1_Q_BITS, i))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       res->random = self->random;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       res->verifier = verifier;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/dummy.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/dummy.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -41,84 +41,84 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "lsh.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Referenced by ssh_format.c */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--unsigned
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+size_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nettle_mpz_sizeinbase_256_s(const mpz_t x UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--unsigned
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+size_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nettle_mpz_sizeinbase_256_u(const mpz_t x UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--cbc_encrypt(void *ctx UNUSED, nettle_crypt_func f UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      unsigned block_size UNUSED, uint8_t *iv UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      unsigned length UNUSED, uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cbc_encrypt(const void *ctx UNUSED, nettle_cipher_func *f UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      size_t block_size UNUSED, uint8_t *iv UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      size_t length UNUSED, uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       const uint8_t *src UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--cbc_decrypt(void *ctx UNUSED, nettle_crypt_func f UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      unsigned block_size UNUSED, uint8_t *iv UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      unsigned length UNUSED, uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cbc_decrypt(const void *ctx UNUSED, nettle_cipher_func *f UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      size_t block_size UNUSED, uint8_t *iv UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      size_t length UNUSED, uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       const uint8_t *src UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--ctr_crypt(void *ctx UNUSED, nettle_crypt_func f UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    unsigned block_size UNUSED, uint8_t *iv UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    unsigned length UNUSED, uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ctr_crypt(const void *ctx UNUSED, nettle_cipher_func *f UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    size_t block_size UNUSED, uint8_t *iv UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    size_t length UNUSED, uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     const uint8_t *src UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hmac_digest(const void *outer UNUSED, const void *inner UNUSED, void *state UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       const struct nettle_hash *hash UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      unsigned length UNUSED, uint8_t *digest UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      size_t length UNUSED, uint8_t *digest UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--unsigned
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+size_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sexp_vformat(struct nettle_buffer *buffer UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        const char *format UNUSED, va_list args UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--unsigned
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+size_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sexp_transport_vformat(struct nettle_buffer *buffer UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  const char *format UNUSED, va_list args UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sexp_transport_iterator_first(struct sexp_iterator *iterator UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                        unsigned length UNUSED, uint8_t *input UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                        size_t length UNUSED, uint8_t *input UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nettle_buffer_init_size(struct nettle_buffer *buffer UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  unsigned length UNUSED, uint8_t *space UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  size_t length UNUSED, uint8_t *space UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Referenced by lsh_string.c */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--uint8_t *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--memxor(uint8_t *dst UNUSED, const uint8_t *src UNUSED, size_t n UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+memxor(void *dst UNUSED, const void *src UNUSED, size_t n UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--nettle_mpz_get_str_256(unsigned length UNUSED, uint8_t *s UNUSED, const mpz_t x UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+nettle_mpz_get_str_256(size_t length UNUSED, uint8_t *s UNUSED, const mpz_t x UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- base64_encode_init(struct base64_encode_ctx *ctx UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--unsigned
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+size_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- base64_encode_update(struct base64_encode_ctx *ctx UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--               unsigned length UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+               size_t length UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                const uint8_t *src UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--unsigned
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+size_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- base64_encode_final(struct base64_encode_ctx *ctx UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-               uint8_t *dst UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -129,9 +129,9 @@ base64_decode_init(struct base64_decode_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- base64_decode_update(struct base64_decode_ctx *ctx UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--               unsigned *dst_length UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+               size_t *dst_length UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                uint8_t *dst UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--               unsigned src_length UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+               size_t src_length UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                const uint8_t *src UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -142,7 +142,7 @@ base64_decode_final(struct base64_decode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Referenced by parse.c */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nettle_mpz_set_str_256_s(mpz_t x UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                   unsigned length UNUSED, const uint8_t *s UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                   size_t length UNUSED, const uint8_t *s UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { abort(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Referenced by werror.c */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/lsh-keygen.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/lsh-keygen.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -39,7 +39,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <unistd.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <nettle/dsa.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <nettle/dsa-compat.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <nettle/rsa.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "crypto.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -214,7 +214,7 @@ dsa_generate_key(struct randomness *r, u
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   assert(r->quality == RANDOM_GOOD);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (dsa_generate_keypair(&public, &private,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (dsa_compat_generate_keypair(&public, &private,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      r, lsh_random,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      NULL, progress,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      512 + 64 * level, DSA_SHA1_Q_BITS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/lsh_string.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/lsh_string.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -367,10 +367,10 @@ lsh_string_format_sexp(int transport, co
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   struct lsh_string *s;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   va_list args;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  unsigned length;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  size_t length;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   struct nettle_buffer buffer;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  unsigned (*vformat)(struct nettle_buffer *, const char *, va_list)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  size_t (*vformat)(struct nettle_buffer *, const char *, va_list)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     = transport ? sexp_transport_vformat : sexp_vformat;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   va_start(args, format);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -415,7 +415,7 @@ int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lsh_string_base64_decode(struct lsh_string *s)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   struct base64_decode_ctx ctx;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  uint32_t done = s->length;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  size_t done = s->length;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   base64_decode_init(&ctx);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/randomness.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/randomness.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -35,7 +35,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Wrapper for using lsh's randomness generator with nettle
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * functions. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--lsh_random(void *x, unsigned length, uint8_t *data)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+lsh_random(void *x, size_t length, uint8_t *data)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   CAST_SUBTYPE(randomness, r, x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   RANDOM(r, length, data);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/randomness.h.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/randomness.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -84,6 +84,6 @@ make_system_random(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Randomness function matching nettle's expectations. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--lsh_random(void *x, unsigned length, uint8_t *data);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+lsh_random(void *x, size_t length, uint8_t *data);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* LSH_RANDOMNESS_H_INCLUDED */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/sexp.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/sexp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -97,7 +97,7 @@ lsh_sexp_to_string(struct sexp_iterator
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct lsh_string *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lsh_sexp_copy(struct sexp_iterator *i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  unsigned length;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  size_t length;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   const uint8_t *subexpr = sexp_iterator_subexpr(i, &length);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return subexpr ? ssh_format("%ls", length, subexpr) : NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/lsh.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/lsh.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -524,8 +524,8 @@ do_lsh_lookup(struct lookup_verifier *c,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       acl = lsh_string_format_sexp(0, "(acl(entry(subject%l)%l))",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                             subject->key_length, subject->key,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                             STRING_LD(self->access));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                             (size_t)subject->key_length, subject->key,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                             (size_t)STRING_LD(self->access));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       /* FIXME: Seems awkward to pick the acl apart again. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       if (!spki_iterator_first(&i, STRING_LD(acl)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -540,7 +540,7 @@ do_lsh_lookup(struct lookup_verifier *c,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     A_WRITE(self->file,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             ssh_format("\n; ACL for host %lz\n"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        "%lfS\n",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                       self->host, lsh_string_format_sexp(1, "%l", STRING_LD(acl))));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                       self->host, lsh_string_format_sexp(1, "%l", (size_t)STRING_LD(acl))));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     lsh_string_free(acl);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/spki.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/spki.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -98,7 +98,7 @@ make_ssh_hostkey_tag(const char *host)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   tag = lsh_string_format_sexp(0, "(tag(ssh-hostkey%s))",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                         STRING_LD(reversed));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                         (size_t)STRING_LD(reversed));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   lsh_string_free(reversed);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return tag;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -207,7 +207,7 @@ spki_hash_data(const struct hash_algorit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   out = lsh_string_format_sexp(0, "(hash%0s%s)",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                          "hash", get_atom_name(algorithm_name),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                         STRING_LD(digest));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                         (size_t)STRING_LD(digest));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   KILL(hash);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   lsh_string_free(digest);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -376,13 +376,13 @@ spki_pkcs5_encrypt(struct randomness *r,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   value = lsh_string_format_sexp(0, "(password-encrypted%s(Xpkcs5v2%0s"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            "(iterations%i)(salt%s))"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            "(%0s(iv%s)(data%s)))",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                           STRING_LD(label),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                           (size_t)STRING_LD(label),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            get_atom_name(prf_name),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            iterations,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                           STRING_LD(salt),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                           (size_t)STRING_LD(salt),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            get_atom_name(crypto_name),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                           STRING_LD(iv),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                           STRING_LD(encrypted));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                           (size_t)STRING_LD(iv),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                           (size_t)STRING_LD(encrypted));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   lsh_string_free(key);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   lsh_string_free(salt);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/srp_exchange.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/srp_exchange.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -112,7 +112,7 @@ srp_make_verifier(const struct zn_group
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   zn_exp(G, x, G->generator, x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   expr = lsh_string_format_sexp(0, "(srp-verifier ssh-ring1%s%b)",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                          STRING_LD(salt),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                          (size_t)STRING_LD(salt),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   mpz_clear(x);
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lsh/files/patch-argp-fmtstream.h.diff b/net/lsh/files/patch-argp-fmtstream.h.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 5bc91d5f03a..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lsh/files/patch-argp-fmtstream.h.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/argp/argp-fmtstream.h.orig 2013-03-09 01:49:46.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/argp/argp-fmtstream.h      2018-11-02 02:18:39.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -200,7 +200,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern int _argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef __OPTIMIZE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__OPTIMIZE__) && !defined(__clang__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Inline versions of above routines.  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if !_LIBC
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lsh/files/patch-src-unix_user.c.diff b/net/lsh/files/patch-src-unix_user.c.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index ad1aabac8a6..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lsh/files/patch-src-unix_user.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,16 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/unix_user.c.orig   2006-01-23 11:47:26.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/unix_user.c        2018-11-01 17:30:34.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1204,9 +1204,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       /* A passwd field of more than one character, which starts with a star,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        * indicates a disabled account. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      // on Mac OS X, ******** is used for shadow passwords
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       if ( (crypted[0] == '*') && crypted[1])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   goto fail;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif      
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       home = passwd->pw_dir;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lsh/files/strndup.patch b/net/lsh/files/strndup.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 7f5d4fde9e0..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lsh/files/strndup.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,26 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fix bugs in strndup implementation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://git.lysator.liu.se/lsh/lsh/commit/8a0cc32f349aac3c8c3084fdb380c9d1a2338d91
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/argp/strndup.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/argp/strndup.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17,15 +17,15 @@ strndup (const char *s, size_t size)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   char *end = memchr(s, 0, size);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (end)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /* Length + 1 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    size = end - s + 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    /* strlen, i.e., excluding the terminating NUL. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    size = end - s;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  r = malloc(size);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  r = malloc(size+1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (size)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (r)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      memcpy(r, s, size-1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      r[size-1] = '\0';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      memcpy(r, s, size);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      r[size] = '\0';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return r;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span></pre><pre style='margin:0'>

</pre>