Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openresolv for openSUSE:Factory 
checked in at 2025-03-31 11:43:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openresolv (Old)
 and      /work/SRC/openSUSE:Factory/.openresolv.new.2696 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openresolv"

Mon Mar 31 11:43:35 2025 rev:6 rq:1265519 version:3.14.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/openresolv/openresolv.changes    2023-12-06 
23:49:26.909933458 +0100
+++ /work/SRC/openSUSE:Factory/.openresolv.new.2696/openresolv.changes  
2025-03-31 11:44:54.148447455 +0200
@@ -1,0 +2,10 @@
+Sat Mar 29 09:52:48 UTC 2025 - Andrea Manzini <andrea.manz...@suse.com>
+
+- update to 3.14.1:
+  * unbound: Add option for marking domains as private
+  * Add a new exlcude option to exclude a whole file on match 
+  * Remove reference to README for configure options
+
+- added openresolv.keyring for signature verification
+
+-------------------------------------------------------------------

Old:
----
  openresolv-3.13.2.tar.xz
  openresolv-3.13.2.tar.xz.asc

New:
----
  openresolv-3.14.1.tar.xz
  openresolv-3.14.1.tar.xz.asc
  openresolv.keyring

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

Other differences:
------------------
++++++ openresolv.spec ++++++
--- /var/tmp/diff_new_pack.IfXXm3/_old  2025-03-31 11:44:54.760472851 +0200
+++ /var/tmp/diff_new_pack.IfXXm3/_new  2025-03-31 11:44:54.764473017 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package openresolv
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,14 @@
 
 
 Name:           openresolv
-Version:        3.13.2
+Version:        3.14.1
 Release:        0
 Summary:        DNS management framework
 License:        BSD-2-Clause
 URL:            https://roy.marples.name/projects/openresolv
-Source0:        
https://github.com/NetworkConfiguration/openresolv/releases/download/v3.13.2/openresolv-%{version}.tar.xz
-Source1:        
https://github.com/NetworkConfiguration/openresolv/releases/download/v3.13.2/openresolv-%{version}.tar.xz.asc
+Source0:        
https://github.com/NetworkConfiguration/openresolv/releases/download/v%{version}/openresolv-%{version}.tar.xz
+Source1:        
https://github.com/NetworkConfiguration/openresolv/releases/download/v%{version}/openresolv-%{version}.tar.xz.asc
+Source2:        openresolv.keyring
 Requires:       bash
 BuildArch:      noarch
 

++++++ openresolv-3.13.2.tar.xz -> openresolv-3.14.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openresolv-3.13.2/Makefile 
new/openresolv-3.14.1/Makefile
--- old/openresolv-3.13.2/Makefile      2023-06-27 16:39:40.000000000 +0200
+++ new/openresolv-3.14.1/Makefile      2025-03-28 20:35:30.000000000 +0100
@@ -45,7 +45,7 @@
 DISTINFOMD=    ${DISTINFO}.md
 DISTSIGN=      ${DISTFILE}.asc
 SHA256?=       sha256
-PGP?=          gpg
+PGP?=          gpg2
 
 GITREF?=       HEAD
 
@@ -104,7 +104,7 @@
        ${SHA256} ${DISTFILE} >${DISTINFO}
        wc -c <${DISTFILE} \
                | xargs printf 'Size   (${DISTFILE}) = %s\n' >>${DISTINFO}
-       ${PGP} --armour --detach-sign ${DISTFILE}
+       ${PGP} --sign --armour --detach ${DISTFILE}
        chmod 644 ${DISTSIGN}
        ls -l ${DISTFILE} ${DISTINFO} ${DISTSIGN}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openresolv-3.13.2/configure 
new/openresolv-3.14.1/configure
--- old/openresolv-3.13.2/configure     2023-06-27 16:39:40.000000000 +0200
+++ new/openresolv-3.14.1/configure     2025-03-28 20:35:30.000000000 +0100
@@ -39,7 +39,7 @@
        --includedir) eval INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }$var";;
        --datadir|--infodir) ;; # ignore autotools
        --disable-maintainer-mode|--disable-dependency-tracking) ;;
-       --help) echo "See the README file for available options"; exit 0;;
+       --help) echo "See the source for available options"; exit 0;;
        *) echo "$0: WARNING: unknown option $opt" >&2;;
        esac
 done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openresolv-3.13.2/libc.in 
new/openresolv-3.14.1/libc.in
--- old/openresolv-3.13.2/libc.in       2023-06-27 16:39:40.000000000 +0200
+++ new/openresolv-3.14.1/libc.in       2025-03-28 20:35:30.000000000 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (c) 2007-2023 Roy Marples
+# Copyright (c) 2007-2025 Roy Marples
 # All rights reserved
 
 # libc subscriber for resolvconf
@@ -96,7 +96,7 @@
 : ${resolv_conf:=/etc/resolv.conf}
 : ${resolv_conf_tmp:="$resolv_conf.$$.openresolv"}
 : ${libc_service:=nscd}
-: ${list_resolv:=@SBINDIR@/resolvconf -l}
+: ${list_resolv:=@SBINDIR@/resolvconf -L}
 if [ "${resolv_conf_head-x}" = x ] && [ -f "$SYSCONFDIR"/resolv.conf.head ]
 then
        resolv_conf_head="$(cat "${SYSCONFDIR}"/resolv.conf.head)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openresolv-3.13.2/resolvconf.8.in 
new/openresolv-3.14.1/resolvconf.8.in
--- old/openresolv-3.13.2/resolvconf.8.in       2023-06-27 16:39:40.000000000 
+0200
+++ new/openresolv-3.14.1/resolvconf.8.in       2025-03-28 20:35:30.000000000 
+0100
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2007-2023 Roy Marples
+.\" Copyright (c) 2007-2025 Roy Marples
 .\" All rights reserved
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd December 23, 2016
+.Dd March 24, 2025
 .Dt RESOLVCONF 8
 .Os
 .Sh NAME
@@ -46,7 +46,7 @@
 .Fl d Ar interface Ns Op Ar .protocol
 .Nm
 .Op Fl x
-.Fl il Ar pattern
+.Fl iLl Ar pattern
 .Nm
 .Fl u
 .Nm
@@ -168,6 +168,17 @@
 we have
 .Pa resolv.conf
 files for.
+.It Fl L Ar pattern
+List the
+.Pa resolv.conf
+files we have,
+post-processed by the
+.Xr resolvconf.conf 5
+configuration.
+If
+.Ar pattern
+is specified then we list the files for the interfaces and protocols
+that match it.
 .It Fl l Ar pattern
 List the
 .Pa resolv.conf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openresolv-3.13.2/resolvconf.conf.5.in 
new/openresolv-3.14.1/resolvconf.conf.5.in
--- old/openresolv-3.13.2/resolvconf.conf.5.in  2023-06-27 16:39:40.000000000 
+0200
+++ new/openresolv-3.14.1/resolvconf.conf.5.in  2025-03-28 20:35:30.000000000 
+0100
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2009-2023 Roy Marples
+.\" Copyright (c) 2009-2025 Roy Marples
 .\" All rights reserved
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd May 23, 2023
+.Dd March 24, 2025
 .Dt RESOLVCONF.CONF 5
 .Os
 .Sh NAME
@@ -65,6 +65,19 @@
 If set, only these interfaces will be processed.
 .It Sy deny_interfaces
 If set, these interfaces will not be processed.
+.It Sy exclude
+Is a space separated list of key/value pairs to match.
+If all key/value pairs in one element can be found in the file,
+then the whole file will be excluded from processing.
+The syntax is this:
+.Va $keyword Ns / Ns Va $match Ns Op / Ns Va $keyword Ns / Ns Va $match
+.Pp
+For example given this configuration:
+.Bd -compact -literal -offset indent
+exclude="search/foo*/nameserver/1.2.3.4 search/bar.org"
+.Ed
+Then any resolv.conf with both a search option starting with foo with a 
nameserver of 1.2.3.4
+OR a search option of bar.org would be excluded.
 .It Sy interface_order
 These interfaces will always be processed first.
 If unset, defaults to the following:-
@@ -328,6 +341,8 @@
 This file tells unbound about specific and global name servers.
 .It Sy unbound_insecure
 When set to YES, unbound marks the domains as insecure, thus ignoring DNSSEC.
+.It Sy unbound_private
+When set to YES, unbound marks the domains as private, allowing it and its 
subdomains to contain private addresses.
 .It Sy unbound_forward_zone_options
 Options appended to each forward zone.
 Each option should be separated by an embedded new line.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openresolv-3.13.2/resolvconf.in 
new/openresolv-3.14.1/resolvconf.in
--- old/openresolv-3.13.2/resolvconf.in 2023-06-27 16:39:40.000000000 +0200
+++ new/openresolv-3.14.1/resolvconf.in 2025-03-28 20:35:30.000000000 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (c) 2007-2023 Roy Marples
+# Copyright (c) 2007-2025 Roy Marples
 # All rights reserved
 
 # Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 RESOLVCONF="$0"
-OPENRESOLV_VERSION="3.13.2"
+OPENRESOLV_VERSION="3.14.1"
 SYSCONFDIR=@SYSCONFDIR@
 LIBEXECDIR=@LIBEXECDIR@
 VARDIR=@VARDIR@
@@ -34,7 +34,7 @@
 
 if [ "$1" = "--version" ]; then
        echo "openresolv $OPENRESOLV_VERSION"
-       echo "Copyright (c) 2007-2020 Roy Marples"
+       echo "Copyright (c) 2007-2025 Roy Marples"
        exit 0
 fi
 
@@ -48,6 +48,27 @@
 interface_order="lo lo[0-9]*"
 name_server_blacklist="0.0.0.0"
 
+# Poor mans cat
+# /usr might not be available
+cat()
+{
+       OIFS="$IFS"
+       IFS=''
+       if [ -n "$1" ]; then
+               while read -r line; do
+                       printf "%s\n" "$line"
+               done < "$1"
+       else
+               while read -r line; do
+                       printf "%s\n" "$line"
+               done
+       fi
+       retval=$?
+       IFS="$OIFS"
+       return $retval
+}
+
+
 # Support original resolvconf configuration layout
 # as well as the openresolv config file
 if [ -f "$SYSCONFDIR"/resolvconf.conf ]; then
@@ -98,6 +119,7 @@
                    pattern
          -l [\$PATTERN]    Show DNS information, optionally from interfaces
                           that match the specified pattern
+         -L [\$PATTERN]    Same as -l, but adjusted by our config
 
          -u               Run updates from our current DNS information
          --version        Echo the ${RESOLVCONF##*/} version
@@ -329,7 +351,7 @@
                   fi'
        elif [ -x /usr/bin/s6-rc ] && [ -x /usr/bin/s6-svc ]; then
                RESTARTCMD='
-                  if s6-rc -a list | grep -qFx $1-srv
+                  if s6-rc -a list 2>/dev/null | grep -qFx $1-srv
                   then
                        s6-svc -r /run/service/$1-srv
                   fi'
@@ -434,12 +456,68 @@
        return 1
 }
 
+match()
+{
+       match="$1"
+       file="$2"
+       retval=1
+       count=0
+
+       while read -r keyword value; do
+               new_match=
+               for om in $match; do
+                       m="$om"
+                       keep=
+                       while [ -n "$m" ]; do
+                               k="${m%%/*}"
+                               r="${m#*/}"
+                               f="${r%%/*}"
+                               r="${r#*/}"
+                               # If the length of m is the same as k/f then
+                               # we know that we are done
+                               if [ ${#m} = $((${#k} + 1 + ${#f})) ]; then
+                                       r=
+                               fi
+                               m="$r"
+                               matched=false
+                               case "$keyword" in
+                               $k)
+                                       case "$value" in
+                                       $f)
+                                               matched=true
+                                               ;;
+                                       esac
+                                       ;;
+                               esac
+                               if ! $matched; then
+                                       keep="$keep${keep:+/}$k/$f"
+                               fi
+                       done
+                       if [ -n "$om" ] && [ -z "$keep" ]; then
+                               retval=0
+                               break 2
+                       fi
+                       new_match="${new_match}${new_match:+ }${keep}"
+               done
+               match="${new_match}"
+       done < "$file"
+       return $retval
+}
+
 list_resolv()
 {
        [ -d "$IFACEDIR" ] || return 0
 
-       cmd="$1"
-       shift
+       list_cmd=
+       OPTIND=1
+       while getopts iLl OPT; do
+               case "$OPT" in
+               '?') exit 1;;
+               *) list_cmd="$OPT";;
+               esac
+       done
+       shift $(($OPTIND - 1))
+
        pattern_specified="$1"
 
        excl=false
@@ -540,7 +618,7 @@
                        continue
                fi
 
-               if ! $ALLIFACES; then
+               if [ "$list_cmd" = L ]; then
                        if [ -n "$allow_interfaces" ]; then
                                x=false
                                for j in $allow_interfaces; do
@@ -555,16 +633,20 @@
                                        continue 2
                                fi
                        done
+
+                       if [ -n "$exclude" ] && match "$exclude" "$i"; then
+                               continue
+                       fi
                fi
 
-               if [ "$cmd" = i ] || [ "$cmd" = "-i" ]; then
+               if [ "$list_cmd" = i ]; then
                        printf %s "$i "
                else
                        echo_resolv "$i" && echo
                fi
                [ $? = 0 ] && [ "$retval" = 1 ] && retval=0
        done
-       [ "$cmd" = i ] || [ "$cmd" = "-i" ] && echo
+       [ "$list_cmd" = i ] && echo
        return $retval
 }
 
@@ -674,7 +756,7 @@
        if [ -z "$VFLAG" ]; then
                IF_EXCLUSIVE=1
                list_resolv -i "$@" >/dev/null || IF_EXCLUSIVE=0
-               eval "$(list_resolv -l "$@" | replace | parse_resolv)"
+               eval "$(list_resolv -L "$@" | replace | parse_resolv)"
        fi
        if [ -n "${name_servers_append}${search_domains_append}" ]; then
                eval "$(echo_append | parse_resolv)"
@@ -724,7 +806,7 @@
 
 force=false
 VFLAG=
-while getopts a:C:c:Dd:fhIilm:pRruvVx OPT; do
+while getopts a:C:c:Dd:fhIiLlm:pRruvVx OPT; do
        case "$OPT" in
        f) force=true;;
        h) usage;;
@@ -762,11 +844,14 @@
 
 # -l lists our resolv files, optionally for a specific interface
 if [ "$cmd" = l ] || [ "$cmd" = i ]; then
-       ALLIFACES=true
-       list_resolv "$cmd" "$args"
+       list_resolv "-$cmd" "$args"
        exit $?
 fi
-ALLIFACES=false
+# -L is the same as -l, but post-processed from our config
+if [ "$cmd" = L ]; then
+       list_resolv "-$cmd" "$args" | replace
+       exit $?2
+fi
 
 # Restart a service or echo the command to restart a service
 if [ "$cmd" = r ] || [ "$cmd" = R ]; then
@@ -1077,7 +1162,7 @@
 
 eval "$(make_vars)"
 export RESOLVCONF DOMAINS SEARCH NAMESERVERS LOCALNAMESERVERS
-: ${list_resolv:=list_resolv -l}
+: ${list_resolv:=list_resolv -L}
 retval=0
 
 # Run scripts in the same directory resolvconf is run from
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openresolv-3.13.2/unbound.in 
new/openresolv-3.14.1/unbound.in
--- old/openresolv-3.13.2/unbound.in    2023-06-27 16:39:40.000000000 +0200
+++ new/openresolv-3.14.1/unbound.in    2025-03-28 20:35:30.000000000 +0100
@@ -27,6 +27,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 unbound_insecure=
+unbound_private=
 
 [ -f "@SYSCONFDIR@"/resolvconf.conf ] || exit 0
 . "@SYSCONFDIR@/resolvconf.conf" || exit 1
@@ -42,12 +43,25 @@
 for d in $DOMAINS; do
        dn="${d%%:*}"
        ns="${d#*:}"
+       create_unbound_insecure=false
+       create_unbound_private=false
        case "$unbound_insecure" in
        [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
-               newconf="$newconf${NL}server:$NL"
-               newconf="$newconf       domain-insecure: \"$dn\"$NL"
-               ;;
+               create_unbound_insecure=true ;;
+       esac
+       case "$unbound_private" in
+       [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
+               create_unbound_private=true ;;
        esac
+       if $create_unbound_insecure || $create_unbound_private; then
+               newconf="$newconf${NL}server:$NL"
+               if $create_unbound_insecure; then
+                       newconf="$newconf       domain-insecure: \"$dn\"$NL"
+               fi
+               if $create_unbound_private; then
+                       newconf="$newconf       private-domain: \"$dn\"$NL"
+               fi
+       fi
        newconf="$newconf${NL}forward-zone:$NL  name: \"$dn\"$NL"
        if [ -n "$unbound_forward_zone_options" ]; then
                newconf="$newconf       $unbound_forward_zone_options${NL}"

Reply via email to