The Cryb libraries
Find a file
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
debian New alpha release. 2017-04-06 21:30:15 +02:00
freebsd Use the correct variable for find(1). 2017-04-06 19:51:46 +02:00
include Bump version. 2017-04-06 21:19:23 +02:00
lib Fix compiler warnings in Travis. 2017-05-01 16:52:22 +02:00
m4 Update ax_gcc_builtin macros from upstream. 2017-04-06 19:51:47 +02:00
t Fix include paths for some tests. 2017-04-29 18:28:54 +02:00
tools Centralize most of .gitignore. 2016-09-17 21:38:54 +02:00
.gitignore Start using pkg-config / pkgconf. 2017-03-07 00:54:46 +01:00
.travis.yml Fix compiler warnings in Travis. 2017-05-01 16:52:22 +02:00
autogen.des Respect user's CC 2016-09-04 16:18:13 +02:00
autogen.sh Ensure that autogen.sh fails if any of its steps does. 2017-04-06 19:51:47 +02:00
configure.ac Fix compiler warnings in Travis. 2017-05-01 16:52:22 +02:00
CREDITS Implement the ChaCha family of stream ciphers. 2017-04-06 19:51:45 +02:00
HISTORY Standard files that "make dist" complains about. 2014-07-10 14:44:17 +00:00
INSTALL Standard files that "make dist" complains about. 2014-07-10 14:44:17 +00:00
LICENSE Correct information about Joachim Strömbergson's contributions. 2017-04-06 19:51:46 +02:00
Makefile.am Include pkg.m4 from the latest version of pkg-config. 2017-03-07 02:28:04 +01:00
README typo 2015-12-14 16:05:18 +01:00
README.md Prepare for moving to Github 2015-12-14 15:55:38 +01:00
RELNOTES Standard files that "make dist" complains about. 2014-07-10 14:44:17 +00:00

The Cryb libraries

The Cryb libraries are a collection of cryptography- and security-related function libraries written with the following goals in mind:

  • Comprehensive: Cryb aims to provide a rich and flexible set of building blocks for cryptographic applications.

  • Self-contained and easily embeddable: the Cryb libraries have no external dependencies (apart from the toolchain) and few internal ones. Individual modules and algorithms can easily be extracted from Cryb and integrated into other codebases.

  • Reliable: the libraries come with an extensive test suite with a long-term goal of 100% test coverage.

  • Stable: guaranteed API and ABI stability.

  • Documented: full API documentation in the form of Unix man pages.

  • Consistently and permissively licensed: the entire collection is under the 3-clause BSD license.

Caveat

We aren't there yet. The Cryb libraries are still undeniably at the experimental stage. However, significant portions are already in production use as components in other projects (cf: easily embeddable), and we have great expectations for the future of Cryb.