| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
See #1586. Reverts part of #1494
|
|
|
|
|
|
|
|
| |
Symlinks to shared libraries confuse the OpenBSD dynamic linker.
We need one file with two numbers. The problem became apparent
when the abi_rev and the OpenBSD ports shared libs numbers diverged.
Add a new conditional variable symlink_shared_lib to suppress the
symlink in the makefile.
|
|
|
|
|
| |
We need a distinct flag for this because Haiku is mostly POSIX
but does not support mlock.
|
| |
|
|
|
|
| |
Fixes GH #1404
|
| |
|
|
|
|
|
| |
Needed for mingw which has unames like mingw32_nt-6.3 and thus varies
based on the underlying version. Might be useful elsewhere.
|
|
|
|
|
|
|
|
|
|
| |
Derive the fact that shared libs are not supported from the lack of
information about shared object names. If soname_suffix and co are
not set -> shared libs are disabled.
Disable stack protector by default on OSes where it has proven a problem
namely AIX and Haiku. Add --with-stack-protector option to force turning
it on.
|
| |
|
|
|
|
| |
Works fine, think this was a problem with their old gcc2 toolchain.
|
|
|
|
| |
Undeprecate it since it seems easy enough to support.
|
|
|
|
|
| |
We are unlikely to ever use gettimeofday or memset_s going forward.
Also MinGW had the wrong flag for VirtualLock
|
|
|
|
|
|
| |
It turns out that GCC dropped support for IRIX in 4.8, so likely there
was never even a C++11 compiler that could have been used to compile 2.x
in any case.
|
|
|
|
|
|
|
| |
We have to rely on non-portable OS calls to convert UTC times,
and they are not available on many systems (including Solaris and MinGW).
But instead there is a simple algorithm due to Howard Hinnant that
does the same job. Woo.
|
| |
|
|
|
|
| |
Also remove a duplicated block (rebase error)
|
| |
|
|
|
|
|
| |
Apparently introduced in #584 but unnecessary afaict as the CLI
was renamed at the same time.
|
|
|
|
| |
Unused since the Python install script was introduced.
|
|
|
|
|
|
|
|
| |
Splits up the ar command and ar options to make this possible.
Removes support for calling `ranlib` after `ar`: testing in #1317
confirms that all platforms we support no longer need it.
See #1237. Also fixes #455
|
|
|
|
| |
[ci skip]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This OS has its own crypto API and does not support CryptGenRandom.
Splits System_RNG_Impl into distinct declarations one per implementation
type. Easier to read now that we are up to 4 distinct versions.
Removes the CryptoAPI entropy source, and replaces it with an entropy
source that calls the system RNG. This is nominally a bit less flexible
in that the entropy source allowed polling multiple providers (though
we didn't actually make use of that). Plus side is it works on all
systems.
Currently the dev_random entropy source is still there because we do
actually use it to poll both /dev/random and /dev/urandom, and it
might be useful (on certain systems) to also poll a HW RNG, which
are often assigned their own device node. This could debatably also
be removed in favor of just reading the system RNG.
|
| |
|
| |
|
|
|
|
|
|
| |
Based on the work by @slicer4ever, adds support for
Windows sockets to http_util. As a bonus, we get Windows support
for tls_client and tls_server CLI.
|
|
|
|
|
|
|
|
|
| |
OpenBSD provides the arc4random(3) function in libc for user land
programs that need good random data. Use this to implement the
Botan system random number generator. It has the advantage over
/dev/urandom that it works without file descriptors and in chroot(2)
environment. Internally libc is currently using a ChaCha20 cipher
as PRNG and getentropy(2) to reseed itself automatically.
|
|
|
|
| |
GH #887
|
|
|
|
|
| |
Set library name for openbsd to libbotan-2.so.0.0 and do not install
symlinks.
|
|
|
|
| |
[ci skip]
|
|
|
|
|
|
| |
Tested for ARM only under qemu-aarch64, need to check hardware before merging.
Changes x86 CPUID bitmasks which does break ABI for 2.1, no API implications.
|
|
|
|
|
|
|
|
| |
Fixes a test problem on Cygwin.
GH #824
[ci skip]
|
|
|
|
|
|
| |
Based on compiling on AIX 7.1
[ci skip]
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cleans up so object naming since most of the time (across Unix)
we follow the exact same naming scheme; just make it the default
if only the so suffix is specified in the file.
Also updates include header dir to be botan-${major}
Changes behavior when shared lib not supported; instead of making
the user explicitly try again with --disable-shared, just assume it
and continue running.
|
| |
|
| |
|
| |
|
|
|
|
| |
Soname_patterns and link commands are identical to those used with Linux
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The command line tools' origin as a collection of examples and test
programs glued together led to some unfortunate problems; lots of
hardcoded values, missing parameters, and obsolete crypto.
Adds a small library for writing command line programs of the sort
needed here (cli.h), which cuts the length of many of the commands in
half and makes commands more pleasant to write and extend.
Generalizes a lot of the commands also, eg previously only
signing/verification with DSA/SHA-1 was included!
Removes the fuzzer entry point since that's fairly useless outside of
an instrumented build.
Removes the in-library API for benchmarking.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Provides an easier way for an application to configure a list of
entropy sources they'd like to use, or add a custom entropy source to
their seeding.
Exposes some toggles for the global/default entropy sources to build.h
Adds basic entropy tests which runs the polls and does sanity checking
on the results, including compression tests if available. These are
less useful for the CSPRNG outputs but a good check for the ones
producing plain ASCII like the /proc reader.
|
|
|
|
|
|
|
|
| |
* Rename variable to avoid confusion of build_shared and
options.build_shared_lib
* Don't automatically change shared -> static. Force user to do that
Fixes #211
|
|
|
|
| |
Fixes #241
|
|
|
|
| |
Closes #202
|
|
|
|
|
|
| |
The android.txt is a copy of linux.txt minus the getsid feature
(Android's libc, Bionic, doesn't support it) and the alias linux-gnu. It
is supported anywhere where linux is supported.
|
|
|
|
|
| |
It is added to all OS that use getsid currently, so it must be available
there.
|
|
|
|
| |
Closes #199
|
| |
|
|
|
|
| |
the first.
|
|
|
|
|
| |
alternate implementation for Unix and add some feature checks so a
boost-free build of the tests and command line are possible again.
|
| |
|