<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>296634</bug_id>
          
          <creation_ts>2012-03-23 16:30:37 +0000</creation_ts>
          <short_desc>kgpg shows failure message in front of decryption/passphrase window, crashes</short_desc>
          <delta_ts>2015-01-08 21:50:16 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>kgpg</product>
          <component>general</component>
          <version>2.7.x</version>
          <rep_platform>Debian stable</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>crash</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>296872</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas v. Heydwolff">listmail</reporter>
          <assigned_to name="Rolf Eike Beer">kde</assigned_to>
          
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin>4.8.2</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1239284</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas v. Heydwolff">listmail</who>
    <bug_when>2012-03-23 16:30:37 +0000</bug_when>
    <thetext>Application: kgpg (2.7.60)
KDE Platform Version: 4.7.4 (4.7.4)
Qt Version: 4.7.4
Operating System: Linux 3.2.11-buche.1 x86_64
Distribution: Debian GNU/Linux 5.0.10 (lenny)

-- Information about the crash:
kgpg 4.8 was compiled from git master, running on 4.7.4 from Debian testing (wheezy), against libqt 4.7. The editor window opens as default. An encrypted message is being pasted into the window. Click on &quot;Decrypt&quot;, both windows open: the one asking for m passphrase for decryption, and in the same instant a &quot;decryption failed&quot; message pops up in front of said decryption dialog window. I click away the message, enter my passphrase, hit OK and kgpg crashes.

The above information about my box running &quot;Lenny&quot; is wrong, it is Wheezy/Sid. Dunno where the Lenny info comes from.

The crash can be reproduced every time.

-- Backtrace:
Application: KGpg (kgpg), signal: Segmentation fault
Using host libthread_db library &quot;/lib/x86_64-linux-gnu/libthread_db.so.1&quot;.
[KCrash Handler]
#6  0x0000000000497c65 in KLineBufferedProcess::readLineStandardOutput (this=0x3ff0000000000000, line=0x7fffd98ae610) at /usr/local/src/kgpg/klinebufferedprocess.cpp:90
#7  0x0000000000496bc1 in GPGProc::readln (this=0x3ff0000000000000, line=..., colons=true) at /usr/local/src/kgpg/gpgproc.cpp:194
#8  0x0000000000449013 in KGpgTransactionPrivate::slotReadReady (this=0x2ea1c30) at /usr/local/src/kgpg/transactions/kgpgtransaction.cpp:115
#9  0x000000000044aa37 in KGpgTransaction::qt_metacall (this=0x2d668a0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fffd98ae810) at /usr/local/src/kgpg/build/kgpgtransaction.moc:92
#10 0x000000000045d3ec in KGpgTextOrFileTransaction::qt_metacall (this=0x2d668a0, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fffd98ae810) at /usr/local/src/kgpg/build/kgpgtextorfiletransaction.moc:67
#11 0x0000000000456c90 in KGpgDecrypt::qt_metacall (this=0x2d668a0, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fffd98ae810) at /usr/local/src/kgpg/build/kgpgdecrypt.moc:64
#12 0x00007fd38beefeba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#13 0x00000000004977a1 in GPGProc::readReady (this=0x2d341c0) at /usr/local/src/kgpg/build/gpgproc.moc:92
#14 0x0000000000496b70 in GPGProc::received (this=0x2d341c0) at /usr/local/src/kgpg/gpgproc.cpp:183
#15 0x000000000049776f in GPGProc::qt_metacall (this=0x2d341c0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fffd98ae930) at /usr/local/src/kgpg/build/gpgproc.moc:81
#16 0x00007fd38beefeba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#17 0x0000000000497fad in KLineBufferedProcess::lineReadyStandardOutput (this=0x2d341c0) at /usr/local/src/kgpg/build/klinebufferedprocess.moc:93
#18 0x0000000000497b88 in KLineBufferedProcessPrivate::_k_receivedStdout (this=0x2d35870) at /usr/local/src/kgpg/klinebufferedprocess.cpp:68
#19 0x0000000000497f69 in KLineBufferedProcess::qt_metacall (this=0x2d341c0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fffd98aea90) at /usr/local/src/kgpg/build/klinebufferedprocess.moc:81
#20 0x0000000000497706 in GPGProc::qt_metacall (this=0x2d341c0, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0x7fffd98aea90) at /usr/local/src/kgpg/build/gpgproc.moc:73
#21 0x00007fd38beefeba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#22 0x00007fd38be8151b in ?? () from /usr/lib/libQtCore.so.4
#23 0x00007fd38be821d9 in QProcess::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#24 0x00007fd38c5b8668 in KProcess::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdecore.so.5
#25 0x0000000000497f0a in KLineBufferedProcess::qt_metacall (this=0x2d341c0, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fffd98aecf0) at /usr/local/src/kgpg/build/klinebufferedprocess.moc:74
#26 0x0000000000497706 in GPGProc::qt_metacall (this=0x2d341c0, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fffd98aecf0) at /usr/local/src/kgpg/build/gpgproc.moc:73
#27 0x00007fd38beefeba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#28 0x00007fd38bf3942e in QSocketNotifier::activated(int) () from /usr/lib/libQtCore.so.4
#29 0x00007fd38bef7b6b in QSocketNotifier::event(QEvent*) () from /usr/lib/libQtCore.so.4
#30 0x00007fd38cb43c64 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#31 0x00007fd38cb48af1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#32 0x00007fd38daccb26 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#33 0x00007fd38bedd28c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#34 0x00007fd38bf07557 in ?? () from /usr/lib/libQtCore.so.4
#35 0x00007fd3883c00cf in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007fd3883c08c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007fd3883c0a99 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007fd38bf07e2f in QEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#39 0x00007fd38cbe7eee in ?? () from /usr/lib/libQtGui.so.4
#40 0x00007fd38bedc492 in QEventLoop::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#41 0x00007fd38bedc68f in QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#42 0x00007fd38bee0837 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#43 0x000000000048f8a5 in main (argc=1, argv=0x7fffd98afa28) at /usr/local/src/kgpg/main.cpp:53

Reported using DrKonqi</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239288</commentid>
    <comment_count>1</comment_count>
    <who name="Rolf Eike Beer">kde</who>
    <bug_when>2012-03-23 16:48:19 +0000</bug_when>
    <thetext>Ok, this would mean the decryption object somehow decided that it can&apos;t continue, but the passprase window is still shown and writes data to the then deleted object.

Please enable transaction debugging:

cd build_dir
cmake -D KGPG_DEBUG_TRANSACTIONS=On . &amp;&amp; make &amp;&amp; ./kgpg

Then paste the debug ouput printed to console here so I can see what the GnuPG process writes and causes the operation to fail. You may of course strip any text of the encrypted message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239294</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas v. Heydwolff">listmail</who>
    <bug_when>2012-03-23 17:06:45 +0000</bug_when>
    <thetext>Hello Eike - while you were posting I wrote
-----------------------------------------------------------------------------------------------
The &quot;Sorry KGpg&quot; error message not only says &quot;Decryption failed&quot; but it has a &quot;Details&quot; element, and when I open it, it says:

[GNUPG:] ENC_TO B2830F08F68118AF 16 0
[GNUPG:] ENC_TO 4D9482F55DCF0DD1 16 0
[GNUPG:] NEED_PASSPHRASE 4D9482F55DCF0DD1 72B1B25BCCAD0A4B 16 0
-----------------------------------------------------------------------------------------------
Thanks anyway, and here is more news - calling kgpg from the CLI brings about this:
$ kgpg
kgpg(32489) GnupgBinary::setBinary: checking version of GnuPG executable &quot;/usr/bin/gpg&quot;
kgpg(32489) GnupgBinary::setBinary: version is &quot;1.4.12&quot; 66572
kgpg(32489) KStatusBar::changeItem: KStatusBar::changeItem: bad item id:  0

$ Enchant dict for &quot;en_US&quot; 0x17a5ab0 
kgpg(32489) Sonnet::Highlighter::slotRehighlight: Highlighter::slotRehighlight()
kgpg(32489) KGpgTransaction::start: KGpgDecrypt(0x1e1d6a0) (&quot;/usr/bin/gpg&quot;, &quot;--no-secmem-warning&quot;, &quot;--no-tty&quot;, &quot;--no-greeting&quot;, &quot;--options&quot;, &quot;/home/avh/.gnupg/gpg.conf&quot;, &quot;--status-fd=1&quot;, &quot;--decrypt&quot;, &quot;--command-fd=0&quot;)
kgpg(32489) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1e1d6a0) &quot;[GNUPG:] ENC_TO B2830F08F68118AF 16 0&quot;
kgpg(32489) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1e1d6a0) &quot;[GNUPG:] ENC_TO 4D9482F55DCF0DD1 16 0&quot;
kgpg(32489) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1e1d6a0) &quot;[GNUPG:] USERID_HINT 4D9482F55DCF0DD1 Andreas von Heydwolff (Ordination) &lt;office@sandpsych.at&gt;&quot;                                                                                                        
kgpg(32489) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1e1d6a0) &quot;[GNUPG:] NEED_PASSPHRASE 4D9482F55DCF0DD1 72B1B25BCCAD0A4B 16 0&quot;                                                                                                                                       
kgpg(32489) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1e1d6a0) &quot;[GNUPG:] GET_HIDDEN passphrase.enter&quot;
KCrash: Application &apos;kgpg&apos; crashing...                                                                                                   
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit                                                                   
sock_file=/home/avh/.kde/socket-buche/kdeinit4__12  

-----------------------------------------------------------------------------------------------
And Dr. Konqi says:

Application: KGpg (kgpg), signal: Segmentation fault
Using host libthread_db library &quot;/lib/x86_64-linux-gnu/libthread_db.so.1&quot;.
[KCrash Handler]
#6  0x0000000000497f8d in KLineBufferedProcess::readLineStandardOutput (this=0x3ff0000000000000, line=0x7fff31576140) at /usr/local/src/kgpg/klinebufferedprocess.cpp:90
#7  0x0000000000496ee9 in GPGProc::readln (this=0x3ff0000000000000, line=..., colons=true) at /usr/local/src/kgpg/gpgproc.cpp:194
#8  0x000000000044914e in KGpgTransactionPrivate::slotReadReady (this=0x2d2e7f0) at /usr/local/src/kgpg/transactions/kgpgtransaction.cpp:115
#9  0x000000000044ad0f in KGpgTransaction::qt_metacall (this=0x2d7c2c0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff31576380) at /usr/local/src/kgpg/build/kgpgtransaction.moc:92
#10 0x000000000045d714 in KGpgTextOrFileTransaction::qt_metacall (this=0x2d7c2c0, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fff31576380) at /usr/local/src/kgpg/build/kgpgtextorfiletransaction.moc:67
#11 0x0000000000456fb8 in KGpgDecrypt::qt_metacall (this=0x2d7c2c0, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fff31576380) at /usr/local/src/kgpg/build/kgpgdecrypt.moc:64
#12 0x00007f6b2e9d5eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#13 0x0000000000497ac9 in GPGProc::readReady (this=0x2ef0f30) at /usr/local/src/kgpg/build/gpgproc.moc:92
#14 0x0000000000496e98 in GPGProc::received (this=0x2ef0f30) at /usr/local/src/kgpg/gpgproc.cpp:183
#15 0x0000000000497a97 in GPGProc::qt_metacall (this=0x2ef0f30, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff315764a0) at /usr/local/src/kgpg/build/gpgproc.moc:81
#16 0x00007f6b2e9d5eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#17 0x00000000004982d5 in KLineBufferedProcess::lineReadyStandardOutput (this=0x2ef0f30) at /usr/local/src/kgpg/build/klinebufferedprocess.moc:93
#18 0x0000000000497eb0 in KLineBufferedProcessPrivate::_k_receivedStdout (this=0x2ed4000) at /usr/local/src/kgpg/klinebufferedprocess.cpp:68
#19 0x0000000000498291 in KLineBufferedProcess::qt_metacall (this=0x2ef0f30, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fff31576600) at /usr/local/src/kgpg/build/klinebufferedprocess.moc:81
#20 0x0000000000497a2e in GPGProc::qt_metacall (this=0x2ef0f30, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0x7fff31576600) at /usr/local/src/kgpg/build/gpgproc.moc:73
#21 0x00007f6b2e9d5eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#22 0x00007f6b2e96751b in ?? () from /usr/lib/libQtCore.so.4
#23 0x00007f6b2e9681d9 in QProcess::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#24 0x00007f6b2f09e668 in KProcess::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdecore.so.5
#25 0x0000000000498232 in KLineBufferedProcess::qt_metacall (this=0x2ef0f30, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fff31576860) at /usr/local/src/kgpg/build/klinebufferedprocess.moc:74
#26 0x0000000000497a2e in GPGProc::qt_metacall (this=0x2ef0f30, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fff31576860) at /usr/local/src/kgpg/build/gpgproc.moc:73
#27 0x00007f6b2e9d5eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#28 0x00007f6b2ea1f42e in QSocketNotifier::activated(int) () from /usr/lib/libQtCore.so.4
#29 0x00007f6b2e9ddb6b in QSocketNotifier::event(QEvent*) () from /usr/lib/libQtCore.so.4
#30 0x00007f6b2f629c64 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#31 0x00007f6b2f62eaf1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#32 0x00007f6b305b2b26 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#33 0x00007f6b2e9c328c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#34 0x00007f6b2e9ed557 in ?? () from /usr/lib/libQtCore.so.4
#35 0x00007f6b2aea60cf in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007f6b2aea68c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f6b2aea6a99 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f6b2e9ede2f in QEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#39 0x00007f6b2f6cdeee in ?? () from /usr/lib/libQtGui.so.4
#40 0x00007f6b2e9c2492 in QEventLoop::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#41 0x00007f6b2e9c268f in QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#42 0x00007f6b2e9c6837 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#43 0x000000000048fbcd in main (argc=1, argv=0x7fff31577598) at /usr/local/src/kgpg/main.cpp:53</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239303</commentid>
    <comment_count>3</comment_count>
    <who name="Rolf Eike Beer">kde</who>
    <bug_when>2012-03-23 18:03:00 +0000</bug_when>
    <thetext>Please open the file transactions/kgpgtransaction.cpp and put some of these statements in there:

kDebug(2100) &lt;&lt; __LINE__ &lt;&lt; m_passphraseAction;

The interesting place is the block beginning in line 126 (... GET_HIDDEN passphrase.enter) and the function askPassphrase() beginning in line 448. In the latter function you must write d-&gt;m_passphraseAction instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239306</commentid>
    <comment_count>4</comment_count>
    <who name="Andreas v. Heydwolff">listmail</who>
    <bug_when>2012-03-23 18:21:25 +0000</bug_when>
    <thetext>Changes in transactions/kgpgtransaction.cpp:
## around line 128 ##
                        m_success = KGpgTransaction::TS_BAD_PASSPHRASE;
                } else if (line.startsWith(QLatin1String(&quot;[GNUPG:] GET_HIDDEN passphrase.enter&quot;))) {
kDebug(2100) &lt;&lt; __LINE__ &lt;&lt; m_passphraseAction;
                        m_passphraseAction = m_parent-&gt;passphraseRequested();
                        switch (m_passphraseAction) {

## around line 449 ##
KGpgTransaction::askPassphrase(const QString &amp;message)
{
kDebug(2100) &lt;&lt; __LINE__ &lt;&lt; d-&gt;m_passphraseAction;
        if (d-&gt;m_passphraseAction == PA_USER_ABORTED)
                return false;

---- Result ------------------------------------------------------------------------------------
$ Enchant dict for &quot;en_US&quot; 0x1322260 
kgpg(29740) Sonnet::Highlighter::slotRehighlight: Highlighter::slotRehighlight()
kgpg(29740) KGpgTransaction::start: KGpgDecrypt(0x1830820) (&quot;/usr/bin/gpg&quot;, &quot;--no-secmem-warning&quot;, &quot;--no-tty&quot;, &quot;--no-greeting&quot;, &quot;--options&quot;, &quot;/home/avh/.gnupg/gpg.conf&quot;, &quot;--status-fd=1&quot;, &quot;--decrypt&quot;, &quot;--command-fd=0&quot;)
kgpg(29740) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1830820) &quot;[GNUPG:] ENC_TO B2830F08F68118AF 16 0&quot;
kgpg(29740) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1830820) &quot;[GNUPG:] ENC_TO 4D9482F55DCF0DD1 16 0&quot;
kgpg(29740) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1830820) &quot;[GNUPG:] USERID_HINT 4D9482F55DCF0DD1 [KEY INFO HERE]&quot;
kgpg(29740) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1830820) &quot;[GNUPG:] NEED_PASSPHRASE 4D9482F55DCF0DD1 72B1B25BCCAD0A4B 16 0&quot;
kgpg(29740) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1830820) &quot;[GNUPG:] GET_HIDDEN passphrase.enter&quot;
kgpg(29740) KGpgTransactionPrivate::slotReadReady: 127 0
kgpg(29740) KGpgTransaction::askPassphrase: 452 0
KCrash: Application &apos;kgpg&apos; crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/avh/.kde/socket-buche/kdeinit4__12</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239323</commentid>
    <comment_count>5</comment_count>
    <who name="Rolf Eike Beer">kde</who>
    <bug_when>2012-03-23 20:40:23 +0000</bug_when>
    <thetext>Ok, that looks pretty ok. Please move the first one 1 line down, the second one can be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239324</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas v. Heydwolff">listmail</who>
    <bug_when>2012-03-23 20:49:34 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; Ok, that looks pretty ok. Please move the first one 1 line down, the second
&gt; one can be removed.

---- Result (snippet) ----
kgpg(20518) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x1cb5200) &quot;[GNUPG:] GET_HIDDEN passphrase.enter&quot;
kgpg(20518) KGpgTransactionPrivate::slotReadReady: 128 1
KCrash: Application &apos;kgpg&apos; crashing...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239875</commentid>
    <comment_count>7</comment_count>
    <who name="Rolf Eike Beer">kde</who>
    <bug_when>2012-03-25 22:20:56 +0000</bug_when>
    <thetext>Ok, I think that there are 2 things going wrong here. One is that the transactions fails, likely because the GnuPG process closes. Even if this is the root cause of all this, it will not get fixed right now because I have no idea what&apos;s going on there.

The other problem (and the one that leads to the crash) is that the objects get deleted while still in use. Please test if the attached patch make the crash go away. It will still tell you that the decryption fails, but it should not crash anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239876</commentid>
    <comment_count>8</comment_count>
      <attachid>69894</attachid>
    <who name="Rolf Eike Beer">kde</who>
    <bug_when>2012-03-25 22:21:55 +0000</bug_when>
    <thetext>Created attachment 69894
use QWeakPointer to track the process object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240245</commentid>
    <comment_count>9</comment_count>
      <attachid>69927</attachid>
    <who name="Rolf Eike Beer">kde</who>
    <bug_when>2012-03-27 08:07:17 +0000</bug_when>
    <thetext>Created attachment 69927
track object deletion while GnuPG transactions are running</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240247</commentid>
    <comment_count>10</comment_count>
    <who name="Andreas v. Heydwolff">listmail</who>
    <bug_when>2012-03-27 08:15:25 +0000</bug_when>
    <thetext>Result is now:
kgpg(1042) KGpgTransaction::start: KGpgDecrypt(0x135c5b0) (&quot;/usr/bin/gpg&quot;, &quot;--no-secmem-warning&quot;, &quot;--no-tty&quot;, &quot;--no-greeting&quot;, &quot;--options&quot;, &quot;/home/avh/.gnupg/gpg.conf&quot;, &quot;--status-fd=1&quot;, &quot;--decrypt&quot;, &quot;--command-fd=0&quot;)
kgpg(1042) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x135c5b0) &quot;[GNUPG:] ENC_TO B2830F08F68118AF 16 0&quot;
kgpg(1042) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x135c5b0) &quot;[GNUPG:] ENC_TO 4D9482F55DCF0DD1 16 0&quot;
kgpg(1042) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x135c5b0) &quot;[GNUPG:] USERID_HINT 4D9482F55DCF0DD1 [Key Name and ID here]&quot;
kgpg(1042) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x135c5b0) &quot;[GNUPG:] NEED_PASSPHRASE 4D9482F55DCF0DD1 72B1B25BCCAD0A4B 16 0&quot;
kgpg(1042) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x135c5b0) &quot;[GNUPG:] GET_HIDDEN passphrase.enter&quot;
kgpg(1042) KGpgTransactionPrivate::slotReadReady: 130 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240258</commentid>
    <comment_count>11</comment_count>
    <who name="Rolf Eike Beer">kde</who>
    <bug_when>2012-03-27 09:19:06 +0000</bug_when>
    <thetext>Sure, the kDebug() has moved 2 lines down. But is the crash gone?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240261</commentid>
    <comment_count>12</comment_count>
    <who name="Andreas v. Heydwolff">listmail</who>
    <bug_when>2012-03-27 09:21:47 +0000</bug_when>
    <thetext>Sorry for not mentioning it - yes, I click the error message away, enter the passphrase, nothing happens but alas, the window stays in place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240273</commentid>
    <comment_count>13</comment_count>
      <attachid>69930</attachid>
    <who name="Rolf Eike Beer">kde</who>
    <bug_when>2012-03-27 09:51:26 +0000</bug_when>
    <thetext>Created attachment 69930
track object deletion while GnuPG transactions are running (v2)

Thanks for your work. Please get rid of the previous patch and try this one instead. This should also immediately close the password dialog once you get the failure message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240284</commentid>
    <comment_count>14</comment_count>
    <who name="Andreas v. Heydwolff">listmail</who>
    <bug_when>2012-03-27 11:02:01 +0000</bug_when>
    <thetext>Thanks. This is now the output after applying the latest patch. When I clicked &quot;Decrypt&quot; (with a sample encrypted message in the editor window) for the first time it seemed that only the error message appeared but maybe I only missed what I saw the second time I clicked &quot;Decrypt&quot;: Now both windows appeared: The error message and behind it the Enter Passphrase dialog. When I clicked OK in the error message window on top of the passphrase dialog window both windows disappear and the editor window does not crash but remains open. Here goes:

kgpg(14903) Sonnet::Highlighter::slotRehighlight: Highlighter::slotRehighlight()
kgpg(14903) KGpgTransaction::start: KGpgDecrypt(0x7ffa8c189330) (&quot;/usr/bin/gpg&quot;, &quot;--no-secmem-warning&quot;, &quot;--no-tty&quot;, &quot;--no-greeting&quot;, &quot;--options&quot;, &quot;/home/avh/.gnupg/gpg.conf&quot;, &quot;--status-fd=1&quot;, &quot;--decrypt&quot;, &quot;--command-fd=0&quot;)
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] ENC_TO B2830F08F68118AF 16 0&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] ENC_TO 4D9482F55DCF0DD1 16 0&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] USERID_HINT 4D9482F55DCF0DD1 [KEY INFO HERE]&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] NEED_PASSPHRASE 4D9482F55DCF0DD1 72B1B25BCCAD0A4B 16 0&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] GET_HIDDEN passphrase.enter&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] GOT_IT&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] BAD_PASSPHRASE 4D9482F55DCF0DD1&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] USERID_HINT 4D9482F55DCF0DD1 Andreas von Heydwolff (Ordination) &lt;office@sandpsych.at&gt;&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] NEED_PASSPHRASE 4D9482F55DCF0DD1 72B1B25BCCAD0A4B 16 0&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] GET_HIDDEN passphrase.enter&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] GOT_IT&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] BAD_PASSPHRASE 4D9482F55DCF0DD1&quot; &lt;-- of course, I did not enter anything!
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] USERID_HINT 4D9482F55DCF0DD1 [KEY INFO]&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] NEED_PASSPHRASE 4D9482F55DCF0DD1 72B1B25BCCAD0A4B 16 0&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] GET_HIDDEN passphrase.enter&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] GOT_IT&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] BAD_PASSPHRASE 4D9482F55DCF0DD1&quot;  &lt;-- same thing again, I guess
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] ERROR pkdecrypt_failed 11&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] NO_SECKEY B2830F08F68118AF&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] BEGIN_DECRYPTION&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] DECRYPTION_FAILED&quot;
kgpg(14903) KGpgTransactionPrivate::slotReadReady: KGpgDecrypt(0x7ffa8c189330) &quot;[GNUPG:] END_DECRYPTION&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240305</commentid>
    <comment_count>15</comment_count>
    <who name="Rolf Eike Beer">kde</who>
    <bug_when>2012-03-27 12:31:39 +0000</bug_when>
    <thetext>Git commit 2de8490d527d47d4fa4d8e643aefba5e842d2826 by Rolf Eike Beer.
Committed on 27/03/2012 at 10:01.
Pushed by dakon into branch &apos;KDE/4.8&apos;.

track object deletion while GnuPG transactions are running

The process may quit and cause the object to get deleted while we are e.g.
waiting for a password input. Check if the object is still alive before reading
the next input.

If we detect the process to go away also close the password dialog as it can&apos;t
do anything useful then anymore.
FIXED-IN:4.8.2

M  +4    -0    kgpginterface.cpp
M  +20   -7    transactions/kgpgtransaction.cpp

http://commits.kde.org/kgpg/2de8490d527d47d4fa4d8e643aefba5e842d2826</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69894</attachid>
            <date>2012-03-25 22:21:55 +0000</date>
            <delta_ts>2012-03-27 08:07:17 +0000</delta_ts>
            <desc>use QWeakPointer to track the process object</desc>
            <filename>transaction-weakptr.diff</filename>
            <type>text/plain</type>
            <size>9676</size>
            <attacher name="Rolf Eike Beer">kde</attacher>
            
              <data encoding="base64">G1sxbWRpZmYgLS1naXQgYS90cmFuc2FjdGlvbnMva2dwZ3RyYW5zYWN0aW9uLmNwcCBiL3RyYW5z
YWN0aW9ucy9rZ3BndHJhbnNhY3Rpb24uY3BwG1ttChtbMW1pbmRleCBhYzBlMTMyLi5iMjNiNWY4
IDEwMDY0NBtbbQobWzFtLS0tIGEvdHJhbnNhY3Rpb25zL2tncGd0cmFuc2FjdGlvbi5jcHAbW20K
G1sxbSsrKyBiL3RyYW5zYWN0aW9ucy9rZ3BndHJhbnNhY3Rpb24uY3BwG1ttChtbMzZtQEAgLTI5
LDcgKzI5LDcgQEAbW20gG1ttcHVibGljOhtbbQogCX5LR3BnVHJhbnNhY3Rpb25Qcml2YXRlKCk7
G1ttCiAbW20KIAlLR3BnVHJhbnNhY3Rpb24gKm1fcGFyZW50OxtbbQobWzMxbS0JR1BHUHJvYyAq
bV9wcm9jZXNzOxtbbQobWzMybSsbW20JG1szMm1RV2Vha1BvaW50ZXI8R1BHUHJvYz4gbV9wcm9j
ZXNzOxtbbQogCUtHcGdUcmFuc2FjdGlvbiAqbV9pbnB1dFRyYW5zYWN0aW9uOxtbbQogCUtOZXdQ
YXNzd29yZERpYWxvZyAqbV9wYXNzd29yZERpYWxvZzsbW20KIAlpbnQgbV9zdWNjZXNzOxtbbQob
WzM2bUBAIC02OSw3ICs2OSw3IEBAG1ttIBtbbXByaXZhdGU6G1ttCiBLR3BnVHJhbnNhY3Rpb25Q
cml2YXRlOjpLR3BnVHJhbnNhY3Rpb25Qcml2YXRlKEtHcGdUcmFuc2FjdGlvbiAqcGFyZW50LCBi
b29sIGFsbG93Q2hhaW5pbmcpG1ttCiAJOiBRT2JqZWN0KHBhcmVudCksG1ttCiAJbV9wYXJlbnQo
cGFyZW50KSwbW20KG1szMW0tCW1fcHJvY2VzcyhuZXcgR1BHUHJvYygpKSwbW20KG1szMm0rG1tt
CRtbMzJtbV9wcm9jZXNzKG5ldyBHUEdQcm9jKHBhcmVudCkpLBtbbQogCW1faW5wdXRUcmFuc2Fj
dGlvbihOVUxMKSwbW20KIAltX3Bhc3N3b3JkRGlhbG9nKE5VTEwpLBtbbQogCW1fc3VjY2VzcyhL
R3BnVHJhbnNhY3Rpb246OlRTX09LKSwbW20KG1szNm1AQCAtOTAsMTYgKzkwLDE1IEBAG1ttIBtb
bUtHcGdUcmFuc2FjdGlvblByaXZhdGU6On5LR3BnVHJhbnNhY3Rpb25Qcml2YXRlKCkbW20KIAkJ
bV9wYXNzd29yZERpYWxvZy0+ZGVsZXRlTGF0ZXIoKTsbW20KIAl9G1ttCiAJZGVsZXRlIG1faW5w
dXRUcmFuc2FjdGlvbjsbW20KG1szMW0tCWRlbGV0ZSBtX3Byb2Nlc3M7G1ttCiB9G1ttCiAbW20K
IEtHcGdUcmFuc2FjdGlvbjo6S0dwZ1RyYW5zYWN0aW9uKFFPYmplY3QgKnBhcmVudCwgY29uc3Qg
Ym9vbCBhbGxvd0NoYWluaW5nKRtbbQogCTogUU9iamVjdChwYXJlbnQpLBtbbQogCWQobmV3IEtH
cGdUcmFuc2FjdGlvblByaXZhdGUodGhpcywgYWxsb3dDaGFpbmluZykpG1ttCiB7G1ttChtbMzFt
LQljb25uZWN0KGQtPm1fcHJvY2VzcywgU0lHTkFMKHJlYWRSZWFkeSgpKSwgU0xPVChzbG90UmVh
ZFJlYWR5KCkpKTsbW20KG1szMW0tCWNvbm5lY3QoZC0+bV9wcm9jZXNzLCBTSUdOQUwocHJvY2Vz
c0V4aXRlZCgpKSwgU0xPVChzbG90UHJvY2Vzc0V4aXRlZCgpKSk7G1ttChtbMzFtLQljb25uZWN0
KGQtPm1fcHJvY2VzcywgU0lHTkFMKHN0YXJ0ZWQoKSksIFNMT1Qoc2xvdFByb2Nlc3NTdGFydGVk
KCkpKTsbW20KG1szMm0rG1ttCRtbMzJtY29ubmVjdChkLT5tX3Byb2Nlc3MuZGF0YSgpLCBTSUdO
QUwocmVhZFJlYWR5KCkpLCBTTE9UKHNsb3RSZWFkUmVhZHkoKSkpOxtbbQobWzMybSsbW20JG1sz
Mm1jb25uZWN0KGQtPm1fcHJvY2Vzcy5kYXRhKCksIFNJR05BTChwcm9jZXNzRXhpdGVkKCkpLCBT
TE9UKHNsb3RQcm9jZXNzRXhpdGVkKCkpKTsbW20KG1szMm0rG1ttCRtbMzJtY29ubmVjdChkLT5t
X3Byb2Nlc3MuZGF0YSgpLCBTSUdOQUwoc3RhcnRlZCgpKSwgU0xPVChzbG90UHJvY2Vzc1N0YXJ0
ZWQoKSkpOxtbbQogfRtbbQogG1ttCiBLR3BnVHJhbnNhY3Rpb246On5LR3BnVHJhbnNhY3Rpb24o
KRtbbQobWzM2bUBAIC0xMTIsNyArMTExLDcgQEAbW20gG1ttS0dwZ1RyYW5zYWN0aW9uUHJpdmF0
ZTo6c2xvdFJlYWRSZWFkeSgpG1ttCiB7G1ttCiAJUVN0cmluZyBsaW5lOxtbbQogG1ttChtbMzFt
LQl3aGlsZSAobV9wcm9jZXNzLT5yZWFkbG4obGluZSwgdHJ1ZSkgPj0gMCkgextbbQobWzMybSsb
W20JG1szMm13aGlsZSAoIW1fcHJvY2Vzcy5pc051bGwoKSAmJiBtX3Byb2Nlc3MuZGF0YSgpLT5y
ZWFkbG4obGluZSwgdHJ1ZSkgPj0gMCkgextbbQogCQlpZiAobV9xdWl0VHJpZXMpG1ttCiAJCQlt
X3F1aXRMaW5lcyA8PCBsaW5lOxtbbQogI2lmZGVmIEtHUEdfREVCVUdfVFJBTlNBQ1RJT05TG1tt
ChtbMzZtQEAgLTEyOSw3ICsxMjgsNyBAQBtbbSAbW21LR3BnVHJhbnNhY3Rpb25Qcml2YXRlOjpz
bG90UmVhZFJlYWR5KCkbW20KIAkJCWNhc2UgS0dwZ1RyYW5zYWN0aW9uOjpQQV9VU0VSX0FCT1JU
RUQ6G1ttCiAJCQkJbV9wYXJlbnQtPnNldFN1Y2Nlc3MoS0dwZ1RyYW5zYWN0aW9uOjpUU19VU0VS
X0FCT1JURUQpOxtbbQogCQkJCS8vIHNlbmRpbmcgInF1aXQiIGhlcmUgaXMgdXNlbGVzcyBhcyBp
dCB3b3VsZCBiZSBpbnRlcnByZXRlZCBhcyB0aGUgcGFzc3BocmFzZRtbbQobWzMxbS0JCQkJbV9w
cm9jZXNzLT5jbG9zZVdyaXRlQ2hhbm5lbCgpOxtbbQobWzMybSsbW20JCQkJG1szMm1tX3Byb2Nl
c3MuZGF0YSgpLT5jbG9zZVdyaXRlQ2hhbm5lbCgpOxtbbQogCQkJCWJyZWFrOxtbbQogCQkJZGVm
YXVsdDobW20KIAkJCQlicmVhazsbW20KG1szNm1AQCAtMTM4LDcgKzEzNyw3IEBAG1ttIBtbbUtH
cGdUcmFuc2FjdGlvblByaXZhdGU6OnNsb3RSZWFkUmVhZHkoKRtbbQogCQkJCWxpbmUuc3RhcnRz
V2l0aChRTGF0aW4xU3RyaW5nKCJbR05VUEc6XSBHT09EX1BBU1NQSFJBU0UiKSkpIHsbW20KIAkJ
CS8vIHNpZ25hbCBHbnVQRyB0aGF0IHRoZXJlIHdpbGwgYmUgbm8gZnVydGhlciBpbnB1dCBhbmQg
aXQgY2FuG1ttCiAJCQkvLyBiZWdpbiBzZW5kaW5nIG91dHB1dC4bW20KG1szMW0tCQkJbV9wcm9j
ZXNzLT5jbG9zZVdyaXRlQ2hhbm5lbCgpOxtbbQobWzMybSsbW20JCQkbWzMybW1fcHJvY2Vzcy5k
YXRhKCktPmNsb3NlV3JpdGVDaGFubmVsKCk7G1ttCiAJCX0gZWxzZSBpZiAobGluZS5zdGFydHNX
aXRoKFFMYXRpbjFTdHJpbmcoIltHTlVQRzpdIEdFVF9CT09MICIpKSkgextbbQogCQkJc3dpdGNo
IChtX3BhcmVudC0+Ym9vbFF1ZXN0aW9uKGxpbmUubWlkKDE4KSkpIHsbW20KIAkJCWNhc2UgS0dw
Z1RyYW5zYWN0aW9uOjpCQV9ZRVM6G1ttChtbMzZtQEAgLTE2Myw3ICsxNjIsNyBAQBtbbSAbW21L
R3BnVHJhbnNhY3Rpb25Qcml2YXRlOjpzbG90UmVhZFJlYWR5KCkbW20KIHZvaWQbW20KIEtHcGdU
cmFuc2FjdGlvblByaXZhdGU6OnNsb3RQcm9jZXNzRXhpdGVkKCkbW20KIHsbW20KG1szMW0tCVFf
QVNTRVJUKG1fcGFyZW50LT5zZW5kZXIoKSA9PSBtX3Byb2Nlc3MpOxtbbQobWzMybSsbW20JG1sz
Mm1RX0FTU0VSVChtX3BhcmVudC0+c2VuZGVyKCkgPT0gbV9wcm9jZXNzLmRhdGEoKSk7G1ttCiAJ
bV9vd25Qcm9jZXNzRmluaXNoZWQgPSB0cnVlOxtbbQogG1ttCiAJaWYgKG1faW5wdXRQcm9jZXNz
RG9uZSkbW20KG1szNm1AQCAtMTg1LDcgKzE4NCw3IEBAG1ttIBtbbUtHcGdUcmFuc2FjdGlvblBy
aXZhdGU6OnNlbmRRdWl0KHZvaWQpG1ttCiAJCWtEZWJ1ZygyMTAwKSA8PCAidHJpZWQiIDw8IG1f
cXVpdFRyaWVzIDw8ICJ0aW1lcyB0byBxdWl0IHRoZSBHbnVQRyBzZXNzaW9uIjsbW20KIAkJa0Rl
YnVnKDIxMDApIDw8ICJsYXN0IGlucHV0IHdhcyIgPDwgbV9xdWl0TGluZXM7G1ttCiAJCWtEZWJ1
ZygyMTAwKSA8PCAicGxlYXNlIGZpbGUgYSBidWcgcmVwb3J0IGF0IGh0dHBzOi8vYnVncy5rZGUu
b3JnIjsbW20KG1szMW0tCQltX3Byb2Nlc3MtPmNsb3NlV3JpdGVDaGFubmVsKCk7G1ttChtbMzJt
KxtbbQkJG1szMm1tX3Byb2Nlc3MuZGF0YSgpLT5jbG9zZVdyaXRlQ2hhbm5lbCgpOxtbbQogCQlt
X3N1Y2Nlc3MgPSBLR3BnVHJhbnNhY3Rpb246OlRTX01TR19TRVFVRU5DRTsbW20KIAl9G1ttCiB9
G1ttChtbMzZtQEAgLTIwNyw3ICsyMDYsNyBAQBtbbSAbW21LR3BnVHJhbnNhY3Rpb25Qcml2YXRl
OjpzbG90UGFzc3dvcmRFbnRlcmVkKGNvbnN0IFFTdHJpbmcgJnBhc3N3b3JkKRtbbQogextbbQog
CXNlbmRlcigpLT5kZWxldGVMYXRlcigpOxtbbQogCW1fcGFzc3dvcmREaWFsb2cgPSBOVUxMOxtb
bQobWzMxbS0JbV9wcm9jZXNzLT53cml0ZShwYXNzd29yZC50b1V0ZjgoKSArICdcbicpOxtbbQob
WzMybSsbW20JG1szMm1tX3Byb2Nlc3MuZGF0YSgpLT53cml0ZShwYXNzd29yZC50b1V0ZjgoKSAr
ICdcbicpOxtbbQogCW1fcGFyZW50LT5uZXdQYXNzd29yZEVudGVyZWQoKTsbW20KIH0bW20KIBtb
bQobWzM2bUBAIC0yMTYsMTQgKzIxNSwxNCBAQBtbbSAbW21LR3BnVHJhbnNhY3Rpb25Qcml2YXRl
OjpzbG90UGFzc3dvcmRBYm9ydGVkKCkbW20KIHsbW20KIAlzZW5kZXIoKS0+ZGVsZXRlTGF0ZXIo
KTsbW20KIAltX3Bhc3N3b3JkRGlhbG9nID0gTlVMTDsbW20KG1szMW0tCW1fcHJvY2Vzcy0+Y2xv
c2VXcml0ZUNoYW5uZWwoKTsbW20KG1szMm0rG1ttCRtbMzJtbV9wcm9jZXNzLmRhdGEoKS0+Y2xv
c2VXcml0ZUNoYW5uZWwoKTsbW20KIAltX3N1Y2Nlc3MgPSBLR3BnVHJhbnNhY3Rpb246OlRTX1VT
RVJfQUJPUlRFRDsbW20KIH0bW20KIBtbbQogdm9pZBtbbQogS0dwZ1RyYW5zYWN0aW9uUHJpdmF0
ZTo6d3JpdGUoY29uc3QgUUJ5dGVBcnJheSAmYSkbW20KIHsbW20KG1szMW0tCW1fcHJvY2Vzcy0+
d3JpdGUoYSk7G1ttChtbMzJtKxtbbQkbWzMybW1fcHJvY2Vzcy5kYXRhKCktPndyaXRlKGEpOxtb
bQogI2lmZGVmIEtHUEdfREVCVUdfVFJBTlNBQ1RJT05TG1ttCiAJa0RlYnVnKDIxMDApIDw8IG1f
cGFyZW50IDw8IGE7G1ttCiAjZW5kaWYgLyogS0dQR19ERUJVR19UUkFOU0FDVElPTlMgKi8bW20K
G1szNm1AQCAtMjUxLDkgKzI1MCw5IEBAG1ttIBtbbUtHcGdUcmFuc2FjdGlvbjo6c3RhcnQoKRtb
bQogCQlpZiAoZC0+bV9pbnB1dFRyYW5zYWN0aW9uICE9IE5VTEwpG1ttCiAJCQlkLT5tX2lucHV0
VHJhbnNhY3Rpb24tPnN0YXJ0KCk7G1ttCiAjaWZkZWYgS0dQR19ERUJVR19UUkFOU0FDVElPTlMb
W20KG1szMW0tCQlrRGVidWcoMjEwMCkgPDwgdGhpcyA8PCBkLT5tX3Byb2Nlc3MtPnByb2dyYW0o
KTsbW20KG1szMm0rG1ttCQkbWzMybWtEZWJ1ZygyMTAwKSA8PCB0aGlzIDw8IGQtPm1fcHJvY2Vz
cy5kYXRhKCktPnByb2dyYW0oKTsbW20KICNlbmRpZiAvKiBLR1BHX0RFQlVHX1RSQU5TQUNUSU9O
UyAqLxtbbQobWzMxbS0JCWQtPm1fcHJvY2Vzcy0+c3RhcnQoKTsbW20KG1szMm0rG1ttCQkbWzMy
bWQtPm1fcHJvY2Vzcy5kYXRhKCktPnN0YXJ0KCk7G1ttCiAJCWVtaXQgaW5mb1Byb2dyZXNzKDAs
IDEpOxtbbQogCX0gZWxzZSB7G1ttCiAJCWVtaXQgZG9uZShkLT5tX3N1Y2Nlc3MpOxtbbQobWzM2
bUBAIC0zMzMsNyArMzMyLDcgQEAbW20gG1ttS0dwZ1RyYW5zYWN0aW9uOjp3YWl0Rm9ySW5wdXRU
cmFuc2FjdGlvbigpG1ttCiB2b2lkG1ttCiBLR3BnVHJhbnNhY3Rpb246OnVuZXhwZWN0ZWRMaW5l
KGNvbnN0IFFTdHJpbmcgJmxpbmUpG1ttCiB7G1ttChtbMzFtLQlrRGVidWcoMjEwMCkgPDwgdGhp
cyA8PCAidW5leHBlY3RlZCBpbnB1dCBsaW5lIiA8PCBsaW5lIDw8ICJmb3IgY29tbWFuZCIgPDwg
ZC0+bV9wcm9jZXNzLT5wcm9ncmFtKCk7G1ttChtbMzJtKxtbbQkbWzMybWtEZWJ1ZygyMTAwKSA8
PCB0aGlzIDw8ICJ1bmV4cGVjdGVkIGlucHV0IGxpbmUiIDw8IGxpbmUgPDwgImZvciBjb21tYW5k
IiA8PCBkLT5tX3Byb2Nlc3MuZGF0YSgpLT5wcm9ncmFtKCk7G1ttCiB9G1ttCiAbW20KIEtHcGdU
cmFuc2FjdGlvbjo6dHNfcGFzc3BocmFzZV9hY3Rpb25zG1ttChtbMzZtQEAgLTM4MCwxNSArMzc5
LDE1IEBAG1ttIBtbbUtHcGdUcmFuc2FjdGlvbjo6Z2V0SWRIaW50cygpIGNvbnN0G1ttCiBHUEdQ
cm9jICobW20KIEtHcGdUcmFuc2FjdGlvbjo6Z2V0UHJvY2VzcygpG1ttCiB7G1ttChtbMzFtLQly
ZXR1cm4gZC0+bV9wcm9jZXNzOxtbbQobWzMybSsbW20JG1szMm1yZXR1cm4gZC0+bV9wcm9jZXNz
LmRhdGEoKTsbW20KIH0bW20KIBtbbQogaW50G1ttCiBLR3BnVHJhbnNhY3Rpb246OmFkZEFyZ3Vt
ZW50KGNvbnN0IFFTdHJpbmcgJmFyZykbW20KIHsbW20KG1szMW0tCWludCByID0gZC0+bV9wcm9j
ZXNzLT5wcm9ncmFtKCkuY291bnQoKTsbW20KG1szMm0rG1ttCRtbMzJtaW50IHIgPSBkLT5tX3By
b2Nlc3MuZGF0YSgpLT5wcm9ncmFtKCkuY291bnQoKTsbW20KIBtbbQobWzMxbS0JKmQtPm1fcHJv
Y2VzcyA8PCBhcmc7G1ttChtbMzJtKxtbbQkbWzMybSpkLT5tX3Byb2Nlc3MuZGF0YSgpIDw8IGFy
ZzsbW20KIBtbbQogCXJldHVybiByOxtbbQogfRtbbQobWzM2bUBAIC0zOTYsOSArMzk1LDkgQEAb
W20gG1ttS0dwZ1RyYW5zYWN0aW9uOjphZGRBcmd1bWVudChjb25zdCBRU3RyaW5nICZhcmcpG1tt
CiBpbnQbW20KIEtHcGdUcmFuc2FjdGlvbjo6YWRkQXJndW1lbnRzKGNvbnN0IFFTdHJpbmdMaXN0
ICZhcmdzKRtbbQogextbbQobWzMxbS0JaW50IHIgPSBkLT5tX3Byb2Nlc3MtPnByb2dyYW0oKS5j
b3VudCgpOxtbbQobWzMybSsbW20JG1szMm1pbnQgciA9IGQtPm1fcHJvY2Vzcy5kYXRhKCktPnBy
b2dyYW0oKS5jb3VudCgpOxtbbQogG1ttChtbMzFtLQkqZC0+bV9wcm9jZXNzIDw8IGFyZ3M7G1tt
ChtbMzJtKxtbbQkbWzMybSpkLT5tX3Byb2Nlc3MuZGF0YSgpIDw8IGFyZ3M7G1ttCiAbW20KIAly
ZXR1cm4gcjsbW20KIH0bW20KG1szNm1AQCAtNDA2LDEyICs0MDUsMTIgQEAbW20gG1ttS0dwZ1Ry
YW5zYWN0aW9uOjphZGRBcmd1bWVudHMoY29uc3QgUVN0cmluZ0xpc3QgJmFyZ3MpG1ttCiB2b2lk
G1ttCiBLR3BnVHJhbnNhY3Rpb246OnJlcGxhY2VBcmd1bWVudChjb25zdCBpbnQgcG9zLCBjb25z
dCBRU3RyaW5nICZhcmcpG1ttCiB7G1ttChtbMzFtLQlRU3RyaW5nTGlzdCBhcmdzKGQtPm1fcHJv
Y2Vzcy0+cHJvZ3JhbSgpKTsbW20KG1szMW0tCWQtPm1fcHJvY2Vzcy0+Y2xlYXJQcm9ncmFtKCk7
G1ttChtbMzJtKxtbbQkbWzMybVFTdHJpbmdMaXN0IGFyZ3MoZC0+bV9wcm9jZXNzLmRhdGEoKS0+
cHJvZ3JhbSgpKTsbW20KG1szMm0rG1ttCRtbMzJtZC0+bV9wcm9jZXNzLmRhdGEoKS0+Y2xlYXJQ
cm9ncmFtKCk7G1ttCiAbW20KIAlhcmdzLnJlcGxhY2UocG9zLCBhcmcpOxtbbQogG1ttChtbMzFt
LQlkLT5tX3Byb2Nlc3MtPnNldFByb2dyYW0oYXJncyk7G1ttChtbMzJtKxtbbQkbWzMybWQtPm1f
cHJvY2Vzcy5kYXRhKCktPnNldFByb2dyYW0oYXJncyk7G1ttCiB9G1ttCiAbW20KIHZvaWQbW20K
G1szNm1AQCAtNDIzLDEzICs0MjIsMTMgQEAbW20gG1ttS0dwZ1RyYW5zYWN0aW9uOjppbnNlcnRB
cmd1bWVudChjb25zdCBpbnQgcG9zLCBjb25zdCBRU3RyaW5nICZhcmcpG1ttCiB2b2lkG1ttCiBL
R3BnVHJhbnNhY3Rpb246Omluc2VydEFyZ3VtZW50cyhjb25zdCBpbnQgcG9zLCBjb25zdCBRU3Ry
aW5nTGlzdCAmYXJncykbW20KIHsbW20KG1szMW0tCVFTdHJpbmdMaXN0IHRtcChkLT5tX3Byb2Nl
c3MtPnByb2dyYW0oKSk7G1ttChtbMzJtKxtbbQkbWzMybVFTdHJpbmdMaXN0IHRtcChkLT5tX3By
b2Nlc3MuZGF0YSgpLT5wcm9ncmFtKCkpOxtbbQogG1ttCiAJaW50IHRtcHBvcyA9IHBvczsbW20K
IAlmb3JlYWNoIChjb25zdCBRU3RyaW5nICZzLCBhcmdzKSB7G1ttCiAJCXRtcC5pbnNlcnQodG1w
cG9zKyssIHMpOxtbbQogCX0bW20KG1szMW0tCWQtPm1fcHJvY2Vzcy0+c2V0UHJvZ3JhbSh0bXAp
OxtbbQobWzMybSsbW20JG1szMm1kLT5tX3Byb2Nlc3MuZGF0YSgpLT5zZXRQcm9ncmFtKHRtcCk7
G1ttCiAbW20KIAlpbnQgbW92ZSA9IGFyZ3MuY291bnQoKTsbW20KIAlmb3JlYWNoIChpbnQgKnJl
ZiwgZC0+bV9hcmdSZWZzKSB7G1ttChtbMzZtQEAgLTQ2OCwxMyArNDY3LDEzIEBAG1ttIBtbbUtH
cGdUcmFuc2FjdGlvbjo6YXNrUGFzc3BocmFzZShjb25zdCBRU3RyaW5nICZtZXNzYWdlKRtbbQog
CS0tZC0+bV90cmllczsbW20KIBtbbQogCWVtaXQgc3RhdHVzTWVzc2FnZShpMThuKCJSZXF1ZXN0
aW5nIFBhc3NwaHJhc2UiKSk7G1ttChtbMzFtLQlyZXR1cm4gKEtncGdJbnRlcmZhY2U6OnNlbmRQ
YXNzcGhyYXNlKHBhc3NkbGdtZXNzYWdlLCBkLT5tX3Byb2Nlc3MsIHFvYmplY3RfY2FzdDxRV2lk
Z2V0ICo+KHBhcmVudCgpKSkgPT0gMCk7G1ttChtbMzJtKxtbbQkbWzMybXJldHVybiAoS2dwZ0lu
dGVyZmFjZTo6c2VuZFBhc3NwaHJhc2UocGFzc2RsZ21lc3NhZ2UsIGQtPm1fcHJvY2Vzcy5kYXRh
KCksIHFvYmplY3RfY2FzdDxRV2lkZ2V0ICo+KHBhcmVudCgpKSkgPT0gMCk7G1ttCiB9G1ttCiAb
W20KIHZvaWQbW20KIEtHcGdUcmFuc2FjdGlvbjo6c2V0R251UEdIb21lKGNvbnN0IFFTdHJpbmcg
JmhvbWUpG1ttCiB7G1ttChtbMzFtLQlRU3RyaW5nTGlzdCB0bXAoZC0+bV9wcm9jZXNzLT5wcm9n
cmFtKCkpOxtbbQobWzMybSsbW20JG1szMm1RU3RyaW5nTGlzdCB0bXAoZC0+bV9wcm9jZXNzLmRh
dGEoKS0+cHJvZ3JhbSgpKTsbW20KIBtbbQogCVFfQVNTRVJUKHRtcC5jb3VudCgpID4gMyk7G1tt
CiAJaW50IGhvbWVwb3MgPSB0bXAuaW5kZXhPZihRTGF0aW4xU3RyaW5nKCItLW9wdGlvbnMiKSwg
MSk7G1ttChtbMzZtQEAgLTQ4Niw3ICs0ODUsNyBAQBtbbSAbW21LR3BnVHJhbnNhY3Rpb246OnNl
dEdudVBHSG9tZShjb25zdCBRU3RyaW5nICZob21lKRtbbQogCXRtcFtob21lcG9zXSA9IFFMYXRp
bjFTdHJpbmcoIi0taG9tZWRpciIpOxtbbQogCXRtcFtob21lcG9zICsgMV0gPSBob21lOxtbbQog
G1ttChtbMzFtLQlkLT5tX3Byb2Nlc3MtPnNldFByb2dyYW0odG1wKTsbW20KG1szMm0rG1ttCRtb
MzJtZC0+bV9wcm9jZXNzLmRhdGEoKS0+c2V0UHJvZ3JhbSh0bXApOxtbbQogfRtbbQogG1ttCiBp
bnQbW20KG1szNm1AQCAtNTAwLDcgKzQ5OSw3IEBAG1ttIBtbbUtHcGdUcmFuc2FjdGlvbjo6d2Fp
dEZvckZpbmlzaGVkKGNvbnN0IGludCBtc2VjcykbW20KIAkJCXJldHVybiByZXQ7G1ttCiAJfRtb
bQogG1ttChtbMzFtLQlib29sIGIgPSBkLT5tX3Byb2Nlc3MtPndhaXRGb3JGaW5pc2hlZChtc2Vj
cyk7G1ttChtbMzJtKxtbbQkbWzMybWJvb2wgYiA9IGQtPm1fcHJvY2Vzcy5kYXRhKCktPndhaXRG
b3JGaW5pc2hlZChtc2Vjcyk7G1ttCiAbW20KIAlpZiAocmV0ICE9IFRTX09LKRtbbQogCQlyZXR1
cm4gcmV0OxtbbQobWzM2bUBAIC01MjcsNyArNTI2LDcgQEAbW20gG1ttS0dwZ1RyYW5zYWN0aW9u
OjpzZXRJbnB1dFRyYW5zYWN0aW9uKEtHcGdUcmFuc2FjdGlvbiAqdGEpG1ttCiAJZC0+bV9pbnB1
dFRyYW5zYWN0aW9uID0gdGE7G1ttCiAbW20KIAlHUEdQcm9jICpwcm9jID0gdGEtPmdldFByb2Nl
c3MoKTsbW20KG1szMW0tCXByb2MtPnNldFN0YW5kYXJkT3V0cHV0UHJvY2VzcyhkLT5tX3Byb2Nl
c3MpOxtbbQobWzMybSsbW20JG1szMm1wcm9jLT5zZXRTdGFuZGFyZE91dHB1dFByb2Nlc3MoZC0+
bV9wcm9jZXNzLmRhdGEoKSk7G1ttCiAJY29ubmVjdCh0YSwgU0lHTkFMKGRvbmUoaW50KSksIFNM
T1Qoc2xvdElucHV0VHJhbnNhY3Rpb25Eb25lKGludCkpKTsbW20KIH0bW20KIBtbbQobWzM2bUBA
IC01NDcsNyArNTQ2LDcgQEAbW20gG1ttS0dwZ1RyYW5zYWN0aW9uOjpoYXNJbnB1dFRyYW5zYWN0
aW9uKCkgY29uc3QbW20KIHZvaWQbW20KIEtHcGdUcmFuc2FjdGlvbjo6a2lsbCgpG1ttCiB7G1tt
ChtbMzFtLQlkLT5tX3Byb2Nlc3MtPmtpbGwoKTsbW20KG1szMm0rG1ttCRtbMzJtZC0+bV9wcm9j
ZXNzLmRhdGEoKS0+a2lsbCgpOxtbbQogfRtbbQogG1ttCiB2b2lkG1ttCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69927</attachid>
            <date>2012-03-27 08:07:17 +0000</date>
            <delta_ts>2012-03-27 09:51:26 +0000</delta_ts>
            <desc>track object deletion while GnuPG transactions are running</desc>
            <filename>0001-track-object-deletion-while-GnuPG-transactions-are-r.patch</filename>
            <type>text/plain</type>
            <size>1204</size>
            <attacher name="Rolf Eike Beer">kde</attacher>
            
              <data encoding="base64">RnJvbSA1MWY5YmVjYzFhMDU2ZjMzNWY2ZWNmMjZmZjgxMTVlYmYzMDlmYTJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2xmIEVpa2UgQmVlciA8a2RlQG9wZW5zb3VyY2Uuc2YtdGVj
LmRlPgpEYXRlOiBUdWUsIDI3IE1hciAyMDEyIDEwOjAxOjM0ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gdHJhY2sgb2JqZWN0IGRlbGV0aW9uIHdoaWxlIEdudVBHIHRyYW5zYWN0aW9ucyBhcmUgcnVu
bmluZwoKVGhlIHByb2Nlc3MgbWF5IHF1aXQgYW5kIGNhdXNlIHRoZSBvYmplY3QgdG8gZ2V0IGRl
bGV0ZWQgd2hpbGUgd2UgYXJlIGUuZy4Kd2FpdGluZyBmb3IgYSBwYXNzd29yZCBpbnB1dC4gQ2hl
Y2sgaWYgdGhlIG9iamVjdCBpcyBzdGlsbCBhbGl2ZSBiZWZvcmUgcmVhZGluZwp0aGUgbmV4dCBp
bnB1dC4KLS0tCiB0cmFuc2FjdGlvbnMva2dwZ3RyYW5zYWN0aW9uLmNwcCB8ICAgIDQgKysrLQog
MSBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvdHJhbnNhY3Rpb25zL2tncGd0cmFuc2FjdGlvbi5jcHAgYi90cmFuc2FjdGlvbnMva2dw
Z3RyYW5zYWN0aW9uLmNwcAppbmRleCBhYzBlMTMyLi4yZDg3M2ZiIDEwMDY0NAotLS0gYS90cmFu
c2FjdGlvbnMva2dwZ3RyYW5zYWN0aW9uLmNwcAorKysgYi90cmFuc2FjdGlvbnMva2dwZ3RyYW5z
YWN0aW9uLmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPEtMb2NhbGU+CiAjaW5jbHVk
ZSA8UUJ5dGVBcnJheT4KICNpbmNsdWRlIDxRU3RyaW5nTGlzdD4KKyNpbmNsdWRlIDxRV2Vha1Bv
aW50ZXI+CiAjaW5jbHVkZSA8UVdpZGdldD4KIAogY2xhc3MgS0dwZ1RyYW5zYWN0aW9uUHJpdmF0
ZTogUU9iamVjdCB7CkBAIC0xMTEsOCArMTEyLDkgQEAgdm9pZAogS0dwZ1RyYW5zYWN0aW9uUHJp
dmF0ZTo6c2xvdFJlYWRSZWFkeSgpCiB7CiAJUVN0cmluZyBsaW5lOworCVFXZWFrUG9pbnRlcjxH
UEdQcm9jPiBwcm9jZXNzKG1fcHJvY2Vzcyk7CiAKLQl3aGlsZSAobV9wcm9jZXNzLT5yZWFkbG4o
bGluZSwgdHJ1ZSkgPj0gMCkgeworCXdoaWxlICghcHJvY2Vzcy5pc051bGwoKSAmJiAobV9wcm9j
ZXNzLT5yZWFkbG4obGluZSwgdHJ1ZSkgPj0gMCkpIHsKIAkJaWYgKG1fcXVpdFRyaWVzKQogCQkJ
bV9xdWl0TGluZXMgPDwgbGluZTsKICNpZmRlZiBLR1BHX0RFQlVHX1RSQU5TQUNUSU9OUwotLSAK
MS43LjcKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69930</attachid>
            <date>2012-03-27 09:51:26 +0000</date>
            <delta_ts>2012-03-27 09:51:26 +0000</delta_ts>
            <desc>track object deletion while GnuPG transactions are running (v2)</desc>
            <filename>0001-track-object-deletion-while-GnuPG-transactions-are-r.patch</filename>
            <type>text/plain</type>
            <size>2929</size>
            <attacher name="Rolf Eike Beer">kde</attacher>
            
              <data encoding="base64">RnJvbSBkMDM1Y2M0MTg2ZmQzMDNhMDI3MjZmZWExM2QwNTU5NTZjYjBkOWJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2xmIEVpa2UgQmVlciA8a2RlQG9wZW5zb3VyY2Uuc2YtdGVj
LmRlPgpEYXRlOiBUdWUsIDI3IE1hciAyMDEyIDEwOjAxOjM0ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gdHJhY2sgb2JqZWN0IGRlbGV0aW9uIHdoaWxlIEdudVBHIHRyYW5zYWN0aW9ucyBhcmUgcnVu
bmluZwoKVGhlIHByb2Nlc3MgbWF5IHF1aXQgYW5kIGNhdXNlIHRoZSBvYmplY3QgdG8gZ2V0IGRl
bGV0ZWQgd2hpbGUgd2UgYXJlIGUuZy4Kd2FpdGluZyBmb3IgYSBwYXNzd29yZCBpbnB1dC4gQ2hl
Y2sgaWYgdGhlIG9iamVjdCBpcyBzdGlsbCBhbGl2ZSBiZWZvcmUgcmVhZGluZwp0aGUgbmV4dCBp
bnB1dC4KCklmIHdlIGRldGVjdCB0aGUgcHJvY2VzcyB0byBnbyBhd2F5IGFsc28gY2xvc2UgdGhl
IHBhc3N3b3JkIGRpYWxvZyBhcyBpdCBjYW4ndApkbyBhbnl0aGluZyB1c2VmdWwgdGhlbiBhbnlt
b3JlLgotLS0KIGtncGdpbnRlcmZhY2UuY3BwICAgICAgICAgICAgICAgIHwgICAgMiArKwogdHJh
bnNhY3Rpb25zL2tncGd0cmFuc2FjdGlvbi5jcHAgfCAgIDE3ICsrKysrKysrKysrKysrLS0tCiAy
IGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEva2dwZ2ludGVyZmFjZS5jcHAgYi9rZ3BnaW50ZXJmYWNlLmNwcAppbmRleCBmMzhlNGRk
Li5iNzk0ZWMwIDEwMDY0NAotLS0gYS9rZ3BnaW50ZXJmYWNlLmNwcAorKysgYi9rZ3BnaW50ZXJm
YWNlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgPEtNZXNzYWdlQm94PgogI2luY2x1
ZGUgPEtQYXNzd29yZERpYWxvZz4KICNpbmNsdWRlIDxLUHJvY2Vzcz4KKyNpbmNsdWRlIDxLUHVz
aEJ1dHRvbj4KICNpbmNsdWRlIDxRRmlsZT4KICNpbmNsdWRlIDxRUG9pbnRlcj4KICNpbmNsdWRl
IDxRU3RyaW5nPgpAQCAtMTQ4LDYgKzE0OSw3IEBAIGludCBLZ3BnSW50ZXJmYWNlOjpzZW5kUGFz
c3BocmFzZShjb25zdCBRU3RyaW5nICZ0ZXh0LCBLUHJvY2VzcyAqcHJvY2VzcywgUVdpZGdlCiAJ
aW50IGNvZGU7CiAKIAlRUG9pbnRlcjxLUGFzc3dvcmREaWFsb2c+IGRsZyA9IG5ldyBLUGFzc3dv
cmREaWFsb2cod2lkZ2V0KTsKKwlRT2JqZWN0Ojpjb25uZWN0KHByb2Nlc3MsIFNJR05BTChwcm9j
ZXNzRXhpdGVkKCkpLCBkbGctPmJ1dHRvbihLRGlhbG9nOjpDYW5jZWwpLCBTTE9UKGNsaWNrKCkp
KTsKIAlkbGctPnNldFByb21wdCh0ZXh0KTsKIAljb2RlID0gZGxnLT5leGVjKCk7CiAJaWYgKCFk
bGcuaXNOdWxsKCkpCmRpZmYgLS1naXQgYS90cmFuc2FjdGlvbnMva2dwZ3RyYW5zYWN0aW9uLmNw
cCBiL3RyYW5zYWN0aW9ucy9rZ3BndHJhbnNhY3Rpb24uY3BwCmluZGV4IGFjMGUxMzIuLmVkNzlm
NmUgMTAwNjQ0Ci0tLSBhL3RyYW5zYWN0aW9ucy9rZ3BndHJhbnNhY3Rpb24uY3BwCisrKyBiL3Ry
YW5zYWN0aW9ucy9rZ3BndHJhbnNhY3Rpb24uY3BwCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVk
ZSA8S0xvY2FsZT4KICNpbmNsdWRlIDxRQnl0ZUFycmF5PgogI2luY2x1ZGUgPFFTdHJpbmdMaXN0
PgorI2luY2x1ZGUgPFFXZWFrUG9pbnRlcj4KICNpbmNsdWRlIDxRV2lkZ2V0PgogCiBjbGFzcyBL
R3BnVHJhbnNhY3Rpb25Qcml2YXRlOiBRT2JqZWN0IHsKQEAgLTExMSw4ICsxMTIsMTAgQEAgdm9p
ZAogS0dwZ1RyYW5zYWN0aW9uUHJpdmF0ZTo6c2xvdFJlYWRSZWFkeSgpCiB7CiAJUVN0cmluZyBs
aW5lOworCVFXZWFrUG9pbnRlcjxHUEdQcm9jPiBwcm9jZXNzKG1fcHJvY2Vzcyk7CisJUVdlYWtQ
b2ludGVyPEtHcGdUcmFuc2FjdGlvbj4gcGFyKG1fcGFyZW50KTsKIAotCXdoaWxlIChtX3Byb2Nl
c3MtPnJlYWRsbihsaW5lLCB0cnVlKSA+PSAwKSB7CisJd2hpbGUgKCFwcm9jZXNzLmlzTnVsbCgp
ICYmIChtX3Byb2Nlc3MtPnJlYWRsbihsaW5lLCB0cnVlKSA+PSAwKSkgewogCQlpZiAobV9xdWl0
VHJpZXMpCiAJCQltX3F1aXRMaW5lcyA8PCBsaW5lOwogI2lmZGVmIEtHUEdfREVCVUdfVFJBTlNB
Q1RJT05TCkBAIC0xMjQsOCArMTI3LDE2IEBAIEtHcGdUcmFuc2FjdGlvblByaXZhdGU6OnNsb3RS
ZWFkUmVhZHkoKQogCQl9IGVsc2UgaWYgKGxpbmUuc3RhcnRzV2l0aChRTGF0aW4xU3RyaW5nKCJb
R05VUEc6XSBCQURfUEFTU1BIUkFTRSAiKSkpIHsKIAkJCW1fc3VjY2VzcyA9IEtHcGdUcmFuc2Fj
dGlvbjo6VFNfQkFEX1BBU1NQSFJBU0U7CiAJCX0gZWxzZSBpZiAobGluZS5zdGFydHNXaXRoKFFM
YXRpbjFTdHJpbmcoIltHTlVQRzpdIEdFVF9ISURERU4gcGFzc3BocmFzZS5lbnRlciIpKSkgewot
CQkJbV9wYXNzcGhyYXNlQWN0aW9uID0gbV9wYXJlbnQtPnBhc3NwaHJhc2VSZXF1ZXN0ZWQoKTsK
LQkJCXN3aXRjaCAobV9wYXNzcGhyYXNlQWN0aW9uKSB7CisJCQkvLyBEbyBub3QgZGlyZWN0bHkg
YXNzaWduIHRvIHRoZSBtZW1iZXIgaGVyZSwgdGhlIG9iamVjdCBjb3VsZAorCQkJLy8gZ2V0IGRl
bGV0ZWQgd2hpbGUgd2FpdGluZyBmb3IgdGhlIHJlc3VsdAorCQkJY29uc3QgS0dwZ1RyYW5zYWN0
aW9uOjp0c19wYXNzcGhyYXNlX2FjdGlvbnMgYWN0aW9uID0gbV9wYXJlbnQtPnBhc3NwaHJhc2VS
ZXF1ZXN0ZWQoKTsKKworCQkJaWYgKHBhci5pc051bGwoKSkKKwkJCQlyZXR1cm47CisKKwkJCW1f
cGFzc3BocmFzZUFjdGlvbiA9IGFjdGlvbjsKKworCQkJc3dpdGNoIChhY3Rpb24pIHsKIAkJCWNh
c2UgS0dwZ1RyYW5zYWN0aW9uOjpQQV9VU0VSX0FCT1JURUQ6CiAJCQkJbV9wYXJlbnQtPnNldFN1
Y2Nlc3MoS0dwZ1RyYW5zYWN0aW9uOjpUU19VU0VSX0FCT1JURUQpOwogCQkJCS8vIHNlbmRpbmcg
InF1aXQiIGhlcmUgaXMgdXNlbGVzcyBhcyBpdCB3b3VsZCBiZSBpbnRlcnByZXRlZCBhcyB0aGUg
cGFzc3BocmFzZQotLSAKMS43LjcKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>