Hello community,

here is the log from the commit of package pinentry for openSUSE:Factory 
checked in at 2015-12-18 21:52:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pinentry (Old)
 and      /work/SRC/openSUSE:Factory/.pinentry.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pinentry"

Changes:
--------
--- /work/SRC/openSUSE:Factory/pinentry/pinentry.changes        2015-10-28 
17:17:33.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.pinentry.new/pinentry.changes   2015-12-18 
21:52:14.000000000 +0100
@@ -1,0 +2,10 @@
+Mon Dec 14 19:50:38 UTC 2015 - andr...@suse.de
+
+- pinentry 0.9.7:
+ * Fix regressions in the Qt pinentry.
+   (previsouly patched, removed 
+   pinentry-qt4-fix-qstring-conversion.patch)
+ * Fix minor problems pinnetyr-tty.
+ * New option --invisible-char.
+
+-------------------------------------------------------------------

Old:
----
  pinentry-0.9.6.tar.bz2
  pinentry-0.9.6.tar.bz2.sig
  pinentry-qt4-fix-qstring-conversion.patch

New:
----
  pinentry-0.9.7.tar.bz2
  pinentry-0.9.7.tar.bz2.sig

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

Other differences:
------------------
++++++ pinentry.spec ++++++
--- /var/tmp/diff_new_pack.WG61qB/_old  2015-12-18 21:52:15.000000000 +0100
+++ /var/tmp/diff_new_pack.WG61qB/_new  2015-12-18 21:52:15.000000000 +0100
@@ -21,7 +21,7 @@
 %define ncurses %(xxx="`readlink -f %{_includedir}/ncurses.h`"; echo $xxx)
 %define nmajor  %(grep NCURSES_VERSION_MAJOR < %{_includedir}/ncurses.h)
 Name:           pinentry
-Version:        0.9.6
+Version:        0.9.7
 Release:        0
 Summary:        Collection of Simple PIN or Passphrase Entry Dialogs
 License:        GPL-2.0+
@@ -34,7 +34,6 @@
 Patch1:         pinentry-0.7.2-gtk+-2.4.diff
 # PATCH-FIX-SUSE make it build with ncurses ABI 6
 Patch7:         pinentry-ncurses6.diff
-Patch8:         pinentry-qt4-fix-qstring-conversion.patch
 BuildRequires:  libassuan-devel >= 2.1.0
 BuildRequires:  libgpg-error-devel >= 1.16
 BuildRequires:  libqt4-devel
@@ -107,7 +106,6 @@
 %setup -q
 %patch1 -p1
 %patch7
-%patch8 -p1
 
 %build
 # Regenerate moc's

++++++ pinentry-0.9.6.tar.bz2 -> pinentry-0.9.7.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/ChangeLog new/pinentry-0.9.7/ChangeLog
--- old/pinentry-0.9.6/ChangeLog        2015-09-10 20:33:10.000000000 +0200
+++ new/pinentry-0.9.7/ChangeLog        2015-12-07 10:36:13.000000000 +0100
@@ -1,3 +1,53 @@
+2015-12-07  Werner Koch  <w...@gnupg.org>
+
+       Release 0.9.7.
+
+2015-12-01  Werner Koch  <w...@gnupg.org>
+
+       Remove unused code.
+       * secmem/util.c (lower_privs, raise_privs): Remove commented
+       functions.
+
+2015-11-27  Neal H. Walfield  <n...@gnu.org>
+
+       tty: Fix formatting.
+       * tty/pinentry-tty.c (password): Remove trailing space.
+
+2015-11-18  Neal H. Walfield  <n...@gnu.org>
+
+       tty: Flush output.  Show an error if an invalid option is selected.
+       * tty/pinentry-tty.c (confirm): Flush the output after printing the
+       prompt.  Echo what the user typed.  If the user's selection is
+       invalid, indicate as much.
+
+2015-10-22  Dirk Mueller  <d...@dmllr.de>
+
+       Qt: Do not use temporary reference to utf8 pin.
+       * qt/main.cpp (qt_cmd_handler): Keep utf8 pin byte array.
+
+2015-10-02  Andre Heinecke  <aheine...@intevation.de>
+
+       Qt: Fix assignment of have_qt5_libs variable.
+       * m4/qt.m4 (FIND_QT): Remove spaces in variable assignment.
+
+       Qt: Fix quoting of have_qt5_libs init in FIND_QT.
+       * m4/qt.m4 (FIND_QT): Quote initialization of have_qt5_libs var.
+
+2015-09-25  Andre Heinecke  <aheine...@intevation.de>
+
+       Add option to disable looking for qt5.
+       * m4/qt.m4 (FIND_QT): Add --disable-pinentry-qt5 option to
+       disable qt5 support even if it is available.
+
+2015-09-16  Werner Koch  <w...@gnupg.org>
+
+       Add option "invisible-char".
+       * pinentry/pinentry.h (struct pinentry): Add field invisible_char.
+       * pinentry/pinentry.c (pinentry_reset): Restore that.
+       (option_handler): Add option "invisible-char".
+       * gtk+-2/pinentry-gtk-2.c (create_window): Set the invisible char if
+       given.
+
 2015-09-10  Werner Koch  <w...@gnupg.org>
 
        Release 0.9.6.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/NEWS new/pinentry-0.9.7/NEWS
--- old/pinentry-0.9.6/NEWS     2015-09-10 20:30:37.000000000 +0200
+++ new/pinentry-0.9.7/NEWS     2015-12-07 10:32:54.000000000 +0100
@@ -1,3 +1,13 @@
+Noteworthy changes in version 0.9.7 (2015-12-07)
+------------------------------------------------
+
+ * Fix regressions in the Qt pinentry.
+
+ * Fix minor problems pinnetyr-tty.
+
+ * New option --invisible-char.
+
+
 Noteworthy changes in version 0.9.6 (2015-09-10)
 ------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/VERSION new/pinentry-0.9.7/VERSION
--- old/pinentry-0.9.6/VERSION  2015-09-10 20:33:10.000000000 +0200
+++ new/pinentry-0.9.7/VERSION  2015-12-07 10:36:13.000000000 +0100
@@ -1 +1 @@
-0.9.6
+0.9.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/configure new/pinentry-0.9.7/configure
--- old/pinentry-0.9.6/configure        2015-09-10 20:32:24.000000000 +0200
+++ new/pinentry-0.9.7/configure        2015-12-07 10:34:42.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for pinentry 0.9.6.
+# Generated by GNU Autoconf 2.69 for pinentry 0.9.7.
 #
 # Report bugs to <http://bugs.gnupg.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='pinentry'
 PACKAGE_TARNAME='pinentry'
-PACKAGE_VERSION='0.9.6'
-PACKAGE_STRING='pinentry 0.9.6'
+PACKAGE_VERSION='0.9.7'
+PACKAGE_STRING='pinentry 0.9.7'
 PACKAGE_BUGREPORT='http://bugs.gnupg.org'
 PACKAGE_URL=''
 
@@ -817,6 +817,7 @@
 enable_pinentry_gnome3
 enable_libsecret
 enable_pinentry_qt
+enable_pinentry_qt5
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1375,7 +1376,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures pinentry 0.9.6 to adapt to many kinds of systems.
+\`configure' configures pinentry 0.9.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1445,7 +1446,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of pinentry 0.9.6:";;
+     short | recursive ) echo "Configuration of pinentry 0.9.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1476,6 +1477,7 @@
                           build GNOME 3 pinentry
   --enable-libsecret      optionally cache passphrases using libsecret
   --enable-pinentry-qt    build qt pinentry
+  --disable-pinentry-qt5  Don't use qt5 even if it is available.
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1584,7 +1586,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-pinentry configure 0.9.6
+pinentry configure 0.9.7
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2045,7 +2047,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by pinentry $as_me 0.9.6, which was
+It was created by pinentry $as_me 0.9.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2912,7 +2914,7 @@
 
 # Define the identity of the package.
  PACKAGE='pinentry'
- VERSION='0.9.6'
+ VERSION='0.9.7'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -9682,6 +9684,17 @@
 
 if test "$pinentry_qt" != "no"; then
 
+  # Check whether --enable-pinentry-qt5 was given.
+if test "${enable_pinentry_qt5+set}" = set; then :
+  enableval=$enable_pinentry_qt5; enable_pinentry_qt5=$enableval
+else
+  enable_pinentry_qt5="try"
+fi
+
+
+  have_qt5_libs="no";
+
+  if test "$enable_pinentry_qt5" != "no"; then
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt5Core >= 5.0.0 Qt5Gui 
>= 5.0.0 Qt5Widgets >= 5.0.0" >&5
@@ -9754,10 +9767,10 @@
        have_qt5_libs="yes"
 fi
 
-  if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q 
"reduce_relocations"; then
-    PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -fpic"
+    if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q 
"reduce_relocations"; then
+      PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -fpic"
+    fi
   fi
-
   if test "$have_qt5_libs" = "yes"; then
     if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}moc", so it can be a program 
name with args.
@@ -11099,7 +11112,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by pinentry $as_me 0.9.6, which was
+This file was extended by pinentry $as_me 0.9.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -11165,7 +11178,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-pinentry config.status 0.9.6
+pinentry config.status 0.9.7
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -12039,7 +12052,7 @@
 
        Pinentry v${VERSION} has been configured as follows:
 
-       Revision:  192ee8a  (6446)
+       Revision:  97b6ea5  (38838)
        Platform:  $host
 
        Curses Pinentry ..: $pinentry_curses
@@ -12061,7 +12074,7 @@
 
        Pinentry v${VERSION} has been configured as follows:
 
-       Revision:  192ee8a  (6446)
+       Revision:  97b6ea5  (38838)
        Platform:  $host
 
        Curses Pinentry ..: $pinentry_curses
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/configure.ac 
new/pinentry-0.9.7/configure.ac
--- old/pinentry-0.9.6/configure.ac     2015-09-10 20:21:54.000000000 +0200
+++ new/pinentry-0.9.7/configure.ac     2015-09-16 19:08:29.000000000 +0200
@@ -26,7 +26,7 @@
 # (git tag -s pinentry-n.m.k) and run "./autogen.sh --force".  Please
 # bump the version number immediately after the release, do another
 # commit, and a push so that the git magic is able to work.
-m4_define(mym4_version, [0.9.6])
+m4_define(mym4_version, [0.9.7])
 
 # Below is m4 magic to extract and compute the git revision number,
 # the decimalized short revision number, a beta version string and a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/doc/HACKING 
new/pinentry-0.9.7/doc/HACKING
--- old/pinentry-0.9.6/doc/HACKING      2013-03-21 09:43:50.000000000 +0100
+++ new/pinentry-0.9.7/doc/HACKING      2015-12-01 13:00:32.000000000 +0100
@@ -21,3 +21,18 @@
   in a "real" ChangeLog file, but keep the maximum line length at 72
   or smaller, so that the generated ChangeLog lines, each with its
   leading TAB, will not exceed 80 columns.
+
+  For more infomration please check the HACHING file from the GnuPG
+  project.
+
+* String translation
+
+  Pinentry does not not require any translation files because it
+  expects that all strings are provided localized by the caller.  This
+  is due to the design constraint to keep the tool simple and also to
+  make sure that translations match those of GnuPG.
+
+  The available translated strings can be found in GnuPG, file
+  agent/call-pinentry, function start_pinentry.  If a string is not
+  available the Pinentry code uses a default as a fallback.  However,
+  it is highly suggested to provide Pinentry with translated strings.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/doc/pinentry.info 
new/pinentry-0.9.7/doc/pinentry.info
--- old/pinentry-0.9.6/doc/pinentry.info        2015-09-10 20:33:10.000000000 
+0200
+++ new/pinentry-0.9.7/doc/pinentry.info        2015-12-07 10:36:13.000000000 
+0100
@@ -8,8 +8,8 @@
 
 This file documents the use and the internals of the PINENTRY.
 
-   This is edition 0.9.6, last updated 10 September 2015, of 'The
-'PINEntry' Manual', for version 0.9.6.
+   This is edition 0.9.7, last updated 16 September 2015, of 'The
+'PINEntry' Manual', for version 0.9.7.
 
    Published by g10 Code GmbH
 H�ttenstr.  61
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/doc/stamp-vti 
new/pinentry-0.9.7/doc/stamp-vti
--- old/pinentry-0.9.6/doc/stamp-vti    2015-09-10 20:33:09.000000000 +0200
+++ new/pinentry-0.9.7/doc/stamp-vti    2015-12-07 10:36:06.000000000 +0100
@@ -1,4 +1,4 @@
-@set UPDATED 10 September 2015
+@set UPDATED 16 September 2015
 @set UPDATED-MONTH September 2015
-@set EDITION 0.9.6
-@set VERSION 0.9.6
+@set EDITION 0.9.7
+@set VERSION 0.9.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/doc/version.texi 
new/pinentry-0.9.7/doc/version.texi
--- old/pinentry-0.9.6/doc/version.texi 2015-09-10 20:33:09.000000000 +0200
+++ new/pinentry-0.9.7/doc/version.texi 2015-12-07 10:36:06.000000000 +0100
@@ -1,4 +1,4 @@
-@set UPDATED 10 September 2015
+@set UPDATED 16 September 2015
 @set UPDATED-MONTH September 2015
-@set EDITION 0.9.6
-@set VERSION 0.9.6
+@set EDITION 0.9.7
+@set VERSION 0.9.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/gtk+-2/pinentry-gtk-2.c 
new/pinentry-0.9.7/gtk+-2/pinentry-gtk-2.c
--- old/pinentry-0.9.6/gtk+-2/pinentry-gtk-2.c  2015-09-10 20:21:54.000000000 
+0200
+++ new/pinentry-0.9.7/gtk+-2/pinentry-gtk-2.c  2015-09-16 20:38:05.000000000 
+0200
@@ -1,7 +1,7 @@
 /* pinentry-gtk-2.c
    Copyright (C) 1999 Robert Bihlmeyer <ro...@orcus.priv.at>
    Copyright (C) 2001, 2002, 2007, 2015 g10 Code GmbH
-   Copyright (C) 2004 by Albrecht Dre� <albrecht.dr...@arcor.de>
+   Copyright (C) 2004 by Albrecht Dreß <albrecht.dr...@arcor.de>
 
    pinentry-gtk-2 is a pinentry application for the Gtk+-2 widget set.
    It tries to follow the Gnome Human Interface Guide as close as
@@ -498,6 +498,20 @@
 
       entry = gtk_entry_new ();
       gtk_entry_set_visibility (GTK_ENTRY (entry), FALSE);
+      /* Allow the user to set a narrower invisible character than the
+         large dot currently used by GTK.  Examples are "•★Ⓐ" */
+      if (pinentry->invisible_char)
+        {
+          gunichar *uch;
+          /*""*/
+          uch = g_utf8_to_ucs4 (pinentry->invisible_char, -1, NULL, NULL, 
NULL);
+          if (uch)
+            {
+              gtk_entry_set_invisible_char (GTK_ENTRY (entry), *uch);
+              g_free (uch);
+            }
+        }
+
       gtk_widget_set_size_request (entry, 200, -1);
       g_signal_connect (G_OBJECT (entry), "changed",
                         G_CALLBACK (changed_text_handler), entry);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/m4/qt.m4 new/pinentry-0.9.7/m4/qt.m4
--- old/pinentry-0.9.6/m4/qt.m4 2015-09-10 20:21:54.000000000 +0200
+++ new/pinentry-0.9.7/m4/qt.m4 2015-10-12 15:35:14.000000000 +0200
@@ -28,15 +28,24 @@
 
 AC_DEFUN([FIND_QT],
 [
-  PKG_CHECK_MODULES(PINENTRY_QT,
-                    Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0,
-                    [have_qt5_libs="yes"],
-                    [have_qt5_libs="no"])
+  AC_ARG_ENABLE(pinentry-qt5,
+                AC_HELP_STRING([--disable-pinentry-qt5],
+                           [Don't use qt5 even if it is available.]),
+                enable_pinentry_qt5=$enableval,
+                enable_pinentry_qt5="try")
 
-  if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q 
"reduce_relocations"; then
-    PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -fpic"
-  fi
+  have_qt5_libs="no";
+
+  if test "$enable_pinentry_qt5" != "no"; then
+    PKG_CHECK_MODULES(PINENTRY_QT,
+                      Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0,
+                      [have_qt5_libs="yes"],
+                      [have_qt5_libs="no"])
 
+    if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q 
"reduce_relocations"; then
+      PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -fpic"
+    fi
+  fi
   if test "$have_qt5_libs" = "yes"; then
     AC_CHECK_TOOL(MOC, moc)
     AC_MSG_CHECKING([moc version])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/pinentry/pinentry.c 
new/pinentry-0.9.7/pinentry/pinentry.c
--- old/pinentry-0.9.6/pinentry/pinentry.c      2015-09-10 20:21:54.000000000 
+0200
+++ new/pinentry-0.9.7/pinentry/pinentry.c      2015-09-16 20:47:52.000000000 
+0200
@@ -95,6 +95,9 @@
 
   int timout = pinentry.timeout;
 
+  char *invisible_char = pinentry.invisible_char;
+
+
   /* Free any allocated memory.  */
   if (use_defaults)
     {
@@ -127,6 +130,11 @@
   /* Reset the pinentry structure.  */
   memset (&pinentry, 0, sizeof (pinentry));
 
+  /* Restore options without a default we want to preserve.  */
+  pinentry.invisible_char = invisible_char;
+
+  /* Restore other options or set defaults.  */
+
   if (use_defaults)
     {
       /* Pinentry timeout in seconds.  */
@@ -878,6 +886,14 @@
       return gpg_error (GPG_ERR_NOT_SUPPORTED);
 #endif
     }
+  else if (!strcmp (key, "invisible-char"))
+    {
+      if (pinentry.invisible_char)
+        free (pinentry.invisible_char);
+      pinentry.invisible_char = strdup (value);
+      if (!pinentry.invisible_char)
+       return gpg_error_from_syserror ();
+    }
   else
     return gpg_error (GPG_ERR_UNKNOWN_OPTION);
   return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/pinentry/pinentry.h 
new/pinentry-0.9.7/pinentry/pinentry.h
--- old/pinentry-0.9.6/pinentry/pinentry.h      2015-09-10 20:21:54.000000000 
+0200
+++ new/pinentry-0.9.7/pinentry/pinentry.h      2015-09-16 20:40:15.000000000 
+0200
@@ -193,6 +193,11 @@
      to save the assuan ctx.  */
   void *ctx_assuan;
 
+  /* An UTF-8 string with an invisible character used to override the
+     default in some pinentries.  Only the first character is
+     used.  */
+  char *invisible_char;
+
 };
 typedef struct pinentry *pinentry_t;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/qt/main.cpp 
new/pinentry-0.9.7/qt/main.cpp
--- old/pinentry-0.9.6/qt/main.cpp      2015-09-10 20:21:54.000000000 +0200
+++ new/pinentry-0.9.7/qt/main.cpp      2015-12-01 12:52:40.000000000 +0100
@@ -190,15 +190,15 @@
       if (!ret)
        return -1;
 
-      const char *pin = pinentry.pin().toUtf8().constData();
+      QByteArray pin = pinentry.pin().toUtf8 ();
 
-      int len = strlen (pin);
+      int len = strlen (pin.constData ());
       if (len >= 0)
        {
          pinentry_setbufferlen (pe, len + 1);
          if (pe->pin)
            {
-             strcpy (pe->pin, pin);
+             strcpy (pe->pin, pin.constData ());
              return len;
            }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/secmem/util.c 
new/pinentry-0.9.7/secmem/util.c
--- old/pinentry-0.9.6/secmem/util.c    2013-03-21 09:43:50.000000000 +0100
+++ new/pinentry-0.9.7/secmem/util.c    2015-12-01 12:53:19.000000000 +0100
@@ -41,7 +41,7 @@
 
 /* Write DATA of size BYTES to FD, until all is written or an error
    occurs.  */
-ssize_t 
+ssize_t
 xwrite(int fd, const void *data, size_t bytes)
 {
   char *ptr;
@@ -68,7 +68,7 @@
 #if 0
 extern int debug;
 
-int 
+int
 debugmsg(const char *fmt, ...)
 {
   va_list va;
@@ -88,7 +88,7 @@
 
 /* initialize uid variables */
 #ifndef HAVE_DOSISH_SYSTEM
-static void 
+static void
 init_uids(void)
 {
   real_uid = getuid();
@@ -98,42 +98,8 @@
 #endif
 
 
-#if 0 /* Not used. */
-/* lower privileges to the real user's */
-void 
-lower_privs()
-{
-  if (!uid_set)
-    init_uids();
-  if (real_uid != file_uid) {
-#ifdef HAVE_SETEUID
-    if (seteuid(real_uid) < 0) {
-      perror("lowering privileges failed");
-      exit(EXIT_FAILURE);
-    }
-#else
-    fprintf(stderr, _("Warning: running q-agent setuid on this system is 
dangerous\n"));
-#endif /* HAVE_SETEUID */
-  }
-}
-#endif /* if 0 */
-
-#if 0 /* Not used. */
-/* raise privileges to the effective user's */
-void 
-raise_privs()
-{
-  assert(real_uid >= 0);       /* lower_privs() must be called before this */
-#ifdef HAVE_SETEUID
-  if (real_uid != file_uid && seteuid(file_uid) < 0) {
-   perror("Warning: raising privileges failed");
-  }
-#endif /* HAVE_SETEUID */
-}
-#endif /* if 0 */
-
 /* drop all additional privileges */
-void 
+void
 drop_privs()
 {
 #ifndef HAVE_DOSISH_SYSTEM
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinentry-0.9.6/tty/pinentry-tty.c 
new/pinentry-0.9.7/tty/pinentry-tty.c
--- old/pinentry-0.9.6/tty/pinentry-tty.c       2015-09-10 20:21:54.000000000 
+0200
+++ new/pinentry-0.9.7/tty/pinentry-tty.c       2015-12-01 12:52:40.000000000 
+0100
@@ -213,23 +213,28 @@
       return -1;
     }
 
-  if (pinentry->one_button)
-    fprintf (ttyfo, "Press any key to continue.");
-  else
-    {
-      fputc ('[', ttyfo);
-      if (ok)
-       fputc (tolower (ok), ttyfo);
-      if (cancel)
-       fputc (tolower (cancel), ttyfo);
-      if (notok)
-       fputc (tolower (notok), ttyfo);
-      fputs("]? ", ttyfo);
-    }
-
   while (1)
     {
-      int input = fgetc (ttyfi);
+      int input;
+
+      if (pinentry->one_button)
+        fprintf (ttyfo, "Press any key to continue.");
+      else
+        {
+          fputc ('[', ttyfo);
+          if (ok)
+            fputc (tolower (ok), ttyfo);
+          if (cancel)
+            fputc (tolower (cancel), ttyfo);
+          if (notok)
+            fputc (tolower (notok), ttyfo);
+          fputs("]? ", ttyfo);
+        }
+      fflush (ttyfo);
+
+      input = fgetc (ttyfi);
+      fprintf (ttyfo, "%c\n", input);
+
       if (input == EOF || input == 0x4)
        /* End of file or control-d (= end of file).  */
        {
@@ -262,10 +267,12 @@
          ret = 1;
          break;
        }
+      else
+        {
+          fprintf (ttyfo, "Invalid selection.\n");
+        }
     }
 
-  fputc('\n', ttyfo);
-
   tcsetattr (fileno(ttyfi), TCSANOW, &o_term);
 
   return ret;
@@ -364,7 +371,7 @@
 
   dump_error_text (ttyfo, pinentry->error);
 
-  fprintf (ttyfo, "%s\n ", msg);
+  fprintf (ttyfo, "%s\n", msg);
 
   while (! done)
     {


Reply via email to