rra-c-util 4.11

This is my collection of helper libraries and utilities that I use for most of my C-based software (and some Perl bits as well). Most of the changes in this release are improvements to the Autoconf macros, primarily based on feedback from Julien √ČLIE and reconciliation with the macros used in INN.

The major backward-incompatible change is that RRA_LIB_KRB5 and friends now define HAVE_KRB5 (to match the name) and set rra_use_KRB5, and similarly RRA_LIB_OPENSSL and friends define HAVE_OPENSSL and set rra_use_OPENSSL. Any packages that use these macros will probably need some updates.

There are also a couple other fixes for RRA_LIB_KRB5 and RRA_LIB_KRB5_OPTIONAL: both now work for packages that do not use Automake, and the optional version does not fail if com_err couldn't be found. Similarly, RRA_LIB_OPENSSL_OPTIONAL no longer aborts if libcrypto couldn't be found and both OpenSSL macros probe for libdl first unless --enable-reduced-depends is used. Finally, RRA_LIB_OPENSSL properly restores the default CPPFLAGS, LDFLAGS, and LIBS after the library probes.

Also in this release, all uses of asprintf, snprintf, and related functions check the return status, since POSIX allows these functions to fail for reasons other than memory allocation failure. xasprintf and xvasprintf distinguish between memory allocation failure and other failures and report better error messages, and the vasprintf replacement properly preserves errno if snprintf fails.

portable/socket.h also defines EAI_ADDRFAMILY, which is obsolete but which some software needs to check, to EAI_FAMILY if it's not defined so that the check can be done unconditionally.

You can get the latest version from the rra-c-util distribution page.

Posted: 2013-11-14 14:03 — Why no comments?

Last spun 2013-11-21 from thread modified 2013-11-14