commit: 5a0f00b6c147fa44a4c2f2598a14154d8a5c155e
parent e03511f7536cba8c20ecbcaf53dc6d5bfd1aa2a6
Author: Michael Forney <mforney@mforney.org>
Date: Wed, 7 Nov 2018 13:52:58 -0800
openssh: Use readpassphrase from libbsd
Diffstat:
4 files changed, 45 insertions(+), 6 deletions(-)
diff --git a/pkg/openbsd/include/readpassphrase.h b/pkg/openbsd/include/readpassphrase.h
@@ -0,0 +1,40 @@
+/* $OpenBSD: readpassphrase.h,v 1.5 2003/06/17 21:56:23 millert Exp $ */
+
+/*
+ * Copyright (c) 2000, 2002 Todd C. Miller <Todd.Miller@courtesan.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Sponsored in part by the Defense Advanced Research Projects
+ * Agency (DARPA) and Air Force Research Laboratory, Air Force
+ * Materiel Command, USAF, under agreement number F39502-99-1-0512.
+ */
+
+#ifndef _READPASSPHRASE_H_
+#define _READPASSPHRASE_H_
+
+#define RPP_ECHO_OFF 0x00 /* Turn off echo (default). */
+#define RPP_ECHO_ON 0x01 /* Leave echo on. */
+#define RPP_REQUIRE_TTY 0x02 /* Fail if there is no tty. */
+#define RPP_FORCELOWER 0x04 /* Force input to lower case. */
+#define RPP_FORCEUPPER 0x08 /* Force input to upper case. */
+#define RPP_SEVENBIT 0x10 /* Strip the high bit from input. */
+#define RPP_STDIN 0x20 /* Read from stdin, not /dev/tty */
+
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+char * readpassphrase(const char *, char *, size_t, int);
+__END_DECLS
+
+#endif /* !_READPASSPHRASE_H_ */
diff --git a/pkg/openssh/README.md b/pkg/openssh/README.md
@@ -14,9 +14,8 @@ Several changes were made:
* `SECCOMP_AUDIT_ARCH` and `SANDBOX_SECCOMP_FILTER` were removed
and instead defined in `gen.lua` dependent on the target toolchain
architecture.
-* `HAVE_READPASSPHRASE` and `HAVE_STRNVIS` are undefined because although we do
- build them into `libbsd.a`, we don't include the whole openbsd header
- directory.
+* `HAVE_STRNVIS` was undefined because although we do build it into
+ `libbsd.a`, we don't include the whole openbsd header directory.
* `HAVE_PLEDGE` is defined because we have a stub definition in
`pkg/openbsd/include/unistd.h`.
* `SIZEOF_*` are undefined because they are only used if C99 `int*_t` are not
diff --git a/pkg/openssh/config.h b/pkg/openssh/config.h
@@ -334,8 +334,8 @@
#define HAVE_PUTUTLINE 1
#define HAVE_PUTUTXLINE 1
#define HAVE_RAISE 1
-/* #undef HAVE_READPASSPHRASE */
-/* #undef HAVE_READPASSPHRASE_H */
+#define HAVE_READPASSPHRASE 1
+#define HAVE_READPASSPHRASE_H 1
#define HAVE_REALLOC 1
#define HAVE_REALLOCARRAY 1
#define HAVE_REALPATH 1
diff --git a/pkg/openssh/gen.lua b/pkg/openssh/gen.lua
@@ -9,10 +9,10 @@ cflags{
archflags[config.target.toolchain:match('[^-]*')] or '-D SANDBOX_RLIMIT=1',
'-I $dir',
'-I $srcdir',
- '-I $srcdir/openbsd-compat',
'-I pkg/openbsd/include',
'-I $builddir/pkg/libressl/include',
'-I $builddir/pkg/zlib/include',
+ '-idirafter $srcdir/openbsd-compat',
}
pkg.deps = {