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-04-17 23:24:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/galene (Old)
 and      /work/SRC/openSUSE:Factory/.galene.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "galene"

Sat Apr 17 23:24:48 2021 rev:7 rq:886128 version:0.3.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/galene/galene.changes    2021-03-05 
13:49:37.679859538 +0100
+++ /work/SRC/openSUSE:Factory/.galene.new.12324/galene.changes 2021-04-17 
23:24:51.213582642 +0200
@@ -1,0 +2,8 @@
+Fri Apr 16 20:42:16 UTC 2021 - [email protected]
+
+- Update to version 0.3.3:
+  * Fixed an off-by-one error that could occasionally lead to a server
+    crash.
+  * Attempt to negotiate stereo Opus audio.
+
+-------------------------------------------------------------------

Old:
----
  galene-0.3.2.tar.gz

New:
----
  galene-0.3.3.tar.gz

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

Other differences:
------------------
++++++ galene.spec ++++++
--- /var/tmp/diff_new_pack.DfzIrL/_old  2021-04-17 23:24:52.589584987 +0200
+++ /var/tmp/diff_new_pack.DfzIrL/_new  2021-04-17 23:24:52.593584994 +0200
@@ -25,7 +25,7 @@
 %bcond_without  apparmor
 
 Name:           galene
-Version:        0.3.2
+Version:        0.3.3
 Release:        0
 Summary:        Gal??ne videoconferencing server
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.DfzIrL/_old  2021-04-17 23:24:52.617585035 +0200
+++ /var/tmp/diff_new_pack.DfzIrL/_new  2021-04-17 23:24:52.621585042 +0200
@@ -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.2</param>
-    <param name="version">0.3.2</param>
+    <param name="revision">galene-0.3.3</param>
+    <param name="version">0.3.3</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.DfzIrL/_old  2021-04-17 23:24:52.637585069 +0200
+++ /var/tmp/diff_new_pack.DfzIrL/_new  2021-04-17 23:24:52.637585069 +0200
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">git://github.com/jech/galene.git</param>
-              <param 
name="changesrevision">3bf0f9ef4cfadf9caa10c67e7e51f7313cc37f57</param></service></servicedata>
\ No newline at end of file
+              <param 
name="changesrevision">45558f3e881543b0394e70069f2307434b9f6580</param></service></servicedata>
\ No newline at end of file

++++++ galene-0.3.2.tar.gz -> galene-0.3.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.3.2/CHANGES new/galene-0.3.3/CHANGES
--- old/galene-0.3.2/CHANGES    2021-03-03 00:05:33.000000000 +0100
+++ new/galene-0.3.3/CHANGES    2021-04-16 22:31:25.000000000 +0200
@@ -1,3 +1,9 @@
+16 April 2021: Gal??ne 0.3.3
+
+  * Fixed an off-by-one error that could occasionally lead to a server
+    crash.  Thanks to Louis Gesbert.
+  * Attempt to negotiate stereo Opus audio.
+
 3 March 2021: Gal??ne 0.3.2
 
   * Fixed compatibility with versions of Go earlier than 1.15 (thanks to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.3.2/README.PROTOCOL 
new/galene-0.3.3/README.PROTOCOL
--- old/galene-0.3.2/README.PROTOCOL    2021-03-03 00:05:33.000000000 +0100
+++ new/galene-0.3.3/README.PROTOCOL    2021-04-16 22:31:25.000000000 +0200
@@ -181,6 +181,7 @@
 ```javascript
 {
     type: 'ice',
+    id: id,
     candidate: candidate
 }
 ```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/galene-0.3.2/galene-password-generator/galene-password-generator.go 
new/galene-0.3.3/galene-password-generator/galene-password-generator.go
--- old/galene-0.3.2/galene-password-generator/galene-password-generator.go     
1970-01-01 01:00:00.000000000 +0100
+++ new/galene-0.3.3/galene-password-generator/galene-password-generator.go     
2021-04-16 22:31:25.000000000 +0200
@@ -0,0 +1,71 @@
+package main
+
+import (
+       "crypto/rand"
+       "crypto/sha256"
+       "encoding/hex"
+       "encoding/json"
+       "flag"
+       "fmt"
+       "log"
+       "os"
+
+       "golang.org/x/crypto/pbkdf2"
+
+       "github.com/jech/galene/group"
+)
+
+func main() {
+       var iterations int
+       var length int
+       var saltLen int
+       var username string
+       flag.StringVar(&username, "user", "",
+               "generate entry for given `username`")
+       flag.IntVar(&iterations, "iterations", 4096, "`number` of iterations")
+       flag.IntVar(&length, "key", 32, "key `length`")
+       flag.IntVar(&saltLen, "salt", 8, "salt `length`")
+       flag.Parse()
+
+       if len(flag.Args()) == 0 {
+               fmt.Fprintf(
+                       flag.CommandLine.Output(),
+                       "Usage: %s [option...] password...\n",
+                       os.Args[0])
+               flag.PrintDefaults()
+               os.Exit(2)
+       }
+
+       salt := make([]byte, saltLen)
+
+       for _, pw := range flag.Args() {
+               _, err := rand.Read(salt)
+               if err != nil {
+                       log.Fatalf("Salt: %v", err)
+               }
+               key := pbkdf2.Key(
+                       []byte(pw), salt, iterations, length, sha256.New,
+               )
+
+               p := group.Password{
+                       Type:       "pbkdf2",
+                       Hash:       "sha-256",
+                       Key:        hex.EncodeToString(key),
+                       Salt:       hex.EncodeToString(salt),
+                       Iterations: iterations,
+               }
+               e := json.NewEncoder(os.Stdout)
+               if username != "" {
+                       creds := group.ClientCredentials{
+                               Username: username,
+                               Password: &p,
+                       }
+                       err = e.Encode(creds)
+               } else {
+                       err = e.Encode(p)
+               }
+               if err != nil {
+                       log.Fatalf("Encode: %v", err)
+               }
+       }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/galene-0.3.2/galene-password-generator/galene-password.generator.go 
new/galene-0.3.3/galene-password-generator/galene-password.generator.go
--- old/galene-0.3.2/galene-password-generator/galene-password.generator.go     
2021-03-03 00:05:33.000000000 +0100
+++ new/galene-0.3.3/galene-password-generator/galene-password.generator.go     
1970-01-01 01:00:00.000000000 +0100
@@ -1,71 +0,0 @@
-package main
-
-import (
-       "crypto/rand"
-       "crypto/sha256"
-       "encoding/hex"
-       "encoding/json"
-       "flag"
-       "fmt"
-       "log"
-       "os"
-
-       "golang.org/x/crypto/pbkdf2"
-
-       "github.com/jech/galene/group"
-)
-
-func main() {
-       var iterations int
-       var length int
-       var saltLen int
-       var username string
-       flag.StringVar(&username, "user", "",
-               "generate entry for given `username`")
-       flag.IntVar(&iterations, "iterations", 4096, "`number` of iterations")
-       flag.IntVar(&length, "key", 32, "key `length`")
-       flag.IntVar(&saltLen, "salt", 8, "salt `length`")
-       flag.Parse()
-
-       if len(flag.Args()) == 0 {
-               fmt.Fprintf(
-                       flag.CommandLine.Output(),
-                       "Usage: %s [option...] password...\n",
-                       os.Args[0])
-               flag.PrintDefaults()
-               os.Exit(2)
-       }
-
-       salt := make([]byte, saltLen)
-
-       for _, pw := range flag.Args() {
-               _, err := rand.Read(salt)
-               if err != nil {
-                       log.Fatalf("Salt: %v", err)
-               }
-               key := pbkdf2.Key(
-                       []byte(pw), salt, iterations, length, sha256.New,
-               )
-
-               p := group.Password{
-                       Type:       "pbkdf2",
-                       Hash:       "sha-256",
-                       Key:        hex.EncodeToString(key),
-                       Salt:       hex.EncodeToString(salt),
-                       Iterations: iterations,
-               }
-               e := json.NewEncoder(os.Stdout)
-               if username != "" {
-                       creds := group.ClientCredentials{
-                               Username: username,
-                               Password: &p,
-                       }
-                       err = e.Encode(creds)
-               } else {
-                       err = e.Encode(p)
-               }
-               if err != nil {
-                       log.Fatalf("Encode: %v", err)
-               }
-       }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.3.2/group/group.go 
new/galene-0.3.3/group/group.go
--- old/galene-0.3.2/group/group.go     2021-03-03 00:05:33.000000000 +0100
+++ new/galene-0.3.3/group/group.go     2021-04-16 22:31:25.000000000 +0200
@@ -151,7 +151,7 @@
        case "opus":
                return webrtc.RTPCodecCapability{
                        "audio/opus", 48000, 2,
-                       "minptime=10;useinbandfec=1",
+                       "minptime=10;useinbandfec=1;stereo=1;sprop-stereo=1",
                        nil,
                }, nil
        case "g722":
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.3.2/packetcache/packetcache.go 
new/galene-0.3.3/packetcache/packetcache.go
--- old/galene-0.3.2/packetcache/packetcache.go 2021-03-03 00:05:33.000000000 
+0100
+++ new/galene-0.3.3/packetcache/packetcache.go 2021-04-16 22:31:25.000000000 
+0200
@@ -412,7 +412,7 @@
        cache.mu.Lock()
        defer cache.mu.Unlock()
 
-       if int(index) > len(cache.entries) {
+       if int(index) >= len(cache.entries) {
                return 0
        }
        if cache.entries[index].seqno != seqno {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.3.2/rtpconn/webclient.go 
new/galene-0.3.3/rtpconn/webclient.go
--- old/galene-0.3.2/rtpconn/webclient.go       2021-03-03 00:05:33.000000000 
+0100
+++ new/galene-0.3.3/rtpconn/webclient.go       2021-04-16 22:31:25.000000000 
+0200
@@ -678,6 +678,9 @@
 }
 
 func (c *webClient) setRequested(requested map[string]uint32) error {
+       if c.group == nil {
+               return errors.New("attempted to request with no group joined")
+       }
        c.requested = requested
 
        pushConns(c, c.group)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.3.2/static/galene.css 
new/galene-0.3.3/static/galene.css
--- old/galene-0.3.2/static/galene.css  2021-03-03 00:05:33.000000000 +0100
+++ new/galene-0.3.3/static/galene.css  2021-04-16 22:31:25.000000000 +0200
@@ -966,7 +966,9 @@
 .sidenav-content {
     padding: 10px;
     background: #fff;
-    height: 100%;
+    height: calc(100% - 56px);
+    overflow-y: scroll;
+    overflow-x: hidden;
 }
 
 .sidenav-content h2 {
@@ -1120,12 +1122,10 @@
     height: 20px;
 }
 
-/* Shrinking the sidebar from 200px to 60px and center aligining its content*/
+/* Shrinking the sidebar from 200px to 0px */
 #left-sidebar.active {
-    min-width: 60px;
-    max-width: 60px;
-    text-align: center;
-    margin-left: -60px !important;
+    min-width: 0;
+    max-width: 0;
 }
 
 #left-sidebar .sidebar-header strong {
@@ -1265,10 +1265,8 @@
     }
 
     #left-sidebar {
-        min-width: 60px;
-        max-width: 60px;
-        text-align: center;
-        margin-left: -60px !important;
+        min-width: 0;
+        max-width: 0;
     }
 
     /* Reappearing the sidebar on toggle button click */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.3.2/static/galene.html 
new/galene-0.3.3/static/galene.html
--- old/galene-0.3.2/static/galene.html 2021-03-03 00:05:33.000000000 +0100
+++ new/galene-0.3.3/static/galene.html 2021-04-16 22:31:25.000000000 +0200
@@ -2,6 +2,7 @@
 <html lang="en">
   <head>
     <title>Gal??ne</title>
+    <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="ScreenOrientation" content="autoRotate:disabled">
     <link rel="stylesheet" type="text/css" href="/common.css"/>
@@ -98,7 +99,9 @@
             </div>
             <div id="resizer"></div>
             <div class="coln-right" id="right">
-              <span class="show-video blink" id="switch-video"><i class="fas 
fa-exchange" aria-hidden="true"></i></span>
+              <span class="show-video blink" id="switch-video">
+                <i class="fas fa-exchange-alt" aria-hidden="true"></i>
+              </span>
               <div class="collapse-video" id="collapse-video">
                   <i class="far fa-comment-alt open-chat" title="Open 
chat"></i>
                 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.3.2/static/galene.js 
new/galene-0.3.3/static/galene.js
--- old/galene-0.3.2/static/galene.js   2021-03-03 00:05:33.000000000 +0100
+++ new/galene-0.3.3/static/galene.js   2021-04-16 22:31:25.000000000 +0200
@@ -40,6 +40,12 @@
 let fallbackUserPass = null;
 
 
+/* max-device-width which is defined in css for mobile layout */
+/**
+ * @type {number}
+ */
+let mobileViewportWidth = 1024;
+
 /**
  * @param {string} username
  * @param {string} password
@@ -98,7 +104,7 @@
         window.sessionStorage.setItem('settings', JSON.stringify(settings));
         fallbackSettings = null;
     } catch(e) {
-        console.warn("Couldn't store password:", e);
+        console.warn("Couldn't store settings:", e);
         fallbackSettings = settings;
     }
 }
@@ -115,7 +121,7 @@
         let json = window.sessionStorage.getItem('settings');
         settings = JSON.parse(json);
     } catch(e) {
-        console.warn("Couldn't retrieve password:", e);
+        console.warn("Couldn't retrieve settings:", e);
         settings = fallbackSettings;
     }
     return settings || {};
@@ -257,7 +263,7 @@
     let width = window.innerWidth;
     let video_container = document.getElementById('video-container');
     video_container.classList.remove('no-video');
-    if (width <= 768)
+    if (width <= mobileViewportWidth)
         document.getElementById('collapse-video').style.display = "block";
 }
 
@@ -904,7 +910,7 @@
 }
 
 Filter.prototype.draw = function() {
-    // check framerate evecry 30 frames
+    // check framerate every 30 frames
     if((this.count % 30) === 0) {
         let frameRate = 0;
         this.inputStream.getTracks().forEach(t => {
@@ -2667,7 +2673,7 @@
       left.style.display = "block";
       this.style.display = "";
     }
-    if (width <= 768) {
+    if (width <= mobileViewportWidth) {
       // fixed div for small screen
       this.style.display = "";
       hideVideo(true);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.3.2/static/index.html 
new/galene-0.3.3/static/index.html
--- old/galene-0.3.2/static/index.html  2021-03-03 00:05:33.000000000 +0100
+++ new/galene-0.3.3/static/index.html  2021-04-16 22:31:25.000000000 +0200
@@ -31,7 +31,7 @@
       </div>
     </div>
     <footer class="signature">
-      <p><a href="https://galene.org/";>Gal??ne</a> by <a 
href="https://www.irif.fr/~jch/"; rel="author">Juliusz Chroboczek</a>
+      <p><a href="https://galene.org/";>Gal??ne</a> by <a 
href="https://www.irif.fr/~jch/"; rel="author">Juliusz Chroboczek</a></p>
     </footer>
     
     <script src="/mainpage.js" defer></script>

++++++ vendor.tar.gz ++++++

Reply via email to