[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdeutils/kgpg
From:       Jean-Baptiste Mardelle <bj () altern ! org>
Date:       2005-02-03 12:03:09
Message-ID: 20050203120309.162251CF7D () office ! kde ! org
[Download RAW message or body]

CVS commit by mardelle: 

Fix text symetrical encryption
CCMAIL: 89301-done@bugs.kde.org


  M +13 -8     kgpginterface.cpp   1.131
  M +1 -1      kgpginterface.h   1.66


--- kdeutils/kgpg/kgpginterface.cpp  #1.130:1.131
@@ -247,12 +247,11 @@ void KgpgInterface::KgpgEncryptText(QStr
 {
         message=QString::null;
-        QString txtprocess;
         //QTextCodec *codec = \
KGlobal::charsets()->codecForName(KGlobal::locale()->encoding());  QTextCodec *codec \
                =QTextCodec::codecForLocale ();
-        if (codec->canEncode(text)) txtprocess=text;
-        else txtprocess=text.utf8();
+        if (codec->canEncode(text)) txtToEncrypt=text;
+        else txtToEncrypt=text.utf8();
         
         KProcIO *proc=new KProcIO();
-        *proc<<"gpg"<<"--no-tty"<<"--no-secmem-warning"<<"--command-fd=0"<<"--status-fd=2";
 +        *proc<<"gpg"<<"--no-tty"<<"--no-secmem-warning"<<"--command-fd=0"<<"--status-fd=1";
  
         for ( QStringList::Iterator it = Options.begin(); it != Options.end(); ++it \
) @@ -265,5 +264,6 @@ void KgpgInterface::KgpgEncryptText(QStr
                 *proc<<"--recipient"<< *it;
         }
-        else *proc<<"-c";
+        else 
+          *proc<<"-c";
 
         /////////  when process ends, update dialog infos
@@ -273,6 +273,4 @@ void KgpgInterface::KgpgEncryptText(QStr
         proc->start(KProcess::NotifyOnExit,false);
         emit txtencryptionstarted();
-        proc->writeStdin(txtprocess,false);
-        proc->closeWhenDone();
 }
 
@@ -290,4 +288,11 @@ void KgpgInterface::txtreadencprocess(KP
         QString required;
         while (p->readln(required,true)!=-1) {
+          if (required.find("BEGIN_ENCRYPTION",0,false)!=-1)
+          {
+            p->writeStdin(txtToEncrypt,false);
+            txtToEncrypt=QString::null;
+            p->closeWhenDone();
+          }
+          else
         if ((required.find("passphrase.enter")!=-1))
             {

--- kdeutils/kgpg/kgpginterface.h  #1.65:1.66
@@ -363,5 +363,5 @@ private:
         * @internal structure for communication
         */
-        QString message,tempKeyFile,userIDs,output,keyString;
+        QString message,tempKeyFile,userIDs,output,keyString,txtToEncrypt;
         QCString passphrase;
         bool deleteSuccess,konsLocal,anonymous,decfinished,decok,badmdc,revokeSuccess,addSuccess,delSuccess;



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic