Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package yast2-ruby-bindings for 
openSUSE:Factory checked in at 2021-03-30 20:50:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-ruby-bindings (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-ruby-bindings"

Tue Mar 30 20:50:53 2021 rev:109 rq:879843 version:4.3.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-ruby-bindings/yast2-ruby-bindings.changes  
2021-03-08 15:17:36.781954324 +0100
+++ 
/work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new.2401/yast2-ruby-bindings.changes
        2021-03-30 20:50:55.616084540 +0200
@@ -1,0 +2,8 @@
+Wed Mar 17 13:55:01 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz>
+
+- Fixed password encrypting functions to work correctly also
+  in older products (SLE15-SP2/Leap 15.2 and older)
+  (related to bsc#1176924)
+- 4.3.14
+
+-------------------------------------------------------------------

Old:
----
  yast2-ruby-bindings-4.3.13.tar.bz2

New:
----
  yast2-ruby-bindings-4.3.14.tar.bz2

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

Other differences:
------------------
++++++ yast2-ruby-bindings.spec ++++++
--- /var/tmp/diff_new_pack.g0ifzk/_old  2021-03-30 20:50:56.216085213 +0200
+++ /var/tmp/diff_new_pack.g0ifzk/_new  2021-03-30 20:50:56.216085213 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-ruby-bindings
-Version:        4.3.13
+Version:        4.3.14
 Release:        0
 URL:            https://github.com/yast/yast-ruby-bindings
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-ruby-bindings-4.3.13.tar.bz2 -> yast2-ruby-bindings-4.3.14.tar.bz2 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-ruby-bindings-4.3.13/.github/workflows/ci.yml 
new/yast2-ruby-bindings-4.3.14/.github/workflows/ci.yml
--- old/yast2-ruby-bindings-4.3.13/.github/workflows/ci.yml     2021-03-05 
08:15:50.000000000 +0100
+++ new/yast2-ruby-bindings-4.3.14/.github/workflows/ci.yml     2021-03-18 
09:31:50.000000000 +0100
@@ -13,7 +13,7 @@
     steps:
 
     - name: Git Checkout
-      uses: actions/checkout@v1
+      uses: actions/checkout@v2
 
     - name: Install Dependencies
       run: |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ruby-bindings-4.3.13/package/yast2-ruby-bindings.changes 
new/yast2-ruby-bindings-4.3.14/package/yast2-ruby-bindings.changes
--- old/yast2-ruby-bindings-4.3.13/package/yast2-ruby-bindings.changes  
2021-03-05 08:15:50.000000000 +0100
+++ new/yast2-ruby-bindings-4.3.14/package/yast2-ruby-bindings.changes  
2021-03-18 09:31:50.000000000 +0100
@@ -1,4 +1,12 @@
 -------------------------------------------------------------------
+Wed Mar 17 13:55:01 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz>
+
+- Fixed password encrypting functions to work correctly also
+  in older products (SLE15-SP2/Leap 15.2 and older)
+  (related to bsc#1176924)
+- 4.3.14
+
+-------------------------------------------------------------------
 Thu Mar  4 14:44:36 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz>
 
 - Change the special keybard shortcut to start a graphical
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ruby-bindings-4.3.13/package/yast2-ruby-bindings.spec 
new/yast2-ruby-bindings-4.3.14/package/yast2-ruby-bindings.spec
--- old/yast2-ruby-bindings-4.3.13/package/yast2-ruby-bindings.spec     
2021-03-05 08:15:50.000000000 +0100
+++ new/yast2-ruby-bindings-4.3.14/package/yast2-ruby-bindings.spec     
2021-03-18 09:31:50.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-ruby-bindings
-Version:        4.3.13
+Version:        4.3.14
 Release:        0
 URL:            https://github.com/yast/yast-ruby-bindings
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-ruby-bindings-4.3.13/src/binary/Builtin.cc 
new/yast2-ruby-bindings-4.3.14/src/binary/Builtin.cc
--- old/yast2-ruby-bindings-4.3.13/src/binary/Builtin.cc        2021-03-05 
08:15:50.000000000 +0100
+++ new/yast2-ruby-bindings-4.3.14/src/binary/Builtin.cc        2021-03-18 
09:31:50.000000000 +0100
@@ -222,16 +222,39 @@
   make_crypt_salt (const char* crypt_prefix, int crypt_rounds)
   {
     // use gensalt own auto entropy
-    const char *entropy = NULL;
-    const size_t entropy_len = 0;
+    char* retval = crypt_gensalt_ra (crypt_prefix, crypt_rounds, NULL, 0);
 
-    char* retval = crypt_gensalt_ra (crypt_prefix, crypt_rounds, entropy, 
entropy_len);
-
-    if (!retval)
+    // auto entropy might not be supported in some older systems (15.2 and 
older),
+    // if we get the EINVAL "Invalid argument" error then read some entropy 
from
+    // /dev/urandom and try again
+    if (!retval && errno == EINVAL)
     {
-      y2error ("Unable to generate a salt, check your crypt settings.\n");
+      const char* device = "/dev/urandom";
+
+      int fd = open (device, O_RDONLY);
+      if (fd < 0)
+      {
+        y2error ("Can't open %s for reading: %s\n", device, strerror (errno));
+        return 0;
+      }
+
+      char entropy[16];
+      const size_t entropy_len = sizeof(entropy);
+      int read_size = read_loop (fd, entropy, entropy_len);
+      close (fd);
+
+      if (read_size != entropy_len)
+      {
+        y2error ("Unable to obtain entropy from %s\n", device);
+        return 0;
+      }
+
+      retval = crypt_gensalt_ra (crypt_prefix, crypt_rounds, entropy, 
entropy_len);
     }
 
+    if (!retval)
+      y2error ("Unable to generate a salt, check your crypt settings: %s.\n", 
strerror(errno));
+
     return retval;
   }
 

Reply via email to