Hello community, here is the log from the commit of package uacme for openSUSE:Leap:15.2 checked in at 2020-05-03 14:29:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/uacme (Old) and /work/SRC/openSUSE:Leap:15.2/.uacme.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "uacme" Sun May 3 14:29:55 2020 rev:5 rq:799807 version:1.2.3 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/uacme/uacme.changes 2020-04-21 19:08:45.176139087 +0200 +++ /work/SRC/openSUSE:Leap:15.2/.uacme.new.2738/uacme.changes 2020-05-03 14:31:09.304746037 +0200 @@ -1,0 +2,13 @@ +Sun Apr 26 13:09:47 UTC 2020 - Martin Hauke <mar...@gmx.de> + +- Update to version 1.2.3 + * fix Content-Type header parsing + +------------------------------------------------------------------- +Sun Apr 19 18:50:49 UTC 2020 - Martin Hauke <mar...@gmx.de> + +- Update to version 1.2.2 + * fix ualpn socket type bug on uClibc based systems + * fix configure.ac MAP_ANON cross-compilation test + +------------------------------------------------------------------- Old: ---- uacme-1.2.1.tar.gz New: ---- uacme-1.2.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ uacme.spec ++++++ --- /var/tmp/diff_new_pack.7vHko7/_old 2020-05-03 14:31:09.620746710 +0200 +++ /var/tmp/diff_new_pack.7vHko7/_new 2020-05-03 14:31:09.624746719 +0200 @@ -18,7 +18,7 @@ Name: uacme -Version: 1.2.1 +Version: 1.2.3 Release: 0 Summary: A minimal ACMEv2 client License: GPL-3.0-or-later ++++++ uacme-1.2.1.tar.gz -> uacme-1.2.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/ChangeLog new/uacme-1.2.3/ChangeLog --- old/uacme-1.2.1/ChangeLog 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/ChangeLog 2020-04-22 08:29:39.000000000 +0200 @@ -1,3 +1,13 @@ +2020-04-22 Nicola Di Lieto <nicola.dili...@gmail.com> + * Release 1.2.3 + - fix Content-Type header parsing + https://github.com/ndilieto/uacme/issues/22 + +2020-04-18 Nicola Di Lieto <nicola.dili...@gmail.com> + * Release 1.2.2 + - fix ualpn socket type bug on uClibc based systems + - fix configure.ac MAP_ANON cross-compilation test + 2020-04-17 Nicola Di Lieto <nicola.dili...@gmail.com> * Release 1.2.1 - increase cert buf size to cope with long identifiers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/NEWS new/uacme-1.2.3/NEWS --- old/uacme-1.2.1/NEWS 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/NEWS 2020-04-22 08:29:39.000000000 +0200 @@ -1,6 +1,16 @@ uacme NEWS Copyright (C) 2019,2020 Nicola Di Lieto <nicola.dili...@gmail.com> +## [1.2.3] - 2020-04-22 +### Changed +- fix Content-Type header parsing + https://github.com/ndilieto/uacme/issues/22 + +## [1.2.2] - 2020-04-18 +### Changed +- fix ualpn socket type bug on uClibc based systems +- fix configure.ac MAP_ANON cross-compilation test + ## [1.2.1] - 2020-04-17 ### Changed - increase cert buf size to cope with long identifiers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/config.h.in new/uacme-1.2.3/config.h.in --- old/uacme-1.2.1/config.h.in 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/config.h.in 2020-04-22 08:29:39.000000000 +0200 @@ -105,6 +105,9 @@ /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H +/* Define to 1 if you have the `strcasestr' function. */ +#undef HAVE_STRCASESTR + /* Define to 1 if you have the <strings.h> header file. */ #undef HAVE_STRINGS_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/configure new/uacme-1.2.3/configure --- old/uacme-1.2.1/configure 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/configure 2020-04-22 08:29:39.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for uacme 1.2.1. +# Generated by GNU Autoconf 2.69 for uacme 1.2.3. # # # 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.2.1' -PACKAGE_STRING='uacme 1.2.1' +PACKAGE_VERSION='1.2.3' +PACKAGE_STRING='uacme 1.2.3' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1317,7 +1317,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.2.1 to adapt to many kinds of systems. +\`configure' configures uacme 1.2.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1384,7 +1384,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of uacme 1.2.1:";; + short | recursive ) echo "Configuration of uacme 1.2.3:";; esac cat <<\_ACEOF @@ -1501,7 +1501,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -uacme configure 1.2.1 +uacme configure 1.2.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1920,7 +1920,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.2.1, which was +It was created by uacme $as_me 1.2.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2785,7 +2785,7 @@ # Define the identity of the package. PACKAGE='uacme' - VERSION='1.2.1' + VERSION='1.2.3' cat >>confdefs.h <<_ACEOF @@ -6151,6 +6151,17 @@ fi done +for ac_func in strcasestr +do : + ac_fn_c_check_func "$LINENO" "strcasestr" "ac_cv_func_strcasestr" +if test "x$ac_cv_func_strcasestr" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRCASESTR 1 +_ACEOF + +fi +done + for ac_func in setproctitle do : ac_fn_c_check_func "$LINENO" "setproctitle" "ac_cv_func_setproctitle" @@ -7107,7 +7118,10 @@ MAP_ANON|MAP_SHARED, -1, 0) == MAP_FAILED;} _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + +$as_echo "#define HAVE_MAP_ANON 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 @@ -8307,7 +8321,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.2.1, which was +This file was extended by uacme $as_me 1.2.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8373,7 +8387,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.2.1 +uacme config.status 1.2.3 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.2.1/configure.ac new/uacme-1.2.3/configure.ac --- old/uacme-1.2.1/configure.ac 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/configure.ac 2020-04-22 08:29:39.000000000 +0200 @@ -63,6 +63,7 @@ AC_MSG_ERROR([uacme requires (v)asprintf])) AC_CHECK_FUNCS([getopt_long], [], AC_MSG_ERROR([uacme requires getopt_long])) +AC_CHECK_FUNCS([strcasestr]) AC_CHECK_FUNCS([setproctitle]) if test -n "$PKG_CONFIG"; then @@ -355,6 +356,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <sys/mman.h> int main() {return mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_ANON|MAP_SHARED, -1, 0) == MAP_FAILED;}])], + AC_DEFINE(HAVE_MAP_ANON, 1, [if mmap(MAP_ANON|MAP_SHARED) works]) AC_MSG_RESULT([yes]), AC_MSG_RESULT([no]) AC_MSG_NOTICE([falling back to mmap("/dev/zero", MAP_SHARED)]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/docs/uacme.html new/uacme-1.2.3/docs/uacme.html --- old/uacme-1.2.1/docs/uacme.html 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/docs/uacme.html 2020-04-22 08:29:39.000000000 +0200 @@ -1264,9 +1264,9 @@ <div id="footnotes"><hr></div> <div id="footer"> <div id="footer-text"> -Version 1.2.1<br> +Version 1.2.3<br> Last updated - 2020-04-17 07:40:54 CEST + 2020-04-18 21:50:51 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/docs/ualpn.html new/uacme-1.2.3/docs/ualpn.html --- old/uacme-1.2.1/docs/ualpn.html 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/docs/ualpn.html 2020-04-22 08:29:39.000000000 +0200 @@ -1186,9 +1186,9 @@ <div id="footnotes"><hr></div> <div id="footer"> <div id="footer-text"> -Version 1.2.1<br> +Version 1.2.3<br> Last updated - 2020-04-17 07:40:54 CEST + 2020-04-18 21:50:51 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/uacme.1 new/uacme-1.2.3/uacme.1 --- old/uacme-1.2.1/uacme.1 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/uacme.1 2020-04-22 08:29:39.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: uacme .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> -.\" Date: 04/17/2020 +.\" Date: 04/22/2020 .\" Manual: User Commands -.\" Source: uacme 1.2.1 +.\" Source: uacme 1.2.3 .\" Language: English .\" -.TH "UACME" "1" "04/17/2020" "uacme 1\&.2\&.1" "User Commands" +.TH "UACME" "1" "04/22/2020" "uacme 1\&.2\&.3" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/uacme.c new/uacme-1.2.3/uacme.c --- old/uacme-1.2.1/uacme.c 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/uacme.c 2020-04-22 08:29:39.000000000 +0200 @@ -70,6 +70,29 @@ char *certdir; } acme_t; +#if !HAVE_STRCASESTR +char *strcasestr(const char *haystack, const char *needle) +{ + char *ret = NULL; + char *_haystack = strdup(haystack); + char *_needle = strdup(needle); + + if (!_haystack || !needle) + warn("strcasestr: strdup failed"); + else { + char *p; + for (p = _haystack; *p; p++) + *p = tolower(*p); + for (p = _needle; *p; p++) + *p = tolower(*p); + ret = strstr(_haystack, _needle); + } + free(_haystack); + free(_needle); + return ret; +} +#endif + char *find_header(const char *headers, const char *name) { char *regex = NULL; @@ -121,7 +144,7 @@ free(a->nonce); a->nonce = find_header(c->headers, "Replay-Nonce"); a->type = find_header(c->headers, "Content-Type"); - if (a->type && strstr(a->type, "json")) + if (a->type && strcasestr(a->type, "json")) a->json = json_parse(c->body, c->body_len); a->headers = c->headers; c->headers = NULL; @@ -218,7 +241,7 @@ free(a->nonce); a->nonce = find_header(c->headers, "Replay-Nonce"); a->type = find_header(c->headers, "Content-Type"); - if (a->type && strstr(a->type, "json")) + if (a->type && strcasestr(a->type, "json")) a->json = json_parse(c->body, c->body_len); a->headers = c->headers; c->headers = NULL; @@ -240,7 +263,7 @@ warnx("acme_post: return code %d", ret); } if (ret != 400 || !a->type || !a->nonce || !a->json || - strcasecmp(a->type, "application/problem+json") != 0 || + !strcasestr(a->type, "application/problem+json") || json_compare_string(a->json, "type", "urn:ietf:params:acme:error:badNonce") != 0) break; @@ -341,7 +364,7 @@ { if (!a->json) return false; - if (a->type && strcasecmp(a->type, "application/problem+json") == 0) { + if (a->type && strcasestr(a->type, "application/problem+json")) { warnx("the server reported the following error:"); json_dump(stderr, a->json); return true; @@ -409,7 +432,7 @@ case 400: if (a->json && a->type && - strcasecmp(a->type, "application/problem+json") == 0 && + strcasestr(a->type, "application/problem+json") && json_compare_string(a->json, "type", "urn:ietf:params:acme:error:accountDoesNotExist") == 0) { const json_value_t *meta = json_find(a->dir, "meta"); @@ -473,7 +496,7 @@ case 400: if (a->json && a->type && - strcasecmp(a->type, "application/problem+json") == 0 && + strcasestr(a->type, "application/problem+json") && json_compare_string(a->json, "type", "urn:ietf:params:acme:error:accountDoesNotExist") == 0) { warnx("no account associated with %s/key.pem found at %s. " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/ualpn.1 new/uacme-1.2.3/ualpn.1 --- old/uacme-1.2.1/ualpn.1 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/ualpn.1 2020-04-22 08:29:39.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: ualpn .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> -.\" Date: 04/17/2020 +.\" Date: 04/22/2020 .\" Manual: User Commands -.\" Source: ualpn 1.2.1 +.\" Source: ualpn 1.2.3 .\" Language: English .\" -.TH "UALPN" "1" "04/17/2020" "ualpn 1\&.2\&.1" "User Commands" +.TH "UALPN" "1" "04/22/2020" "ualpn 1\&.2\&.3" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uacme-1.2.1/ualpn.c new/uacme-1.2.3/ualpn.c --- old/uacme-1.2.1/ualpn.c 2020-04-17 07:42:28.000000000 +0200 +++ new/uacme-1.2.3/ualpn.c 2020-04-22 08:29:39.000000000 +0200 @@ -2600,7 +2600,7 @@ return -1; } - c->fd_b = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); + c->fd_b = socket(ai->ai_family, SOCK_STREAM, 0); if (c->fd_b == -1) { warn("client %08x: failed to create backend socket", c->id); freeaddrinfo(ai); @@ -4651,7 +4651,7 @@ continue; } - fd = socket(a->ai_family, a->ai_socktype, 0); + fd = socket(a->ai_family, SOCK_STREAM, 0); if (fd == -1) { warn("failed to create socket for %s:%s", host, port); continue;