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; }