<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>