commit 161d60544dfab5b6c8f649d5bf33156be8d060f4 Author: zyppe <210hcl@gmail.com> Date: Tue Mar 5 17:00:51 2024 +0800 Initialize for pinentry diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e014ff1 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +pinentry-1.1.0.tar.bz2 diff --git a/.pinentry.metadata b/.pinentry.metadata new file mode 100644 index 0000000..8720dca --- /dev/null +++ b/.pinentry.metadata @@ -0,0 +1 @@ +d6bb91a0ec0d0881fe4806d276d8a859868803f49c9c50e513f6c36af54b4006 pinentry-1.1.0.tar.bz2 diff --git a/pinentry b/pinentry new file mode 100644 index 0000000..e942789 --- /dev/null +++ b/pinentry @@ -0,0 +1,95 @@ +#!/bin/sh + +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2009 Fedora Project +# Copyright (c) 2014 Red Hat +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# +# Anna Bernathova 2006 +# Pavel Nemec 2006 +# Rex Dieter 2009 +# Pavol Rusnak 2009 +# Boris Ranto 2014 +# Andreas Stieger 2014 +# +# use proper binary (pinentry-qt5, pinentry-qt, pinentry-gtk-2 or pinentry-curses) + +kde_running= +arg= +display= +# look for a --display option +for opt in "$@"; do + if [ "$opt" = "--display" ]; then + arg=1 + elif [ -n "$arg" ]; then + display="$opt" + else + arg= + fi +done + +# export DISPLAY if pinentry is meant to be run on a different display +# check the KDE_FULL_SESSION variable otherwise +if [ -n "$display" -a "$DISPLAY" != "$display" ]; then + export DISPLAY="$display" +elif [ -n "$KDE_FULL_SESSION" ]; then + kde_running=1 + kde_ver="$KDE_SESSION_VERSION" +fi + +# Check for presence of xprop binary +type xprop >/dev/null 2>/dev/null +XPROP=$? + +if [ -n "$DISPLAY" -a $XPROP -eq 0 ]; then + xprop -root | grep "^KDE_FULL_SESSION" >/dev/null 2>/dev/null + if test $? -eq 0; then + kde_running=1 + kde_ver="`xprop -root | sed -n 's/KDE_SESSION_VERSION(CARDINAL) = //p'`" 2>/dev/null + fi +fi + +# if a user supplied a pinentry binary, use it +if [ -n "$PINENTRY_BINARY" ]; +then + export PINENTRY_BINARY="$PINENTRY_BINARY" +# if KDE is detected and pinentry-qt5 exists, use pinentry-qt5 +elif [ -n "$kde_running" -a "$kde_ver"x = 4x -a -x /usr/bin/pinentry-qt5 ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-qt5" +# if KDE is detected and pinentry-qt exists, use pinentry-qt +elif [ -n "$kde_running" -a -x /usr/bin/pinentry-qt ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-qt" +# otherwise test if pinentry-gnome3 is installed +elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-gnome3 ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-gnome3" +# otherwise test if pinentry-gtk-2 is installed +elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-gtk-2 ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-gtk-2" +# otherwise test if pinentry-qt5 exists although KDE is not detected +elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-qt5 ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-qt5" +# otherwise test if pinentry-qt exists although KDE is not detected +elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-qt ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-qt" +# otherwise test if pinentry-fltk exists +elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-fltk ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-fltk" +# use pinentry-tty for modem / serial +elif [ "$TERM" = "dumb" ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-tty" +# pinentry-curses is installed by default +else + export PINENTRY_BINARY="/usr/bin/pinentry-curses" +fi +exec $PINENTRY_BINARY "$@" diff --git a/pinentry-0.7.2-gtk+-2.4.diff b/pinentry-0.7.2-gtk+-2.4.diff new file mode 100644 index 0000000..6869967 --- /dev/null +++ b/pinentry-0.7.2-gtk+-2.4.diff @@ -0,0 +1,406 @@ +--- pinentry-0.7.2/gtk+-2/padlock-keyhole.xpm ++++ pinentry-0.7.2/gtk+-2/padlock-keyhole.xpm +@@ -0,0 +1,403 @@ ++/* XPM */ ++static const char * padlock_keyhole_xpm[] = { ++"48 48 352 2", ++" c None", ++". c #000000", ++"+ c #010101", ++"@ c #9B9B9B", ++"# c #D0D0D0", ++"$ c #E3E3E3", ++"% c #E9E9E9", ++"& c #DDDDDD", ++"* c #C6C6C6", ++"= c #919191", ++"- c #BEBEBE", ++"; c #EAEAEA", ++"> c #F1F1F1", ++", c #F3F3F3", ++"' c #EDEDED", ++") c #E6E6E6", ++"! c #E2E2E2", ++"~ c #D8D8D8", ++"{ c #9C9C9C", ++"] c #606060", ++"^ c #F0F0F0", ++"/ c #ECECEC", ++"( c #E4E4E4", ++"_ c #E1E1E1", ++": c #D6D6D6", ++"< c #B7B7B7", ++"[ c #454545", ++"} c #858585", ++"| c #D9D9D9", ++"1 c #CECECE", ++"2 c #C2C2C2", ++"3 c #CCCCCC", ++"4 c #D5D5D5", ++"5 c #DCDCDC", ++"6 c #E0E0E0", ++"7 c #C8C8C8", ++"8 c #B9B9B9", ++"9 c #626262", ++"0 c #5E5E5E", ++"a c #E8E8E8", ++"b c #BCBCBC", ++"c c #585858", ++"d c #141414", ++"e c #7B7B7B", ++"f c #DFDFDF", ++"g c #C3C3C3", ++"h c #BBBBBB", ++"i c #4C4C4C", ++"j c #979797", ++"k c #B6B6B6", ++"l c #EBEBEB", ++"m c #8A8A8A", ++"n c #929292", ++"o c #DBDBDB", ++"p c #B3B3B3", ++"q c #939393", ++"r c #C0C0C0", ++"s c #020202", ++"t c #A2A2A2", ++"u c #E5E5E5", ++"v c #A0A0A0", ++"w c #818181", ++"x c #D1D1D1", ++"y c #AEAEAE", ++"z c #767676", ++"A c #F2F2F2", ++"B c #2F2F2F", ++"C c #828282", ++"D c #EEEEEE", ++"E c #B5B5B5", ++"F c #9F9F9F", ++"G c #0F0F0F", ++"H c #1F1F1F", ++"I c #A8A8A8", ++"J c #EFEFEF", ++"K c #CBCBCB", ++"L c #C5C5C5", ++"M c #DADADA", ++"N c #CACACA", ++"O c #ABABAB", ++"P c #ADACAA", ++"Q c #371908", ++"R c #9C5217", ++"S c #B86E25", ++"T c #B96B26", ++"U c #A75A1C", ++"V c #A55E1F", ++"W c #BC732A", ++"X c #B86F27", ++"Y c #97551A", ++"Z c #C99C62", ++"` c #F4E1CB", ++" . c #F4E0C9", ++".. c #EFDBBE", ++"+. c #ECD5B7", ++"@. c #EBD2B4", ++"#. c #EAD2B3", ++"$. c #EBCFB0", ++"%. c #E9CEAE", ++"&. c #E8CCAB", ++"*. c #E7CCA8", ++"=. c #E8C7A1", ++"-. c #E6C6A1", ++";. c #E5C5A0", ++">. c #E3C29A", ++",. c #E0C09B", ++"'. c #E0BD93", ++"). c #DFBA92", ++"!. c #DFBA8E", ++"~. c #DDB386", ++"{. c #D5AC7C", ++"]. c #A2611B", ++"^. c #F5E6D0", ++"/. c #EAD3AF", ++"(. c #EACFAF", ++"_. c #DAB88B", ++":. c #DAB687", ++"<. c #D8B081", ++"[. c #D6AE7F", ++"}. c #D3AB7C", ++"|. c #D1A974", ++"1. c #CFA56E", ++"2. c #CCA36D", ++"3. c #CA9F67", ++"4. c #C89E67", ++"5. c #C69B63", ++"6. c #C29861", ++"7. c #C2935B", ++"8. c #BF9052", ++"9. c #BC884B", ++"0. c #BD8440", ++"a. c #BA7E3D", ++"b. c #B37634", ++"c. c #A76A22", ++"d. c #8D5314", ++"e. c #F5E4CE", ++"f. c #E7CDA8", ++"g. c #DFBD90", ++"h. c #D8B183", ++"i. c #D5AD7E", ++"j. c #D2AA7B", ++"k. c #D2A677", ++"l. c #D0A771", ++"m. c #CDA36C", ++"n. c #C89F68", ++"o. c #C59B64", ++"p. c #C49961", ++"q. c #C59A62", ++"r. c #C2985D", ++"s. c #C1945A", ++"t. c #BF9054", ++"u. c #BE8E4F", ++"v. c #BC8749", ++"w. c #BA823F", ++"x. c #B17432", ++"y. c #8B5214", ++"z. c #E0BF97", ++"A. c #DBB486", ++"B. c #D7AF80", ++"C. c #D2AC7B", ++"D. c #D0A66F", ++"E. c #B58E5C", ++"F. c #A07E50", ++"G. c #9A794D", ++"H. c #B28C59", ++"I. c #C79C64", ++"J. c #C2975F", ++"K. c #BC8441", ++"L. c #B57C38", ++"M. c #AF732C", ++"N. c #A3661E", ++"O. c #875014", ++"P. c #E8CDA9", ++"Q. c #DFBC92", ++"R. c #D2AB7D", ++"S. c #D0AB75", ++"T. c #B38E5D", ++"U. c #94744A", ++"V. c #775E3C", ++"W. c #201910", ++"X. c #79603E", ++"Y. c #C79D66", ++"Z. c #BF9156", ++"`. c #BE8645", ++" + c #BC833F", ++".+ c #B67C37", ++"++ c #AA6C23", ++"@+ c #8D5514", ++"#+ c #E8CEA9", ++"$+ c #E1BC94", ++"%+ c #DAB487", ++"&+ c #D8B281", ++"*+ c #D0A873", ++"=+ c #92744D", ++"-+ c #7A603E", ++";+ c #79603F", ++">+ c #BE8F51", ++",+ c #BA813D", ++"'+ c #B77E3A", ++")+ c #B37934", ++"!+ c #A66921", ++"~+ c #E5C9A4", ++"{+ c #DDBA90", ++"]+ c #D2A575", ++"^+ c #D1A770", ++"/+ c #95754C", ++"(+ c #201A10", ++"_+ c #211A10", ++":+ c #D7B78E", ++"<+ c #BD8C4C", ++"[+ c #BC8845", ++"}+ c #BB823E", ++"|+ c #A96B22", ++"1+ c #E9CDAC", ++"2+ c #E7CBA6", ++"3+ c #D1A572", ++"4+ c #96774E", ++"5+ c #E1CBAD", ++"6+ c #C09359", ++"7+ c #BC8543", ++"8+ c #B37832", ++"9+ c #E8CCA7", ++"0+ c #E5CAA4", ++"a+ c #DCB98F", ++"b+ c #CAA16B", ++"c+ c #20190F", ++"d+ c #DEC6A7", ++"e+ c #C19256", ++"f+ c #BD8D4E", ++"g+ c #B57D3A", ++"h+ c #B57836", ++"i+ c #AD722C", ++"j+ c #A4661D", ++"k+ c #D2AB79", ++"l+ c #D1A872", ++"m+ c #755C38", ++"n+ c #755B37", ++"o+ c #DDC7A7", ++"p+ c #B77F3C", ++"q+ c #B0752F", ++"r+ c #A46821", ++"s+ c #895114", ++"t+ c #E9CEAA", ++"u+ c #DAB385", ++"v+ c #201A11", ++"w+ c #927E63", ++"x+ c #E3CFB3", ++"y+ c #D4B388", ++"z+ c #BB8444", ++"A+ c #B67A39", ++"B+ c #B17630", ++"C+ c #D2AC77", ++"D+ c #CDA46E", ++"E+ c #A57D4D", ++"F+ c #D9BF9E", ++"G+ c #CAA371", ++"H+ c #B77D38", ++"I+ c #AD6F26", ++"J+ c #BA935E", ++"K+ c #95744A", ++"L+ c #C5B39B", ++"M+ c #B57938", ++"N+ c #AD762E", ++"O+ c #AF722A", ++"P+ c #E1BD96", ++"Q+ c #CAA069", ++"R+ c #B58F5D", ++"S+ c #836641", ++"T+ c #8F7554", ++"U+ c #BC8947", ++"V+ c #BD8242", ++"W+ c #DBB88E", ++"X+ c #D1A776", ++"Y+ c #CCA26B", ++"Z+ c #B48D59", ++"`+ c #6C5433", ++" @ c #6D5536", ++".@ c #B47B37", ++"+@ c #C08D51", ++"@@ c #894E14", ++"#@ c #DCB387", ++"$@ c #D1AB76", ++"%@ c #B28B57", ++"&@ c #AC834E", ++"*@ c #3F301C", ++"=@ c #40321E", ++"-@ c #D2BD9F", ++";@ c #C8A271", ++">@ c #B8803D", ++",@ c #AF742E", ++"'@ c #864C13", ++")@ c #E6CAA5", ++"!@ c #B28753", ++"~@ c #9A7545", ++"{@ c #89683E", ++"]@ c #DAC1A0", ++"^@ c #BD8E50", ++"/@ c #B17732", ++"(@ c #AD712A", ++"_@ c #CA9D63", ++":@ c #874D14", ++"<@ c #E4C8A3", ++"[@ c #DAB88D", ++"}@ c #CBA26C", ++"|@ c #B78F5B", ++"1@ c #7F633F", ++"2@ c #725938", ++"3@ c #D3B389", ++"4@ c #CC9F69", ++"5@ c #B87F3B", ++"6@ c #BC823D", ++"7@ c #CEA16B", ++"8@ c #E8CBA5", ++"9@ c #C1975C", ++"0@ c #C09257", ++"a@ c #B9813E", ++"b@ c #BC8545", ++"c@ c #CDA06A", ++"d@ c #E6C9A3", ++"e@ c #D9B888", ++"f@ c #D3A676", ++"g@ c #BC8C4D", ++"h@ c #BE8A4D", ++"i@ c #BE8B4F", ++"j@ c #C79D60", ++"k@ c #E6C8A1", ++"l@ c #E1C39C", ++"m@ c #C2995F", ++"n@ c #D2AA77", ++"o@ c #D4A773", ++"p@ c #BF8A4C", ++"q@ c #B17330", ++"r@ c #331707", ++"s@ c #B2752D", ++"t@ c #C49A5D", ++"u@ c #B87E39", ++"v@ c #B37532", ++"w@ c #AF772E", ++"x@ c #AC742B", ++"y@ c #AA7229", ++"z@ c #AE7129", ++"A@ c #A96D26", ++"B@ c #A56922", ++"C@ c #A36720", ++"D@ c #A2651D", ++"E@ c #9E6119", ++"F@ c #9B5F18", ++"G@ c #995D16", ++"H@ c #925615", ++"I@ c #58300D", ++"J@ c #261105", ++"K@ c #311607", ++" ", ++" ", ++" ", ++" ", ++" . . . + . . . ", ++" . . + @ # $ % & * = + . . ", ++" . + - ; > , > ' ; ) ! ~ { + . ", ++" . ] $ , ^ / ) ( $ ! ! ! _ : < [ . ", ++" . } / , ; $ | 1 2 2 3 4 5 6 & 7 8 9 . ", ++" . 0 / , a 5 b c d . . . e - 6 f 5 g h i . ", ++" . + ! , % ~ j . . . { & 6 ~ h k + ", ++" . 8 , l ~ m . . n o f 1 p q . ", ++" + ; > & r s . . t u & r k + ", ++" v > a * w . s 5 ; x y z . ", ++" . # A | r B . C D 5 E F . ", ++" . _ > 3 r G H / ! r I . ", ++" . ) J K < . . % u L y . ", ++" . M l N O . . ( $ N P . ", ++" Q Q Q R S T U Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q V W X Y Q Q Q Q ", ++" Q Z ` ...+.@.#.$.%.&.*.=.-.-.-.-.-.=.=.-.;.;.>.,.'.).!.~.{.].Q ", ++" Q ^./.(.>._.:.<.[.}.|.1.2.3.3.3.3.3.3.3.4.5.6.7.8.9.0.a.b.c.d.Q ", ++" Q e.%.f.g.h.i.j.k.l.m.n.o.p.p.p.q.q.q.q.p.r.s.t.u.v.w.a.x.c.y.Q ", ++" Q ^.$.%.z.A.<.B.C.k.D.2.E.F.G.G.H.I.I.I.q.J.7.t.u.K.w.L.M.N.O.Q ", ++" Q e.(.P.Q.i.R.j.S.D.m.T.U.V.W.. W.X.n.3.Y.o.p.r.Z.u.`. +.+++@+Q ", ++" Q e.%.#+$+%+&+B.j.*+1.=+-+. . . . . ;+3.o.q.J.s.>+v.,+'+)+!+y.Q ", ++" Q ` P.~+{+i.j.j.]+^+2./+(+. . . . . _+:+4.5.p.J.Z.<+[+}+.+|+d.Q ", ++" Q e.1+2+Q.<.[.R.j.3+m.4+. . . . . . . 5+Y.p.J.6+>+<+7+a.8+c.y.Q ", ++" Q ` 9+0+a+[.}.j.]+1.b+/+W.. . . . . c+d+6.e+t.f+v.w.g+h+i+j+O.Q ", ++" Q e.1+2+{+i.k+l+1.b+n.q.m+. . . . . n+o+7.e+8.u.9. +p+.+q+r+s+Q ", ++" Q ^.(.t+$+A.u+u+[.k+*+1.2.-+_+. v+w+x+y+5.r.s.t.<+z+p+A+B+r+y.Q ", ++" Q ` t+~+_.C+]+l+D+b+4.p.r.E+. . . F+G+p.6.7.Z.t.<+[+w.H+8+I+s+Q ", ++" Q e.t+2+a+[.}.j.]+D.b+4.J+K+. . . L+p.p.6.e+Z.u.v. +'+M+N+O+O.Q ", ++" Q ^.(.t+P+A.<.[.C.*+m.Q+R+S+. . . T+d+p.r.e+t.f+U+ +'+M+M.V+O.Q ", ++" Q ` *.-.W+}.k+X+D.Y+3.q.Z+`+. . . @d+p.6.7.e+8.9.z+a..@B++@@@Q ", ++" Q .2+-.#@$@3+D.m.n.p.%@&@*@. . . =@-@;@7.Z.t.f+U+>@L.h+,@+@'@Q ", ++" Q ` )@-.A.$@l.1.b+4.p.!@~@*@. . . *@{@]@^@f+9.z+w.'+.@/@(@_@:@Q ", ++" Q ` 9+<@[@}.k.S.D.}@n.|@1@. . . . . 2@3@6.e+Z.>+9.K.g+L.B+4@s+Q ", ++" Q e.P.~+a+i.j.k+^+1.b+n.q.q.q.q.q.q.q.q.p.7.Z.8.v. +'+5@6@7@@@Q ", ++" Q ` 8@~+_.j.]+^+D+3.I.p.9@6+0@0@0@0@0@0@Z.8.u.U+z+a@L.5@b@c@O.Q ", ++" Q .d@;.e@f@l.1.}@3.5.q.p.r.6.6.p.p.q.q.p.s.6+t.g@U+h@p.i@j@@@Q ", ++" Q .k@l@u+3+1.m.n.o.m@7.0@Z.Z.0@7.9@q.4.m.m.7@7@k+n@3+o@p@q@:@Q ", ++" r@s@j@t@<+a.u@A+h+v@w@i+x@y@y@y@z@z@z@z@y@A@++B@C@D@E@F@G@H@I@J@ ", ++" K@Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q J@ ", ++" ", ++" ", ++" ", ++" ", ++" "}; diff --git a/pinentry-1.1.0.tar.bz2.sig b/pinentry-1.1.0.tar.bz2.sig new file mode 100644 index 0000000..0e539df Binary files /dev/null and b/pinentry-1.1.0.tar.bz2.sig differ diff --git a/pinentry-ncurses6.diff b/pinentry-ncurses6.diff new file mode 100644 index 0000000..4e79c46 --- /dev/null +++ b/pinentry-ncurses6.diff @@ -0,0 +1,16 @@ +--- + pinentry/pinentry.h | 1 + + 1 file changed, 1 insertion(+) + +Index: pinentry/pinentry.h +=================================================================== +--- pinentry/pinentry.h.orig ++++ pinentry/pinentry.h +@@ -75,6 +75,7 @@ struct pinentry + supported. (Assuan: "OPTION ttyname TTYNAME".) */ + char *ttyname; + /* The type of the terminal. (Assuan: "OPTION ttytype TTYTYPE".) */ ++#undef ttytype + char *ttytype; + /* Set the alert mode (none, beep or flash). */ + char *ttyalert; diff --git a/pinentry-qt-Fix-use-of-dangling-pointer.patch b/pinentry-qt-Fix-use-of-dangling-pointer.patch new file mode 100644 index 0000000..936f121 --- /dev/null +++ b/pinentry-qt-Fix-use-of-dangling-pointer.patch @@ -0,0 +1,51 @@ +From 0e2e53c8987d6f236aaef515eb005e8e86397fbc Mon Sep 17 00:00:00 2001 +From: Andre Heinecke +Date: Thu, 25 Jul 2019 14:20:51 +0200 +Subject: [PATCH 1/1] qt: Fix use of dangling pointer in QApplication + +* qt/main.cpp (main): Use a new variable for argc that stays +valid. +-- +The QApplication constructor takes argc as a reference and the referenced +integer has to stay alive for at least as long as the QApplication. + +GnuPG-Bug-Id: T4658 +Based on a Patch from: Fabian Vogt +Thanks! +--- + qt/main.cpp | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/qt/main.cpp b/qt/main.cpp +index fe88d26..4e61dff 100644 +--- a/qt/main.cpp ++++ b/qt/main.cpp +@@ -330,6 +330,7 @@ main(int argc, char *argv[]) + pinentry_init("pinentry-qt"); + + QApplication *app = NULL; ++ int new_argc = 0; + + #ifdef FALLBACK_CURSES + if (!pinentry_have_display(argc, argv)) { +@@ -369,8 +370,15 @@ main(int argc, char *argv[]) + p += strlen(argv[i]) + 1; + } + +- i = argc; +- app = new QApplication(i, new_argv); ++ /* Note: QApplication uses int &argc so argc has to be valid ++ * for the full lifetime of the application. ++ * ++ * As Qt might modify argc / argv we use copies here so that ++ * we do not loose options that are handled in both. e.g. display. ++ */ ++ new_argc = argc; ++ Q_ASSERT (new_argc); ++ app = new QApplication(new_argc, new_argv); + app->setWindowIcon(QIcon(QLatin1String(":/document-encrypt.png"))); + } + +-- +2.11.0 + diff --git a/pinentry.changes b/pinentry.changes new file mode 100644 index 0000000..4656864 --- /dev/null +++ b/pinentry.changes @@ -0,0 +1,300 @@ +* Thu Jul 25 2019 pmonrealgonzalez@suse.com +- Fix a dangling pointer in qt/main.cpp [bsc#1141883] + * Added pinentry-qt-Fix-use-of-dangling-pointer.patch +* Thu Feb 22 2018 fvogt@suse.com +- Use %%license (boo#1082318) +* Mon Dec 11 2017 astieger@suse.com +- pinentry 1.1.0: + * Add FLTK1.3-based pinentry + * New option --ttyalert for pinentry-curses to alert the user. + * Don't show "save passphrase" checkbox if secret service is + unavailable. + * The GTK Pinentry shows on Linux some information anout the + process which invoked the Pinentry. + * The GTK Pinentry does not anymore show tooltips when keyboard + grabbing is enabled. +* Thu Dec 15 2016 tchvatal@suse.com +- Build pinentry tui in build and not during install +* Wed Dec 14 2016 astieger@suse.com +- pinentry 1.0.0: + * Qt pinentry now supports repeat mode in one dialog. + * Qt and GTK pinentries now make it possible to show the entered + value. + * Qt pinentry now only grabs the keyboard if an entry field is + focused. + * Fixed potential crash in Qt qualitybar calculation. + * GTK keyboard grabbing is now a bit more robust. The cursor is + changed to a big dot as a visual indication that a pinentry + has popped up and is waiting for input. + * The GNOME pinentry now falls back to curses if it can't use the + GCR system prompter or a screenlock is active. + * Fixed error output for cached passwords. + * A show/hide passphrase button or checkbox is now available with + some pinentry flavors. + * Improved diagnostics and error codes. +* Fri Jul 29 2016 tchvatal@suse.com +- Update the conflict to bring back the self-deprecation broken in + previous change wrt boo#989554 +* Wed Jan 20 2016 astieger@suse.com +- completely rename to qt5 [boo#962076] +- fix self-deprecation rpmlint warning +* Wed Jan 13 2016 tchvatal@suse.com +- Use qt5 instead of qt4 in pinentry-qt +* Mon Dec 14 2015 andreas@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. +* Wed Oct 21 2015 dmueller@suse.com +- add pinentry-qt4-fix-qstring-conversion.patch (bsc#951307) +* Tue Oct 6 2015 kstreitova@suse.com +- update to 0.9.6 + * changelog: + + Many improvements for the dump tty pinentry + + Use the standard GTK+-2 text entry widget instead of our outdated + and back-then-it-was-more-secure text widget + + Use the standard Qt text widget + + Allow for building a static Qt variant + + Fix regression in w32 pinentry + * remove qt4-disable-inputmethod-for-passwords.diff (patched file + is no longer present) + * remove regenerating of qt4/qsecurelineedit.moc in specfile as + qt4/qsecurelineedit.h was deleted. Adjust paths for the rest + of the moc files (qt4 -> qt). + * '--enable-pinentry-qt4' is now '--enable-pinentry-qt' + * '--enable-pinentry-qt4-clipboard' option was removed + * add backward compatibility link for pinentry-qt4 +- use spec-cleaner +* Fri Jul 10 2015 werner@suse.de +- Make it build with every ncurses library ABI + adding pinentry-ncurses6.diff +* Wed Jul 1 2015 astieger@suse.com +- pinentry 0.9.5: + * Replaced the internal Assuan and gpg-error code by the standard + libassuan and libgpg-error libraries. + * Add a new Emacs pinentry and use as fallback for GUI programs. + * gnome3: The use-password-manager checkbox does now work. + * Gtk: Improved fallback to curses feature. + * curses: Recognize DEL as backspace. +* Thu Jun 11 2015 lnussel@suse.de +- build gui version with libsecret and text mode versions without to + avoid pulling in dbus-x11 on minimal installs (bnc#934214) +* Wed Jun 10 2015 astieger@suse.com +- pinentry 0.9.4: + * Fix regression in GTK+ and curses pinentries [boo#934207] +* Fri Jun 5 2015 astieger@suse.com +- No longer increase the default secure memory size from 16k to 64k, + as further memory would be locked from being paged to disk by the + pinentry-gnome3 UI, generating an error message and failing to + lock. Remove moreSecureMemoryForPinentry-qt.diff - [boo#933687] +* Thu Jun 4 2015 astieger@suse.com +- pinentry 0.9.3: + * new pinentry-gnome3 + * Improved documentation + * More improvements for pinentry-tty. + * Fixes for pinentry-curses including support for Ctrl-W, Ctrl-U, + Ctrl-H, Ctrl-L, and Alt-Backspace + * New Assuan command to request clearing an external cache. + * Fixed problems linking to ncursesw. + * All kind of other minor fixes. +- update pinentry script to use gnome3 if installed, no automation +- Enabled features: + * Support for saving the passphrase with libsecret. +* Tue May 12 2015 astieger@suse.com +- pinentry 0.9.2: + * Escape key works in the Gtk+ pinentry. + * Improvements for pinentry-tty. +- Upstream supported but not enabled: + * Support for saving the passphrase with libsecret. +* Thu Mar 26 2015 astieger@suse.com +- qt4 pasting was available upstream since 0.8.4 but not enabled. + Enable through configure option [boo#905155] +* Mon Mar 23 2015 crrodriguez@opensuse.org +- Use -std=gnu++11 in CXXFLAGS, fix build with gcc5. +* Thu Mar 19 2015 astieger@suse.com +- pinentry 0.9.1: + * Fixed build problems for systems without ncurses. + * Reworked the option parser to allow building on systems without + getopt_long. + * Fixed Qt4 build problems. +* Sat Nov 1 2014 andreas.stieger@gmx.de +- pinentry 0.9.0: + * New command SETREPEAT. Currently only supported for Gtk+-2. + * Gtk+-2: Pasting using the mouse is now supported. + * curses: Check that it is actually connected to a tty. + * Removed the old qt-3 and gtk+-1 pinentries. +- remove obsolete patches: + pinentry-0.7.2-bnc179996_disable_inputmethod_for_passords.patch + pinentry-0.8.1-allow_paste_gtk2.patch +- remove build dependencies and autoconf call, removing patch + pinentry-0.8.1-tinfo.patch +* Tue Oct 21 2014 tchvatal@suse.com +- Remove qt3 helpers +- Remove gpg verification in spec, it is done by obs automatically +- Some whitespace changes +- Add default defattr +* Sun Sep 21 2014 andreas.stieger@gmx.de +- pinentry 0.8.4: + * New pinentry-tty version for dumb terminals. + * Qt4: New option to enable pasting the passphrase from clipboard + * Qt4: Improved accessiblity + * Qt4: Raise confirm message windows into foreground + * Improved the build system. +- remove pinentry-0.8.1-allow_paste_qt4.patch, functionality + implemented +- sync pinentry wrapper with Fedora +- update pinentry wrapper to use pinentry-tty on dumb terminals +* Sat Dec 21 2013 coolo@suse.com +- disable qt3 support to avoid maintaining qt3 forever +* Mon Aug 19 2013 andreas.stieger@gmx.de +- update to 0.8.3 + * Add SETTIMEOUT command for the gtk+-2 pinentry. +- includes changes from 0.8.2: + * New SETTIMEOUT command for the qt4 pinentry. + * Wide character support for the curses pinentry. + ( already present in openSUSE patched version) + * Various bug fixes. +- drop pinentry-0.7.2-curses-utf-8.diff, implemented upstream +- drop pinentry-0.8.1-editing-cancelled_warning.patch, same +- refresh qt4-disable-inputmethod-for-passwords.diff +* Mon Apr 22 2013 meissner@suse.com +- %%makeinstall instead of %%make install. +* Mon Apr 15 2013 idonmez@suse.com +- Add Source URL, see https://en.opensuse.org/SourceUrls +- Add GPG checking +* Mon Dec 5 2011 vcizek@suse.com +- fixed licence of the pinentry-qt subpackage (bnc#734792) +* Wed Nov 30 2011 coolo@suse.com +- add automake as buildrequire to avoid implicit dependency +* Tue Nov 22 2011 vcizek@suse.com +- patch that fixes Glib warning (bnc#730453) +- add -ltinfo to fix build +* Fri Oct 21 2011 tiwai@suse.de +- fix pinentry-qt4 not to allow triggering IM (bnc#725471) +* Wed Sep 14 2011 vcizek@suse.com +- enable paste for pinentry-gtk2 (bnc#690514) +* Tue Sep 13 2011 vcizek@suse.com +- enable paste for pinentry-qt4 (bnc#690514) +* Thu Mar 24 2011 puzel@novell.com +- update to pinentry-0.8.1 + * The GTK pinentry now always sticks to the top and properly grabs + the keyboard. + * The protocol options default-cancel and default-ok now work for + the pinentry-gtk2 and pinentry-qt (that is QT3). +- drop pinentry-qt-fix-1162.diff (in upstream) +- use spec-cleaner +* Tue Oct 5 2010 cristian.rodriguez@opensuse.org +- Add missing buildrequires on libcap-devel +* Mon Aug 23 2010 puzel@novell.com +- pinentry-qt-fix-1162.diff: fix active window issue (bnc#629502) + Upstream Patch: https://bugs.g10code.com/gnupg/issue1162 +* Wed Jul 7 2010 puzel@novell.com +- change pinentry script to not to rely on curses fallback + mechanism if DISPLAY is not set +* Wed Mar 17 2010 puzel@novell.com +- update to pinentry-0.8.0 + * Beautified the qt4 pinentry + * Minor enhancements. +* Sat Dec 19 2009 jengelh@medozas.de +- enable parallel build +* Wed Oct 7 2009 puzel@novell.com +- do not fail when no graphical pinentry is installed - + try pinentry-curses instead (bnc#544365) +* Fri Aug 21 2009 puzel@novell.com +- all graphical pinentry (-qt,qt4,-gtk2) now provide pinentry-gui +* Tue Jun 30 2009 puzel@novell.com +- improve pinentry script: prefer pinentry-qt in KDE3 environment + (bnc#514688) +* Wed Jun 24 2009 puzel@novell.com +- update to pinentry-0.7.6 + * Make Gtk+-2 pinentry transient to the root window. + * Add Qt4 pinentry. + * Fix utf-8 problem in Qt pinentries. + * Return GPG_ERR_CANCELED if during a "CONFIRM" command the user + closed the window. + * Add quality bar. +- drop pinentry-gsize.patch (fixed in upstream) +- drop wrong-apostrophe.patch (fixed in upstream) +- drop pinentry-qt4.patch (native qt4 support added) +- simplify build section with configure macro and autoreconf +* Thu May 28 2009 puzel@suse.cz +- pinentry-qt4 (bnc#505134) + - add pinentry-qt4.patch.bz2 +* Mon Nov 10 2008 coolo@suse.de +- revert the last entry (reopened the bug) +* Wed Nov 5 2008 puzel@suse.cz +- pinentry requires pinentry-dialog (bnc#441084) +* Wed Jul 23 2008 puzel@suse.cz +- added pinentry-0.7.5-wrong-apostrophe.patch + * fixes (bnc#411312) +* Mon Jun 16 2008 puzel@suse.cz +- removed pinentry-0.7.2-qt-utf8.diff workaround patch + (not needed since [bnc#305725] is fixed) +* Wed Apr 16 2008 pcerny@suse.cz +- update to 0.7.5 + (small fixes, see package's changelog for details) +* Thu Apr 10 2008 werner@suse.de +- Use correct ncurses header for libncursesw +- Handle info file +- Use RPM_OPT_FLAGS even for c++ files +* Sun Mar 30 2008 ro@suse.de +- fix build with changed definition of g_malloc (gulong->gsize) +* Tue Sep 11 2007 ltinkl@suse.cz +- fix various utf-8 problems (#305725) +* Thu Mar 29 2007 ro@suse.de +- added ncurses-devel to buildreq +* Fri Jan 5 2007 anicka@suse.cz +- fix KDE detection in pinentry wrapper script + (thanks llunak for a patch) +* Wed Nov 22 2006 anicka@suse.cz +- fixed Provides [#223074] +* Tue Nov 21 2006 nadvornik@suse.cz +- fixed pinentry script: dont use pinentry-curses in GUI [#205688] +- removed useless provides +* Mon Nov 6 2006 anicka@suse.de +- split graphical frontends (#217373) +- rewrite pinentry wrapper to use the right binary +* Mon Nov 6 2006 pnemec@suse.cz +- Fixed pinnentry wrapper #218257 +* Sun Oct 15 2006 schwab@suse.de +- Make sure config.rpath is present. +* Tue Oct 3 2006 pnemec@suse.cz +- removed static simlink to pinentry-qt +- add script which use pinentry-qt only when KDE is detected +* Mon Jun 26 2006 mfabian@suse.de +- Bugzilla #179996: enable input methods in SecQlineEdit widgets + only when "mode == Normal" (i.e. not when "mode == NoEcho" or + "mode == Password"). Using input methods while inputting + passwords is useless. See also Bugzilla #117115. +* Wed Jan 25 2006 mls@suse.de +- converted neededforbuild to BuildRequires +* Mon Dec 19 2005 ro@suse.de +- added symlink to filelist +* Fri Jul 29 2005 anicka@suse.cz +- update to 0.7.2 +- remove part of gtk2 patch contained in new version +* Tue Nov 2 2004 postadal@suse.cz +- added patch gtk+-2.4.diff.bz2 for gtk2 support (removing gtk1 dependency) +* Tue Jul 13 2004 adrian@suse.de +- update to version 0.7.1 +* Sat Jan 10 2004 adrian@suse.de +- build as user +* Tue Nov 18 2003 mc@suse.de +- increase secmem allocation for pinentry-qt to avoid + "Out of memory" errors. + (pinentry-0.6.9.moreSecureMemoryForPinentry-qt.diff) +* Mon Jun 2 2003 mc@suse.de +- remove pinentry-0.6.8-prevent-assuan-stderr.dif; no longer needed +- switch to version 0.6.9 + * a memory-issue present in 0.6.8 + * a minor build problem (make distclean now cleans up .moc files) + * assuan protocol debug messages are not written to stderr +- fixed build on x86_64 +* Tue Apr 8 2003 mc@suse.de +- prevent pinentry-qt to print the assuan protocol to stderr +* Fri Feb 21 2003 ro@suse.de +- fixed neededforbuild +* Tue Feb 11 2003 mc@suse.de +- initial release diff --git a/pinentry.keyring b/pinentry.keyring new file mode 100644 index 0000000..facaaac --- /dev/null +++ b/pinentry.keyring @@ -0,0 +1,411 @@ +pub 2048R/4F25E3B6 2011-01-12 [expires: 2019-12-31] + Key fingerprint = D869 2123 C406 5DEA 5E0F 3AB5 249B 39D2 4F25 E3B6 + uid Werner Koch (dist sig) + sub 2048R/AC87C71A 2011-01-12 [expires: 2019-12-31] + +Releases done in the years 1996 to 2010 are signed by this key: + + pub 1024R/1CE0C630 2006-01-01 [expires: 2011-06-30] + Key fingerprint = 7B96 D396 E647 1601 754B E4DB 53B6 20D0 1CE0 C630 + uid Werner Koch (dist sig) + +Releases done in the years 1998 to 2005 are signed by this key: + + pub 1024D/57548DCD 1998-07-07 [expired: 2005-12-31] + Key fingerprint = 6BD9 050F D8FC 941B 4341 2DCC 68B7 AB89 5754 8DCD + uid Werner Koch (gnupg sig) + + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.17 (GNU/Linux) + +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 +=CxwV +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pinentry.spec b/pinentry.spec new file mode 100644 index 0000000..916123c --- /dev/null +++ b/pinentry.spec @@ -0,0 +1,210 @@ +# +# spec file for package pinentry +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +%define ncurses %(xxx="`readlink -f %{_includedir}/ncurses.h`"; echo $xxx) +%define nmajor %(grep NCURSES_VERSION_MAJOR < %{_includedir}/ncurses.h) +Name: pinentry +Version: 1.1.0 +Release: 4.3.1 +Summary: Collection of Simple PIN or Passphrase Entry Dialogs +License: GPL-2.0+ +Group: Productivity/Other +Url: http://www.gnupg.org/aegypten/ +Source: ftp://ftp.gnupg.org/gcrypt/pinentry/%{name}-%{version}.tar.bz2 +Source1: ftp://ftp.gnupg.org/gcrypt/pinentry/%{name}-%{version}.tar.bz2.sig +Source2: pinentry.keyring +Source3: pinentry +Patch1: pinentry-0.7.2-gtk+-2.4.diff +# PATCH-FIX-SUSE make it build with ncurses ABI 6 +Patch7: pinentry-ncurses6.diff +# PATCH-FIX-SUSE bsc#1141883 pinentry-qt crashes with QtCurve +Patch8: pinentry-qt-Fix-use-of-dangling-pointer.patch +BuildRequires: fltk-devel >= 1.3 +BuildRequires: libassuan-devel >= 2.1.0 +BuildRequires: libgpg-error-devel >= 1.16 +BuildRequires: ncurses-devel +BuildRequires: pkgconfig +BuildRequires: update-desktop-files +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Gui) +BuildRequires: pkgconfig(Qt5Widgets) +BuildRequires: pkgconfig(gcr-3) +BuildRequires: pkgconfig(gcr-base-3) +BuildRequires: pkgconfig(gtk+-2.0) >= 2.4.0 +BuildRequires: pkgconfig(libsecret-1) +Requires(post): %{install_info_prereq} +Provides: pinentry-dialog +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +This is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the Aegypten project. + +%package qt5 +Summary: Collection of Simple PIN or Passphrase Entry Dialogs +Group: Productivity/Other +Requires: pinentry +Provides: pinentry-dialog +Provides: pinentry-gui +Provides: pinentry-qt = %{version} +Obsoletes: pinentry-qt <= 0.8.3 +Provides: pinentry-qt4 = %{version}-%{release} +Obsoletes: pinentry-qt4 <= 0.9.7 + +%description qt5 +This is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the Aegypten project. + +%package gtk2 +Summary: Collection of Simple PIN or Passphrase Entry Dialogs +Group: Productivity/Other +Requires: pinentry +Provides: pinentry-dialog +Provides: pinentry-gui +Provides: pinentry:%{_bindir}/pinentry-gtk-2 + +%description gtk2 +This is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the Aegypten project. + +%package gnome3 +Summary: Collection of Simple PIN or Passphrase Entry Dialogs +Group: Productivity/Other +Requires: pinentry +Provides: pinentry-dialog +Provides: pinentry-gui +Provides: pinentry:%{_bindir}/pinentry-gnome3 + +%description gnome3 +This is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the Aegypten project. + +%package emacs +Summary: Collection of Simple PIN or Passphrase Entry Dialogs +Group: Productivity/Other +Requires: emacs +Requires: pinentry +Provides: pinentry-dialog +Provides: pinentry-gui +Provides: pinentry:%{_bindir}/pinentry-emacs + +%description emacs +This is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the Aegypten project. + +%package fltk +Summary: Collection of Simple PIN or Passphrase Entry Dialogs +Group: Productivity/Other +Requires: pinentry +Provides: pinentry-dialog +Provides: pinentry-gui +Provides: pinentry:%{_bindir}/pinentry-fltk + +%description fltk +This package contains a simple PIN or passphrase entry dialog built +using the fltk GUI toolkit. + +%prep +%setup -q +%patch1 -p1 +%patch7 +%patch8 -p1 + +%build +# Regenerate moc's +moc-qt5 qt/pinentrydialog.h > qt/pinentrydialog.moc +moc-qt5 qt/pinentryconfirm.h > qt/pinentryconfirm.moc +nmajor=$(sed -rn 's/^#define\s+NCURSES_VERSION_MAJOR\s+([0-9]+)/\1/p' %{_includedir}/ncurses.h) +CFLAGS="%{optflags} $(ncursesw${nmajor}-config --cflags)" +CXXFLAGS="%{optflags} -std=gnu++11 $(ncursesw${nmajor}-config --cflags)" +LDFLAGS="$(ncursesw${nmajor}-config --libs)" +export CFLAGS CXXFLAGS LDFLAGS + +%define _configure ../configure +# build gui version with libsecret (bnc#934214) +mkdir gui +cd gui +%configure \ + --disable-pinentry-curses \ + --disable-pinentry-tty \ + --enable-libsecret \ + --enable-pinentry-qt \ + --enable-pinentry-gtk2 \ + --enable-pinentry-gnome3 \ + --enable-pinentry-emacs \ + --enable-inside-emacs \ + --enable-pinentry-fltk \ + --without-ncurses-include-dir +make %{?_smp_mflags} +# build text version without libsecret (bnc#934214) +cd .. +mkdir tui +cd tui +%configure \ + --enable-pinentry-curses \ + --enable-pinentry-tty \ + --disable-libsecret \ + --disable-pinentry-qt \ + --disable-pinentry-gtk2 \ + --disable-pinentry-gnome3 \ + --disable-pinentry-emacs \ + --disable-inside-emacs \ + --disable-pinentry-fltk \ + --without-ncurses-include-dir +make %{?_smp_mflags} + +%install +cd tui +make %{?_smp_mflags} DESTDIR=%{buildroot} install +cd ../gui +make %{?_smp_mflags} DESTDIR=%{buildroot} install + +# remove symlink +rm -rf %{buildroot}%{_bindir}/pinentry +# backward compatibility symlinks +ln -s pinentry-qt %{buildroot}%{_bindir}/pinentry-qt5 +ln -s pinentry-qt %{buildroot}%{_bindir}/pinentry-qt4 +cp %{SOURCE3} %{buildroot}%{_bindir} + +%post +%install_info --info-dir=.%{_infodir} .%{_infodir}/pinentry.info.gz + +%postun +%install_info_delete --info-dir=.%{_infodir} .%{_infodir}/pinentry.info.gz + +%files +%defattr(-,root,root) +%license COPYING +%doc AUTHORS ChangeLog NEWS README +%{_infodir}/pinentry* +%attr(755,root,root) %{_bindir}/pinentry +%attr(755,root,root) %{_bindir}/pinentry-tty +%attr(755,root,root) %{_bindir}/pinentry-curses + +%files qt5 +%defattr(-,root,root) +%attr(755,root,root) %{_bindir}/pinentry-qt5 +%attr(755,root,root) %{_bindir}/pinentry-qt4 +%attr(755,root,root) %{_bindir}/pinentry-qt + +%files gtk2 +%defattr(-,root,root) +%attr(755,root,root) %{_bindir}/pinentry-gtk-2 + +%files gnome3 +%defattr(-,root,root) +%attr(755,root,root) %{_bindir}/pinentry-gnome3 + +%files emacs +%defattr(-,root,root) +%attr(755,root,root) %{_bindir}/pinentry-emacs + +%files fltk +%defattr(-,root,root) +%attr(755,root,root) %{_bindir}/pinentry-fltk + +%changelog