diff --git a/.gitignore b/.gitignore index 76d929e..36ff81f 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ pinentry-0.8.0.tar.gz.sig /pinentry-1.1.0.tar.bz2.sig /pinentry-1.1.1.tar.bz2 /pinentry-1.1.1.tar.bz2.sig +/pinentry-1.2.0.tar.bz2 +/pinentry-1.2.0.tar.bz2.sig diff --git a/pinentry-1.1.1-coverity.patch b/pinentry-1.1.1-coverity.patch index 2a86075..dc28637 100644 --- a/pinentry-1.1.1-coverity.patch +++ b/pinentry-1.1.1-coverity.patch @@ -15,61 +15,6 @@ Date: Wed Apr 14 15:51:27 2021 +0900 GnuPG-bug-id: 5384 Signed-off-by: Jakub Jelen -diff --git a/pinentry/pinentry-curses.c b/pinentry/pinentry-curses.c -index a3fe2e2..1c3008a 100644 ---- a/pinentry/pinentry-curses.c -+++ b/pinentry/pinentry-curses.c -@@ -315,6 +315,7 @@ dialog_create (pinentry_t pinentry, dialog_t dialog) - } \ - dialog->which = pinentry_utf8_to_local (pinentry->lc_ctype, \ - new ? new : default); \ -+ free (new); \ - if (!dialog->which) \ - { \ - err = 1; \ -@@ -873,6 +874,9 @@ dialog_run (pinentry_t pinentry, const char *tty_name, const char *tty_type) - { - pinentry->specific_err = gpg_error_from_syserror (); - pinentry->specific_err_loc = "open_tty_for_read"; -+#ifdef HAVE_NCURSESW -+ free (old_ctype); -+#endif - return confirm_mode? 0 : -1; - } - ttyfo = fopen (tty_name, "w"); -@@ -883,6 +887,9 @@ dialog_run (pinentry_t pinentry, const char *tty_name, const char *tty_type) - errno = err; - pinentry->specific_err = gpg_error_from_syserror (); - pinentry->specific_err_loc = "open_tty_for_write"; -+#ifdef HAVE_NCURSESW -+ free (old_ctype); -+#endif - return confirm_mode? 0 : -1; - } - screen = newterm (tty_type, ttyfo, ttyfi); -@@ -897,6 +904,9 @@ dialog_run (pinentry_t pinentry, const char *tty_name, const char *tty_type) - errno = ENOTTY; - pinentry->specific_err = gpg_error_from_syserror (); - pinentry->specific_err_loc = "isatty"; -+#ifdef HAVE_NCURSESW -+ free (old_ctype); -+#endif - return confirm_mode? 0 : -1; - } - init_screen = 1; -diff --git a/pinentry/pinentry-emacs.c b/pinentry/pinentry-emacs.c -index 16ae1c2..9685b67 100644 ---- a/pinentry/pinentry-emacs.c -+++ b/pinentry/pinentry-emacs.c -@@ -498,7 +498,7 @@ set_labels (pinentry_t pe) - set_label (pe, "SETOK", pe->default_ok); - if (pe->cancel) - set_label (pe, "SETCANCEL", pe->cancel); -- else if (pe->default_ok) -+ else if (pe->default_cancel) - set_label (pe, "SETCANCEL", pe->default_cancel); - if (pe->notok) - set_label (pe, "SETNOTOK", pe->notok); diff --git a/pinentry/pinentry.c b/pinentry/pinentry.c index ef81f12..26ec77a 100644 --- a/pinentry/pinentry.c @@ -82,113 +27,3 @@ index ef81f12..26ec77a 100644 return 0; } } -diff --git a/tty/pinentry-tty.c b/tty/pinentry-tty.c -index 403dd60..4a2b67f 100644 ---- a/tty/pinentry-tty.c -+++ b/tty/pinentry-tty.c -@@ -559,7 +559,7 @@ tty_cmd_handler (pinentry_t pinentry) - } - } - -- if (terminal_save (fileno (ttyfi)) < 0) -+ if (!rc && terminal_save (fileno (ttyfi)) < 0) - rc = -1; - - if (! rc) - -From 7f7fd8bcfd74919091cc318b27b8617a9ef2ac82 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka -Date: Fri, 16 Apr 2021 12:54:43 +0900 -Subject: [PATCH] tty: Fix error return paths and its resource leaks. - -* tty/pinentry-tty.c (tty_cmd_handler): Only call do_touch_file -on successful interaction. Fix closing file. - --- - -GnuPG-bug-id: 5384 -Co-authored-by: Jakub Jelen -Signed-off-by: NIIBE Yutaka ---- - tty/pinentry-tty.c | 34 +++++++++++++++++----------------- - 1 file changed, 17 insertions(+), 17 deletions(-) - -diff --git a/tty/pinentry-tty.c b/tty/pinentry-tty.c -index 4a2b67f..c4d85c6 100644 ---- a/tty/pinentry-tty.c -+++ b/tty/pinentry-tty.c -@@ -525,6 +525,7 @@ tty_cmd_handler (pinentry_t pinentry) - int rc = 0; - FILE *ttyfi = stdin; - FILE *ttyfo = stdout; -+ int saved_errno = 0; - - #ifndef HAVE_DOSISH_SYSTEM - timed_out = 0; -@@ -545,30 +546,27 @@ tty_cmd_handler (pinentry_t pinentry) - { - ttyfi = fopen (pinentry->ttyname, "r"); - if (!ttyfi) -- rc = -1; -- else -+ return -1; -+ -+ ttyfo = fopen (pinentry->ttyname, "w"); -+ if (!ttyfo) - { -- ttyfo = fopen (pinentry->ttyname, "w"); -- if (!ttyfo) -- { -- int err = errno; -- fclose (ttyfi); -- errno = err; -- rc = -1; -- } -+ saved_errno = errno; -+ fclose (ttyfi); -+ errno = saved_errno; -+ return -1; - } - } - -- if (!rc && terminal_save (fileno (ttyfi)) < 0) -+ if (terminal_save (fileno (ttyfi)) < 0) - rc = -1; -- -- if (! rc) -+ else - { - if (terminal_setup (fileno (ttyfi), !!pinentry->pin) == -1) - { -- int err = errno; -+ saved_errno = errno; - fprintf (stderr, "terminal_setup failure, exiting\n"); -- errno = err; -+ rc = -1; - } - else - { -@@ -578,17 +576,19 @@ tty_cmd_handler (pinentry_t pinentry) - rc = confirm (pinentry, ttyfi, ttyfo); - - terminal_restore (fileno (ttyfi)); -+ do_touch_file (pinentry); - } - } - -- do_touch_file (pinentry); -- - if (pinentry->ttyname) - { - fclose (ttyfi); - fclose (ttyfo); - } - -+ if (saved_errno) -+ errno = saved_errno; -+ - return rc; - } - --- -2.30.2 diff --git a/pinentry-1.1.1-rpath.patch b/pinentry-1.1.1-rpath.patch deleted file mode 100644 index b21300e..0000000 --- a/pinentry-1.1.1-rpath.patch +++ /dev/null @@ -1,41 +0,0 @@ -commit 6e8ad3150566d16a20cb3b54267191bcb0c14208 -Author: Damien Goutte-Gattat -Date: Tue Feb 23 22:05:37 2021 +0000 - - qt: Honor the --disable-rpath option. - - * m4/qt.m4: Do not set rpath if --disable-rpath has been specified - at configure time. - -- - - GnuPG-bug-id: 5307 - Signed-off-by: Damien Goutte-Gattat - -diff --git a/m4/qt.m4 b/m4/qt.m4 -index f8ef3f6..5f9de3f 100644 ---- a/m4/qt.m4 -+++ b/m4/qt.m4 -@@ -59,7 +59,9 @@ AC_DEFUN([FIND_QT], - - qtlibdir=`"$PKG_CONFIG" --variable libdir Qt5Core` - if test -n "$qtlibdir"; then -+ if test "$enable_rpath" != "no"; then - PINENTRY_QT_LDFLAGS="$PINENTRY_QT_LDFLAGS -Wl,-rpath \"$qtlibdir\"" -+ fi - fi - - AC_CHECK_TOOL(MOC, moc) - -diff -up pinentry-1.1.1/configure.rpath pinentry-1.1.1/configure ---- pinentry-1.1.1/configure.rpath 2021-04-16 09:08:48.306479991 +0200 -+++ pinentry-1.1.1/configure 2021-04-16 09:09:29.365068549 +0200 -@@ -10765,7 +10776,9 @@ fi - - qtlibdir=`"$PKG_CONFIG" --variable libdir Qt5Core` - if test -n "$qtlibdir"; then -+ if test "$enable_rpath" != "no"; then - PINENTRY_QT_LDFLAGS="$PINENTRY_QT_LDFLAGS -Wl,-rpath \"$qtlibdir\"" -+ fi - fi - - if test -n "$ac_tool_prefix"; then diff --git a/pinentry.spec b/pinentry.spec index c0e2b8f..3c2288d 100644 --- a/pinentry.spec +++ b/pinentry.spec @@ -1,7 +1,7 @@ Name: pinentry -Version: 1.1.1 -Release: 8%{?dist} +Version: 1.2.0 +Release: 1%{?dist} Summary: Collection of simple PIN or passphrase entry dialogs License: GPLv2+ @@ -10,7 +10,6 @@ Source0: https://gnupg.org/ftp/gcrypt/pinentry/%{name}-%{version}.tar.bz2 Source1: https://gnupg.org/ftp/gcrypt/pinentry/%{name}-%{version}.tar.bz2.sig Patch1: pinentry-1.1.1-coverity.patch -Patch2: pinentry-1.1.1-rpath.patch # borrowed from opensuse Source10: pinentry-wrapper @@ -90,7 +89,6 @@ This package contains the tty version of the PIN entry dialog. %prep %setup -q %patch1 -p1 -b .coverity -%patch2 -p1 -b .rpath %build @@ -148,6 +146,9 @@ rm -fv $RPM_BUILD_ROOT%{_infodir}/dir %{_bindir}/pinentry-tty %changelog +* Thu Aug 26 2021 Jakub Jelen - 1.2.0-1 +- New upstream release (#1997584) + * Fri Jul 23 2021 Fedora Release Engineering - 1.1.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/sources b/sources index f7b3987..01b46fd 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (pinentry-1.1.1.tar.bz2) = d6ab5af8ac2f3c9c05e09703e95d8e2676f9b2b7ceb97f6a31d101d0e9da7a1e106a6d3eabe86cab1bb35a4b119a7cba1380ac64bf13c61af0b3c48803116c12 -SHA512 (pinentry-1.1.1.tar.bz2.sig) = 2d56c0e8e2cf8471ed7431bfbc077020030c44b068de5ae5f3f62384986251aa7ea41674931aa0fc690c6ace9a359b7c3b5f10a7a813a2f34c41c491caba4487 +SHA512 (pinentry-1.2.0.tar.bz2) = 19cea79aa3982d1f0d75220c8e24ca38d6c49475c6f4c5aa7101151b4690db23ed316096a4a411136e716ba4eb471f48f9b09556e5c9837533c2356b9b384b63 +SHA512 (pinentry-1.2.0.tar.bz2.sig) = ea06d1e2b0af7865537ce2b0eaa25de1030e992ee38849d08cb52d07a91dfe3933fcf38e7ba092e37a97c01ce2083f4e83d766bfb72b906beb5a001bab22cfa7