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 - arvidjaar@gmail.com + +- 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
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