Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ell for openSUSE:Factory checked in at 2022-12-25 15:14:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ell (Old)
and /work/SRC/openSUSE:Factory/.ell.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ell"
Sun Dec 25 15:14:29 2022 rev:33 rq:1045122 version:0.55
Changes:
--------
--- /work/SRC/openSUSE:Factory/ell/ell.changes 2022-12-04 14:58:28.748313397 +0100
+++ /work/SRC/openSUSE:Factory/.ell.new.1563/ell.changes 2022-12-25 15:14:38.661302246 +0100
@@ -1,0 +2,6 @@
+Fri Dec 23 20:02:06 UTC 2022 - Dirk M��ller
+
+- update to 0.55:
+ * Fix issue with DHCP and blocked unicast requests.
+
+-------------------------------------------------------------------
Old:
----
ell-0.54.tar.sign
ell-0.54.tar.xz
New:
----
ell-0.55.tar.sign
ell-0.55.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ell.spec ++++++
--- /var/tmp/diff_new_pack.ZfxAR4/_old 2022-12-25 15:14:39.201305302 +0100
+++ /var/tmp/diff_new_pack.ZfxAR4/_new 2022-12-25 15:14:39.205305324 +0100
@@ -18,7 +18,7 @@
%define lname libell0
Name: ell
-Version: 0.54
+Version: 0.55
Release: 0
Summary: Wireless setup and cryptography library
License: LGPL-2.1-or-later
++++++ ell-0.54.tar.xz -> ell-0.55.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ell-0.54/ChangeLog new/ell-0.55/ChangeLog
--- old/ell-0.54/ChangeLog 2022-11-18 10:08:38.000000000 +0100
+++ new/ell-0.55/ChangeLog 2022-12-18 20:40:29.000000000 +0100
@@ -1,3 +1,6 @@
+ver 0.55:
+ Fix issue with DHCP and blocked unicast requests.
+
ver 0.54:
Add support for DHCPv6 SLAAC address creation.
Add support for control of optimistic DAD feature.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ell-0.54/configure new/ell-0.55/configure
--- old/ell-0.54/configure 2022-11-18 10:10:16.000000000 +0100
+++ new/ell-0.55/configure 2022-12-18 20:42:13.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for ell 0.54.
+# Generated by GNU Autoconf 2.71 for ell 0.55.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -618,8 +618,8 @@
# Identity of this package.
PACKAGE_NAME='ell'
PACKAGE_TARNAME='ell'
-PACKAGE_VERSION='0.54'
-PACKAGE_STRING='ell 0.54'
+PACKAGE_VERSION='0.55'
+PACKAGE_STRING='ell 0.55'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1380,7 +1380,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 ell 0.54 to adapt to many kinds of systems.
+\`configure' configures ell 0.55 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1451,7 +1451,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ell 0.54:";;
+ short | recursive ) echo "Configuration of ell 0.55:";;
esac
cat <<\_ACEOF
@@ -1578,7 +1578,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ell configure 0.54
+ell configure 0.55
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1839,7 +1839,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ell $as_me 0.54, which was
+It was created by ell $as_me 0.55, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3114,7 +3114,7 @@
# Define the identity of the package.
PACKAGE='ell'
- VERSION='0.54'
+ VERSION='0.55'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -14344,7 +14344,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ell $as_me 0.54, which was
+This file was extended by ell $as_me 0.55, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14412,7 +14412,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-ell config.status 0.54
+ell config.status 0.55
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ell-0.54/configure.ac new/ell-0.55/configure.ac
--- old/ell-0.54/configure.ac 2022-11-18 10:08:38.000000000 +0100
+++ new/ell-0.55/configure.ac 2022-12-18 20:40:29.000000000 +0100
@@ -1,5 +1,5 @@
AC_PREREQ([2.69])
-AC_INIT([ell],[0.54])
+AC_INIT([ell],[0.55])
AC_CONFIG_HEADERS(config.h)
AC_CONFIG_AUX_DIR(build-aux)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ell-0.54/ell/checksum.c new/ell-0.55/ell/checksum.c
--- old/ell-0.54/ell/checksum.c 2021-03-29 14:19:13.000000000 +0200
+++ new/ell-0.55/ell/checksum.c 2022-12-18 20:40:29.000000000 +0100
@@ -146,55 +146,22 @@
return sk;
}
-/**
- * l_checksum_new:
- * @type: checksum type
- *
- * Creates new #l_checksum, using the checksum algorithm @type.
- *
- * Returns: a newly allocated #l_checksum object.
- **/
-LIB_EXPORT struct l_checksum *l_checksum_new(enum l_checksum_type type)
-{
- struct l_checksum *checksum;
- int fd;
-
- if (!is_valid_index(checksum_algs, type) || !checksum_algs[type].name)
- return NULL;
-
- checksum = l_new(struct l_checksum, 1);
- checksum->alg_info = &checksum_algs[type];
-
- fd = create_alg(checksum->alg_info->name);
- if (fd < 0)
- goto error;
-
- checksum->sk = accept4(fd, NULL, 0, SOCK_CLOEXEC);
- close(fd);
-
- if (checksum->sk < 0)
- goto error;
-
- return checksum;
-
-error:
- l_free(checksum);
- return NULL;
-}
-
-LIB_EXPORT struct l_checksum *l_checksum_new_cmac_aes(const void *key,
- size_t key_len)
+static struct l_checksum *checksum_new_common(const char *alg, int sockopt,
+ const void *data, size_t len,
+ struct checksum_info *info)
{
struct l_checksum *checksum;
int fd;
- fd = create_alg("cmac(aes)");
+ fd = create_alg(alg);
if (fd < 0)
return NULL;
- if (setsockopt(fd, SOL_ALG, ALG_SET_KEY, key, key_len) < 0) {
- close(fd);
- return NULL;
+ if (data) {
+ if (setsockopt(fd, SOL_ALG, sockopt, data, len) < 0) {
+ close(fd);
+ return NULL;
+ }
}
checksum = l_new(struct l_checksum, 1);
@@ -206,40 +173,44 @@
return NULL;
}
- checksum->alg_info = &checksum_cmac_aes_alg;
+ checksum->alg_info = info;
return checksum;
}
-LIB_EXPORT struct l_checksum *l_checksum_new_hmac(enum l_checksum_type type,
- const void *key, size_t key_len)
+/**
+ * l_checksum_new:
+ * @type: checksum type
+ *
+ * Creates new #l_checksum, using the checksum algorithm @type.
+ *
+ * Returns: a newly allocated #l_checksum object.
+ **/
+LIB_EXPORT struct l_checksum *l_checksum_new(enum l_checksum_type type)
{
- struct l_checksum *checksum;
- int fd;
-
- if (!is_valid_index(checksum_hmac_algs, type) ||
- !checksum_hmac_algs[type].name)
- return NULL;
-
- fd = create_alg(checksum_hmac_algs[type].name);
- if (fd < 0)
+ if (!is_valid_index(checksum_algs, type) || !checksum_algs[type].name)
return NULL;
- if (setsockopt(fd, SOL_ALG, ALG_SET_KEY, key, key_len) < 0) {
- close(fd);
- return NULL;
- }
+ return checksum_new_common(checksum_algs[type].name, 0, NULL, 0,
+ &checksum_algs[type]);
+}
- checksum = l_new(struct l_checksum, 1);
- checksum->sk = accept4(fd, NULL, 0, SOCK_CLOEXEC);
- close(fd);
+LIB_EXPORT struct l_checksum *l_checksum_new_cmac_aes(const void *key,
+ size_t key_len)
+{
+ return checksum_new_common("cmac(aes)", ALG_SET_KEY, key, key_len,
+ &checksum_cmac_aes_alg);
+}
- if (checksum->sk < 0) {
- l_free(checksum);
+LIB_EXPORT struct l_checksum *l_checksum_new_hmac(enum l_checksum_type type,
+ const void *key, size_t key_len)
+{
+ if (!is_valid_index(checksum_hmac_algs, type) ||
+ !checksum_hmac_algs[type].name)
return NULL;
- }
- checksum->alg_info = &checksum_hmac_algs[type];
- return checksum;
+ return checksum_new_common(checksum_hmac_algs[type].name,
+ ALG_SET_KEY, key, key_len,
+ &checksum_hmac_algs[type]);
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ell-0.54/ell/dhcp.c new/ell-0.55/ell/dhcp.c
--- old/ell-0.54/ell/dhcp.c 2022-11-18 10:08:38.000000000 +0100
+++ new/ell-0.55/ell/dhcp.c 2022-12-18 20:40:29.000000000 +0100
@@ -365,12 +365,27 @@
unsigned int len)
{
struct sockaddr_in si;
+ int r;
memset(&si, 0, sizeof(si));
si.sin_family = AF_INET;
si.sin_port = L_CPU_TO_BE16(DHCP_PORT_SERVER);
si.sin_addr.s_addr = client->lease->server_address;
- return client->transport->send(client->transport, &si, request, len);
+
+ /*
+ * sendto() might fail with an EPERM error, which most likely means
+ * that the unicast was prevented by netfilter. Ignore this case
+ * and assume that once the REBINDING timeout is hit, a broadcast
+ * will go through which will have a chance of renewing the lease
+ */
+ r = client->transport->send(client->transport, &si, request, len);
+ if (r == -EPERM) {
+ CLIENT_DEBUG("transport->send() failed with EPERM -> ignore");
+ CLIENT_DEBUG("Is a firewall denying unicast DHCP packets?");
+ return 0;
+ }
+
+ return r;
}
static int dhcp_client_send_request(struct l_dhcp_client *client)