Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nebula for openSUSE:Factory checked in at 2026-08-29 17:43:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nebula (Old) and /work/SRC/openSUSE:Factory/.nebula.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nebula" Sat Aug 29 17:43:54 2026 rev:16 rq:1374603 version:1.11.1 Changes: -------- --- /work/SRC/openSUSE:Factory/nebula/nebula.changes 2026-07-31 16:09:14.992483594 +0200 +++ /work/SRC/openSUSE:Factory/.nebula.new.1265/nebula.changes 2026-08-29 17:44:55.904498924 +0200 @@ -1,0 +2,21 @@ +Sat Aug 29 13:08:07 UTC 2026 - Richard Rahl <[email protected]> + +- Update to version 1.11.1: + + IPv6 packets whose next header is a protocol Nebula does not parse (SCTP, + GRE, IP-in-IP, etc.) are now classified as that protocol with no ports, + closing a firewall bypass where a crafted payload could steer the classifier + into reading one as TCP/UDP and matching a TCP/UDP rule. These packets are + now matched as their true protocol, so only a proto: any rule allows them. If + you carry one of these protocols over the overlay, confirm a proto: any rule + covers it before upgrading, it may have been passing only through this bypass + + The ICMPv6 type was read from the wrong byte when classifying IPv6 packets, + so the echo identifier used for conntrack was never picked up + + Enforce outbound message counter limits so a tunnel is rehandshaked before + the counter can wrap, preventing nonce reuse. This is unreachable in + practice, but is enforced as a defense-in-depth measure + + Prevent nebula-cert ca from running out of memory on 32bit systems when + generating encrypted private keys + + Tolerate ErrDumpInterrupted when listing tun addresses on Linux, so a + transient interrupted netlink dump no longer aborts startup + +------------------------------------------------------------------- Old: ---- nebula-1.11.0.tar.gz New: ---- nebula-1.11.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nebula.spec ++++++ --- /var/tmp/diff_new_pack.sdLvrk/_old 2026-08-29 17:44:56.527520961 +0200 +++ /var/tmp/diff_new_pack.sdLvrk/_new 2026-08-29 17:44:56.529521032 +0200 @@ -17,7 +17,7 @@ Name: nebula -Version: 1.11.0 +Version: 1.11.1 Release: 0 Summary: A scalable overlay networking tool License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.sdLvrk/_old 2026-08-29 17:44:56.560522129 +0200 +++ /var/tmp/diff_new_pack.sdLvrk/_new 2026-08-29 17:44:56.564522270 +0200 @@ -3,7 +3,7 @@ <service name="tar_scm" mode="manual"> <param name="url">https://github.com/slackhq/nebula.git</param> <param name="scm">git</param> - <param name="revision">refs/tags/v1.11.0</param> + <param name="revision">refs/tags/v1.11.1</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="package-meta">yes</param> ++++++ nebula-1.11.0.tar.gz -> nebula-1.11.1.tar.gz ++++++ /work/SRC/openSUSE:Factory/nebula/nebula-1.11.0.tar.gz /work/SRC/openSUSE:Factory/.nebula.new.1265/nebula-1.11.1.tar.gz differ: char 12, line 1 ++++++ vendor.tar.zst ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/cyberdelia/go-metrics-graphite/.gitignore new/vendor/github.com/cyberdelia/go-metrics-graphite/.gitignore --- old/vendor/github.com/cyberdelia/go-metrics-graphite/.gitignore 2026-07-30 08:14:30.000000000 +0200 +++ new/vendor/github.com/cyberdelia/go-metrics-graphite/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -.tags diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/cyberdelia/go-metrics-graphite/.travis.yml new/vendor/github.com/cyberdelia/go-metrics-graphite/.travis.yml --- old/vendor/github.com/cyberdelia/go-metrics-graphite/.travis.yml 2026-07-30 08:14:30.000000000 +0200 +++ new/vendor/github.com/cyberdelia/go-metrics-graphite/.travis.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -language: go -sudo: false -script: go vet ./... && go test -cover ./... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/cyberdelia/go-metrics-graphite/AUTHORS new/vendor/github.com/cyberdelia/go-metrics-graphite/AUTHORS --- old/vendor/github.com/cyberdelia/go-metrics-graphite/AUTHORS 2026-07-30 08:14:30.000000000 +0200 +++ new/vendor/github.com/cyberdelia/go-metrics-graphite/AUTHORS 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -These people have provided bug fixes, new features or improved the documentation. - -* Daniel Garcia <[email protected]> -* Peter Teichman <[email protected]> -* Phillip Kovalev <[email protected]> -* Richard Crowley <[email protected]> -* Timothée Peignier <[email protected]> -* Tomás Senart <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/cyberdelia/go-metrics-graphite/LICENSE new/vendor/github.com/cyberdelia/go-metrics-graphite/LICENSE --- old/vendor/github.com/cyberdelia/go-metrics-graphite/LICENSE 2026-07-30 08:14:30.000000000 +0200 +++ new/vendor/github.com/cyberdelia/go-metrics-graphite/LICENSE 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -Copyright 2015 Timothée Peignier. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/cyberdelia/go-metrics-graphite/README.md new/vendor/github.com/cyberdelia/go-metrics-graphite/README.md --- old/vendor/github.com/cyberdelia/go-metrics-graphite/README.md 2026-07-30 08:14:30.000000000 +0200 +++ new/vendor/github.com/cyberdelia/go-metrics-graphite/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -This is a reporter for the [go-metrics](https://github.com/rcrowley/go-metrics) -library which will post the metrics to Graphite. It was originally part of the -`go-metrics` library itself, but has been split off to make maintenance of -both the core library and the client easier. - -### Usage - -```go -import "github.com/cyberdelia/go-metrics-graphite" - - -go graphite.Graphite(metrics.DefaultRegistry, - 1*time.Second, "some.prefix", addr) -``` - -### Migrating from `rcrowley/go-metrics` implementation - -Simply modify the import from `"github.com/rcrowley/go-metrics/graphite"` to -`"github.com/cyberdelia/go-metrics-graphite"` and it should Just Work. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/cyberdelia/go-metrics-graphite/graphite.go new/vendor/github.com/cyberdelia/go-metrics-graphite/graphite.go --- old/vendor/github.com/cyberdelia/go-metrics-graphite/graphite.go 2026-07-30 08:14:30.000000000 +0200 +++ new/vendor/github.com/cyberdelia/go-metrics-graphite/graphite.go 1970-01-01 01:00:00.000000000 +0100 @@ -1,120 +0,0 @@ -package graphite - -import ( - "bufio" - "fmt" - "log" - "net" - "strconv" - "strings" - "time" - - "github.com/rcrowley/go-metrics" -) - -// Config provides a container with configuration parameters for -// the Graphite exporter -type Config struct { - Addr *net.TCPAddr // Network address to connect to - Registry metrics.Registry // Registry to be exported - FlushInterval time.Duration // Flush interval - DurationUnit time.Duration // Time conversion unit for durations - Prefix string // Prefix to be prepended to metric names - Percentiles []float64 // Percentiles to export from timers and histograms -} - -// Graphite is a blocking exporter function which reports metrics in r -// to a graphite server located at addr, flushing them every d duration -// and prepending metric names with prefix. -func Graphite(r metrics.Registry, d time.Duration, prefix string, addr *net.TCPAddr) { - WithConfig(Config{ - Addr: addr, - Registry: r, - FlushInterval: d, - DurationUnit: time.Nanosecond, - Prefix: prefix, - Percentiles: []float64{0.5, 0.75, 0.95, 0.99, 0.999}, - }) -} - -// WithConfig is a blocking exporter function just like Graphite, -// but it takes a GraphiteConfig instead. -func WithConfig(c Config) { - for _ = range time.Tick(c.FlushInterval) { - if err := graphite(&c); nil != err { - log.Println(err) - } - } -} - -// Once performs a single submission to Graphite, returning a -// non-nil error on failed connections. This can be used in a loop -// similar to GraphiteWithConfig for custom error handling. -func Once(c Config) error { - return graphite(&c) -} - -func graphite(c *Config) error { - now := time.Now().Unix() - du := float64(c.DurationUnit) - flushSeconds := float64(c.FlushInterval) / float64(time.Second) - conn, err := net.DialTCP("tcp", nil, c.Addr) - if nil != err { - return err - } - defer conn.Close() - w := bufio.NewWriter(conn) - c.Registry.Each(func(name string, i interface{}) { - switch metric := i.(type) { - case metrics.Counter: - count := metric.Count() - fmt.Fprintf(w, "%s.%s.count %d %d\n", c.Prefix, name, count, now) - fmt.Fprintf(w, "%s.%s.count_ps %.2f %d\n", c.Prefix, name, float64(count)/flushSeconds, now) - case metrics.Gauge: - fmt.Fprintf(w, "%s.%s.value %d %d\n", c.Prefix, name, metric.Value(), now) - case metrics.GaugeFloat64: - fmt.Fprintf(w, "%s.%s.value %f %d\n", c.Prefix, name, metric.Value(), now) - case metrics.Histogram: - h := metric.Snapshot() - ps := h.Percentiles(c.Percentiles) - fmt.Fprintf(w, "%s.%s.count %d %d\n", c.Prefix, name, h.Count(), now) - fmt.Fprintf(w, "%s.%s.min %d %d\n", c.Prefix, name, h.Min(), now) - fmt.Fprintf(w, "%s.%s.max %d %d\n", c.Prefix, name, h.Max(), now) - fmt.Fprintf(w, "%s.%s.mean %.2f %d\n", c.Prefix, name, h.Mean(), now) - fmt.Fprintf(w, "%s.%s.std-dev %.2f %d\n", c.Prefix, name, h.StdDev(), now) - for psIdx, psKey := range c.Percentiles { - key := strings.Replace(strconv.FormatFloat(psKey*100.0, 'f', -1, 64), ".", "", 1) - fmt.Fprintf(w, "%s.%s.%s-percentile %.2f %d\n", c.Prefix, name, key, ps[psIdx], now) - } - case metrics.Meter: - m := metric.Snapshot() - fmt.Fprintf(w, "%s.%s.count %d %d\n", c.Prefix, name, m.Count(), now) - fmt.Fprintf(w, "%s.%s.one-minute %.2f %d\n", c.Prefix, name, m.Rate1(), now) - fmt.Fprintf(w, "%s.%s.five-minute %.2f %d\n", c.Prefix, name, m.Rate5(), now) - fmt.Fprintf(w, "%s.%s.fifteen-minute %.2f %d\n", c.Prefix, name, m.Rate15(), now) - fmt.Fprintf(w, "%s.%s.mean %.2f %d\n", c.Prefix, name, m.RateMean(), now) - case metrics.Timer: - t := metric.Snapshot() - ps := t.Percentiles(c.Percentiles) - count := t.Count() - fmt.Fprintf(w, "%s.%s.count %d %d\n", c.Prefix, name, count, now) - fmt.Fprintf(w, "%s.%s.count_ps %.2f %d\n", c.Prefix, name, float64(count)/flushSeconds, now) - fmt.Fprintf(w, "%s.%s.min %d %d\n", c.Prefix, name, t.Min()/int64(du), now) - fmt.Fprintf(w, "%s.%s.max %d %d\n", c.Prefix, name, t.Max()/int64(du), now) - fmt.Fprintf(w, "%s.%s.mean %.2f %d\n", c.Prefix, name, t.Mean()/du, now) - fmt.Fprintf(w, "%s.%s.std-dev %.2f %d\n", c.Prefix, name, t.StdDev()/du, now) - for psIdx, psKey := range c.Percentiles { - key := strings.Replace(strconv.FormatFloat(psKey*100.0, 'f', -1, 64), ".", "", 1) - fmt.Fprintf(w, "%s.%s.%s-percentile %.2f %d\n", c.Prefix, name, key, ps[psIdx]/du, now) - } - fmt.Fprintf(w, "%s.%s.one-minute %.2f %d\n", c.Prefix, name, t.Rate1(), now) - fmt.Fprintf(w, "%s.%s.five-minute %.2f %d\n", c.Prefix, name, t.Rate5(), now) - fmt.Fprintf(w, "%s.%s.fifteen-minute %.2f %d\n", c.Prefix, name, t.Rate15(), now) - fmt.Fprintf(w, "%s.%s.mean-rate %.2f %d\n", c.Prefix, name, t.RateMean(), now) - default: - log.Printf("unable to record metric of type %T\n", i) - } - w.Flush() - }) - return nil -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt --- old/vendor/modules.txt 2026-07-30 08:14:30.000000000 +0200 +++ new/vendor/modules.txt 2026-08-21 21:23:25.000000000 +0200 @@ -16,9 +16,6 @@ # github.com/cespare/xxhash/v2 v2.3.0 ## explicit; go 1.11 github.com/cespare/xxhash/v2 -# github.com/cyberdelia/go-metrics-graphite v0.0.0-20161219230853-39f87cc3b432 -## explicit -github.com/cyberdelia/go-metrics-graphite # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew
