From 57a5a0095c3fe0f22dcbb9d99a82cc94f2b608c7 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Sun, 17 Jan 2016 14:30:53 -0800 Subject: Update to rra-c-util 5.10 and C TAP Harness 3.4 Update to rra-c-util 5.10: * Add missing va_end to xasprintf implementation. * Fix Perl test suite framework for new Automake relative paths. * Improve portability to Kerberos included in Solaris 10. * Use appropriate warning flags with Clang (currently not warning clean). Update to C TAP Harness 3.4: * Fix segfault in runtests with an empty test list. * Display verbose test results with -v or C_TAP_VERBOSE. * Test infrastructure builds cleanly with Clang warnings. * Support comments and blank lines in test lists. --- configure.ac | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 4efc5d7..f4541e2 100644 --- a/configure.ac +++ b/configure.ac @@ -15,10 +15,14 @@ AM_INIT_AUTOMAKE([1.11 check-news dist-xz foreign silent-rules subdir-objects -Wall -Wno-override -Werror]) AM_MAINTAINER_MODE +dnl Detect unexpanded macros. +m4_pattern_forbid([^_?RRA_]) + dnl AM_PROG_AR is required for Automake 1.12 by Libtool but not defined at all dnl (or needed) in Automake 1.11. Work around this bug. AC_PROG_CC AC_USE_SYSTEM_EXTENSIONS +RRA_PROG_CC_CLANG AC_SYS_LARGEFILE AM_PROG_CC_C_O m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) @@ -56,8 +60,8 @@ RRA_LIB_KRB5_RESTORE dnl Probe for properties of the C library. AC_HEADER_STDBOOL -AC_CHECK_HEADERS([sys/bitypes.h sys/uio.h syslog.h]) -AC_CHECK_DECLS([snprintf, vsnprintf]) +AC_CHECK_HEADERS([sys/bitypes.h sys/uio.h sys/time.h syslog.h]) +AC_CHECK_DECLS([snprintf, strlcat, strlcpy, vsnprintf]) RRA_C_C99_VAMACROS RRA_C_GNU_VAMACROS AC_TYPE_LONG_LONG_INT -- cgit v1.2.3 From 128699d54becd0aa45f1fd43a0ab38642a58ce86 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Sun, 17 Jan 2016 14:33:11 -0800 Subject: Remove remaining uses of strlcpy and strlcat --- Makefile.am | 6 ---- configure.ac | 4 +-- portable/strlcat.c | 52 ------------------------------- portable/strlcpy.c | 50 ----------------------------- tests/TESTS | 2 -- tests/portable/strlcat-t.c | 78 ---------------------------------------------- tests/portable/strlcat.c | 2 -- tests/portable/strlcpy-t.c | 70 ----------------------------------------- tests/portable/strlcpy.c | 2 -- 9 files changed, 2 insertions(+), 264 deletions(-) delete mode 100644 portable/strlcat.c delete mode 100644 portable/strlcpy.c delete mode 100644 tests/portable/strlcat-t.c delete mode 100644 tests/portable/strlcat.c delete mode 100644 tests/portable/strlcpy-t.c delete mode 100644 tests/portable/strlcpy.c (limited to 'configure.ac') diff --git a/Makefile.am b/Makefile.am index 5c87639..214bb84 100644 --- a/Makefile.am +++ b/Makefile.am @@ -290,12 +290,6 @@ tests_portable_setenv_t_LDADD = tests/tap/libtap.a portable/libportable.a tests_portable_snprintf_t_SOURCES = tests/portable/snprintf-t.c \ tests/portable/snprintf.c tests_portable_snprintf_t_LDADD = tests/tap/libtap.a portable/libportable.a -tests_portable_strlcat_t_SOURCES = tests/portable/strlcat-t.c \ - tests/portable/strlcat.c -tests_portable_strlcat_t_LDADD = tests/tap/libtap.a portable/libportable.a -tests_portable_strlcpy_t_SOURCES = tests/portable/strlcpy-t.c \ - tests/portable/strlcpy.c -tests_portable_strlcpy_t_LDADD = tests/tap/libtap.a portable/libportable.a tests_util_messages_krb5_t_CPPFLAGS = $(KRB5_CPPFLAGS) tests_util_messages_krb5_t_LDFLAGS = $(KRB5_LDFLAGS) tests_util_messages_krb5_t_LDADD = tests/tap/libtap.a util/libutil.a \ diff --git a/configure.ac b/configure.ac index f4541e2..3b3c787 100644 --- a/configure.ac +++ b/configure.ac @@ -61,7 +61,7 @@ RRA_LIB_KRB5_RESTORE dnl Probe for properties of the C library. AC_HEADER_STDBOOL AC_CHECK_HEADERS([sys/bitypes.h sys/uio.h sys/time.h syslog.h]) -AC_CHECK_DECLS([snprintf, strlcat, strlcpy, vsnprintf]) +AC_CHECK_DECLS([snprintf, vsnprintf]) RRA_C_C99_VAMACROS RRA_C_GNU_VAMACROS AC_TYPE_LONG_LONG_INT @@ -69,7 +69,7 @@ AC_CHECK_TYPES([ssize_t], [], [], [#include ]) RRA_FUNC_SNPRINTF AC_CHECK_FUNCS([setrlimit]) -AC_REPLACE_FUNCS([asprintf mkstemp reallocarray setenv strlcat strlcpy]) +AC_REPLACE_FUNCS([asprintf mkstemp reallocarray setenv]) dnl Find a remctld binary for the test suite. AC_ARG_VAR([REMCTLD], [Path to the remctld binary]) diff --git a/portable/strlcat.c b/portable/strlcat.c deleted file mode 100644 index 613d3f2..0000000 --- a/portable/strlcat.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Replacement for a missing strlcat. - * - * Provides the same functionality as the *BSD function strlcat, originally - * developed by Todd Miller and Theo de Raadt. strlcat works similarly to - * strncat, except simpler. The result is always nul-terminated even if the - * source string is longer than the space remaining in the destination string, - * and the total space required is returned. The third argument is the total - * space available in the destination buffer, not just the amount of space - * remaining. - * - * The canonical version of this file is maintained in the rra-c-util package, - * which can be found at . - * - * Written by Russ Allbery - * - * The authors hereby relinquish any claim to any copyright that they may have - * in this work, whether granted under contract or by operation of law or - * international treaty, and hereby commit to the public, at large, that they - * shall not, at any time in the future, seek to enforce any copyright in this - * work against any person or entity, or prevent any person or entity from - * copying, publishing, distributing or creating derivative works of this - * work. - */ - -#include -#include - -/* - * If we're running the test suite, rename strlcat to avoid conflicts with - * the system version. - */ -#if TESTING -# undef strlcat -# define strlcat test_strlcat -size_t test_strlcat(char *, const char *, size_t); -#endif - -size_t -strlcat(char *dst, const char *src, size_t size) -{ - size_t used, length, copy; - - used = strlen(dst); - length = strlen(src); - if (size > 0 && used < size - 1) { - copy = (length >= size - used) ? size - used - 1 : length; - memcpy(dst + used, src, copy); - dst[used + copy] = '\0'; - } - return used + length; -} diff --git a/portable/strlcpy.c b/portable/strlcpy.c deleted file mode 100644 index 60fdab3..0000000 --- a/portable/strlcpy.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Replacement for a missing strlcpy. - * - * Provides the same functionality as the *BSD function strlcpy, originally - * developed by Todd Miller and Theo de Raadt. strlcpy works similarly to - * strncpy, except saner and simpler. The result is always nul-terminated - * even if the source string is longer than the destination string, and the - * total space required is returned. The destination string is not nul-filled - * like strncpy does, just nul-terminated. - * - * The canonical version of this file is maintained in the rra-c-util package, - * which can be found at . - * - * Written by Russ Allbery - * - * The authors hereby relinquish any claim to any copyright that they may have - * in this work, whether granted under contract or by operation of law or - * international treaty, and hereby commit to the public, at large, that they - * shall not, at any time in the future, seek to enforce any copyright in this - * work against any person or entity, or prevent any person or entity from - * copying, publishing, distributing or creating derivative works of this - * work. - */ - -#include -#include - -/* - * If we're running the test suite, rename strlcpy to avoid conflicts with - * the system version. - */ -#if TESTING -# undef strlcpy -# define strlcpy test_strlcpy -size_t test_strlcpy(char *, const char *, size_t); -#endif - -size_t -strlcpy(char *dst, const char *src, size_t size) -{ - size_t length, copy; - - length = strlen(src); - if (size > 0) { - copy = (length >= size) ? size - 1 : length; - memcpy(dst, src, copy); - dst[copy] = '\0'; - } - return length; -} diff --git a/tests/TESTS b/tests/TESTS index f78a477..76bd4ae 100644 --- a/tests/TESTS +++ b/tests/TESTS @@ -11,8 +11,6 @@ portable/asprintf portable/mkstemp portable/setenv portable/snprintf -portable/strlcat -portable/strlcpy server/admin server/backend server/keytab diff --git a/tests/portable/strlcat-t.c b/tests/portable/strlcat-t.c deleted file mode 100644 index 58aba58..0000000 --- a/tests/portable/strlcat-t.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - * strlcat test suite. - * - * The canonical version of this file is maintained in the rra-c-util package, - * which can be found at . - * - * Written by Russ Allbery - * - * The authors hereby relinquish any claim to any copyright that they may have - * in this work, whether granted under contract or by operation of law or - * international treaty, and hereby commit to the public, at large, that they - * shall not, at any time in the future, seek to enforce any copyright in this - * work against any person or entity, or prevent any person or entity from - * copying, publishing, distributing or creating derivative works of this - * work. - */ - -#include -#include - -#include - -size_t test_strlcat(char *, const char *, size_t); - - -int -main(void) -{ - char buffer[10] = ""; - - plan(27); - - is_int(3, test_strlcat(buffer, "foo", sizeof(buffer)), - "strlcat into empty buffer"); - is_string("foo", buffer, "...with right output"); - is_int(7, test_strlcat(buffer, " bar", sizeof(buffer)), - "...and append more"); - is_string("foo bar", buffer, "...and output is still correct"); - is_int(9, test_strlcat(buffer, "!!", sizeof(buffer)), - "...and append to buffer limit"); - is_string("foo bar!!", buffer, "...output is still correct"); - is_int(10, test_strlcat(buffer, "!", sizeof(buffer)), - "...append one more character"); - is_string("foo bar!!", buffer, "...and output didn't change"); - ok(buffer[9] == '\0', "...buffer still nul-terminated"); - buffer[0] = '\0'; - is_int(11, test_strlcat(buffer, "hello world", sizeof(buffer)), - "append single long string"); - is_string("hello wor", buffer, "...string truncates properly"); - ok(buffer[9] == '\0', "...buffer still nul-terminated"); - buffer[0] = '\0'; - is_int(7, test_strlcat(buffer, "sausage", 5), "lie about buffer length"); - is_string("saus", buffer, "...contents are correct"); - is_int(14, test_strlcat(buffer, "bacon eggs", sizeof(buffer)), - "...add more up to real size"); - is_string("sausbacon", buffer, "...and result is correct"); - - /* Make sure that with a size of 0, the destination isn't changed. */ - is_int(11, test_strlcat(buffer, "!!", 0), "no change with size of 0"); - is_string("sausbacon", buffer, "...and content is the same"); - - /* Now play with empty strings. */ - is_int(9, test_strlcat(buffer, "", 0), - "correct count when appending empty string"); - is_string("sausbacon", buffer, "...and contents are unchanged"); - buffer[0] = '\0'; - is_int(0, test_strlcat(buffer, "", sizeof(buffer)), - "correct count when appending empty string to empty buffer"); - is_string("", buffer, "...and buffer content is correct"); - is_int(3, test_strlcat(buffer, "foo", 2), "append to length 2 buffer"); - is_string("f", buffer, "...and got only a single character"); - ok(buffer[1] == '\0', "...and buffer is still nul-terminated"); - is_int(1, test_strlcat(buffer, "", sizeof(buffer)), - "append an empty string"); - ok(buffer[1] == '\0', "...and buffer is still nul-terminated"); - - return 0; -} diff --git a/tests/portable/strlcat.c b/tests/portable/strlcat.c deleted file mode 100644 index 8983bd8..0000000 --- a/tests/portable/strlcat.c +++ /dev/null @@ -1,2 +0,0 @@ -#define TESTING 1 -#include diff --git a/tests/portable/strlcpy-t.c b/tests/portable/strlcpy-t.c deleted file mode 100644 index 6652a7c..0000000 --- a/tests/portable/strlcpy-t.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * strlcpy test suite. - * - * The canonical version of this file is maintained in the rra-c-util package, - * which can be found at . - * - * Written by Russ Allbery - * - * The authors hereby relinquish any claim to any copyright that they may have - * in this work, whether granted under contract or by operation of law or - * international treaty, and hereby commit to the public, at large, that they - * shall not, at any time in the future, seek to enforce any copyright in this - * work against any person or entity, or prevent any person or entity from - * copying, publishing, distributing or creating derivative works of this - * work. - */ - -#include -#include - -#include - -size_t test_strlcpy(char *, const char *, size_t); - - -int -main(void) -{ - char buffer[10]; - - plan(23); - - is_int(3, test_strlcpy(buffer, "foo", sizeof(buffer)), "simple strlcpy"); - is_string("foo", buffer, "...result is correct"); - is_int(9, test_strlcpy(buffer, "hello wor", sizeof(buffer)), - "strlcpy exact length of buffer"); - is_string("hello wor", buffer, "...result is correct"); - is_int(10, test_strlcpy(buffer, "world hell", sizeof(buffer)), - "strlcpy one more than buffer length"); - is_string("world hel", buffer, "...result is correct"); - ok(buffer[9] == '\0', "...buffer is nul-terminated"); - is_int(11, test_strlcpy(buffer, "hello world", sizeof(buffer)), - "strlcpy more than buffer length"); - is_string("hello wor", buffer, "...result is correct"); - ok(buffer[9] == '\0', "...buffer is nul-terminated"); - - /* Make sure that with a size of 0, the destination isn't changed. */ - is_int(3, test_strlcpy(buffer, "foo", 0), "buffer unchanged if size 0"); - is_string("hello wor", buffer, "...contents still the same"); - - /* Now play with empty strings. */ - is_int(0, test_strlcpy(buffer, "", 0), "copy empty string with size 0"); - is_string("hello wor", buffer, "...buffer unchanged"); - is_int(0, test_strlcpy(buffer, "", sizeof(buffer)), - "copy empty string into full buffer"); - is_string("", buffer, "...buffer now empty string"); - is_int(3, test_strlcpy(buffer, "foo", 2), - "copy string into buffer of size 2"); - is_string("f", buffer, "...got one character"); - ok(buffer[1] == '\0', "...buffer is nul-terminated"); - is_int(0, test_strlcpy(buffer, "", 1), - "copy empty string into buffer of size 1"); - ok(buffer[0] == '\0', "...buffer is empty string"); - - /* Finally, check using strlcpy as strlen. */ - is_int(3, test_strlcpy(NULL, "foo", 0), "use strlcpy as strlen"); - is_int(11, test_strlcpy(NULL, "hello world", 0), "...again"); - - return 0; -} diff --git a/tests/portable/strlcpy.c b/tests/portable/strlcpy.c deleted file mode 100644 index d444595..0000000 --- a/tests/portable/strlcpy.c +++ /dev/null @@ -1,2 +0,0 @@ -#define TESTING 1 -#include -- cgit v1.2.3 From b8359f071ec37276000b4bfd0e20ca27e4062073 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Sun, 17 Jan 2016 14:35:50 -0800 Subject: Add the correct glue for selecting warning flags --- configure.ac | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 3b3c787..6b177a3 100644 --- a/configure.ac +++ b/configure.ac @@ -78,6 +78,10 @@ AS_IF([test x"$REMCTLD" != x], [AC_DEFINE_UNQUOTED([PATH_REMCTLD], ["$REMCTLD"], [Define to the full path to remctld to run remctl tests.])]) +dnl Enable appropriate warnings. +AM_CONDITIONAL([WARNINGS_GCC], [test x"$GCC" = xyes && test x"$CLANG" != xyes]) +AM_CONDITIONAL([WARNINGS_CLANG], [test x"$CLANG" = xyes]) + dnl Output section. AC_CONFIG_HEADER([config.h]) AC_CONFIG_FILES([Makefile]) -- cgit v1.2.3 From 22f5cf990ab74632950ae8ed986c8f89a7837e6e Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Sun, 17 Jan 2016 16:59:47 -0800 Subject: Release 1.3 --- LICENSE | 27 +++++++++++++++------------ NEWS | 2 +- README | 12 +++++++----- configure.ac | 3 ++- 4 files changed, 25 insertions(+), 19 deletions(-) (limited to 'configure.ac') diff --git a/LICENSE b/LICENSE index 8fdc976..d8b59a1 100644 --- a/LICENSE +++ b/LICENSE @@ -10,23 +10,25 @@ Copyright: 2006-2010, 2012-2013 License: Expat Files: * -Copyright: 2000-2002, 2004-2014 Russ Allbery - 2001-2014 The Board of Trustees of the Leland Stanford Junior University +Copyright: 2000-2002, 2004-2016 Russ Allbery + 2001-2015 The Board of Trustees of the Leland Stanford Junior University + 2015 Dropbox, Inc. License: Expat Files: Makefile.in -Copyright: 1994-2013 Free Software Foundation, Inc. +Copyright: 1994-2014 Free Software Foundation, Inc. 2006-2008, 2010, 2013-2014 The Board of Trustees of the Leland Stanford Junior University + 2016 Russ Allbery License: FSF-unlimited and Expat Files: aclocal.m4 -Copyright: 1996-2013 Free Software Foundation, Inc. +Copyright: 1996-2015 Free Software Foundation, Inc. License: FSF-unlimited Files: build-aux/ar-lib build-aux/compile build-aux/depcomp build-aux/missing -Copyright: 1996-2013 Free Software Foundation, Inc. +Copyright: 1996-2014 Free Software Foundation, Inc. License: GPL-2+ with Autoconf exception or Expat Files: build-aux/install-sh @@ -62,7 +64,7 @@ Files: client/wallet-rekey.1 client/wallet-rekey.pod client/wallet.1 docs/stanford-naming perl/t/data/README tests/HOWTO tests/config/README Copyright: 2006-2014 The Board of Trustees of the Leland Stanford Junior University - 2010 Russ Allbery + 2010, 2016 Russ Allbery License: all-permissive Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and @@ -75,10 +77,12 @@ License: FSF-configure This script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. -Files: m4/gssapi.m4 m4/krb5-config.m4 m4/krb5.m4 m4/lib-depends.m4 - m4/lib-pathname.m4 m4/remctl.m4 m4/snprintf.m4 m4/vamacros.m4 +Files: m4/clang.m4 m4/gssapi.m4 m4/krb5-config.m4 m4/krb5.m4 + m4/lib-depends.m4 m4/lib-pathname.m4 m4/remctl.m4 m4/snprintf.m4 + m4/vamacros.m4 Copyright: 2005-2014 The Board of Trustees of the Leland Stanford Junior University + 2015 Russ Allbery License: unlimited This file is free software; the authors give unlimited permission to copy and/or distribute it, with or without modifications, as long as this @@ -87,10 +91,8 @@ License: unlimited Files: portable/asprintf.c portable/dummy.c portable/krb5-extra.c portable/krb5.h portable/macros.h portable/mkstemp.c portable/reallocarray.c portable/setenv.c portable/stdbool.h - portable/strlcat.c portable/strlcpy.c portable/system.h portable/uio.h - tests/portable/asprintf-t.c tests/portable/mkstemp-t.c - tests/portable/setenv-t.c tests/portable/strlcat-t.c - tests/portable/strlcpy-t.c util/macros.h + portable/system.h portable/uio.h tests/portable/asprintf-t.c + tests/portable/mkstemp-t.c tests/portable/setenv-t.c util/macros.h Copyright: no copyright notice, see License License: rra-public-domain The authors hereby relinquish any claim to any copyright that they may @@ -116,6 +118,7 @@ Copyright: 1991, 1994-2003 The Internet Software Consortium and Rich Salz 2004-2006 Internet Systems Consortium, Inc. 2008-2010, 2012-2014 The Board of Trustees of the Leland Stanford Junior University + 2015 Russ Allbery License: ISC Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above diff --git a/NEWS b/NEWS index e493200..e299bc1 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ User-Visible wallet Changes -wallet 1.3 (unreleased) +wallet 1.3 (2016-01-17) This release adds initial, experimental support for using Active Directory as the KDC for keytab creation. The interface to Active diff --git a/README b/README index 200f0eb..9dcd711 100644 --- a/README +++ b/README @@ -1,12 +1,13 @@ - wallet release 1.2 + wallet release 1.3 (secure data management system) Written by Russ Allbery - Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014 The Board of - Trustees of the Leland Stanford Junior University. This software is - distributed under a BSD-style license. Please see the section LICENSE - below for more information. + Copyright 2014, 2016 Russ Allbery . Copyright 2006, + 2007, 2008, 2009, 2010, 2012, 2013, 2014 The Board of Trustees of the + Leland Stanford Junior University. This software is distributed under a + BSD-style license. Please see the section LICENSE below for more + information. BLURB @@ -354,6 +355,7 @@ LICENSE The wallet distribution as a whole is covered by the following copyright statement and license: + Copyright 2014, 2016 Russ Allbery Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014 The Board of Trustees of the Leland Stanford Junior University diff --git a/configure.ac b/configure.ac index 6b177a3..4f56eb0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,13 +1,14 @@ dnl Autoconf configuration for wallet. dnl dnl Written by Russ Allbery +dnl Copyright 2014, 2016 Russ Allbery dnl Copyright 2006, 2007, 2008, 2010, 2013, 2014 dnl The Board of Trustees of the Leland Stanford Junior University dnl dnl See LICENSE for licensing terms. AC_PREREQ([2.64]) -AC_INIT([wallet], [1.2], [eagle@eyrie.org]) +AC_INIT([wallet], [1.3], [eagle@eyrie.org]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_LIBOBJ_DIR([portable]) AC_CONFIG_MACRO_DIR([m4]) -- cgit v1.2.3