Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ell for openSUSE:Factory checked in 
at 2021-09-25 00:35:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ell (Old)
 and      /work/SRC/openSUSE:Factory/.ell.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ell"

Sat Sep 25 00:35:15 2021 rev:23 rq:920159 version:0.44

Changes:
--------
--- /work/SRC/openSUSE:Factory/ell/ell.changes  2021-09-09 23:07:22.904819645 
+0200
+++ /work/SRC/openSUSE:Factory/.ell.new.1899/ell.changes        2021-09-25 
00:35:55.367162474 +0200
@@ -1,0 +2,9 @@
+Sun Sep 19 10:11:39 UTC 2021 - Malte Ohmstede <malte.ohmst...@gmail.com>
+
+- update to release 0.44
+  * Fix issue with allowing zero byte input for AEAD cipher.
+  * Fix issue with filling in DNS info in DHCP lease objects.
+  * Add support neighbor discovery utility helpers.
+
+
+-------------------------------------------------------------------

Old:
----
  ell-0.43.tar.sign
  ell-0.43.tar.xz

New:
----
  ell-0.44.tar.sign
  ell-0.44.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ell.spec ++++++
--- /var/tmp/diff_new_pack.uvDOh0/_old  2021-09-25 00:35:55.815162942 +0200
+++ /var/tmp/diff_new_pack.uvDOh0/_new  2021-09-25 00:35:55.815162942 +0200
@@ -18,7 +18,7 @@
 
 %define lname   libell0
 Name:           ell
-Version:        0.43
+Version:        0.44
 Release:        0
 Summary:        Wireless setup and cryptography library
 License:        LGPL-2.1-or-later

++++++ ell-0.43.tar.xz -> ell-0.44.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/AUTHORS new/ell-0.44/AUTHORS
--- old/ell-0.43/AUTHORS        2021-06-11 20:09:50.000000000 +0200
+++ new/ell-0.44/AUTHORS        2021-09-14 21:48:51.000000000 +0200
@@ -31,3 +31,4 @@
 ??rico Nogueira <eric...@disroot.org>
 Mauro Condarelli <mc5...@mclink.it>
 Davide Caratti <davide.cara...@gmail.com>
+Sergei Trofimovich <sly...@gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/ChangeLog new/ell-0.44/ChangeLog
--- old/ell-0.43/ChangeLog      2021-08-22 06:08:02.000000000 +0200
+++ new/ell-0.44/ChangeLog      2021-09-14 21:48:51.000000000 +0200
@@ -1,3 +1,8 @@
+ver 0.44:
+       Fix issue with allowing zero byte input for AEAD cipher.
+       Fix issue with filling in DNS info in DHCP lease objects.
+       Add support neighbor discovery utility helpers.
+
 ver 0.43:
        Add support for DHCP Rapid Commit feature.
        Add support for DHCP authoritative mode feature.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/configure new/ell-0.44/configure
--- old/ell-0.43/configure      2021-08-22 06:09:28.000000000 +0200
+++ new/ell-0.44/configure      2021-09-14 21:50:27.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ell 0.43.
+# Generated by GNU Autoconf 2.69 for ell 0.44.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='ell'
 PACKAGE_TARNAME='ell'
-PACKAGE_VERSION='0.43'
-PACKAGE_STRING='ell 0.43'
+PACKAGE_VERSION='0.44'
+PACKAGE_STRING='ell 0.44'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1350,7 +1350,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.43 to adapt to many kinds of systems.
+\`configure' configures ell 0.44 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1421,7 +1421,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ell 0.43:";;
+     short | recursive ) echo "Configuration of ell 0.44:";;
    esac
   cat <<\_ACEOF
 
@@ -1548,7 +1548,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ell configure 0.43
+ell configure 0.44
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1913,7 +1913,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.43, which was
+It was created by ell $as_me 0.44, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2776,7 +2776,7 @@
 
 # Define the identity of the package.
  PACKAGE='ell'
- VERSION='0.43'
+ VERSION='0.44'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13646,7 +13646,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.43, which was
+This file was extended by ell $as_me 0.44, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13712,7 +13712,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ell config.status 0.43
+ell config.status 0.44
 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/ell-0.43/configure.ac new/ell-0.44/configure.ac
--- old/ell-0.43/configure.ac   2021-08-22 06:08:02.000000000 +0200
+++ new/ell-0.44/configure.ac   2021-09-14 21:48:51.000000000 +0200
@@ -1,5 +1,5 @@
 AC_PREREQ(2.60)
-AC_INIT(ell, 0.43)
+AC_INIT(ell, 0.44)
 
 AC_CONFIG_HEADERS(config.h)
 AC_CONFIG_AUX_DIR(build-aux)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/ell/cipher.c new/ell-0.44/ell/cipher.c
--- old/ell-0.43/ell/cipher.c   2021-03-29 14:19:13.000000000 +0200
+++ new/ell-0.44/ell/cipher.c   2021-09-14 21:48:51.000000000 +0200
@@ -607,7 +607,10 @@
        if (unlikely(!cipher))
                return false;
 
-       if (unlikely(!in) || unlikely(!out))
+       if (unlikely(!in && !ad) || unlikely(!out))
+               return false;
+
+       if (unlikely(!in && in_len) || unlikely(!ad && ad_len))
                return false;
 
        if (cipher->type == L_AEAD_CIPHER_AES_CCM) {
@@ -677,6 +680,10 @@
 
        initialized = true;
 
+       for (c = 0; c < L_ARRAY_SIZE(local_impl_ciphers); c++)
+               if (HAVE_LOCAL_IMPLEMENTATION(c))
+                       supported_ciphers |= 1 << c;
+
        sk = socket(PF_ALG, SOCK_SEQPACKET | SOCK_CLOEXEC, 0);
        if (sk < 0)
                return;
@@ -698,10 +705,6 @@
                supported_ciphers |= 1 << c;
        }
 
-       for (c = 0; c < L_ARRAY_SIZE(local_impl_ciphers); c++)
-               if (HAVE_LOCAL_IMPLEMENTATION(c))
-                       supported_ciphers |= 1 << c;
-
        strcpy((char *) salg.salg_type, "aead");
 
        for (a = L_AEAD_CIPHER_AES_CCM; a <= L_AEAD_CIPHER_AES_GCM; a++) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/ell/dhcp-server.c 
new/ell-0.44/ell/dhcp-server.c
--- old/ell-0.43/ell/dhcp-server.c      2021-08-22 06:08:02.000000000 +0200
+++ new/ell-0.44/ell/dhcp-server.c      2021-09-14 21:48:51.000000000 +0200
@@ -316,6 +316,13 @@
        lease->subnet_mask = server->netmask;
        lease->router = server->gateway;
 
+       if (server->dns_list) {
+               unsigned int i;
+
+               for (i = 0; server->dns_list[i]; i++);
+               lease->dns = l_memdup(server->dns_list, (i + 1) * 4);
+       }
+
        if (client_id)
                lease->client_id = l_memdup(client_id, client_id[0] + 1);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/ell/ell.sym new/ell-0.44/ell/ell.sym
--- old/ell-0.43/ell/ell.sym    2021-08-22 06:08:02.000000000 +0200
+++ new/ell-0.44/ell/ell.sym    2021-09-14 21:48:51.000000000 +0200
@@ -663,6 +663,8 @@
        l_rtnl_ifaddr_extract;
        l_rtnl_ifaddr_add;
        l_rtnl_ifaddr_delete;
+       l_rtnl_neighbor_get_hwaddr;
+       l_rtnl_neighbor_set_hwaddr;
 /* icmp6 */
        l_icmp6_client_new;
        l_icmp6_client_free;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/ell/rtnl.c new/ell-0.44/ell/rtnl.c
--- old/ell-0.43/ell/rtnl.c     2021-08-01 21:49:37.000000000 +0200
+++ new/ell-0.44/ell/rtnl.c     2021-09-14 21:48:51.000000000 +0200
@@ -27,6 +27,9 @@
 #define _GNU_SOURCE
 #include <linux/if.h>
 #include <linux/icmpv6.h>
+#include <linux/neighbour.h>
+#include <linux/if_ether.h>
+#include <net/if_arp.h>
 #include <sys/socket.h>
 #include <arpa/inet.h>
 #include <errno.h>
@@ -34,6 +37,7 @@
 #include "useful.h"
 #include "netlink.h"
 #include "log.h"
+#include "util.h"
 #include "rtnl.h"
 #include "private.h"
 
@@ -1311,3 +1315,126 @@
        return _rtnl_route_change(rtnl, RTM_DELROUTE, ifindex, rt,
                                                cb, user_data, destroy);
 }
+
+struct rtnl_neighbor_get_data {
+       l_rtnl_neighbor_get_cb_t cb;
+       void *user_data;
+       l_netlink_destroy_func_t destroy;
+};
+
+static void rtnl_neighbor_get_cb(int error, uint16_t type, const void *data,
+                                       uint32_t len, void *user_data)
+{
+       struct rtnl_neighbor_get_data *cb_data = user_data;
+       const struct ndmsg *ndmsg = data;
+       struct rtattr *attr;
+       const uint8_t *hwaddr = NULL;
+       size_t hwaddr_len = 0;
+
+       if (error != 0)
+               goto done;
+
+       if (type != RTM_NEWNEIGH || len < NLMSG_ALIGN(sizeof(*ndmsg))) {
+               error = -EIO;
+               goto done;
+       }
+
+       if (!(ndmsg->ndm_state & (NUD_PERMANENT | NUD_NOARP | NUD_REACHABLE))) {
+               error = -ENOENT;
+               goto done;
+       }
+
+       attr = (void *) ndmsg + NLMSG_ALIGN(sizeof(*ndmsg));
+       len -= NLMSG_ALIGN(sizeof(*ndmsg));
+
+       for (; RTA_OK(attr, len); attr = RTA_NEXT(attr, len))
+               switch (attr->rta_type) {
+               case NDA_LLADDR:
+                       hwaddr = RTA_DATA(attr);
+                       hwaddr_len = RTA_PAYLOAD(attr);
+                       break;
+               }
+
+       if (!hwaddr)
+               error = -EIO;
+
+done:
+       if (cb_data->cb) {
+               cb_data->cb(error, hwaddr, hwaddr_len, cb_data->user_data);
+               cb_data->cb = NULL;
+       }
+}
+
+static void rtnl_neighbor_get_destroy_cb(void *user_data)
+{
+       struct rtnl_neighbor_get_data *cb_data = user_data;
+
+       if (cb_data->destroy)
+               cb_data->destroy(cb_data->user_data);
+
+       l_free(cb_data);
+}
+
+LIB_EXPORT uint32_t l_rtnl_neighbor_get_hwaddr(struct l_netlink *rtnl,
+                                       int ifindex, int family,
+                                       const void *ip,
+                                       l_rtnl_neighbor_get_cb_t cb,
+                                       void *user_data,
+                                       l_netlink_destroy_func_t destroy)
+{
+       size_t bufsize = NLMSG_ALIGN(sizeof(struct ndmsg)) +
+                       RTA_SPACE(16); /* NDA_DST */
+       uint8_t buf[bufsize];
+       struct ndmsg *ndmsg = (struct ndmsg *) buf;
+       void *rta_buf = (void *) ndmsg + NLMSG_ALIGN(sizeof(struct ndmsg));
+       __auto_type cb_data = struct_alloc(rtnl_neighbor_get_data,
+                                               cb, user_data, destroy);
+       uint32_t ret;
+
+       memset(buf, 0, bufsize);
+       ndmsg->ndm_family = family;
+       ndmsg->ndm_ifindex = ifindex;
+       ndmsg->ndm_flags = 0;
+
+       rta_buf += rta_add_address(rta_buf, NDA_DST, family, ip, ip);
+
+       ret = l_netlink_send(rtnl, RTM_GETNEIGH, 0, ndmsg,
+                               rta_buf - (void *) ndmsg,
+                               rtnl_neighbor_get_cb, cb_data,
+                               rtnl_neighbor_get_destroy_cb);
+       if (ret)
+               return ret;
+
+       l_free(cb_data);
+       return 0;
+}
+
+LIB_EXPORT uint32_t l_rtnl_neighbor_set_hwaddr(struct l_netlink *rtnl,
+                                       int ifindex, int family,
+                                       const void *ip,
+                                       const uint8_t *hwaddr,
+                                       size_t hwaddr_len,
+                                       l_netlink_command_func_t cb,
+                                       void *user_data,
+                                       l_netlink_destroy_func_t destroy)
+{
+       size_t bufsize = NLMSG_ALIGN(sizeof(struct ndmsg)) +
+                       RTA_SPACE(16) +        /* NDA_DST */
+                       RTA_SPACE(hwaddr_len); /* NDA_LLADDR */
+       uint8_t buf[bufsize];
+       struct ndmsg *ndmsg = (struct ndmsg *) buf;
+       void *rta_buf = (void *) ndmsg + NLMSG_ALIGN(sizeof(struct ndmsg));
+
+       memset(buf, 0, bufsize);
+       ndmsg->ndm_family = family;
+       ndmsg->ndm_ifindex = ifindex;
+       ndmsg->ndm_flags = 0;
+       ndmsg->ndm_state = NUD_REACHABLE;
+
+       rta_buf += rta_add_address(rta_buf, NDA_DST, family, ip, ip);
+       rta_buf += rta_add_data(rta_buf, NDA_LLADDR, hwaddr, hwaddr_len);
+
+       return l_netlink_send(rtnl, RTM_NEWNEIGH, NLM_F_CREATE | NLM_F_REPLACE,
+                               ndmsg, rta_buf - (void *) ndmsg,
+                               cb, user_data, destroy);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/ell/rtnl.h new/ell-0.44/ell/rtnl.h
--- old/ell-0.43/ell/rtnl.h     2021-08-01 21:49:37.000000000 +0200
+++ new/ell-0.44/ell/rtnl.h     2021-09-14 21:48:51.000000000 +0200
@@ -33,6 +33,10 @@
 struct l_rtnl_address;
 struct l_rtnl_route;
 
+typedef void (*l_rtnl_neighbor_get_cb_t) (int error, const uint8_t *hwaddr,
+                                               size_t hwaddr_len,
+                                               void *user_data);
+
 struct l_rtnl_address *l_rtnl_address_new(const char *ip, uint8_t prefix_len);
 struct l_rtnl_address *l_rtnl_address_clone(const struct l_rtnl_address *orig);
 void l_rtnl_address_free(struct l_rtnl_address *addr);
@@ -190,6 +194,19 @@
                                        l_netlink_command_func_t cb,
                                        void *user_data,
                                        l_netlink_destroy_func_t destroy);
+
+uint32_t l_rtnl_neighbor_get_hwaddr(struct l_netlink *rtnl, int ifindex,
+                                       int family, const void *ip,
+                                       l_rtnl_neighbor_get_cb_t cb,
+                                       void *user_data,
+                                       l_netlink_destroy_func_t destroy);
+uint32_t l_rtnl_neighbor_set_hwaddr(struct l_netlink *rtnl, int ifindex,
+                                       int family, const void *ip,
+                                       const uint8_t *hwaddr,
+                                       size_t hwaddr_len,
+                                       l_netlink_command_func_t cb,
+                                       void *user_data,
+                                       l_netlink_destroy_func_t destroy);
 
 #ifdef __cplusplus
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/ell/useful.h new/ell-0.44/ell/useful.h
--- old/ell-0.43/ell/useful.h   2021-08-01 21:49:37.000000000 +0200
+++ new/ell-0.44/ell/useful.h   2021-09-14 21:48:51.000000000 +0200
@@ -83,3 +83,7 @@
 
        return r ^ ((l ^ r) & mask);
 }
+
+#define struct_alloc(structname, ...) \
+       (struct structname *) l_memdup(&(struct structname) { __VA_ARGS__ }, \
+                                       sizeof(struct structname))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ell-0.43/unit/test-uuid.c 
new/ell-0.44/unit/test-uuid.c
--- old/ell-0.43/unit/test-uuid.c       2019-04-03 19:49:21.000000000 +0200
+++ new/ell-0.44/unit/test-uuid.c       2021-09-14 21:48:51.000000000 +0200
@@ -227,18 +227,26 @@
 {
        l_test_init(&argc, &argv);
 
-       l_test_add("/uuid/v3", test_v3, NULL);
+       if (l_checksum_is_supported(L_CHECKSUM_MD5, false))
+               l_test_add("/uuid/v3", test_v3, NULL);
 
        if (l_getrandom_is_supported())
                l_test_add("/uuid/v4", test_v4, NULL);
 
-       l_test_add("/uuid/v5", test_v5, NULL);
-       l_test_add("/uuid/to string", test_to_string, NULL);
+       if (l_checksum_is_supported(L_CHECKSUM_SHA1, false)) {
+               l_test_add("/uuid/v5", test_v5, NULL);
+               l_test_add("/uuid/to string", test_to_string, NULL);
+       }
+
        l_test_add("/uuid/from string", test_from_string, NULL);
-       l_test_add("/uuid/from string/too short", test_from_string_too_short, 
NULL);
-       l_test_add("/uuid/from string/too long", test_from_string_too_long, 
NULL);
-       l_test_add("/uuid/from string/invalid variant", 
test_from_string_invalid_variant, NULL);
-       l_test_add("/uuid/from string/invalid hex", 
test_from_string_invalid_hex, NULL);
+       l_test_add("/uuid/from string/too short",
+                                       test_from_string_too_short, NULL);
+       l_test_add("/uuid/from string/too long",
+                                       test_from_string_too_long, NULL);
+       l_test_add("/uuid/from string/invalid variant",
+                                       test_from_string_invalid_variant, NULL);
+       l_test_add("/uuid/from string/invalid hex",
+                                       test_from_string_invalid_hex, NULL);
 
        return l_test_run();
 

Reply via email to