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

Diff of /trunk/Src/wptKeylist.cpp

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

revision 205 by twoaday, Thu Apr 27 12:46:03 2006 UTC revision 248 by twoaday, Fri Jul 28 11:11:09 2006 UTC
# Line 83  key_array_search (key_array_s *ka, int i Line 83  key_array_search (key_array_s *ka, int i
83      int j;      int j;
84            
85      for (j = 0; j < items; j++) {      for (j = 0; j < items; j++) {
86          if (!strcmp (keyid, ka[j].keyid ))          if (!strcmp (keyid, ka[j].keyid))
87              return 1;                return 1;  
88      }      }
89      return 0;      return 0;
# Line 155  count_subkeys (gpgme_key_t key) Line 155  count_subkeys (gpgme_key_t key)
155  /* Return the self signature of the key @keyid.  /* Return the self signature of the key @keyid.
156     If first is set, the first self sig will be returned. */     If first is set, the first self sig will be returned. */
157  gpgme_key_sig_t  gpgme_key_sig_t
158  get_selfsig (gpgme_user_id_t uid, const char *keyid, int first)  get_selfsig (gpgme_key_sig_t sigs, const char *keyid, int first)
159  {  {
160      gpgme_key_sig_t s, self_sig=NULL;      gpgme_key_sig_t s, self_sig=NULL;
161      long timestamp=0;      long timestamp=0;
# Line 164  get_selfsig (gpgme_user_id_t uid, const Line 164  get_selfsig (gpgme_user_id_t uid, const
164      if (strlen (keyid) == 8)      if (strlen (keyid) == 8)
165          off = 8;          off = 8;
166    
167      for (s = uid->signatures; s; s = s->next) {      for (s = sigs; s; s = s->next) {
168          if (!strcmp (s->keyid+off, keyid) && s->timestamp > timestamp) {          if (!strcmp (s->keyid+off, keyid) && s->timestamp > timestamp) {
169              self_sig = s;              self_sig = s;
170              timestamp = s->timestamp;              timestamp = s->timestamp;
# Line 176  get_selfsig (gpgme_user_id_t uid, const Line 176  get_selfsig (gpgme_user_id_t uid, const
176  }  }
177    
178    
   
179  const char*  const char*
180  get_key_algo (gpgme_key_t key, int keyidx)  get_key_algo (gpgme_key_t key, int keyidx)
181  {  {
# Line 195  get_key_algo (gpgme_key_t key, int keyid Line 194  get_key_algo (gpgme_key_t key, int keyid
194      strcpy (alg, get_key_pubalgo (key->subkeys->pubkey_algo));      strcpy (alg, get_key_pubalgo (key->subkeys->pubkey_algo));
195      n = count_subkeys (key);      n = count_subkeys (key);
196      if (n > 1) {      if (n > 1) {
197          k = get_nth_key (key, n-1);          do {
198                k = get_nth_key (key, --n);
199                if (k->revoked || k->expired)
200                    continue;
201                else
202                    break;
203            } while (n > 0);
204          subalg = get_key_pubalgo (k->pubkey_algo);          subalg = get_key_pubalgo (k->pubkey_algo);
205          _snprintf (algo_id, DIM (algo_id)-1, "%s/%s", alg, subalg);          if (k == key->subkeys)
206                _snprintf (algo_id, DIM (algo_id)-1, "%s", subalg);
207            else
208                _snprintf (algo_id, DIM (algo_id)-1, "%s/%s", alg, subalg);
209          return algo_id;          return algo_id;
210      }      }
211      return get_key_pubalgo (key->subkeys->pubkey_algo);      return get_key_pubalgo (key->subkeys->pubkey_algo);
# Line 216  get_key_created (long timestamp) Line 224  get_key_created (long timestamp)
224      dat = get_locale_date (timestamp, timebuf, sizeof (timebuf)-1);      dat = get_locale_date (timestamp, timebuf, sizeof (timebuf)-1);
225      if (dat)      if (dat)
226          return dat;          return dat;
227        /* Fallback if locate date conversion failed. */
228      warp = localtime (&timestamp);      warp = localtime (&timestamp);
229      _snprintf (timebuf, sizeof timebuf - 1, "%04d-%02d-%02d",      _snprintf (timebuf, sizeof timebuf - 1, "%04d-%02d-%02d",
230                 warp->tm_year + 1900, warp->tm_mon + 1, warp->tm_mday);                 warp->tm_year + 1900, warp->tm_mon + 1, warp->tm_mday);
# Line 303  get_key_pubalgo (gpgme_pubkey_algo_t alg Line 312  get_key_pubalgo (gpgme_pubkey_algo_t alg
312      case GPGME_PK_DSA: return "DSA";      case GPGME_PK_DSA: return "DSA";
313      case GPGME_PK_ELG:      case GPGME_PK_ELG:
314      case GPGME_PK_ELG_E: return "ELG";      case GPGME_PK_ELG_E: return "ELG";
315      case 0: /* XXX: gpgme returned pubkey algo 0 for a RSA made sig. */      case 0: /* XXX: do we still need this?? */
316      case GPGME_PK_RSA: return "RSA";      case GPGME_PK_RSA:
317        case GPGME_PK_RSA_S:
318        case GPGME_PK_RSA_E: return "RSA";
319      default: return "???";      default: return "???";
320      }      }
321      return "???";      return "???";
# Line 375  get_key_trust2 (gpgme_key_t key, int val Line 386  get_key_trust2 (gpgme_key_t key, int val
386      case GPGME_VALIDITY_MARGINAL:      case GPGME_VALIDITY_MARGINAL:
387          return _("Marginal");          return _("Marginal");
388      case GPGME_VALIDITY_FULL:      case GPGME_VALIDITY_FULL:
     case GPGME_VALIDITY_ULTIMATE:  
389          return _("Full");          return _("Full");
390        case GPGME_VALIDITY_ULTIMATE:
391            return _("Ultimate");
392      }      }
393      return "";      return "";
394  }  }
# Line 582  keylist_build (listview_ctrl_t *r_lv, HW Line 594  keylist_build (listview_ctrl_t *r_lv, HW
594      {7, 72, (char *)_("Creation")},      {7, 72, (char *)_("Creation")},
595      {0, 0, NULL}      {0, 0, NULL}
596      };      };
597      HICON ico[2];      HICON ico[4];
598      listview_ctrl_t lv;      listview_ctrl_t lv;
599      listview_column_t col;      listview_column_t col;
600      int j, n = 0, ext_chk = 0;      int j, n = 0, ext_chk = 0;
     int rc = 0;  
       
     rc = listview_new (&lv);  
     if (rc)  
         return rc;  
601            
602      lv->ctrl = ctrl;      listview_new (&lv, ctrl);
603      if (mode & KEYLIST_ENCRYPT_MIN) {      if (mode & KEYLIST_ENCRYPT_MIN) {
604          col = klist_enc;          col = klist_enc;
605          n = (DIM(klist_enc) -1);          n = (DIM (klist_enc) -1);
606          ext_chk = 1;          ext_chk = 1;
607      }        }  
608      else if ((mode & KEYLIST_SIGN)) {      else if ((mode & KEYLIST_SIGN)) {
609          col = klist_enc;          col = klist_enc;
610          n = (DIM(klist_enc) - 1) - 1;          n = (DIM (klist_enc) - 1) - 1;
611          ext_chk = 1;          ext_chk = 1;
612      }      }
613      else {      else {
614          col = klist;          col = klist;
615          n = (DIM(klist) - 1);          n = (DIM (klist) - 1);
616      }      }
617            
618      for (j = 0; j < n; j++)      for (j = 0; j < n; j++)
619          listview_add_column (lv, &col[j]);              listview_add_column (lv, &col[j]);
620      listview_set_ext_style (lv);      listview_set_ext_style (lv);
621      if (ext_chk)      if (ext_chk)
622          listview_set_chkbox_style (lv);          listview_set_chkbox_style (lv);    
623      ico[0] = LoadIcon (glob_hinst, (LPCTSTR)IDI_PUBKEY);      ico[0] = LoadIcon (glob_hinst, (LPCTSTR)IDI_PUBKEY);
624      ico[1] = LoadIcon (glob_hinst, (LPCTSTR)IDI_KEYPAIR);      ico[1] = LoadIcon (glob_hinst, (LPCTSTR)IDI_KEYPAIR);
625      listview_set_image_list (lv, 22, 14, ico, 2);      ico[2] = LoadIcon (glob_hinst, (LPCTSTR)IDI_SORT_DOWNARROW);
626        ico[3] = LoadIcon (glob_hinst, (LPCTSTR)IDI_SORT_UPARROW);
627        listview_set_image_list (lv, 22, 14, ico, 4);
628      listview_del_all_items (lv);      listview_del_all_items (lv);
629    
630      *r_lv = lv;      *r_lv = lv;

Legend:
Removed from v.205  
changed lines
  Added in v.248

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26