This file describes version information of this project.
Move to using standard uint32_t
style for fixed-width integers instead
of u_int32_t
, which would fail building on OmniOS. While here, stop
depending on BSD-style make
for running regressions and add OmniOS to
the list of CI-enforced systems.
Sun (Solaris 11) is supported, but currently fails. This is under review.
Add lots of new compatibility: arc4random(3), timingsafe_bcmp(3), blf_enc(3), and crypt_newhash(3), and
Fixes that crypt
wasn't being picked up on older Linux machines.
Fix regression testing on Linux (termios would fail). Add GitHub Actions for quality continuity.
Update seccomp testing in two ways:
- First, test for whether the header and entry function exist and mark
them in a new variable,
HAVE_SECCOMP_HEADER
. - If found, check to make sure that the architecture is recognised for
passing in with the filter. Set this in
SECCOMP_AUDIT_ARCH
. - If an arch is found and the header exists, set
HAVE_SECCOMP_FILTER
to one. If an arch was not found and the header exists, or the header does not exist, setHAVE_SECCOMP_FILTER
to zero.
Update the list of supported architectures, while here.
Add LDLIBS
support. Fix fts(3)
header inclusion. Add skeleton WASI target support.
Test for termios(4), specifically for the use case of testing terminal widths. This is known not to exist in WASM targets.
Allow overriding AR
just like CC
and friends.
Determine command line option for shared library generation. On Mac OS
X, this is -install_name, otherwise it's -soname. Put the
result as LINKER_SONAME
in the generated Makefile.configure.
Add test and compatibility for scan_scaled(3).
Add a test for Linux's landlock.
Add a check for crypt_newhash(3). No compatibility yet.
Have explicit_bzero(3) use memset(3) internally instead of bzero(3), which is a macro on some systems (e.g., Android).
Fix sys/queue.h so that it doesn't blow inclusion due to backticks.
Add instructions for using libbsd.
Use command -v
instead of which
for portability to systems that
don't include which
by default.
Use newest OpenBSD sys/queue.h, which evicts CIRCLEQ
, adds
XSIMPLEQ
, and adds concatenation macros.
Fix recursive-make detection on FreeBSD machines.
Allow the SHA2 detection to pick up -lmd, so that external libraries such as libmd may be recognised.
Fix the sha2(3) support, which
requires changing symbols from HAVE_SHA2_H
to HAVE_SHA2
, just like with
HAVE_MD5
. I'm bumping the minor version because of the change in symbols.
The documentation is also now fixed for this.
Check for errc
and warnc
, prompting some systems with partial
support for err(3) to pull in
compatibility to provide all functions.
Documentation for SHA2 compatibility and also remove a warning when compiling on systems without OpenBSD-like SHA2 support.
Test for fts_open(3) and provides compatibility functions if not found. These use the latest OpenBSD source as a basis for the compatibility functions. Required for compiling on musl systems.
Test for crypt(3). Hopefully this will pave way for a future portable crypt_newhash(3).
Back out test for zlib. This is better handled by pkg-config(1). Add more documentation on usage.
Fix regression in defining _BSD_SOURCE
for Linux.
More portability for SunOS and IllumOS (OmniOS). Also Linux/SunOS portability for the minor(2) family of functions. Documentation throughout has improved considerably and all (most?) functions are handle in the regression suite.
Extensive work for portability on SunOS, NetBSD, FreeBSD, and Linux. A small regression framework is in place (still in development) to make sure that these systems are continuously supported.
The system is now part of BSD.lv's continuous integration suite.
Make sure that all (or at least most) of the MD5 functions are available. SunOS, for instance, only provides some of them. Also make the MD5 compatibility layer use C11 types for greater portability.
If $CC
is not found, try to use clang
then
gcc
before giving up.
This is primarily for SunOS machines that define the compiler as
cc
, but do not provide it as such.
Also support the SunOS byte order functions.
The system is now fully tested on SunOS.
Fix mknodat(2) and mkfifoat(2) and compatibility not to leak file descriptors and to properly clean up on exit.
Provide mknodat(2) and mkfifoat(2) compatibility for Mac OS X.
Provide COMPAT_ENDIAN_H
as short-hand for the three-phase conditional
for detecting endian functions.
Make the endian.h checks compatible with Mac OS X, which provides
neither an endian.h nor the functions therein.
Add another conditional to the required check (HAVE_OSBYTEORDER_H
) and
provide compatibility functions as well.
Have checks that require external libraries (MD5, b64_ntop
, etc.) set
those libraries in Makefile.configure if required. This makes it
easier for software to add those libraries without requiring the porters
to do so.
Fix typo in readpassphrase(3) compatibility.
Support getprogname()
on systems inheriting from SunOS.
Fix up the README documentation not to directly mention "supporting"
tools used in the compatibility layer, such as memset_s
or
__progname
. These should not be used directly: the compatibility
functions should be used instead.
Add a header guard to the output config.h.
Add aarch64 to Linux seccomp tests. This patch comes from kcgi/pull/74.
Test for tree(3) (sys/tree.h) macros and provide compatibility macros if not found.
Fix readpassphrase(3) compatibility to run on FreeBSD.
Test for (OpenBSD/Linux) endian.h or (FreeBSD) sys/endian.h.
Add a test and compatibility for readpassphrase(3).
Make the test for sys/queue.h look for the TAILQ_FOREACH_SAFE
function, as the glibc version of this header file does not include that
critical macro.
Test for unveil(2) and some small fixes to initialisations.
Fix the sys/queue.h check on non-OpenBSD systems (specifically glibc and musl Linux systems) and fix MD5 test to catch -lmd on FreeBSD.
Bundle a version of sys/queue.h if it's not found.
Improve test for b64 and also add compatibility functions.
Add a test for b64_ntop
and also introduce cross-compilation support
by not actually executing tests---just compiling them.
Add vwarn
and vwarnx
to the err.h
compatibility.
Accept multiple words when passing arguments on the command line. For example,
./configure LDFLAGS="-L/usr/local/lib -L/usr/local/opt/lib"
Also specify the current known version in the configure
script.
While there, start versioning.