Commit Briefs

Thomas Adam

portable: add support for DragonFlyBSD

This adds support for DragonFlyBSD.


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!


Thomas Adam

portable: make UUID includes generic

Move the detection of UUID header files to be included portably. This will have no functional effect until MacOS detection is put in place.


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.


Thomas Adam

portable: add compat wrappers for timespec*()

Although there are definitions for timespec*() functions in libbsd, these were added fairly recently, which means not all non-BSD systems will have them. In such cases, provide a portable wrapper.


Thomas Adam

portable: add FreeBSD support

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


Thomas Adam

portable: initial Linux compilation

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