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 <dmuel...@suse.com>
+
+- 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)

Reply via email to