Dag-Erling Smørgrav
d4ae7a43cb
Fix compiler warnings in Travis.
...
Travis forces _FORTIFY_SOURCE, which enables warn_unused_result annotations in glibc. Some of those annotations are of dubious value; in the case of asprintf(3) and vasprintf(3), they flag code that doesn't check the return value as unsafe even if it checks the pointer instead (which is guaranteed to be NULL in case of failure, and arguably more useful than the return value). Unfortunately, gcc intentionally ignores (void) casts, so we have no choice but to quench the warning with -Wno-unused-result. However, some of the compilers we wish to support don't recognize it, so we move it from the developer flags to the Travis environment.
While there, switch Travis from Precious to Trusty.
2017-05-01 16:52:22 +02:00
Dag-Erling Smørgrav
24df7d433f
Bump version.
2017-04-06 21:19:23 +02:00
Dag-Erling Smørgrav
206c6ffc85
Implement ffs() / fls() and use the latter to compute the MSB.
2017-04-06 19:52:23 +02:00
Dag-Erling Smørgrav
cdd1a65e84
Fix pasto which prevented cryb-mpi from being built.
2017-04-06 19:51:47 +02:00
Dag-Erling Smørgrav
95ba4d39da
Bump version.
2017-04-06 19:51:46 +02:00
Dag-Erling Smørgrav
f164c3ac6e
Replace the old mkpkgng script with a true port Makefile.
2017-04-06 19:51:46 +02:00
Dag-Erling Smørgrav
d96415b2c3
Define vector versions of the endianness conversion functions.
2017-04-06 19:51:46 +02:00
Dag-Erling Smørgrav
fbf69f31cb
Start using pkg-config / pkgconf.
2017-03-07 00:54:46 +01:00
Dag-Erling Smørgrav
5476b36e9a
Switch to using a real version number and bump.
2017-03-07 00:49:19 +01:00
Dag-Erling Smørgrav
912ba9b6ff
Add a test that ensures that our headers are compilable in C++.
2017-01-24 15:08:48 +01:00
Dag-Erling Smørgrav
3da29c38c6
Fix typo in libcryb-enc's dependency list.
2016-11-21 13:47:17 +01:00
Dag-Erling Smørgrav
4cad790446
Fix typo in libcryb-rand's Makefile and ensure that it is built before libcryb-oath, which uses it.
2016-11-21 13:46:49 +01:00
Dag-Erling Smørgrav
856571a06d
Implement a soft assert for unit tests.
...
Unlike assert(3), which uses abort(3), this has no other side effects (before raising SIGABRT) than an fprintf() call. The test framework will catch the SIGABRT, report that the test case failed, and proceed with the next case.
2016-11-14 13:00:16 +01:00
Dag-Erling Smørgrav
183f023ab6
Alphabetize.
2016-11-14 12:59:13 +01:00
Dag-Erling Smørgrav
a36ae775dd
Disable unused-result warnings.
...
It does not seem that gcc accepts casting to void as an alternative to actually checking the result. The only recourse we have is to disable the warning.
2016-09-18 23:32:53 +02:00
Dag-Erling Smørgrav
cb6743bace
Add wide-character versions of strlcat(), strlcmp(), strlcpy().
2016-09-17 21:35:42 +02:00
Dag-Erling Smørgrav
d9b6740247
Implement the full range of BSD endianness conversion functions.
2016-09-15 11:18:01 +02:00
Dag-Erling Smørgrav
06a757e878
Big reorganization and cleanup
2016-09-04 14:56:39 +02:00
Dag-Erling Smørgrav
d2a98cd870
Generate .xz tarball by default, not .gz
2016-01-09 20:26:40 +01:00
Dag-Erling Smørgrav
9905f08c80
Change tarname to cryb-to to match github project name etc.
2016-01-09 20:16:04 +01:00
Dag-Erling Smørgrav
e5b9a12a35
Add -Wshadow.
2016-01-09 18:37:05 +01:00
Dag-Erling Smørgrav
f9c8ce7c65
Build system overhaul
2015-12-14 18:08:22 +01:00
Dag-Erling Smørgrav
7b48030ada
Revert accidental commit
2015-11-02 19:34:54 +00:00
Dag-Erling Smørgrav
955cbc3013
Add t_malloc_snapshot() which writes a snapshot of the allocator state to
...
a caller-provided buffer. Use it to warn about leaks in each individual
test case. Note that we can't fail a test case for leaking, because
individual test cases in a unit may modify shared state which is cleaned
up at the end of the series.
2015-11-02 19:34:03 +00:00
Dag-Erling Smørgrav
f8ebdbc14d
Move the test framework into its own subdirectory
2015-10-04 07:49:48 +00:00
Dag-Erling Smørgrav
dd18cd2995
Kick off libcryb-cipher with AES (from XySSL) and RC4 (my own).
2015-10-03 14:24:59 +00:00
Dag-Erling Smørgrav
20cd7d6012
Add 16-bit endian conversion functions.
2015-08-17 15:37:07 +00:00
Dag-Erling Smørgrav
dc75f2edd8
Add a memset_s() implementation (cf. C11 / WG14 N1381)
2015-02-15 09:18:18 +00:00
Dag-Erling Smørgrav
1a76a0cbb0
Get latest mkpkgng script from OpenPAM.
2014-12-20 02:58:11 +00:00
Dag-Erling Smørgrav
13bad71153
Make coverage.sh executable.
2014-12-20 00:52:37 +00:00
Dag-Erling Smørgrav
6ed802ddf3
Consistently use #if HAVE_FOO instead of #ifdef HAVE_FOO. The reason is
...
that AC_CHECK_DECLS([foo]), unlike AC_CHECK_FUNCS([foo]), will always
define HAVE_FOO, so #ifdef HAVE_FOO will always be true even if it is 0.
This commit finally fixes the [bl]e{32,64}{enc,dec} issue on Linux.
2014-12-20 00:38:54 +00:00
Dag-Erling Smørgrav
b74f5f8588
Add -Wcast-qual to the developer warning flags.
2014-12-20 00:27:20 +00:00
Dag-Erling Smørgrav
8ef2266a4b
r103 was incomplete. It changed the checks in the configure script (and
...
accidentally introduced a no-op line), but did not change the checks in
the header, so we ended up always using our own [bl]e{32,64}{enc,dec}.
2014-12-20 00:26:37 +00:00
Dag-Erling Smørgrav
44230ff5e3
Use AC_SEARCH_LIBS instead of AC_CHECK_LIB so we don't pull in librt
...
unless we actually need it.
2014-10-30 14:32:46 +00:00
Dag-Erling Smørgrav
86e7cd9eb1
Fix the checks for the unaligned encoding / decoding functions, as
...
they can be macros or inline functions in either <endian.h> or
<sys/endian.h>.
2014-10-30 13:24:53 +00:00
Dag-Erling Smørgrav
14c64ec3a5
Improved checks for <sys/ktrace.h>.
2014-10-30 13:07:16 +00:00
Dag-Erling Smørgrav
75ee849080
Add missing checks for clock_gettime(2) (Linux has it in librt) and
...
for the unaligned encoding / decoding functions in <cryb/endian.h>.
2014-10-30 12:55:36 +00:00
Dag-Erling Smørgrav
cf44e01bb1
Check for <sys/ktrace.h> and utrace(2).
2014-10-30 12:05:45 +00:00
Dag-Erling Smørgrav
be31515f5e
Start of a multiple-precision integer arithmetic library.
2014-08-12 07:30:31 +00:00
Dag-Erling Smørgrav
479ffbba4a
Remove author and sponsor tags; we'll deal with that some other way.
...
Remove $Cryb$ tags as it is likely that the code will move to git.
2014-08-01 14:31:07 +00:00
Dag-Erling Smørgrav
526303caad
WIP: CPE library.
2014-08-01 14:18:25 +00:00
Dag-Erling Smørgrav
0023f57ab5
Add a library of general (non-cryptographic) hash functions, currently
...
consisting of the Pearson string hash function and the Murmur3-32 hash
function.
2014-07-19 06:03:57 +00:00
Dag-Erling Smørgrav
f1907404b1
Add a helper script for running the test suite with coverage analysis
...
enabled.
2014-07-13 21:21:43 +00:00
Dag-Erling Smørgrav
4c59fd979b
Reorganize the configure script. Move the header and function checks
...
up so they're not affected by the debugging / developer options.
2014-07-13 19:59:58 +00:00
Dag-Erling Smørgrav
cd10966e07
Make the performance tests conditional on a run-time environment variable
...
rather than a build-time option.
2014-07-11 00:18:34 +00:00
Dag-Erling Smørgrav
601403cba3
Use custom keywords.
2014-07-04 11:20:46 +00:00
Dag-Erling Smørgrav
ae99587ba4
initial code drop
2014-07-04 11:18:53 +00:00