Hello community,

here is the log from the commit of package grub2 for openSUSE:Factory checked 
in at 2015-11-24 22:30:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grub2 (Old)
 and      /work/SRC/openSUSE:Factory/.grub2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "grub2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/grub2/grub2.changes      2015-11-04 
15:31:41.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2015-11-24 
22:30:33.000000000 +0100
@@ -1,0 +2,7 @@
+Wed Nov 18 19:33:42 UTC 2015 - [email protected]
+
+- Add 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch
+  Fix reading password by grub2-mkpasswd-pbdk2 without controlling
+  tty, e.g. when called from Xfce menu (boo#954519)
+
+-------------------------------------------------------------------

New:
----
  0001-unix-do-not-close-stdin-in-grub_passwd_get.patch

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

Other differences:
------------------
++++++ grub2.spec ++++++
--- /var/tmp/diff_new_pack.89HWLZ/_old  2015-11-24 22:30:35.000000000 +0100
+++ /var/tmp/diff_new_pack.89HWLZ/_new  2015-11-24 22:30:35.000000000 +0100
@@ -260,6 +260,8 @@
 Patch262:       0003-util-grub-mount-fix-descriptor-leak.patch
 Patch263:       0004-linux-ofpath-fix-descriptor-leak.patch
 Patch264:       0005-grub-fstest-fix-descriptor-leak.patch
+# Upstream patch to fix patch 0001-unix-password-Fix-file-descriptor-leak.patch
+Patch265:       0001-unix-do-not-close-stdin-in-grub_passwd_get.patch
 
 Requires:       gettext-runtime
 %if 0%{?suse_version} >= 1140
@@ -530,6 +532,7 @@
 %patch262 -p1
 %patch263 -p1
 %patch264 -p1
+%patch265 -p1
 
 # Generate po/LINGUAS for message catalogs ...
 ./linguas.sh

++++++ 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch ++++++
>From 6a46cbcc5c1c746562fd7181bf0f2337db065201 Mon Sep 17 00:00:00 2001
From: Andrei Borzenkov <[email protected]>
Date: Wed, 18 Nov 2015 22:23:58 +0300
Subject: [PATCH] unix: do not close stdin in grub_passwd_get

This makes it impossible to read from stdin without controlling tty:

10:/mnt # echo -e passwd\\npasswd | setsid ./grub-mkpasswd-pbkdf2
Enter password:
Reenter password: ./grub-mkpasswd-pbkdf2: error: failure to read password.
10:/mnt
---
 grub-core/osdep/unix/password.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/grub-core/osdep/unix/password.c b/grub-core/osdep/unix/password.c
index 4b9507b..9996b24 100644
--- a/grub-core/osdep/unix/password.c
+++ b/grub-core/osdep/unix/password.c
@@ -54,7 +54,8 @@ grub_password_get (char buf[], unsigned buf_size)
   grub_memset (buf, 0, buf_size);
   if (!fgets (buf, buf_size, stdin))
     {
-      fclose (in);
+      if (in != stdin)
+       fclose (in);
       return 0;
     }
   ptr = buf + strlen (buf) - 1;
@@ -67,7 +68,8 @@ grub_password_get (char buf[], unsigned buf_size)
   grub_xputs ("\n");
   grub_refresh ();
 
-  fclose (in);
+  if (in != stdin)
+    fclose (in);
 
   return 1;
 }
-- 
1.9.1


Reply via email to