Commit Graph

63 Commits

Author SHA1 Message Date
Darren Tucker
41a2e64ae4 Prevent unused variable warning. 2020-02-17 22:51:00 +11:00
Darren Tucker
1bcd1169c5 Add implementation of localtime_r. 2019-10-29 20:48:46 +11:00
Darren Tucker
d0e51810f3 Fix pasto in fallback code.
There is no parameter called "pathname", it should simply be "path".
bz#3059, patch from samuel at cendio.se.
2019-08-24 15:12:11 +10:00
Tim Rice
43f47ebbdd Only use O_NOFOLLOW in fchownat and fchmodat if defined 2019-03-31 19:22:19 -07:00
Darren Tucker
f5abb05f8c Only use O_NOFOLLOW in utimensat if defined.
Fixes build on systems that don't have it (Solaris <=9)  Found by
Tom G. Christensen.
2019-03-28 09:26:14 +11:00
Darren Tucker
a6258e5dc3 Add minimal fchownat and fchmodat implementations.
Fixes builds on at least OS X Lion, NetBSD 6 and Solaris 10.
2019-01-18 11:09:01 +11:00
Darren Tucker
091093d258 Add a minimal implementation of utimensat().
Some systems (eg older OS X) do not have utimensat, so provide minimal
implementation in compat layer.  Fixes build on at least El Capitan.
2019-01-18 10:16:11 +11:00
Darren Tucker
c2fa53cd64 Remove unused variable in _ssh_compat_fflush. 2018-09-22 14:41:24 +10:00
Damien Miller
120a1ec74e Adapt portable to legacy buffer API removal 2018-07-10 19:39:52 +10:00
Darren Tucker
58fd4c5c01 Check for and work around buggy fflush(NULL).
Some really old platforms (eg SunOS4) segfault on fflush(NULL) so check
for and work around.  With klausz at haus-gisela.de.
2018-03-05 19:28:08 +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
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
fbfa6f980d Move signal compat code into bsd-signal.{c,h} 2018-02-11 21:24:48 +11:00
Darren Tucker
44fc334c7a Add minimal strsignal for platforms without it. 2017-09-25 09:48:10 +10:00
Darren Tucker
d38f05dbdd Add llabs() implementation. 2017-03-20 13:39:27 +11:00
Darren Tucker
dd1031b78b Replace spaces with tabs.
Mechanically replace spaces with tabs in compat files not synced with
OpenBSD.
2016-08-02 10:01:52 +10:00
Darren Tucker
c20dccb561 Strip trailing whitespace.
Mechanically strip trailing whitespace on files not synced with OpenBSD
(or in the case of bsd-snprint.c, rsync).
2016-08-02 09:44:25 +10:00
Darren Tucker
a233358417 Add compat code for missing wcwidth.
If we don't have wcwidth force fallback implementations of nl_langinfo
and mbtowc.  Based on advice from Ingo Schwarze.
2016-07-14 10:59:09 +10:00
Darren Tucker
3ddd15e1b6 Add a null implementation of pledge.
Fixes builds on almost everything.
2015-11-30 07:23:53 +11:00
Darren Tucker
678e473e2a Remove dependency on xmalloc.
Remove ssh_get_progname's dependency on xmalloc, which should reduce
link order problems.  ok djm@
2015-02-26 04:12:58 +11:00
Darren Tucker
d527704523 - (dtucker) [openbsd-compat/bsd-misc.c] Include time.h for nanosleep.
From OpenSMTPD where it prevents "implicit declaration" warnings (it's
   a no-op in OpenSSH).  From chl at openbsd.
2013-11-03 16:30:46 +11:00
Damien Miller
f4db77d766 - (djm) [configure.ac openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
Add a usleep replacement for platforms that lack it; ok dtucker
2013-03-15 10:34:25 +11:00
Darren Tucker
2991d288db - (dtucker) [openbsd-compat/bsd-misc.c] Handle the case where setpgrp() takes
an argument.  Pointed out by djm.
2013-02-15 14:55:38 +11:00
Darren Tucker
62e4edc797 spacing 2013-02-15 11:50:03 +11:00
Darren Tucker
3c4a24c3e3 - (dtucker) [configure.ac openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
Use getpgrp() if we don't have getpgid() (old BSDs, maybe others).
2013-02-15 11:41:35 +11:00
Tim Rice
c7a8af03a0 - (tim) [configure.ac openbsd-compat/bsd-misc.h openbsd-compat/bsd-misc.c] Add
support for platforms missing isblank(). ok djm@
2010-11-08 14:26:23 -08:00
Darren Tucker
1534fa41e0 - (dtucker) [openbsd-compat/bsd-misc.c] According to the spec the "remainder"
argument to nanosleep may be NULL.  Currently this never happens in OpenSSH,
   but check anyway in case this changes or the code gets used elsewhere.
2007-06-11 14:34:53 +10:00
Darren Tucker
781e7a28d0 - (dtucker) [openbsd-compat/bsd-misc.c] Include unistd.h and sys/types.h
for select(2) prototype.
2007-04-29 12:06:55 +10:00
Darren Tucker
450d2af2a3 - (dtucker) [openbsd-compat/bsd-misc.c] Include <sys/select.h> for select(2)
on POSIX systems.
2006-08-24 19:45:33 +10:00
Darren Tucker
e086955531 - (dtucker) [openbsd-compat/bsd-misc.c] Add includes needed for select(2) on
older systems.
2006-08-24 19:43:16 +10:00
Damien Miller
b8fe89c4d9 - (djm) [acss.c auth-krb5.c auth-options.c auth-pam.c auth-shadow.c]
[canohost.c channels.c cipher-acss.c defines.h dns.c gss-genr.c]
   [gss-serv-krb5.c gss-serv.c log.h loginrec.c logintest.c readconf.c]
   [servconf.c ssh-keygen.c ssh-keyscan.c ssh-keysign.c ssh-rand-helper.c]
   [ssh.c sshconnect.c sshd.c openbsd-compat/bindresvport.c]
   [openbsd-compat/bsd-arc4random.c openbsd-compat/bsd-misc.c]
   [openbsd-compat/getrrsetbyname.c openbsd-compat/glob.c]
   [openbsd-compat/mktemp.c openbsd-compat/port-linux.c]
   [openbsd-compat/port-tun.c openbsd-compat/readpassphrase.c]
   [openbsd-compat/setproctitle.c openbsd-compat/xmmap.c]
   make the portable tree compile again - sprinkle unistd.h and string.h
   back in. Don't redefine __unused, as it turned out to be used in
   headers on Linux, and replace its use in auth-pam.c with ARGSUSED
2006-07-24 14:51:00 +10:00
Damien Miller
b0fb6872ed - deraadt@cvs.openbsd.org 2006/03/19 18:51:18
[atomicio.c auth-bsdauth.c auth-chall.c auth-krb5.c auth-options.c]
     [auth-pam.c auth-passwd.c auth-rh-rsa.c auth-rhosts.c auth-rsa.c]
     [auth-shadow.c auth-skey.c auth.c auth1.c auth2-chall.c]
     [auth2-hostbased.c auth2-kbdint.c auth2-none.c auth2-passwd.c]
     [auth2-pubkey.c auth2.c authfd.c authfile.c bufaux.c buffer.c]
     [canohost.c channels.c cipher-3des1.c cipher-acss.c cipher-aes.c]
     [cipher-bf1.c cipher-ctr.c cipher.c cleanup.c clientloop.c compat.c]
     [compress.c deattack.c dh.c dispatch.c dns.c entropy.c fatal.c]
     [groupaccess.c hostfile.c includes.h kex.c kexdh.c kexdhc.c]
     [kexdhs.c kexgex.c kexgexc.c kexgexs.c key.c log.c loginrec.c]
     [loginrec.h logintest.c mac.c match.c md-sha256.c md5crypt.c misc.c]
     [monitor.c monitor_fdpass.c monitor_mm.c monitor_wrap.c msg.c]
     [nchan.c packet.c progressmeter.c readconf.c readpass.c rsa.c]
     [scard.c scp.c servconf.c serverloop.c session.c sftp-client.c]
     [sftp-common.c sftp-glob.c sftp-server.c sftp.c ssh-add.c]
     [ssh-agent.c ssh-dss.c ssh-keygen.c ssh-keyscan.c ssh-keysign.c]
     [ssh-rand-helper.c ssh-rsa.c ssh.c sshconnect.c sshconnect1.c]
     [sshconnect2.c sshd.c sshlogin.c sshpty.c sshtty.c ttymodes.c]
     [uidswap.c uuencode.c xmalloc.c openbsd-compat/bsd-arc4random.c]
     [openbsd-compat/bsd-closefrom.c openbsd-compat/bsd-cygwin_util.c]
     [openbsd-compat/bsd-getpeereid.c openbsd-compat/bsd-misc.c]
     [openbsd-compat/bsd-nextstep.c openbsd-compat/bsd-snprintf.c]
     [openbsd-compat/bsd-waitpid.c openbsd-compat/fake-rfc2553.c]
     RCSID() can die
2006-03-26 00:03:21 +11:00
Damien Miller
6645e7a70d - (djm) [auth-pam.c clientloop.c includes.h monitor.c session.c]
[sftp-client.c ssh-keysign.c ssh.c sshconnect.c sshconnect2.c]
   [sshd.c openbsd-compat/bsd-misc.c openbsd-compat/bsd-openpty.c]
   [openbsd-compat/glob.c openbsd-compat/mktemp.c]
   [openbsd-compat/readpassphrase.c] Lots of include fixes for
   OpenSolaris
2006-03-15 14:42:54 +11:00
Darren Tucker
d32e293c04 - (dtucker) [openbsd-compat/bsd-misc.c] Bug #1108: fix broken strdup().
Reported by olavi at ipunplugged.com and antoine.brodin at laposte.net
   via FreeBSD.
2005-11-02 09:07:31 +11:00
Darren Tucker
2be1cbb7be - (dtucker) [acconfig.h configure.ac defines.h includes.h sshpty.c
openbsd-compat/bsd-misc.c] Add support for Ultrix.  No, that's not a typo.
   Required changes from Bernhard Simon, integrated by me.  ok djm@
2005-05-27 21:13:40 +10:00
Darren Tucker
3804903a09 - (dtucker) [acconfig.h configure.ac openbsd-compat/bsd-misc.{c,h}]
Remove SETGROUPS_NOOP, was only used by Cygwin, which doesn't need it any
   more.  Patch from vinschen at redhat.com.
2005-02-26 10:07:37 +11:00
Damien Miller
36f4965020 - (djm) [acconfig.h configure.ac openbsd-compat/Makefile.in
openbsd-compat/bsd-closefrom.c openbsd-compat/bsd-misc.c
   openbsd-compat/bsd-misc.h openbsd-compat/openbsd-compat.h] Use smarter
   closefrom() replacement from sudo; ok dtucker@
2004-08-15 18:40:59 +10:00
Darren Tucker
03669a363e - (dtucker) [openbsd-compat/bsd-misc.c] Typo in #ifdef; from vinschen at
redhat.com
2004-08-13 18:37:21 +10:00
Darren Tucker
ba6de952a0 - (dtucker) [logintest.c scp.c sftp-server.c sftp.c ssh-add.c ssh-agent.c
ssh-keygen.c ssh-keyscan.c ssh-keysign.c ssh-rand-helper.c ssh.c sshd.c
   openbsd-compat/bsd-misc.c] Move "char *__progname" to bsd-misc.c.  Reduces
   diff vs OpenBSD; ok mouring@, tested by tim@ too.
2004-07-17 14:07:42 +10:00
Darren Tucker
60bd4098f6 - (dtucker) [configure.ac openbsd-compat/misc.c [openbsd-compat/misc.h]
Add closefrom() for platforms that don't have it.

(might need some tuning later, but I want to be able to test reexec).
2004-06-25 14:03:34 +10:00
Damien Miller
98225c2950 - (djm) Simplify the license on code I have written. No code changes. 2004-02-17 16:49:41 +11:00
Ben Lindstrom
563eb99711 - (bal) [openbsd-compat/bsd-misc.c] unset 'signal' defined if we are
using a real 'signal()' (Noticed by a NeXT Compile)
2003-12-18 00:34:06 +00:00
Ben Lindstrom
5ade9abc37 - (bal) redo how we handle 'mysignal()'. Move it to
openbsd-compat/bsd-misc.c, s/mysignal/signal/ and #define signal to
   be our 'mysignal' by default.  OK djm@
2003-08-25 01:16:21 +00:00
Damien Miller
59d3d5b8b4 - (djm) s/get_progname/ssh_get_progname/g to avoid conflict with Heimdal
-lbroken; ok dtucker
2003-08-22 09:34:41 +10:00
Darren Tucker
f38ea77c03 - (dtucker) [configure.ac openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
Add a tcsendbreak function for platforms that don't have one, based on the
   one from OpenBSD.

Any more of these and I'll split them out into bsd-termio.[ch].
2003-08-13 20:48:07 +10:00
Darren Tucker
bdf571b0dc - (dtucker) [openbsd-compat/bsd-misc.c] Fix cut-and-paste bug in tcgetpgrp. 2003-08-03 00:36:16 +10:00
Darren Tucker
048737c9bc Remove unused variable. 2003-08-02 23:33:48 +10:00
Darren Tucker
2e9c9cf702 - (dtucker) [openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
Add a tcgetpgrp function.
2003-08-02 23:31:42 +10:00