/[winpt]/trunk/Src/wptClipDecryptDlg.cpp
ViewVC logotype

Diff of /trunk/Src/wptClipDecryptDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 273 by twoaday, Fri Dec 8 10:22:17 2006 UTC revision 278 by twoaday, Mon Jan 15 22:02:04 2007 UTC
# Line 35  Line 35 
35  #include "wptKeylist.h"  #include "wptKeylist.h"
36  #include "wptUTF8.h"  #include "wptUTF8.h"
37  #include "resource.h"  #include "resource.h"
38    #include "StringBuffer.h"
39    
40  bool is_seckey_available (gpgme_recipient_t rset);  bool is_seckey_available (gpgme_recipient_t rset);
41  char* get_pka_status (gpgme_signature_t sig);  char* get_pka_status (gpgme_signature_t sig);
# Line 46  char* Line 47  char*
47  get_key_userid (const char *keyid)  get_key_userid (const char *keyid)
48  {  {
49      winpt_key_s key;      winpt_key_s key;
50      const char *fmt, *userid;      StringBuffer p;
51        const char *userid;
52      char *uid;      char *uid;
53    
54      fmt = "\n    \"%s\"";      p = "\n    ";  
55      memset (&key, 0, sizeof (key));      memset (&key, 0, sizeof (key));
56      if (winpt_get_pubkey (keyid, &key))      if (winpt_get_pubkey (keyid, &key))
57          userid = (_("user ID not found"));          userid = (_("user ID not found"));
58      else      else
59          userid = key.ext->uids->uid;          userid = key.ext->uids->uid;
60      uid = new char[strlen (userid) + strlen (fmt)+ 2];      p = p + "\"" + userid + "\"";
61      if (!uid)  
         BUG (NULL);  
     sprintf (uid, fmt, userid);  
62      winpt_release_pubkey (&key);      winpt_release_pubkey (&key);
63        uid = p.getBufferCopy ();
64      return uid;      return uid;
65  }  }
66    
# Line 129  verify_get_clip_info (gpgme_signature_t Line 130  verify_get_clip_info (gpgme_signature_t
130                           "*** Signer: %s (0x%s)\r\n"                           "*** Signer: %s (0x%s)\r\n"
131                           "*** BEGIN PGP DECRYPTED TEXT ***\r\n");                           "*** BEGIN PGP DECRYPTED TEXT ***\r\n");
132      const char *foot = _("\r\n*** END PGP DECRYPTED TEXT ***");      const char *foot = _("\r\n*** END PGP DECRYPTED TEXT ***");
133      const char *s, *ver, *ot, *uid;      const char *stat, *ot, *uid;    
134      char *p, *made;      char made[128], ver[128];
135        char *p;
136    
137      if (winpt_get_pubkey (sig->fpr, &pk)) {      if (winpt_get_pubkey (sig->fpr, &pk)) {
138          uid = _("user ID not found");          uid = _("user ID not found");
# Line 141  verify_get_clip_info (gpgme_signature_t Line 143  verify_get_clip_info (gpgme_signature_t
143          ot = verify_get_key_ownertrust (pk.ctx->owner_trust, NULL);          ot = verify_get_key_ownertrust (pk.ctx->owner_trust, NULL);
144      }      }
145            
146      made = m_strdup (strtimestamp (sig->timestamp));      if (!get_locale_timedate (sig->timestamp, made, DIM (made)-1))
147      ver = strtimestamp (time (NULL));          _snprintf (made, DIM (made)-1, "'unknown time'");
148      s = get_gpg_sigstat (sig->summary);      if (!get_locale_timedate (time (NULL), ver, DIM (ver)-1))
149      p = new char[strlen (head) + strlen (s) + strlen (made) +          _snprintf (ver, DIM (ver)-1, "'unknown time'");
150        stat = get_gpg_sigstat (sig->summary);
151        p = new char[strlen (head) + strlen (stat) + strlen (made) +
152                   strlen (sig->fpr) + strlen (ot) + strlen (ver) +                   strlen (sig->fpr) + strlen (ot) + strlen (ver) +
153                   strlen (uid) + 1];                   strlen (uid) + 1];
154      if (!p)      if (!p)
155          BUG (0);          BUG (0);
156      sprintf (p, head, made, ver, ot, s, uid, get_keyid_from_fpr (sig->fpr));      sprintf (p, head, made, ver, ot, stat, uid, get_keyid_from_fpr (sig->fpr));
157      *r_header = p;      *r_header = p;
158      *r_footer = m_strdup (foot);      *r_footer = m_strdup (foot);
     free_if_alloc (made);  
159  }  }
160    
161    
# Line 163  verify_show_signature_state (gpgme_signa Line 166  verify_show_signature_state (gpgme_signa
166      winpt_key_s key;      winpt_key_s key;
167      const char *keyid, *uid;      const char *keyid, *uid;
168      const char *s;      const char *s;
169      char *pka_info = NULL;      char *pka_info = NULL, timebuf[128];
170      int novalid = 0;      int novalid = 0;
171    
172      assert (sig->fpr != NULL);      assert (sig->fpr != NULL);
# Line 179  verify_show_signature_state (gpgme_signa Line 182  verify_show_signature_state (gpgme_signa
182          uid = _("user ID not found");          uid = _("user ID not found");
183      }      }
184    
185        if (!get_locale_timedate (sig->timestamp, timebuf, DIM (timebuf)-1))
186            _snprintf (timebuf, DIM (timebuf)-1, "'unknown time'");
187    
188      pka_info = get_pka_status (sig);      pka_info = get_pka_status (sig);
189      log_box (_("Decrypt Verify"), novalid? MB_WARN : MB_OK,      log_box (_("Decrypt Verify"), novalid? MB_WARN : MB_OK,
190               _("%s\n"               _("%s\n"
# Line 187  verify_show_signature_state (gpgme_signa Line 193  verify_show_signature_state (gpgme_signa
193                 "From \"%s\" using key ID 0x%s"                 "From \"%s\" using key ID 0x%s"
194                 "%s %s\n%s"),                 "%s %s\n%s"),
195                 s, get_gpg_sigstat (sig->summary),                                   s, get_gpg_sigstat (sig->summary),                  
196                 strtimestamp (sig->timestamp),                 timebuf, uid, keyid,
                uid, keyid,  
197                 novalid? "\nPrimary key fingerprint: " : "",                 novalid? "\nPrimary key fingerprint: " : "",
198                 novalid? get_key_fpr (key.ctx) : "",                 novalid? get_key_fpr (key.ctx) : "",
199                 pka_info? pka_info : ""                 pka_info? pka_info : ""

Legend:
Removed from v.273  
changed lines
  Added in v.278

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26