Commit Graph

706 Commits

Author SHA1 Message Date
Darren Tucker 33561e68e0 Add strndup for platforms that need it.
Some platforms don't have strndup, which includes Solaris 10, NetBSD 3
and FreeBSD 6.
2018-03-03 14:58:34 +11:00
Darren Tucker e8a17feba9 Flatten and alphabetize object file lists.
This will make maintenance and changes easier.  "no objection" tim@
2018-03-03 14:58:34 +11:00
Darren Tucker f0b245b043 Check if HAVE_DECL_BZERO correctly. 2018-02-27 08:51:52 +11:00
Darren Tucker 5aea4aa522 typo: missing ; 2018-02-26 14:39:14 +11:00
Darren Tucker cd3ab57f9b Hook up flock() compat code.
Also a couple of minor changes: fail if we can't lock instead of
silently succeeding, and apply a couple of minor style fixes.
2018-02-26 14:37:06 +11:00
Darren Tucker b087998d1b Import flock() compat from NetBSD.
From NetBSD's src/trunk/tools/compat/flock.c, no OpenSSH changes yet.
2018-02-26 14:27:02 +11:00
Damien Miller bda709b8e1 avoid inclusion of deprecated selinux/flask.h
Use string_to_security_class() instead.
2018-02-26 12:17:22 +11:00
Darren Tucker c7b5a47e3b Invert sense of getpgrp test.
AC_FUNC_GETPGRP tests if getpgrp(0) works, which it does if it's not
declared.  Instead, test if the zero-arg version we want to use works.
2018-02-26 00:14:42 +11:00
Darren Tucker b39593a6de Add no-op getsid implmentation. 2018-02-26 00:09:04 +11:00
Darren Tucker 11057564eb bsd-statvfs: include sys/vfs.h, check for f_flags. 2018-02-26 00:09:04 +11:00
Darren Tucker e9dede06e5 Handle calloc(0,x) where different from malloc.
Configure assumes that if malloc(0) returns null then calloc(0,n)
also does.  On some old platforms (SunOS4) malloc behaves as expected
(as determined by AC_FUNC_MALLOC) but calloc doesn't.  Test for this
at configure time and activate the replacement function if found, plus
handle this case in rpl_calloc.
2018-02-26 00:09:04 +11:00
Darren Tucker 2eb4041493 Add prototype for readv if needed. 2018-02-26 00:09:04 +11:00
Darren Tucker 6c8c9a615b Check for raise and supply if needed. 2018-02-26 00:09:04 +11:00
Darren Tucker a9004425a0 Check for bzero and supply if needed.
Since explicit_bzero uses it via an indirect it needs to be a function
not just a macro.
2018-02-26 00:09:04 +11:00
Darren Tucker f6dc2ba3c9 freezero should check for NULL. 2018-02-16 17:33:29 +11:00
Darren Tucker 265d88d4e6 Remove remaining now-obsolete cvs $Ids. 2018-02-15 20:06:19 +11:00
Darren Tucker ddc0f38148 Remove UNICOS support.
The code required to support it is quite invasive to the mainline
code that is synced with upstream and is an ongoing maintenance burden.
Both the hardware and software are literal museum pieces these days and
we could not find anyone still running OpenSSH on one.
2018-02-15 20:04:02 +11:00
Darren Tucker fbfa6f980d Move signal compat code into bsd-signal.{c,h} 2018-02-11 21:24:48 +11:00
Darren Tucker ba460acae4 Include string.h for explicit_bzero. 2017-11-24 16:24:31 +11:00
Darren Tucker f21455a084 Include includes.h for HAVE_GETPAGESIZE.
The configure script checks for getpagesize() and sets HAVE_GETPAGESIZE in
config.h, but bsd-getpagesize.c forgot to include includes.h (which
indirectly includes config.h) so the checks always fails, causing linker
issues when linking statically on systems with getpagesize().

Patch from Peter Korsgaard <peter at korsgaard.com>
2017-10-31 10:09:33 +11:00
Damien Miller 2de5c6b53b fix rdomain compilation errors 2017-10-27 08:42:33 +11:00
Damien Miller 97c5aaf925 basic valid_rdomain() implementation for Linux 2017-10-25 14:09:56 +11:00
Damien Miller ce1cca39d7 implement get/set_rdomain() for Linux
Not enabled, pending implementation of valid_rdomain() and autoconf glue
2017-10-25 13:47:59 +11:00
Damien Miller 6eee79f9b8 stubs for rdomain replacement functions 2017-10-25 13:22:50 +11:00
Damien Miller f5594f939f rename port-tun.[ch] => port-net.[ch]
Ahead of adding rdomain support
2017-10-25 13:22:50 +11:00
djm@openbsd.org b7548b12a6 upstream commit
Expose devices allocated for tun/tap forwarding.

At the client, the device may be obtained from a new %T expansion
for LocalCommand.

At the server, the allocated devices will be listed in a
SSH_TUNNEL variable exposed to the environment of any user sessions
started after the tunnel forwarding was established.

ok markus

Upstream-ID: e61e53f8ae80566e9ddc0d67a5df5bdf2f3c9f9e
2017-10-23 16:14:30 +11:00
Darren Tucker 74c1c3660a Check for and handle calloc(p, 0) = NULL.
On some platforms (AIX, maybe others) allocating zero bytes of memory
via the various *alloc functions returns NULL, which is permitted
by the standards.  Autoconf has some macros for detecting this (with
the exception of calloc for some reason) so use these and if necessary
activate shims for them.  ok djm@
2017-09-27 07:44:41 +10:00
Darren Tucker 44fc334c7a Add minimal strsignal for platforms without it. 2017-09-25 09:48:10 +10:00
Damien Miller b79569190b add freezero(3) replacement
ok dtucker@
2017-09-19 14:16:45 +10:00
Damien Miller 871f1e4374 adapt portable to channels API changes 2017-09-12 18:01:35 +10:00
Darren Tucker f5e917ab10 Add missing includes for bsd-err.c.
Patch from cjwatson at debian.org via bz#2767.
2017-08-27 08:55:40 +10:00
Damien Miller c78e6eec78 fix problems in tunnel forwarding portability code
This fixes a few problems in the tun forwarding code, mostly to do
with host/network byte order confusion.

Based on a  report and patch by stepe AT centaurus.uberspace.de;
bz#2735; ok dtucker@
2017-07-28 13:22:47 +10:00
Damien Miller 738c73dca2 make explicit_bzero/memset safe for sz=0 2017-07-14 14:27:12 +10:00
Darren Tucker e0f609c8a2 Wrap stdint.h include in #ifdef. 2017-06-09 13:36:29 +10:00
Damien Miller 65eb8fae0d avoid compiler warning 2017-06-01 16:25:26 +10:00
Damien Miller 151c6e433a add recallocarray replacement and dependency
recallocarray() needs getpagesize() so add a tiny replacement for that.
2017-06-01 15:25:13 +10:00
Darren Tucker 282cad2240 Import fmt_scaled.c rev 1.16 from OpenBSD.
Fix overly-conservative overflow checks on mulitplications and add checks
on additions.  This allows scan_scaled to work up to +/-LLONG_MAX (LLONG_MIN
will still be flagged as a range error).  ok millert@
2017-03-29 16:34:44 +11:00
Darren Tucker c73a229e4e Import fmt_scaled.c rev 1.15 from OpenBSD.
Collapse underflow and overflow checks into a single block.
ok djm@ millert@
2017-03-29 16:34:02 +11:00
Darren Tucker d427b73bf5 Import fmt_scaled.c rev 1.14 from OpenBSD.
Catch integer underflow in scan_scaled reported by Nicolas Iooss.
ok deraadt@ djm@
2017-03-29 16:32:57 +11:00
Darren Tucker d38f05dbdd Add llabs() implementation. 2017-03-20 13:39:27 +11:00
Damien Miller d94c1dfef2 sync fmt_scaled.c with OpenBSD
revision 1.13
date: 2017/03/11 23:37:23;  author: djm;  state: Exp;  lines: +14 -1;  commitid: jnFKyHkB3CEiEZ2R;
fix signed integer overflow in scan_scaled. Found by Nicolas Iooss
using AFL against ssh_config. ok deraadt@ millert@
----------------------------
revision 1.12
date: 2013/11/29 19:00:51;  author: deraadt;  state: Exp;  lines: +6 -5;
fairly simple unsigned char casts for ctype
ok krw
----------------------------
revision 1.11
date: 2012/11/12 14:07:20;  author: halex;  state: Exp;  lines: +4 -2;
make scan_scaled set errno to EINVAL rather than ERANGE if it encounters
an invalid multiplier, like the man page says it should

"looks sensible" deraadt@, ok ian@
----------------------------
revision 1.10
date: 2009/06/20 15:00:04;  author: martynas;  state: Exp;  lines: +4 -4;
use llabs instead of the home-grown version;  and some comment changes
ok ian@, millert@
----------------------------
2017-03-12 10:48:14 +11:00
Darren Tucker b9b8ba3f9e Remove commented-out includes.
These commented-out includes have "Still needed?" comments.  Since
they've been commented out for ~13 years I assert that they're not.
2016-12-13 12:56:40 +11:00
Darren Tucker 25275f1c9d Add prototype for strcasestr in compat library. 2016-12-13 12:54:23 +11:00
Darren Tucker afec07732a Add strcasestr to compat library.
Fixes build on (at least) Solaris 10.
2016-12-13 10:23:03 +11:00
Darren Tucker a9ff3950b8 Move OPENSSL_NO_RIPEMD160 to compat.
Move OPENSSL_NO_RIPEMD160 to compat and add ifdefs to mac.c around the
ripemd160 MACs.
2016-10-28 14:26:58 +11:00
Darren Tucker b4e96b4c9b Use !=NULL instead of >0 for getdefaultproj.
getdefaultproj() returns a pointer so test it for NULL inequality
instead of >0.  Fixes compiler warning and is more correct.  Patch from
David Binderman.
2016-10-26 08:43:25 +11:00
Darren Tucker 8f866d8a57 Import readpassphrase.c rev 1.26.
Author: miller@openbsd.org:
Avoid generate SIGTTOU when restoring the terminal mode.  If we get
SIGTTOU it means the process is not in the foreground process group
which, in most cases, means that the shell has taken control of the tty.
Requiring the user the fg the process in this case doesn't make sense
and can result in both SIGTSTP and SIGTTOU being sent which can lead to
the process being suspended again immediately after being brought into
the foreground.
2016-10-19 03:26:09 +11:00
Darren Tucker f901440cc8 Import readpassphrase.c rev 1.25.
Wrap <readpassphrase.h> so internal calls go direct and
readpassphrase is weak.

(DEF_WEAK is a no-op in portable.)
2016-10-19 03:23:16 +11:00
Darren Tucker 032147b695 Move DEF_WEAK into defines.h.
As well pull in more recent changes from OpenBSD these will start to
arrive so put it where the definition is shared.
2016-10-15 05:51:12 +11:00
Darren Tucker 29d4031939 Import rev 1.24 from OpenBSD.
revision 1.24
date: 2013/11/24 23:51:29;  author: deraadt;  state: Exp;  lines: +4 -4;
most obvious unsigned char casts for ctype
ok jca krw ingo
2016-10-13 04:07:20 +11:00