Darren Tucker
8e206e0dd6
Constify utimes in compat library to match specs.
...
Patch from vapier at chromium.org.
2022-02-25 15:14:22 +11:00
Darren Tucker
e43a898043
Split EGD/PRNGD interface into its own file.
...
This will allow us to use it when building --without-openssl.
2021-06-18 18:32:51 +10:00
Darren Tucker
c867706507
Add pselect implementation for platforms without.
...
This is basically the existing notify_pipe kludge from serverloop.c
moved behind a pselect interface. It works by installing a signal
handler that writes to a pipe that the select is watching, then calls
the original handler.
The select call in serverloop will become pselect soon, at which point the
kludge will be removed from thereand will only exist in the compat layer.
Original code by markus, help from djm.
2021-06-04 18:39:48 +10:00
Darren Tucker
e0cedcad51
Improve search for 'struct timespec'.
...
Make struct timespec test consistent with existing timeval test.
Include time.h for timespec in compat header where required.
2020-01-14 14:28:01 +11:00
Darren Tucker
b56dbfd9d9
Add missing bracket in realpath macro.
2019-11-01 18:27:37 +11:00
Darren Tucker
79d46de9fb
Use sftp_realpath if no native realpath.
2019-11-01 18:27:37 +11:00
Darren Tucker
1bcd1169c5
Add implementation of localtime_r.
2019-10-29 20:48:46 +11:00
Darren Tucker
5fe81da226
Fix ifdefs to not mask needed bits.
2019-10-28 21:19:47 +11:00
Darren Tucker
7169e31121
Move utimensat definition into timespec section.
...
Since utimensat uses struct timespec, move it to the section where we
define struct timespec when needed.
2019-10-28 16:27:53 +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
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
f0b245b043
Check if HAVE_DECL_BZERO correctly.
2018-02-27 08:51:52 +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
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
1e8013a17f
Remove obsolete CVS $Id from source files.
...
Since -portable switched to git the CVS $Id tags are no longer being
updated and are becoming increasingly misleading. Remove them.
2016-08-17 14:08:42 +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
6310ef27a2
Move err.h replacements into compat lib.
...
Move implementations of err.h replacement functions into their own file
in the libopenbsd-compat so we can use them in kexfuzz.c too. ok djm@
2016-07-13 14:42:35 +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
e7bf3a5eda
Use do{}while(0) for no-op functions.
...
From FreeBSD.
2015-04-07 10:48:04 +10:00
Darren Tucker
f3ab2c5f9c
- (dtucker) [auth-krb5.c configure.ac openbsd-compat/bsd-misc.h] Add support
...
for building with older Heimdal versions. ok djm.
2013-08-04 21:48:41 +10:00
Darren Tucker
efdf534214
- (dtucker) [configure.ac openbsd-compat/bsd-misc.h] bz#2087: Add a null
...
implementation of endgrent for platforms that don't have it (eg Android).
Loosely based on a patch from Nathan Osman, ok djm
2013-05-30 08:29:08 +10: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
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
Darren Tucker
34f702ae64
- (dtucker) [configure.ac openbsd-compat/bsd-misc.h] Add setlinebuf for
...
platforms that don't have it. "looks good" tim@
2012-07-04 08:50:09 +10:00
Tim Rice
e3609c935c
- (tim) [openbsd-compat/bsd-misc.h sshd.c] Fix conflicting return type for
...
unsetenv due to rev 1.14 change to setenv.c. Cast unsetenv to void in sshd.c
ok dtucker@
2012-02-14 10:03:30 -08: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
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
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
Darren Tucker
86c093d289
- (dtucker) [configure.ac sshd.c openbsd-compat/bsd-misc.h
...
openbsd-compat/setenv.c] Unset KRB5CCNAME on AIX to prevent it from being
inherited by the child. ok djm@
2004-03-08 22:59:03 +11: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
515d0f9a1e
- (bal) openbsd-compat/ clean up. Considate headers, add in $Id$ on our
...
files, and added missing license to header.
2003-08-29 16:59:52 +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
2e9c9cf702
- (dtucker) [openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
...
Add a tcgetpgrp function.
2003-08-02 23:31:42 +10:00
Damien Miller
317412502b
- (djm) Big KNF on openbsd-compat/
2003-05-19 00:13:38 +10:00
Tim Rice
4e4dc561ae
[configure.ac openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
...
add nanosleep(). testing/corrections by Darren Tucker <dtucker@zip.com.au>
2003-03-18 10:21:40 -08:00
Ben Lindstrom
0e23ebcc8b
- (bal) typo of setgroup for cygwin. Patch by vinschen@redhat.com
2002-06-13 21:34:57 +00:00
Ben Lindstrom
837461bf9a
- (bal) Build noop setgroups() for cygwin to clean up code (For other
...
platforms without the setgroups() requirement, you MUST define
SETGROUPS_NOOP in the configure.ac) Based on patch by vinschen@redhat.com
2002-06-12 16:57:14 +00:00
Tim Rice
4bd2a19890
Add truncate() emulation to address Bug 208
2002-05-07 19:51:31 -07:00
Kevin Steves
cb17e99fae
- (stevesk) use setresgid() for setegid() if needed
2001-04-09 14:50:52 +00:00
Damien Miller
e9cf357a99
- (djm) Add CVS Id's to files that we have missed
2001-02-09 12:55:35 +11:00
Ben Lindstrom
3c06f6a0b2
- (bal) Reorder. Move all bsd-*, fake-*, next-*, and cygwin* stuff to
...
openbsd-compat/. And resolve all ./configure and Makefile.in issues
assocated.
Logic:
* All OpenBSD functions should have the same filename as in the OpenBSD
tree
* All 'home brew' functions have bsd-* infront of them.
* All 'not really implemented' functions have fake-* infront of them.
2001-01-31 21:52:01 +00:00