add signed txt, etc. if it's in an encrypted block
authorAndrew Engelbrecht <sudoman@ninthfloor.org>
Wed, 22 Jul 2015 19:59:34 +0000 (15:59 -0400)
committerAndrew Engelbrecht <sudoman@ninthfloor.org>
Mon, 7 Dec 2015 18:28:39 +0000 (13:28 -0500)
later there will need to be fingerprint checking to make sure that
edward can't become a decryption service for edward traffic observers.

edward

diff --git a/edward b/edward
index d7f055d555687182f0e6aee112dbbc3c8d013ffb..9a781850919a0f984d00923cb0d645e1006c3804 100755 (executable)
--- a/edward
+++ b/edward
@@ -357,6 +357,9 @@ def flatten_payloads (eddymsg_obj):
 
     flat_string = ""
 
+    if eddymsg_obj == None:
+        return ""
+
     if eddymsg_obj.multipart == True:
         for sub in eddymsg_obj.subparts:
             flat_string += flatten_payloads (sub)
@@ -366,6 +369,13 @@ def flatten_payloads (eddymsg_obj):
     for piece in eddymsg_obj.payload_pieces:
         if piece.piece_type == "text":
             flat_string += piece.string
+        elif piece.piece_type == "message":
+            flat_string += flatten_payloads(piece.plainobj)
+        elif ((piece.piece_type == "clearsign") \
+                or (piece.piece_type == "detachedsig")) \
+                and (piece.gpg_data != None):
+                    flat_string += flatten_payloads (piece.gpg_data.plainobj)
+
 
     return flat_string