Commit graph

440 commits

Author SHA1 Message Date
Dag-Erling Smørgrav
85bf898826 Don't invoke pkg-config unnecessarily.
Previously, we always invoked AX_PKG_CONFIG_CHECK() for a disabled component (i.e. a component which we provide but which was disabled on the configure command line).  This is both excessive (because we only need to run this check for components that will be needed during the build) and insufficient (because we also need to run it for components from other Cryb projects).
2018-05-11 18:21:26 +02:00
Dag-Erling Smørgrav
68809ea833 Add a CRYB_VERBOSE environment variable. 2018-05-11 17:41:54 +02:00
Dag-Erling Smørgrav
bfbd8da63a Bump version. 2018-05-06 20:55:20 +02:00
Dag-Erling Smørgrav
d53673deee
Merge pull request #17 from cryb-to/memsafe
Improved memory-safe functions
2018-05-06 20:08:34 +02:00
Dag-Erling Smørgrav
cdd29a0700 If we're going to have a sentinel, we may as well have fun with it. 2018-05-06 19:21:00 +02:00
Dag-Erling Smørgrav
354759a9f2 Further improvements to memcpy_s(), memset_s(), and their man pages. 2018-05-06 19:12:51 +02:00
Dag-Erling Smørgrav
a1bf5e87f0 Implement rsize_t / RSIZE_MAX (almost) correctly.
The caveat is needed because if you include one of these headers on a system that defines rsize_t without having the correct incantations in your configure.ac, you are going to have a bad time.  But there is no good general solution to the problem.
2018-05-06 19:12:51 +02:00
Dag-Erling Smørgrav
56bd595396 Modernize. 2018-05-06 19:12:51 +02:00
Dag-Erling Smørgrav
d6e82b474f Add man pages for memset_s(3) and memcpy_s(3) 2018-05-06 19:12:51 +02:00
Dag-Erling Smørgrav
c73fd34d97 Implement a memcpy_s() equivalent. 2018-05-06 19:12:51 +02:00
Dag-Erling Smørgrav
bf624acec1 Tweak memset_s() and its unit tests, mostly renaming variables. 2018-05-06 19:12:51 +02:00
Dag-Erling Smørgrav
1a86caaf37
Merge pull request #16 from cryb-to/autoconf
Create a set of autoconf macros to handle Cryb components and dependencies.
2018-05-06 18:55:23 +02:00
Dag-Erling Smørgrav
4bf16e8ee2 Install our autoconf macros. 2018-05-06 17:38:45 +02:00
Dag-Erling Smørgrav
415f4170c6 Take advantage of the new autoconf macros. 2018-05-06 03:21:59 +02:00
Dag-Erling Smørgrav
dc8984d0a0 Create autoconf macros to automate component selection.
These macros are designed to work in concert with the AX_PKG_CONFIG macros.  It is now possible to disable any component, even if another depends on it, provided that it is already installed.  For enabled components, we define the same variables as AX_PKG_CONFIG would, so Makefiles don't need to know if a component they rely on is being built as part of this packge or if it was already installed.
2018-05-06 03:21:59 +02:00
Dag-Erling Smørgrav
e603e0bc2e Add support for version checks. 2018-05-06 03:21:59 +02:00
Dag-Erling Smørgrav
42e19ba158 Add .gitignore and remove an unused file. 2018-05-05 15:38:02 +02:00
Dag-Erling Smørgrav
fe064e41db Add missing dependency on cryb-rand for t_oath. 2018-05-05 15:37:55 +02:00
Dag-Erling Smørgrav
9be4ffc412 Make inter-library dependencies public. 2018-05-05 15:37:55 +02:00
Dag-Erling Smørgrav
7a9326dac4 Explicitly enable maintainer mode.
This is the default if the AM_MAINTAINER_MODE macro is not invoked, but invoking it also creates the --disable-maintainer-mode option which some automated build tools use to speed up builds from a clean tree.
2018-05-05 15:37:55 +02:00
Dag-Erling Smørgrav
ff48f79cca New alpha release. 2018-04-26 22:19:48 +02:00
Dag-Erling Smørgrav
780084b9dd Fix incomplete dependency list.
This is a no-op, but suppresses a warning about an unused (albeit empty) substitution variable.
2018-04-26 22:02:07 +02:00
Dag-Erling Smørgrav
2464c55c6e More robust FreeBSD port creation.
Instead of using the enclosing source tree, use automake's distdir target to copy a clean set of sources into WRKSRC.  This protects us from a polluted tree, prevents us from polluting it in turn, and allows the ports framework to perform necessary substitutions in libtool and the like.
2018-04-26 22:00:32 +02:00
Dag-Erling Smørgrav
6e70e11df9 Bump version and copyright years. 2018-04-26 22:00:21 +02:00
Dag-Erling Smørgrav
8693613da9
Merge pull request #15 from cryb-to/cryb-oath
Complete overhaul of the OATH library.
2018-04-26 03:25:51 +02:00
Dag-Erling Smørgrav
31f2831b67 Fix a few key URI validation issues. 2018-04-26 03:09:51 +02:00
Dag-Erling Smørgrav
bd4b5c246e Complete rewrite of oath_key_to_uri().
- The API has changed so that the function now writes its output into a caller-provided buffer, in a style similar to libcryb-enc.

- All parameter values are now correctly percent-encoded.

- The issuer parameter is now supported.
2018-04-26 02:41:47 +02:00
Dag-Erling Smørgrav
48fc358df7 Major cleanup and API overhaul.
- The API has been redesigned so the caller is now responsible for allocating storage.
- A few more macros and typedefs have been added to clean up the namespace.
- Key parameter validation has been strengthened.
2018-04-26 01:31:35 +02:00
Dag-Erling Smørgrav
54c67f337a Add partial support for issuer parameter.
We can read the issuer from a URI (as a separate parameter, not as a prefix to the label) and store it, but not yet output it.  That will be implemented in a future rewrite of oath_key_to_uri().
2018-04-26 00:06:48 +02:00
Dag-Erling Smørgrav
4576565fd1 Make rand_bytes() work more like read(2). 2018-04-25 23:11:47 +02:00
Dag-Erling Smørgrav
5768034d36 Fix signed shift in base32 and base64 decoders. 2017-12-17 16:01:32 +01:00
Dag-Erling Smørgrav
785612b12b Apply developer flags to C++ as well as C. 2017-12-17 14:03:26 +01:00
Dag-Erling Smørgrav
1bf0b415a3 Make it clear that we prefer pkgconf over pkg-config. 2017-09-04 22:49:41 +02:00
Dag-Erling Smørgrav
f3f299b69a Fix case where ${PKG_CONFIG} is not an absolute path. 2017-09-04 22:49:03 +02:00
Dag-Erling Smørgrav
837d7f3a99 New alpha release. 2017-09-04 21:53:12 +02:00
Dag-Erling Smørgrav
636bd7a259 Better macros for unreachable code.
This adds a `CRYB_UNREACHABLE` macro which will cause a segfault if reached, and modifies `CRYB_NO_DEFAULT_CASE` to have essentially the same semantics.  It also removes the conditionals since the coverage macros are always defined.
2017-09-04 21:01:39 +02:00
Dag-Erling Smørgrav
06c2f1280a Add a missing break.
This was harmless as it would either fall through to an empty default statement (if CRYB_COVERAGE was defined) or out of the switch, but it's still bad style.
2017-09-04 21:00:01 +02:00
Dag-Erling Smørgrav
2e5134e217 Bump version. 2017-09-04 16:33:37 +02:00
Dag-Erling Smørgrav
e3e6a0032c Merge pull request #14 from cryb-to/cryb-core
Add strchrnul() and wcschrnul().
2017-08-23 14:24:44 +02:00
Dag-Erling Smørgrav
7744c45b8b Remove unnecessary header. 2017-08-23 13:42:00 +02:00
Dag-Erling Smørgrav
d77ba2a458 Fix unit test for strchrnul(). 2017-08-23 13:41:40 +02:00
Dag-Erling Smørgrav
5c8745138e Add strchrnul(), wcschrnul(), and tests for the former. 2017-08-23 13:41:40 +02:00
Dag-Erling Smørgrav
85f4aa359a Add CRYB_DEQUAL() to strip qualifiers from pointers. 2017-08-23 13:41:40 +02:00
Dag-Erling Smørgrav
944782f506 Remove unnecessary headers. 2017-08-23 13:19:59 +02:00
Dag-Erling Smørgrav
2f71ba6289 Improved unit tests for division. 2017-08-21 14:09:37 +02:00
Dag-Erling Smørgrav
47d81e3dcc Merge pull request #13 from cryb-to/cryb-test
Add a minimal test for the cryb-test allocator and improve leak detection.
2017-05-11 00:32:36 +02:00
Dag-Erling Smørgrav
562ffa391e Slight cleanup. 2017-05-11 00:08:45 +02:00
Dag-Erling Smørgrav
8e0f4a293e Determine the default for CRYB_LEAKTEST at run-time.
When cryb-test is used as a framework for another project, the compile-time test is useless since cryb-test itself will have been built with coverage disabled.  Besides, it is not a reliable indicator of whether leak detection will work.  Instead, check if the heap is already dirty when we first gain control.
2017-05-11 00:08:45 +02:00
Dag-Erling Smørgrav
ea5b521c61 Add a simple test case for the allocator. 2017-05-11 00:08:45 +02:00
Dag-Erling Smørgrav
49c0d954ca Staticize an internal function. 2017-05-11 00:08:45 +02:00