Commits
- Commit:
8d60d668faa58a809d2f1244697a7a5e285951b7
- From:
- Thomas Adam <ThomasAdam@users.noreply.github.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: fix getopt check
Rather than always asserting our version of getopt(2), only do so
if it lacks certain features.
Some of the configure.ac changes have come from openssh-portable.
- Commit:
206be139b57622a9d9d2fe28a7d2c1eb62109136
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: improve b64_ntop detection
When looking for base64 functions, check -lresolv and/or -lnetwork, and
only build those in compat if required.
Some of the detection code was modified from tmux's configure.ac script.
- Commit:
4fccd2fe0ffbbc668b66abe63614470635f92f1b
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: configure: split out dependencies
Rather than assume all dependencies are required for all programs, split
them out.
This will make packaging easier, as well as splitting the code to use
subprojects.
Note that due to the use of config.h semantics, in most cases the
got_compat.h header file is now at the top of the .c file it is included
in, so that it can handle the system header inclusion properly.
- Commit:
b1ec8cee26c37a4d2687babea76a8ba4e7d724ad
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: compat: sha2
Add compatability support for sha2 for systems which don't natively have
it.
This has been stolen from OpenBSD. Thanks!
- Commit:
f600ad7605fa8b629252e6b11daae241ebe0d135
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: OpenBSD support
Despite -portable existing to make the codebase compile on platforms
other than OpenBSD, there's nothing wrong with making -portable still
compile on that platform as well.
- Commit:
46384c6e760fdd54c263d1af7d6db58cc09a4e51
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: remove sys/tree.h compat inclusion
libbsd as a library was created some years back to pull together
BSD-specific functionality to be used on non-BSD systems. When it was
in its infancy, and not being widely adopted across non-BSD systems,
there was often a need to carry around compat versions of
sys/{queue,tree}.h
This is no longer the case -- and the compat code for this has never
worked on systems which lacked a compatible sys/tree.h header anyway, so
remove this, and let the user know that libbsd is needed.
A few people have mentioned this to me.
- Commit:
c4e2e0d08cd12c6197fc87034fe559fc4d6b3ef5
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add setproctitle
This is needed for gotwebd.
- Commit:
ddd12270ff092d803b3e6fd6d9e6701a49bb5c65
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add siphash implementation
Siphash is being used in place of murmurhash for object-id set as this
is faster. However, this isn't really seen much in the non-BSD
userspace, so provide an implementation for it portably, if one isn't
found.
- Commit:
a3732bb6b798b7e4979938729f9047ebf6191027
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: support NetBSD
This adds support for NetBSD, using the following external dependencies:
libuuid
ncursesw
There is no CI (yet) as enabling that on Cirrus-CI requires some work,
so for now, these builds will be run manually before releases.
The test suite will also need tweaking to be fully supported but the key
tests are supported for now.
- Commit:
d24ddaa6a9de118f70658f7fd917c37cc787b425
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: include support for MacOS
This adds support for MacOS (Monteray onward, although should work on
older MacOSes).
The BSD wrapper for poll/ppoll has been lifted from the work the folks
over at OpenSSH have done -- thanks!
- Commit:
97799ccd4b67a81f97039305d4fdd66588da9962
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add support for landlock
landlock is a new set of linux APIs that is conceptually similar to
unveil(2): the idea is to restrict what a process can do on a
specified part of the filesystem. There are some differences in the
behaviour: the major one being that the landlock ruleset is inherited
across execve(2).
This just restricts the libexec helpers by completely revoking ANY
filesystem access; after all they are the biggest attack surface. got
send/fetch/clone *may* end up spawning ssh(1), so at the moment is not
possible to landlock the main process.
From Omar Polo.
- Commit:
0ca5b679a408be58a7330776fdb1a4748ca7a9bd
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: propagate AM_CFLAGS/AM_CPPFLAGS
Allow for warnings via AM_CFLAGS in a common Makefile, and let
those values propagate to all other Makefiles. Currently the more
useful checks are disabled until upstream changes are made to reduce
warnings.
While here, also fix the version string to remove quotes.
- Commit:
cc1cb6fe00a13f31ed58d5f0d2e612f74b83acc2
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: compat: remove unused files
Fix up a weird automerge where some files referenced are either not used
any more or have already been included.
- Commit:
2a00e21c0c6aadccf2d86abbeaa0252c54ae87db
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: initial Linux compilation
This commit modifies the GoT main branch to be able to compile it under
linux.
- Commit:
6b78ad28aa9fd55e0c2ae44dea662944bbc279d7
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
libexec: honour libeexec path for helpers
libexec is a common path which is understood by autotools, and
should be honoured.
Patch from Christian "naddy" Weisgerber
- Commit:
92a9e85d28a30997176ce0d3c2915e3ea70782c7
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add FreeBSD support
This adds the capability to compile got-portable on FreeBSD.
- Commit:
7e5c335642bf836fb0ae7494cbb4acc9d32cc871
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
compat: Makefile: add missing trailing backslash
The uuid.c source file was missing a trailing backslash.
- Commit:
dd5143452fa016f511bfb99301c14ac8519e0a67
- From:
- Thomas Adam <thomas.adam@smoothwall.net>
- Date:
dist: rework files for distcheck
Rather than having a toplevel EXTRA_DIST target in the toplevel
Makefile.am file, move the relevant files to their own Makefile.am
locations.
- Commit:
c0faa64537e979f3a490dec3d4ecb2223791383e
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas.adam@smoothwall.net>
- Date:
xmalloc: remove wrapper as no longer needed
There is only one user which calls xrecallocarray: ibuf_realloc().
We already provide recallocarray() in the compat layer so ibuf_realloc()
can simply call recallocarray() directly, as it does on OpenBSD.
OK thomas.adam
- Commit:
0130fe58c1ded20e2c044839d6254081941a714a
- From:
- Christian Ludwig <chrissicool@gmail.com>
- Via:
- Thomas Adam <thomas.adam@smoothwall.net>
- Date:
automake: Fix path to libexec directory
The got_lib_privsep.h header expects the path to the libexec directory
to be called GOT_LIBEXECDIR. At the moment it always falls back to using
/usr/libexec. Fix what looks to be a typo.
- Commit:
dd038bc6ec835ad3fd3c0b5303b8af9ad506c8cc
- From:
- Thomas Adam <thomas@xteddy.org>
- Via:
- Thomas Adam <thomas.adam@smoothwall.net>
- Date:
portable: initial Linux compilation
This commit modifies the GoT main branch to be able to compile it under
linux.