Commit Briefs

c4e2e0d08c Thomas Adam

portable: add setproctitle

This is needed for gotwebd.


ddd12270ff Thomas Adam

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.


a3732bb6b7 Thomas Adam

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.


d24ddaa6a9 Thomas Adam

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!


97799ccd4b Thomas Adam

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.


0ca5b679a4 Thomas Adam

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.


cc1cb6fe00 Thomas Adam

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.


2a00e21c0c Thomas Adam

portable: initial Linux compilation

This commit modifies the GoT main branch to be able to compile it under linux.


6b78ad28aa Thomas Adam

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


92a9e85d28 Thomas Adam

portable: add FreeBSD support

This adds the capability to compile got-portable on FreeBSD.


7e5c335642 Thomas Adam

compat: Makefile: add missing trailing backslash

The uuid.c source file was missing a trailing backslash.


dd5143452f Thomas Adam

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.


c0faa64537 Thomas Adam

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


0130fe58c1 Thomas Adam

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.


dd038bc6ec Thomas Adam

portable: initial Linux compilation

This commit modifies the GoT main branch to be able to compile it under linux.