Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package galene for openSUSE:Factory checked in at 2021-03-03 18:34:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/galene (Old) and /work/SRC/openSUSE:Factory/.galene.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "galene" Wed Mar 3 18:34:37 2021 rev:5 rq:876313 version:0.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/galene/galene.changes 2021-03-02 12:44:36.212311266 +0100 +++ /work/SRC/openSUSE:Factory/.galene.new.2378/galene.changes 2021-03-03 18:34:37.927367086 +0100 @@ -1,0 +2,7 @@ +Tue Mar 02 23:40:09 UTC 2021 - mich...@stroeder.com + +- Update to version 0.3.2: + * Fixed compatibility with versions of Go earlier than 1.15. + * Fixed a race condition in the disk writer. + +------------------------------------------------------------------- Old: ---- galene-0.3.1.tar.gz New: ---- galene-0.3.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ galene.spec ++++++ --- /var/tmp/diff_new_pack.OhY0O7/_old 2021-03-03 18:34:38.703367649 +0100 +++ /var/tmp/diff_new_pack.OhY0O7/_new 2021-03-03 18:34:38.703367649 +0100 @@ -25,7 +25,7 @@ %bcond_without apparmor Name: galene -Version: 0.3.1 +Version: 0.3.2 Release: 0 Summary: Gal??ne videoconferencing server License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.OhY0O7/_old 2021-03-03 18:34:38.731367669 +0100 +++ /var/tmp/diff_new_pack.OhY0O7/_new 2021-03-03 18:34:38.731367669 +0100 @@ -3,8 +3,8 @@ <param name="url">git://github.com/jech/galene.git</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">galene-0.3.1</param> - <param name="version">0.3.1</param> + <param name="revision">galene-0.3.2</param> + <param name="version">0.3.2</param> <param name="changesgenerate">enable</param> <!--param name="versionrewrite-pattern">galene-(\d+)</param> <param name="versionrewrite-replacement">\1</param--> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.OhY0O7/_old 2021-03-03 18:34:38.743367678 +0100 +++ /var/tmp/diff_new_pack.OhY0O7/_new 2021-03-03 18:34:38.747367681 +0100 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/jech/galene.git</param> - <param name="changesrevision">b7db959bfb7b021521c15c3550d7a31ed0228b79</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">3bf0f9ef4cfadf9caa10c67e7e51f7313cc37f57</param></service></servicedata> \ No newline at end of file ++++++ galene-0.3.1.tar.gz -> galene-0.3.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/galene-0.3.1/CHANGES new/galene-0.3.2/CHANGES --- old/galene-0.3.1/CHANGES 2021-02-26 19:13:15.000000000 +0100 +++ new/galene-0.3.2/CHANGES 2021-03-03 00:05:33.000000000 +0100 @@ -1,7 +1,13 @@ +3 March 2021: Gal??ne 0.3.2 + + * Fixed compatibility with versions of Go earlier than 1.15 (thanks to + Michael Str??der). + * Fixed a race condition in the disk writer. + 26 February 2021: Gal??ne 0.3.1 - * We now notice when the TLS certificate has changed on disk; which can - therefore be rotated without a restart. + * We now notice when the TLS certificate has changed on disk; the + certificate can therefore be rotated without a restart. * We now generate a self-signed certificate if none is found on disk. 18 February 2021: Gal??ne 0.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/galene-0.3.1/README new/galene-0.3.2/README --- old/galene-0.3.1/README 2021-02-26 19:13:15.000000000 +0100 +++ new/galene-0.3.2/README 2021-03-03 00:05:33.000000000 +0100 @@ -1,6 +1,8 @@ # Installation -## Build the server binary +## Build the `galene` binary + +You will need Go 1.13 or later (type `go version`). Then do: CGO_ENABLED=0 go build -ldflags='-s -w' @@ -78,8 +80,8 @@ ## Cross-compile for your server -If your server runs a different OS or has a different CPU than your build -machine, you will need to recompile the binary for the server. +This step is only required if your server runs a different OS or has +a different CPU than your build machine. For a Linux server with an Intel or AMD CPU: @@ -111,11 +113,11 @@ certificate automatically (and print a warning to the logs). If you have a certificate, install it in the files `data/cert.pem` and `data/key.pem`: - ssh gal...@server.example.org - sudo cp /etc/letsencrypt/live/server.example.org/fullchain.pem data/cert.pem - sudo cp /etc/letsencrypt/live/server.example.org/key.pem data/key.pem - sudo chown galene:galene data/*.pem - sudo chmod go-rw data/key.pem + ssh gal...@server.example.org + sudo cp /etc/letsencrypt/live/server.example.org/fullchain.pem data/cert.pem + sudo cp /etc/letsencrypt/live/server.example.org/key.pem data/key.pem + sudo chown galene:galene data/*.pem + sudo chmod go-rw data/key.pem Now run the binary on the server: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/galene-0.3.1/diskwriter/diskwriter.go new/galene-0.3.2/diskwriter/diskwriter.go --- old/galene-0.3.1/diskwriter/diskwriter.go 2021-02-26 19:13:15.000000000 +0100 +++ new/galene-0.3.2/diskwriter/diskwriter.go 2021-03-03 00:05:33.000000000 +0100 @@ -251,7 +251,7 @@ // bit 32 is a boolean indicating that the origin is valid origin uint64 - lastKf uint32 + lastKf uint32 savedKf *rtp.Packet } @@ -309,9 +309,17 @@ conn: &conn, } conn.tracks = append(conn.tracks, track) - remote.AddLocal(track) } + // Only do this after all tracks have been added to conn, to avoid + // racing on hasVideo. + for _, t := range conn.tracks { + err := t.remote.AddLocal(t) + if err != nil { + log.Printf("Couldn't add disk track: %v", err) + conn.warn("Couldn't add disk track: " + err.Error()) + } + } err := up.AddLocal(&conn) if err != nil { return nil, err @@ -383,7 +391,7 @@ if err != nil { return 0, 0 } - if(!vp9.V) { + if !vp9.V { return 0, 0 } w := uint32(0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/galene-0.3.1/go.mod new/galene-0.3.2/go.mod --- old/galene-0.3.1/go.mod 2021-02-26 19:13:15.000000000 +0100 +++ new/galene-0.3.2/go.mod 2021-03-03 00:05:33.000000000 +0100 @@ -3,13 +3,13 @@ go 1.13 require ( - github.com/at-wat/ebml-go v0.13.0 + github.com/at-wat/ebml-go v0.15.0 github.com/gorilla/websocket v1.4.2 github.com/pion/ice/v2 v2.0.15 github.com/pion/rtcp v1.2.6 github.com/pion/rtp v1.6.2 github.com/pion/sdp/v3 v3.0.4 github.com/pion/turn/v2 v2.0.5 - github.com/pion/webrtc/v3 v3.0.11 - golang.org/x/crypto v0.0.0-20210218145215-b8e89b74b9df + github.com/pion/webrtc/v3 v3.0.12 + golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/galene-0.3.1/go.sum new/galene-0.3.2/go.sum --- old/galene-0.3.1/go.sum 2021-02-26 19:13:15.000000000 +0100 +++ new/galene-0.3.2/go.sum 2021-03-03 00:05:33.000000000 +0100 @@ -1,5 +1,5 @@ -github.com/at-wat/ebml-go v0.13.0 h1:/r7STyGD8yNLrL8GnFcl3Xws1ixcBeKG0/1uXx5l9Fk= -github.com/at-wat/ebml-go v0.13.0/go.mod h1:w1cJs7zmGsb5nnSvhWGKLCxvfu4FVx5ERvYDIalj1ww= +github.com/at-wat/ebml-go v0.15.0 h1:TkKXDOyT720o0pc8rENLknicSILxS1izaII/zaPLTEQ= +github.com/at-wat/ebml-go v0.15.0/go.mod h1:w1cJs7zmGsb5nnSvhWGKLCxvfu4FVx5ERvYDIalj1ww= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -48,8 +48,8 @@ github.com/pion/dtls/v2 v2.0.7/go.mod h1:QuDII+8FVvk9Dp5t5vYIMTo7hh7uBkra+8QIm7QGm10= github.com/pion/ice/v2 v2.0.15 h1:KZrwa2ciL9od8+TUVJiYTNsCW9J5lktBjGwW1MacEnQ= github.com/pion/ice/v2 v2.0.15/go.mod h1:ZIiVGevpgAxF/cXiIVmuIUtCb3Xs4gCzCbXB6+nFkSI= -github.com/pion/interceptor v0.0.9 h1:fk5hTdyLO3KURQsf/+RjMpEm4NE3yeTY9Kh97b5BvwA= -github.com/pion/interceptor v0.0.9/go.mod h1:dHgEP5dtxOTf21MObuBAjJeAayPxLUAZjerGH8Xr07c= +github.com/pion/interceptor v0.0.10 h1:dXFyFWRJFwmzQqyn0U8dUAbOJu+JJnMVAqxmvTu30B4= +github.com/pion/interceptor v0.0.10/go.mod h1:qzeuWuD/ZXvPqOnxNcnhWfkCZ2e1kwwslicyyPnhoK4= github.com/pion/logging v0.2.2 h1:M9+AIj/+pxNsDfAT64+MAVgJO0rsyLnoJKCqf//DoeY= github.com/pion/logging v0.2.2/go.mod h1:k0/tDVsRCX2Mb2ZEmTqNa7CWsQPc+YYCB7Q+5pahoms= github.com/pion/mdns v0.0.4 h1:O4vvVqr4DGX63vzmO6Fw9vpy3lfztVWHGCQfyw0ZLSY= @@ -81,8 +81,8 @@ github.com/pion/turn/v2 v2.0.5/go.mod h1:APg43CFyt/14Uy7heYUOGWdkem/Wu4PhCO/bjyrTqMw= github.com/pion/udp v0.1.0 h1:uGxQsNyrqG3GLINv36Ff60covYmfrLoxzwnCsIYspXI= github.com/pion/udp v0.1.0/go.mod h1:BPELIjbwE9PRbd/zxI/KYBnbo7B6+oA6YuEaNE8lths= -github.com/pion/webrtc/v3 v3.0.11 h1:RIxUbkWJn6YvLVmHZSzc30yQLyME5vGDkpqrV7EHxz4= -github.com/pion/webrtc/v3 v3.0.11/go.mod h1:WEvXneGTeqNmiR59v5jTsxMc4yXQyOQcRsrdAbNwSEU= +github.com/pion/webrtc/v3 v3.0.12 h1:XjTwtnx8dsyfBfESHAdBTnqmajku+2Y9RXXyC4KB0LM= +github.com/pion/webrtc/v3 v3.0.12/go.mod h1:Y9t8I+0qeCCaUjg5wrweNVtK7reqZHc/MQdkznhzcro= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -103,8 +103,8 @@ golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210218145215-b8e89b74b9df h1:y7QZzfUiTwWam+xBn29Ulb8CBwVN5UdzmMDavl9Whlw= -golang.org/x/crypto v0.0.0-20210218145215-b8e89b74b9df/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20191126235420-ef20fe5d7933/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/galene-0.3.1/ice/ice.go new/galene-0.3.2/ice/ice.go --- old/galene-0.3.1/ice/ice.go 2021-02-26 19:13:15.000000000 +0100 +++ new/galene-0.3.2/ice/ice.go 2021-03-03 00:05:33.000000000 +0100 @@ -18,6 +18,18 @@ "github.com/jech/galene/turnserver" ) +type timeoutError struct{} + +func (e timeoutError) Error() string { + return "timeout" +} + +func (e timeoutError) Timeout() bool { + return true +} + +var errTimeout = timeoutError{} + type Server struct { URLs []string `json:"urls"` Username string `json:"username,omitempty"` @@ -235,6 +247,6 @@ } return time.Now().Sub(tm), nil case <-timer.C: - return 0, os.ErrDeadlineExceeded + return 0, errTimeout } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/galene-0.3.1/turnserver/turnserver.go new/galene-0.3.2/turnserver/turnserver.go --- old/galene-0.3.1/turnserver/turnserver.go 2021-02-26 19:13:15.000000000 +0100 +++ new/galene-0.3.2/turnserver/turnserver.go 2021-03-03 00:05:33.000000000 +0100 @@ -55,14 +55,23 @@ var lc *turn.ListenerConfig s := net.JoinHostPort(a.String(), strconv.Itoa(port)) + var g turn.RelayAddressGenerator + if relay == nil || relay.IsUnspecified() { + g = &turn.RelayAddressGeneratorNone{ + Address: a.String(), + } + } else { + g = &turn.RelayAddressGeneratorStatic{ + RelayAddress: relay, + Address: a.String(), + } + } + p, err := net.ListenPacket("udp4", s) if err == nil { pcc = &turn.PacketConnConfig{ - PacketConn: p, - RelayAddressGenerator: &turn.RelayAddressGeneratorStatic{ - RelayAddress: relay, - Address: a.String(), - }, + PacketConn: p, + RelayAddressGenerator: g, } } else { log.Printf("TURN: listenPacket(%v): %v", s, err) @@ -71,11 +80,8 @@ l, err := net.Listen("tcp4", s) if err == nil { lc = &turn.ListenerConfig{ - Listener: l, - RelayAddressGenerator: &turn.RelayAddressGeneratorStatic{ - RelayAddress: relay, - Address: a.String(), - }, + Listener: l, + RelayAddressGenerator: g, } } else { log.Printf("TURN: listen(%v): %v", s, err) @@ -105,7 +111,7 @@ return err } - log.Printf("Starting built-in TURN server") + log.Printf("Starting built-in TURN server on %v", addr.String()) username = "galene" buf := make([]byte, 6) @@ -152,7 +158,7 @@ } for _, a := range as { - pcc, lc := listener(a, addr.Port, a) + pcc, lc := listener(a, addr.Port, nil) if pcc != nil { pccs = append(pccs, *pcc) addresses = append(addresses, &net.UDPAddr{ ++++++ vendor.tar.gz ++++++ ++++ 2025 lines of diff (skipped)