Hello community, here is the log from the commit of package uacme for openSUSE:Factory checked in at 2020-02-04 19:52:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/uacme (Old) and /work/SRC/openSUSE:Factory/.uacme.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "uacme" Tue Feb 4 19:52:48 2020 rev:2 rq:769544 version:1.0.22 Changes: -------- --- /work/SRC/openSUSE:Factory/uacme/uacme.changes 2020-01-13 22:21:05.510506191 +0100 +++ /work/SRC/openSUSE:Factory/.uacme.new.26092/uacme.changes 2020-02-04 19:53:10.129315145 +0100 @@ -1,0 +2,12 @@ +Sun Feb 2 10:56:22 UTC 2020 - Martin Hauke <[email protected]> + +- Update to version 1.0.22 + * relax account status check (compatibility with buypass.no) + * allow client challenge retry requests (RFC8555 sec. 7.1.6) + * pass -L flag to a2x in order to avoid depending on xmllint + * add wildcard clarification in manpage +- Update to version 1.0.21 + * Fixed uacme.sh: https://github.com/ndilieto/uacme/pull/12 + * Added LFS support (AC_SYS_LARGEFILE) + +------------------------------------------------------------------- Old: ---- uacme-1.0.20.tar.gz New: ---- uacme-1.0.22.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ uacme.spec ++++++ --- /var/tmp/diff_new_pack.KAuEWc/_old 2020-02-04 19:53:10.917315605 +0100 +++ /var/tmp/diff_new_pack.KAuEWc/_new 2020-02-04 19:53:10.941315618 +0100 @@ -1,6 +1,7 @@ # # spec file for package uacme # +# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2020, Martin Hauke <[email protected]> # # All modifications and additions to the file contributed by third parties @@ -15,8 +16,9 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # + Name: uacme -Version: 1.0.20 +Version: 1.0.22 Release: 0 Summary: A minimal ACMEv2 client License: GPL-3.0-or-later ++++++ uacme-1.0.20.tar.gz -> uacme-1.0.22.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/ChangeLog new/uacme-1.0.22/ChangeLog --- old/uacme-1.0.20/ChangeLog 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/ChangeLog 2020-02-01 10:59:29.000000000 +0100 @@ -1,3 +1,15 @@ +2020-02-01 Nicola Di Lieto <[email protected]> + * Release 1.0.22 + - relax account status check (compatibility with buypass.no) + - allow client challenge retry requests (RFC8555 sec. 7.1.6) + - pass -L flag to a2x in order to avoid depending on xmllint + - add wildcard clarification in manpage + +2020-01-12 Nicola Di Lieto <[email protected]> + * Release 1.0.21 + - Fixed uacme.sh: https://github.com/ndilieto/uacme/pull/12 + - Added LFS support (AC_SYS_LARGEFILE) + 2019-10-03 Nicola Di Lieto <[email protected]> * Release 1.0.20 - improved HTTP header parsing to fix problem that diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/Makefile.am new/uacme-1.0.22/Makefile.am --- old/uacme-1.0.20/Makefile.am 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/Makefile.am 2020-02-01 10:59:29.000000000 +0100 @@ -1,4 +1,4 @@ -# Copyright (C) 2019 Nicola Di Lieto <[email protected]> +# Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> # # This file is part of uacme. # @@ -38,7 +38,7 @@ dist_html_DATA = uacme.1.html uacme.1: uacme.1.txt $(top_srcdir)/.version - $(A2X) -d manpage -f manpage -a revision=$(VERSION) $< + $(A2X) -L -d manpage -f manpage -a revision=$(VERSION) $< uacme.1.html: uacme.1.txt $(top_srcdir)/.version $(ASCIIDOC) -d manpage -b html5 -a revision=$(VERSION) $< diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/Makefile.in new/uacme-1.0.22/Makefile.in --- old/uacme-1.0.20/Makefile.in 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/Makefile.in 2020-02-01 10:59:29.000000000 +0100 @@ -14,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2019 Nicola Di Lieto <[email protected]> +# Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> # # This file is part of uacme. # @@ -929,7 +929,7 @@ echo $(VERSION) > $(distdir)/.tarball-version @[email protected]: uacme.1.txt $(top_srcdir)/.version -@ENABLE_DOCS_TRUE@ $(A2X) -d manpage -f manpage -a revision=$(VERSION) $< +@ENABLE_DOCS_TRUE@ $(A2X) -L -d manpage -f manpage -a revision=$(VERSION) $< @[email protected]: uacme.1.txt $(top_srcdir)/.version @ENABLE_DOCS_TRUE@ $(ASCIIDOC) -d manpage -b html5 -a revision=$(VERSION) $< diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/NEWS new/uacme-1.0.22/NEWS --- old/uacme-1.0.20/NEWS 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/NEWS 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,16 @@ uacme NEWS -Copyright (C) 2019 Nicola Di Lieto <[email protected]> +Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> + +## [1.0.22] - 2020-02-01 +### Changed +- relax account status check (compatibility with buypass.no) +- allow client challenge retry requests (RFC8555 section 7.1.6) +- add wildcard clarification in manpage + +## [1.0.21] - 2020-01-12 +### Changed +- Quote variables in uacme.sh +- Added LFS support (AC_SYS_LARGEFILE) ## [1.0.20] - 2019-10-03 ### Changed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/README new/uacme-1.0.22/README --- old/uacme-1.0.20/README 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/README 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ uacme README -Copyright (C) 2019 Nicola Di Lieto <[email protected]> +Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> uacme is a client for the RFC8555 ACMEv2 protocol. Additional information can be found at <https://github.com/ndilieto/uacme> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/README.md new/uacme-1.0.22/README.md --- old/uacme-1.0.20/README.md 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/README.md 2020-02-01 10:59:29.000000000 +0100 @@ -44,6 +44,9 @@ by specifying the **--verbose** flag once or more. ## Installation +**Please do not use the master branch. Pristine releases are in the upstream/latest +branch, tagged as upstream/x.x.x** + ``` mkdir uacme wget -O - https://github.com/ndilieto/uacme/archive/upstream/latest.tar.gz | tar zx -C uacme --strip-components=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/base64.c new/uacme-1.0.22/base64.c --- old/uacme-1.0.20/base64.c 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/base64.c 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/base64.h new/uacme-1.0.22/base64.h --- old/uacme-1.0.20/base64.h 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/base64.h 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/configure new/uacme-1.0.22/configure --- old/uacme-1.0.20/configure 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/configure 2020-02-01 10:59:29.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for uacme 1.0.20. +# Generated by GNU Autoconf 2.69 for uacme 1.0.22. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ # Identity of this package. PACKAGE_NAME='uacme' PACKAGE_TARNAME='uacme' -PACKAGE_VERSION='1.0.20' -PACKAGE_STRING='uacme 1.0.20' +PACKAGE_VERSION='1.0.22' +PACKAGE_STRING='uacme 1.0.22' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -732,6 +732,7 @@ enable_maintainer_mode enable_debug enable_dependency_tracking +enable_largefile with_libcurl with_mbedtls with_openssl @@ -1290,7 +1291,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures uacme 1.0.20 to adapt to many kinds of systems. +\`configure' configures uacme 1.0.22 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1356,7 +1357,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of uacme 1.0.20:";; + short | recursive ) echo "Configuration of uacme 1.0.22:";; esac cat <<\_ACEOF @@ -1375,6 +1376,7 @@ do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build + --disable-largefile omit support for large files --disable-docs do not build and install documentation Optional Packages: @@ -1469,7 +1471,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -uacme configure 1.0.20 +uacme configure 1.0.22 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1834,7 +1836,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by uacme $as_me 1.0.20, which was +It was created by uacme $as_me 1.0.22, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2699,7 +2701,7 @@ # Define the identity of the package. PACKAGE='uacme' - VERSION='1.0.20' + VERSION='1.0.22' cat >>confdefs.h <<_ACEOF @@ -5538,6 +5540,206 @@ : fi +# Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi + +if test "$enable_largefile" != no; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if ${ac_cv_sys_largefile_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF + if ac_fn_c_try_compile "$LINENO"; then : + break +fi +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_largefile_CC=' -n32'; break +fi +rm -f core conftest.err conftest.$ac_objext + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if ${ac_cv_sys_file_offset_bits+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _FILE_OFFSET_BITS 64 +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=64; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +_ACEOF +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if ${ac_cv_sys_large_files+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGE_FILES 1 +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=1; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _LARGE_FILES $ac_cv_sys_large_files +_ACEOF +;; +esac +rm -rf conftest* + fi + + +fi + if test -n "$PKG_CONFIG"; then PKGCONFIG="$PKG_CONFIG" @@ -6935,7 +7137,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by uacme $as_me 1.0.20, which was +This file was extended by uacme $as_me 1.0.22, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -6992,7 +7194,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -uacme config.status 1.0.20 +uacme config.status 1.0.22 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/configure.ac new/uacme-1.0.22/configure.ac --- old/uacme-1.0.20/configure.ac 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/configure.ac 2020-02-01 10:59:29.000000000 +0100 @@ -1,4 +1,4 @@ -# Copyright (C) 2019 Nicola Di Lieto <[email protected]> +# Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> # # This file is part of uacme. # @@ -46,6 +46,7 @@ AX_CHECK_COMPILE_FLAG([$CFLAGS -Wall], [CFLAGS="$CFLAGS -Wall"]) AX_CHECK_COMPILE_FLAG([$CFLAGS -Wextra], [CFLAGS="$CFLAGS -Wextra"]) AX_CHECK_COMPILE_FLAG([$CFLAGS -pedantic], [CFLAGS="$CFLAGS -pedantic"]) +AC_SYS_LARGEFILE if test -n "$PKG_CONFIG"; then PKGCONFIG="$PKG_CONFIG" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/crypto.c new/uacme-1.0.22/crypto.c --- old/uacme-1.0.20/crypto.c 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/crypto.c 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/crypto.h new/uacme-1.0.22/crypto.h --- old/uacme-1.0.20/crypto.h 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/crypto.h 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/curlwrap.c new/uacme-1.0.22/curlwrap.c --- old/uacme-1.0.20/curlwrap.c 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/curlwrap.c 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/curlwrap.h new/uacme-1.0.22/curlwrap.h --- old/uacme-1.0.20/curlwrap.h 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/curlwrap.h 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/docs/index.html new/uacme-1.0.22/docs/index.html --- old/uacme-1.0.20/docs/index.html 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/docs/index.html 2020-02-01 10:59:29.000000000 +0100 @@ -869,7 +869,7 @@ <p> Challenge hook program. If not specified <strong>uacme</strong> interacts with the user for every ACME challenge, printing information about the - challenge type, token and authorization on stderr. If specified, + challenge type, token and authorization on stderr. If specified <strong>uacme</strong> executes <em>PROGRAM</em> (a binary, a shell script or any file that can be executed by the operating system) for every challenge with the following 5 string arguments: @@ -963,7 +963,7 @@ <dd> <p> By default <strong>uacme</strong> creates directories/keys if they do not exist. - When this option is specified, <strong>uacme</strong> never does so and instead + When this option is specified <strong>uacme</strong> never does so and instead exits with an error if anything required is missing. </p> </dd> @@ -1048,8 +1048,8 @@ <dd> <p> Update the <em>EMAIL</em> associated with the ACME account corresponding to - the account private key. If <em>EMAIL</em> is not specified, the account - contact email will be dropped. + the account private key. If <em>EMAIL</em> is not specified the account + contact email is removed. </p> </dd> <dt class="hdlist1"> @@ -1084,14 +1084,19 @@ <p> Issue a certificate for <em>DOMAIN</em> with zero or more <em>ALTNAMEs</em>. If a certificate is already available at <em>CONFDIR/DOMAIN/cert.pem</em> - for the specified <em>DOMAIN</em> and <em>ALTNAMEs</em>, and is still valid for - longer than <em>DAYS</em>, no action is taken unless <strong>-f, --force</strong> is + for the specified <em>DOMAIN</em> and <em>ALTNAMEs</em> and is still valid for + longer than <em>DAYS</em> no action is taken unless <strong>-f, --force</strong> is specified. The new certificate is saved to <em>CONFDIR/DOMAIN/cert.pem</em>. - If the certificate file already exists, it is hardlinked to + If the certificate file already exists it is hardlinked to <em>CONFDIR/DOMAIN/cert-TIMESTAMP.pem</em> before overwriting. The private key for the certificate is loaded from <em>CONFDIR/private/DOMAIN/key.pem</em>. If no such file exists, a new key is generated unless <strong>-n, --never-create</strong> is specified. + Wildcard DOMAINs or ALTNAMEs are dealt with correctly, as long as + the ACME server supports them; note that any such wildcards are + automatically removed from the configuration subdirectory name: + for example a certificate for <em>*.test.com</em> is saved to + <em>CONFDIR/test.com/cert.pem</em>. </p> </dd> <dt class="hdlist1"> @@ -1157,7 +1162,7 @@ <div class="content monospaced"> <pre>if test $# -ne "$ARGS" then - echo "Usage: `basename $0` method type ident token auth" 1>&2 + echo "Usage: $(basename "$0") method type ident token auth" 1>&2 exit $E_BADARGS fi</pre> </div></div> @@ -1175,27 +1180,32 @@ "begin") case "$TYPE" in http-01) - echo -n "${AUTH}" > ${CHALLENGE_PATH}/${TOKEN} + echo -n "${AUTH}" > "${CHALLENGE_PATH}/${TOKEN}" exit $? ;; *) exit 1 ;; esac - ;; - "done"|"failed") - case "$TYPE" in - http-01) - rm ${CHALLENGE_PATH}/${TOKEN} - exit $? - ;; - *) - exit 1 - ;; - esac - exit 0 - ;; - *) + ;;</pre> +</div></div> +<div class="literalblock"> +<div class="content monospaced"> +<pre>"done"|"failed") + case "$TYPE" in + http-01) + rm "${CHALLENGE_PATH}/${TOKEN}" + exit $? + ;; + *) + exit 1 + ;; + esac + ;;</pre> +</div></div> +<div class="literalblock"> +<div class="content monospaced"> +<pre> *) echo "$0: invalid method" 1>&2 exit 1 esac</pre> @@ -1219,7 +1229,7 @@ <div class="sect1"> <h2 id="_copyright">COPYRIGHT</h2> <div class="sectionbody"> -<div class="paragraph"><p>Copyright © 2019 Nicola Di Lieto <<a href="mailto:[email protected]">[email protected]</a>></p></div> +<div class="paragraph"><p>Copyright © 2019,2020 Nicola Di Lieto <<a href="mailto:[email protected]">[email protected]</a>></p></div> <div class="paragraph"><p>This file is part of <strong>uacme</strong>.</p></div> <div class="paragraph"><p><strong>uacme</strong> is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1237,9 +1247,9 @@ <div id="footnotes"><hr></div> <div id="footer"> <div id="footer-text"> -Version 1.0.20<br> +Version 1.0.22<br> Last updated - 2019-10-03 20:44:42 CEST + 2020-02-01 10:53:00 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/json.c new/uacme-1.0.22/json.c --- old/uacme-1.0.20/json.c 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/json.c 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/json.h new/uacme-1.0.22/json.h --- old/uacme-1.0.20/json.h 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/json.h 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/msg.c new/uacme-1.0.22/msg.c --- old/uacme-1.0.20/msg.c 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/msg.c 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/msg.h new/uacme-1.0.22/msg.h --- old/uacme-1.0.20/msg.h 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/msg.h 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/uacme.1 new/uacme-1.0.22/uacme.1 --- old/uacme-1.0.20/uacme.1 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/uacme.1 2020-02-01 10:59:29.000000000 +0100 @@ -1,13 +1,13 @@ '\" t .\" Title: uacme .\" Author: [see the "AUTHOR" section] -.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 10/03/2019 +.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> +.\" Date: 02/01/2020 .\" Manual: User Commands -.\" Source: uacme 1.0.20 +.\" Source: uacme 1.0.22 .\" Language: English .\" -.TH "UACME" "1" "10/03/2019" "uacme 1\&.0\&.20" "User Commands" +.TH "UACME" "1" "02/01/2020" "uacme 1\&.0\&.22" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -107,7 +107,7 @@ .RS 4 Challenge hook program\&. If not specified \fBuacme\fR -interacts with the user for every ACME challenge, printing information about the challenge type, token and authorization on stderr\&. If specified, +interacts with the user for every ACME challenge, printing information about the challenge type, token and authorization on stderr\&. If specified \fBuacme\fR executes \fIPROGRAM\fR @@ -180,7 +180,7 @@ .RS 4 By default \fBuacme\fR -creates directories/keys if they do not exist\&. When this option is specified, +creates directories/keys if they do not exist\&. When this option is specified \fBuacme\fR never does so and instead exits with an error if anything required is missing\&. .RE @@ -244,7 +244,7 @@ \fIEMAIL\fR associated with the ACME account corresponding to the account private key\&. If \fIEMAIL\fR -is not specified, the account contact email will be dropped\&. +is not specified the account contact email is removed\&. .RE .PP \fBuacme\fR [\fIOPTIONS\fR \&...] \fBdeactivate\fR @@ -278,16 +278,21 @@ for the specified \fIDOMAIN\fR and -\fIALTNAMEs\fR, and is still valid for longer than -\fIDAYS\fR, no action is taken unless +\fIALTNAMEs\fR +and is still valid for longer than +\fIDAYS\fR +no action is taken unless \fB\-f, \-\-force\fR is specified\&. The new certificate is saved to -\fICONFDIR/DOMAIN/cert\&.pem\fR\&. If the certificate file already exists, it is hardlinked to +\fICONFDIR/DOMAIN/cert\&.pem\fR\&. If the certificate file already exists it is hardlinked to \fICONFDIR/DOMAIN/cert\-TIMESTAMP\&.pem\fR before overwriting\&. The private key for the certificate is loaded from \fICONFDIR/private/DOMAIN/key\&.pem\fR\&. If no such file exists, a new key is generated unless \fB\-n, \-\-never\-create\fR -is specified\&. +is specified\&. Wildcard DOMAINs or ALTNAMEs are dealt with correctly, as long as the ACME server supports them; note that any such wildcards are automatically removed from the configuration subdirectory name: for example a certificate for +\fI*\&.test\&.com\fR +is saved to +\fICONFDIR/test\&.com/cert\&.pem\fR\&. .RE .PP \fBuacme\fR [\fIOPTIONS\fR \&...] \fBrevoke\fR \fICERTFILE\fR @@ -337,7 +342,7 @@ .nf if test $# \-ne "$ARGS" then - echo "Usage: `basename $0` method type ident token auth" 1>&2 + echo "Usage: $(basename "$0") method type ident token auth" 1>&2 exit $E_BADARGS fi .fi @@ -367,26 +372,43 @@ "begin") case "$TYPE" in http\-01) - echo \-n "${AUTH}" > ${CHALLENGE_PATH}/${TOKEN} - exit $? - ;; - *) - exit 1 - ;; - esac - ;; - "done"|"failed") - case "$TYPE" in - http\-01) - rm ${CHALLENGE_PATH}/${TOKEN} + echo \-n "${AUTH}" > "${CHALLENGE_PATH}/${TOKEN}" exit $? ;; *) exit 1 ;; esac - exit 0 ;; +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +"done"|"failed") + case "$TYPE" in + http\-01) + rm "${CHALLENGE_PATH}/${TOKEN}" + exit $? + ;; + *) + exit 1 + ;; + esac + ;; +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf *) echo "$0: invalid method" 1>&2 exit 1 @@ -403,7 +425,7 @@ \fBuacme\fR was written by Nicola Di Lieto .SH "COPYRIGHT" .sp -Copyright \(co 2019 Nicola Di Lieto <nicola\&.dilieto@gmail\&.com> +Copyright \(co 2019,2020 Nicola Di Lieto <nicola\&.dilieto@gmail\&.com> .sp This file is part of \fBuacme\fR\&. .sp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/uacme.1.html new/uacme-1.0.22/uacme.1.html --- old/uacme-1.0.20/uacme.1.html 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/uacme.1.html 2020-02-01 10:59:29.000000000 +0100 @@ -869,7 +869,7 @@ <p> Challenge hook program. If not specified <strong>uacme</strong> interacts with the user for every ACME challenge, printing information about the - challenge type, token and authorization on stderr. If specified, + challenge type, token and authorization on stderr. If specified <strong>uacme</strong> executes <em>PROGRAM</em> (a binary, a shell script or any file that can be executed by the operating system) for every challenge with the following 5 string arguments: @@ -963,7 +963,7 @@ <dd> <p> By default <strong>uacme</strong> creates directories/keys if they do not exist. - When this option is specified, <strong>uacme</strong> never does so and instead + When this option is specified <strong>uacme</strong> never does so and instead exits with an error if anything required is missing. </p> </dd> @@ -1048,8 +1048,8 @@ <dd> <p> Update the <em>EMAIL</em> associated with the ACME account corresponding to - the account private key. If <em>EMAIL</em> is not specified, the account - contact email will be dropped. + the account private key. If <em>EMAIL</em> is not specified the account + contact email is removed. </p> </dd> <dt class="hdlist1"> @@ -1084,14 +1084,19 @@ <p> Issue a certificate for <em>DOMAIN</em> with zero or more <em>ALTNAMEs</em>. If a certificate is already available at <em>CONFDIR/DOMAIN/cert.pem</em> - for the specified <em>DOMAIN</em> and <em>ALTNAMEs</em>, and is still valid for - longer than <em>DAYS</em>, no action is taken unless <strong>-f, --force</strong> is + for the specified <em>DOMAIN</em> and <em>ALTNAMEs</em> and is still valid for + longer than <em>DAYS</em> no action is taken unless <strong>-f, --force</strong> is specified. The new certificate is saved to <em>CONFDIR/DOMAIN/cert.pem</em>. - If the certificate file already exists, it is hardlinked to + If the certificate file already exists it is hardlinked to <em>CONFDIR/DOMAIN/cert-TIMESTAMP.pem</em> before overwriting. The private key for the certificate is loaded from <em>CONFDIR/private/DOMAIN/key.pem</em>. If no such file exists, a new key is generated unless <strong>-n, --never-create</strong> is specified. + Wildcard DOMAINs or ALTNAMEs are dealt with correctly, as long as + the ACME server supports them; note that any such wildcards are + automatically removed from the configuration subdirectory name: + for example a certificate for <em>*.test.com</em> is saved to + <em>CONFDIR/test.com/cert.pem</em>. </p> </dd> <dt class="hdlist1"> @@ -1157,7 +1162,7 @@ <div class="content monospaced"> <pre>if test $# -ne "$ARGS" then - echo "Usage: `basename $0` method type ident token auth" 1>&2 + echo "Usage: $(basename "$0") method type ident token auth" 1>&2 exit $E_BADARGS fi</pre> </div></div> @@ -1175,27 +1180,32 @@ "begin") case "$TYPE" in http-01) - echo -n "${AUTH}" > ${CHALLENGE_PATH}/${TOKEN} + echo -n "${AUTH}" > "${CHALLENGE_PATH}/${TOKEN}" exit $? ;; *) exit 1 ;; esac - ;; - "done"|"failed") - case "$TYPE" in - http-01) - rm ${CHALLENGE_PATH}/${TOKEN} - exit $? - ;; - *) - exit 1 - ;; - esac - exit 0 - ;; - *) + ;;</pre> +</div></div> +<div class="literalblock"> +<div class="content monospaced"> +<pre>"done"|"failed") + case "$TYPE" in + http-01) + rm "${CHALLENGE_PATH}/${TOKEN}" + exit $? + ;; + *) + exit 1 + ;; + esac + ;;</pre> +</div></div> +<div class="literalblock"> +<div class="content monospaced"> +<pre> *) echo "$0: invalid method" 1>&2 exit 1 esac</pre> @@ -1219,7 +1229,7 @@ <div class="sect1"> <h2 id="_copyright">COPYRIGHT</h2> <div class="sectionbody"> -<div class="paragraph"><p>Copyright © 2019 Nicola Di Lieto <<a href="mailto:[email protected]">[email protected]</a>></p></div> +<div class="paragraph"><p>Copyright © 2019,2020 Nicola Di Lieto <<a href="mailto:[email protected]">[email protected]</a>></p></div> <div class="paragraph"><p>This file is part of <strong>uacme</strong>.</p></div> <div class="paragraph"><p><strong>uacme</strong> is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1237,9 +1247,9 @@ <div id="footnotes"><hr></div> <div id="footer"> <div id="footer-text"> -Version 1.0.20<br> +Version 1.0.22<br> Last updated - 2019-10-03 20:44:42 CEST + 2020-02-01 10:53:00 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/uacme.1.txt new/uacme-1.0.22/uacme.1.txt --- old/uacme-1.0.20/uacme.1.txt 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/uacme.1.txt 2020-02-01 10:59:29.000000000 +0100 @@ -66,7 +66,7 @@ *-h, --hook*='PROGRAM':: Challenge hook program. If not specified *uacme* interacts with the user for every ACME challenge, printing information about the - challenge type, token and authorization on stderr. If specified, + challenge type, token and authorization on stderr. If specified *uacme* executes 'PROGRAM' (a binary, a shell script or any file that can be executed by the operating system) for every challenge with the following 5 string arguments: @@ -90,7 +90,7 @@ *-n, --never-create*:: By default *uacme* creates directories/keys if they do not exist. - When this option is specified, *uacme* never does so and instead + When this option is specified *uacme* never does so and instead exits with an error if anything required is missing. *-s, --staging*:: @@ -132,8 +132,8 @@ *uacme* ['OPTIONS' ...] *update* ['EMAIL']:: Update the 'EMAIL' associated with the ACME account corresponding to - the account private key. If 'EMAIL' is not specified, the account - contact email will be dropped. + the account private key. If 'EMAIL' is not specified the account + contact email is removed. *uacme* ['OPTIONS' ...] *deactivate*:: Deactivate the ACME account corresponding to the account private @@ -151,16 +151,21 @@ renaming 'CONFDIR/private/newkey.pem' to 'CONFDIR/private/key.pem'. *uacme* ['OPTIONS' ...] *issue* 'DOMAIN' ['ALTNAME' ...]:: - Issue a certificate for 'DOMAIN' with zero or more 'ALTNAMEs'. + Issue a certificate for 'DOMAIN' with zero or more 'ALTNAMEs'. If a certificate is already available at 'CONFDIR/DOMAIN/cert.pem' - for the specified 'DOMAIN' and 'ALTNAMEs', and is still valid for - longer than 'DAYS', no action is taken unless *-f, --force* is + for the specified 'DOMAIN' and 'ALTNAMEs' and is still valid for + longer than 'DAYS' no action is taken unless *-f, --force* is specified. The new certificate is saved to 'CONFDIR/DOMAIN/cert.pem'. - If the certificate file already exists, it is hardlinked to + If the certificate file already exists it is hardlinked to 'CONFDIR/DOMAIN/cert-TIMESTAMP.pem' before overwriting. The private key for the certificate is loaded from 'CONFDIR/private/DOMAIN/key.pem'. If no such file exists, a new key is generated unless *-n, --never-create* is specified. + Wildcard DOMAINs or ALTNAMEs are dealt with correctly, as long as + the ACME server supports them; note that any such wildcards are + automatically removed from the configuration subdirectory name: + for example a certificate for '*.test.com' is saved to + 'CONFDIR/test.com/cert.pem'. *uacme* ['OPTIONS' ...] *revoke* 'CERTFILE':: Revoke the certificate stored in 'CERTFILE'. Only certificates @@ -189,6 +194,7 @@ provided a web server for the domain being validated runs on the same machine, with webroot at /var/www + #!/bin/sh CHALLENGE_PATH=/var/www/.well-known/acme-challenge ARGS=5 @@ -196,7 +202,7 @@ if test $# -ne "$ARGS" then - echo "Usage: `basename $0` method type ident token auth" 1>&2 + echo "Usage: $(basename "$0") method type ident token auth" 1>&2 exit $E_BADARGS fi @@ -210,7 +216,7 @@ "begin") case "$TYPE" in http-01) - echo -n "${AUTH}" > ${CHALLENGE_PATH}/${TOKEN} + echo -n "${AUTH}" > "${CHALLENGE_PATH}/${TOKEN}" exit $? ;; *) @@ -218,18 +224,19 @@ ;; esac ;; + "done"|"failed") case "$TYPE" in http-01) - rm ${CHALLENGE_PATH}/${TOKEN} + rm "${CHALLENGE_PATH}/${TOKEN}" exit $? ;; *) exit 1 ;; esac - exit 0 ;; + *) echo "$0: invalid method" 1>&2 exit 1 @@ -249,7 +256,7 @@ COPYRIGHT --------- -Copyright (C) 2019 Nicola Di Lieto <[email protected]> +Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> This file is part of *uacme*. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/uacme.c new/uacme-1.0.22/uacme.c --- old/uacme-1.0.20/uacme.c 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/uacme.c 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nicola Di Lieto <[email protected]> + * Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> * * This file is part of uacme. * @@ -582,10 +582,10 @@ acme_error(a); return false; } - if (json_compare_string(a->json, "status", "valid")) + const char* status = json_find_string(a->json, "status"); + if (status && strcmp(status, "valid")) { - const char* status = json_find_string(a->json, "status"); - warnx("invalid account status (%s)", status ? status : "unknown"); + warnx("invalid account status (%s)", status); return false; } if (!(a->kid = find_header(a->headers, "Location"))) @@ -893,8 +893,10 @@ bool chlg_done = false; for (size_t j=0; j<chlgs->v.array.size && !chlg_done; j++) { - if (json_compare_string(chlgs->v.array.values+j, - "status", "pending") == 0) + const char *status = json_find_string( + chlgs->v.array.values+j, "status"); + if (status && (strcmp(status, "pending") == 0 + || strcmp(status, "processing") == 0)) { const char *url = json_find_string( chlgs->v.array.values+j, "url"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.0.20/uacme.sh new/uacme-1.0.22/uacme.sh --- old/uacme-1.0.20/uacme.sh 2019-10-03 20:46:24.000000000 +0200 +++ new/uacme-1.0.22/uacme.sh 2020-02-01 10:59:29.000000000 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 2019 Nicola Di Lieto <[email protected]> +# Copyright (C) 2019,2020 Nicola Di Lieto <[email protected]> # # This file is part of uacme. # @@ -16,13 +16,13 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -CHALLENGE_PATH="${UACME_CHALLENGE_PATH:-'/var/www/.well-known/acme-challenge'}" +CHALLENGE_PATH="${UACME_CHALLENGE_PATH:-/var/www/.well-known/acme-challenge}" ARGS=5 E_BADARGS=85 if test $# -ne "$ARGS" then - echo "Usage: `basename $0` method type ident token auth" 1>&2 + echo "Usage: $(basename "$0") method type ident token auth" 1>&2 exit $E_BADARGS fi @@ -36,7 +36,7 @@ "begin") case "$TYPE" in http-01) - echo -n "${AUTH}" > ${CHALLENGE_PATH}/${TOKEN} + echo -n "${AUTH}" > "${CHALLENGE_PATH}/${TOKEN}" exit $? ;; *) @@ -48,14 +48,13 @@ "done"|"failed") case "$TYPE" in http-01) - rm ${CHALLENGE_PATH}/${TOKEN} + rm "${CHALLENGE_PATH}/${TOKEN}" exit $? ;; *) exit 1 ;; esac - exit 0 ;; *)
