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

List:       kde-commits
Subject:    KDE/kdepim/kleopatra/crypto
From:       Marc Mutz <mutz () kde ! org>
Date:       2008-04-28 11:47:42
Message-ID: 1209383262.584404.4987.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 802039 by mutz:

Use clearsigning when signing the clipboard contents, at least when using OpenPGP. \
For CMS, that's no implemented in gpgsm, so we use armoured opaque for now

 M  +5 -2      signemailcontroller.cpp  
 M  +10 -1     signemailtask.cpp  
 M  +2 -0      signemailtask.h  


--- trunk/KDE/kdepim/kleopatra/crypto/signemailcontroller.cpp #802038:802039
@@ -201,10 +201,13 @@
         const shared_ptr<SignEMailTask> task( new SignEMailTask );
         task->setInput( inputs[i] );
         task->setOutput( outputs[i] );
-        if ( d->mode == ClipboardMode )
-            task->setAsciiArmor( true );
         task->setSigners( keys );
         task->setDetachedSignature( d->detached );
+        if ( d->mode == ClipboardMode )
+            if ( d->protocol == OpenPGP )
+                task->setClearsign( true );
+            else
+                task->setAsciiArmor( true );
 
         tasks.push_back( task );
     }
--- trunk/KDE/kdepim/kleopatra/crypto/signemailtask.cpp #802038:802039
@@ -104,6 +104,7 @@
     shared_ptr<Output> output;
     std::vector<Key> signers;
     bool detached;
+    bool clearsign;
 
     QString micAlg;
 
@@ -116,6 +117,7 @@
       output(),
       signers(),
       detached( false ),
+      clearsign( false ),
       micAlg(),
       job( 0 )
 {
@@ -151,8 +153,15 @@
 void SignEMailTask::setDetachedSignature( bool detached ) {
     kleo_assert( !d->job );
     d->detached = detached;
+    d->clearsign = false;
 }
 
+void SignEMailTask::setClearsign( bool clear ) {
+    kleo_assert( !d->job );
+    d->clearsign = clear;
+    d->detached = false;
+}
+
 Protocol SignEMailTask::protocol() const {
     kleo_assert( !d->signers.empty() );
     return d->signers.front().protocol();
@@ -181,7 +190,7 @@
 
     job->start( d->signers,
                 d->input->ioDevice(), d->output->ioDevice(),
-                d->detached ? GpgME::Detached : GpgME::NormalSignatureMode );
+                d->clearsign ? GpgME::Clearsigned : d->detached ? GpgME::Detached : \
GpgME::NormalSignatureMode );  
     d->job = job.release();
 }
--- trunk/KDE/kdepim/kleopatra/crypto/signemailtask.h #802038:802039
@@ -64,7 +64,9 @@
         void setInput( const boost::shared_ptr<Input> & input );
         void setOutput( const boost::shared_ptr<Output> & output );
         void setSigners( const std::vector<GpgME::Key> & recipients );
+
         void setDetachedSignature( bool detached );
+        void setClearsign( bool clear );
 
         GpgME::Protocol protocol() const;
 


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

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