Skip to content
Snippets Groups Projects
Verified Commit e4521571 authored by Jeremy Soller's avatar Jeremy Soller
Browse files

WIP: Update ssh patch

parent f3c5f4e6
No related branches found
No related tags found
No related merge requests found
VERSION=7.6p1
VERSION=7.9p1
TAR=http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-$VERSION.tar.gz
BUILD_DEPENDS=(zlib openssl)
BUILD_DEPENDS=(openssl zlib)
function recipe_version {
echo "$VERSION"
......@@ -12,41 +12,12 @@ function recipe_update {
skip=1
}
function newlib_build {
rm -rf ../newlib
sysroot="$(realpath ../sysroot)"
cd ..
git clone --recursive https://github.com/sajattack/newlib -b ssh-deps
cd newlib
pushd newlib/libc/sys
aclocal-1.11 -I ../..
autoconf
automake-1.11 --cygnus Makefile
popd
pushd newlib/libc/sys/redox
aclocal-1.11 -I ../../..
autoconf
automake-1.11 --cygnus Makefile
popd
CC= ./configure --target="${HOST}" --prefix=/
make all -j"$(nproc)"
make DESTDIR="$sysroot" install
cd ..
cp -r $sysroot/x86_64-unknown-redox/* $sysroot
rm -rf $sysroot/x86_64-unknown-redox
rm -rf newlib
cd build
}
function recipe_build {
newlib_build
sysroot="$(realpath ../sysroot)"
export LDFLAGS="-L$sysroot/lib"
export CPPFLAGS="-I$sysroot/include"
./configure --host=${HOST} --prefix=/
make
make -j$(nproc)
skip=1
}
......
diff -ruwN source/channels.c source-new/channels.c
--- source/channels.c 2018-10-16 18:01:20.000000000 -0600
+++ source-new/channels.c 2019-01-15 21:01:12.203686148 -0700
@@ -1865,10 +1865,10 @@
fatal(":%s: channel %d: no remote id", __func__, c->self);
/* for rdynamic the OPEN_CONFIRMATION has been sent already */
isopen = (c->type == SSH_CHANNEL_RDYNAMIC_FINISH);
- if (getsockopt(c->sock, SOL_SOCKET, SO_ERROR, &err, &sz) < 0) {
- err = errno;
- error("getsockopt SO_ERROR failed");
- }
+ // if (getsockopt(c->sock, SOL_SOCKET, SO_ERROR, &err, &sz) < 0) {
+ // err = errno;
+ // error("getsockopt SO_ERROR failed");
+ // }
if (err == 0) {
debug("channel %d: connected to %s port %d",
c->self, c->connect_ctx.host, c->connect_ctx.port);
diff -ruwN source/config.sub source-new/config.sub
--- source/config.sub 2018-10-16 18:01:20.000000000 -0600
+++ source-new/config.sub 2019-01-15 19:39:26.234492329 -0700
@@ -1407,7 +1407,7 @@
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
- | -onefs* | -tirtos* | -phoenix*)
+ | -onefs* | -tirtos* | -phoenix* | -redox*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
diff -ruwN source/openbsd-compat/bindresvport.c source-new/openbsd-compat/bindresvport.c
--- source/openbsd-compat/bindresvport.c 2018-10-16 18:01:20.000000000 -0600
+++ source-new/openbsd-compat/bindresvport.c 2019-01-15 20:46:06.879804135 -0700
@@ -42,6 +42,10 @@
#include <errno.h>
#include <string.h>
+#ifndef IPPORT_RESERVED
+#define IPPORT_RESERVED 1024
+#endif
+
#define STARTPORT 600
#define ENDPORT (IPPORT_RESERVED - 1)
#define NPORTS (ENDPORT - STARTPORT + 1)
diff -ruwN source/openbsd-compat/bsd-getpeereid.c source-new/openbsd-compat/bsd-getpeereid.c
--- source/openbsd-compat/bsd-getpeereid.c 2018-10-16 18:01:20.000000000 -0600
+++ source-new/openbsd-compat/bsd-getpeereid.c 2019-01-15 20:43:12.410583244 -0700
@@ -23,7 +23,7 @@
#include <unistd.h>
-#if defined(SO_PEERCRED)
+#if defined(SO_PEERCRED) && !defined(__redox__)
int
getpeereid(int s, uid_t *euid, gid_t *gid)
{
diff -ruwN source/openbsd-compat/bsd-misc.c source-new/openbsd-compat/bsd-misc.c
--- source/openbsd-compat/bsd-misc.c 2018-10-16 18:01:20.000000000 -0600
+++ source-new/openbsd-compat/bsd-misc.c 2019-01-15 20:28:46.619332501 -0700
@@ -25,6 +25,9 @@
# include <sys/time.h>
#endif
+#if defined(__redox__)
+#include <fcntl.h>
+#endif
#include <string.h>
#include <signal.h>
#include <stdlib.h>
diff -ruwN source/openbsd-compat/getrrsetbyname.c source-new/openbsd-compat/getrrsetbyname.c
--- source/openbsd-compat/getrrsetbyname.c 2018-10-16 18:01:20.000000000 -0600
+++ source-new/openbsd-compat/getrrsetbyname.c 2019-01-15 20:57:20.248721738 -0700
@@ -47,7 +47,7 @@
#include "includes.h"
-#if !defined (HAVE_GETRRSETBYNAME) && !defined (HAVE_LDNS)
+#if !defined (HAVE_GETRRSETBYNAME) && !defined (HAVE_LDNS) && !defined(__redox__)
#include <stdlib.h>
#include <string.h>
diff -ruwN source/openbsd-compat/getrrsetbyname.h source-new/openbsd-compat/getrrsetbyname.h
--- source/openbsd-compat/getrrsetbyname.h 2018-10-16 18:01:20.000000000 -0600
+++ source-new/openbsd-compat/getrrsetbyname.h 2019-01-15 19:54:39.564320719 -0700
@@ -50,7 +50,7 @@
#include "includes.h"
-#ifndef HAVE_GETRRSETBYNAME
+#if !defined(HAVE_GETRRSETBYNAME) && !defined(__redox__)
#include <sys/types.h>
#include <netinet/in.h>
diff -ruwN source/openbsd-compat/openbsd-compat.h source-new/openbsd-compat/openbsd-compat.h
--- source/openbsd-compat/openbsd-compat.h 2018-10-16 18:01:20.000000000 -0600
+++ source-new/openbsd-compat/openbsd-compat.h 2019-01-15 20:14:24.316498869 -0700
@@ -36,6 +36,10 @@
#include <stddef.h> /* for wchar_t */
+#if defined(__redox__)
+#include <stdio.h>
+#endif
+
/* OpenBSD function replacements */
#include "base64.h"
#include "sigact.h"
diff -ruwN source/sshbuf-misc.c source-new/sshbuf-misc.c
--- source/sshbuf-misc.c 2018-10-16 18:01:20.000000000 -0600
+++ source-new/sshbuf-misc.c 2019-01-15 20:45:08.969783102 -0700
@@ -28,7 +28,9 @@
#include <stdio.h>
#include <limits.h>
#include <string.h>
+#if !defined(__redox__)
#include <resolv.h>
+#endif
#include <ctype.h>
#include "ssherr.h"
@@ -158,4 +160,3 @@
r[l] = '\0';
return r;
}
-
diff -ruwN source/sshkey.c source-new/sshkey.c
--- source/sshkey.c 2018-10-16 18:01:20.000000000 -0600
+++ source-new/sshkey.c 2019-01-15 20:13:21.629829281 -0700
@@ -42,7 +42,9 @@
#include <limits.h>
#include <stdio.h>
#include <string.h>
+#if !defined(__redox__)
#include <resolv.h>
+#endif
#ifdef HAVE_UTIL_H
#include <util.h>
#endif /* HAVE_UTIL_H */
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment