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

Diff of /trunk/Src/wptKeyPropsDlg.cpp

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

revision 2 by twoaday, Mon Jan 31 11:02:21 2005 UTC revision 22 by twoaday, Wed Aug 10 11:33:35 2005 UTC
# Line 1  Line 1 
1  /* wptKeyPropsDlg.cpp - WinPT key properties dialog  /* wptKeyPropsDlg.cpp - WinPT key properties dialog
2   *      Copyright (C) 2000, 2001, 2002, 2003 Timo Schulz   *      Copyright (C) 2000, 2001, 2002, 2003, 2005 Timo Schulz
3   *   *
4   * This file is part of WinPT.   * This file is part of WinPT.
5   *   *
# Line 37  int keyedit_ownertrust_get_val (void); Line 37  int keyedit_ownertrust_get_val (void);
37    
38    
39  static void  static void
40  do_change_ownertrust( winpt_key_t k, const char *s )  do_change_ownertrust (winpt_key_t k, const char *s)
41  {  {
42      char ot[64], *p;      char ot[64];
43            
44      if( strstr( s, "ultimate" ) ) {      if( strstr( s, "ultimate" ) ) {
45          listview_get_item_text( k->callback.ctl, k->callback.idx, 5, ot, sizeof ot-1 );          listview_get_item_text (k->callback.ctl, k->callback.idx, 5, ot, DIM (ot)-1);
46          if( (p = strrchr( ot, ']' )) )          strcpy (ot, "Ultimate");
47              strcpy( ot + (p - ot) + 2, "Ultimate" );          listview_add_sub_item (k->callback.ctl, k->callback.idx, 5, ot);
         else  
             strcpy( ot, "Ultimate" );  
         listview_add_sub_item( k->callback.ctl, k->callback.idx, 5, ot );  
48          /* fixme: If we switch back from Ultimate to a lower level */          /* fixme: If we switch back from Ultimate to a lower level */
49      }      }
50  } /* do_change_ownertrust */  } /* do_change_ownertrust */
51    
52    
53  static int  static int
54  do_check_key( gpgme_key_t key )  do_check_key (gpgme_key_t key)
55  {  {
56      int okay = 0;      int okay = 0;
57      okay = gpgme_key_get_ulong_attr( key, GPGME_ATTR_KEY_EXPIRED, NULL, 0 );      okay = gpgme_key_get_ulong_attr (key, GPGME_ATTR_KEY_EXPIRED, NULL, 0);
58      if( !okay )      if (!okay)
59          okay = gpgme_key_get_ulong_attr( key, GPGME_ATTR_KEY_REVOKED, NULL, 0 );          okay = gpgme_key_get_ulong_attr (key, GPGME_ATTR_KEY_REVOKED, NULL, 0);
60      return okay;      return okay;
61  } /* do_check_key */  } /* do_check_key */
62    
# Line 88  ownertrust_to_string (gpgme_editkey_t ct Line 85  ownertrust_to_string (gpgme_editkey_t ct
85  } /* ownertrust_to_string */  } /* ownertrust_to_string */
86    
87    
88    #define PHOTO_TMPNAME "winpt_temp_photo.jpg"
89    
90  static int  static int
91  keyprops_show_photo (HWND dlg, gpgme_key_t key)  keyprops_show_photo (HWND dlg, gpgme_key_t key)
92  {  {
# Line 98  keyprops_show_photo (HWND dlg, gpgme_key Line 97  keyprops_show_photo (HWND dlg, gpgme_key
97      DWORD imglen = 0;      DWORD imglen = 0;
98      int pos=0;      int pos=0;
99    
100      img = (const byte *)gpgme_key_get_string_attr( key, GPGME_ATTR_PHOTO,      img = (const byte *)gpgme_key_get_string_attr (key, GPGME_ATTR_PHOTO,
101                                                      (void **)&imglen, 0 );                                                     (void **)&imglen, 0);
102      if (!img || !imglen)      if (!img || !imglen)
103          return -1;          return -1;
104      FILE * f = fopen ("temp.jpg", "wb");      FILE *f = fopen (PHOTO_TMPNAME, "wb");
105      if (f) {      if (f) {
106          for (pos = 0; img[pos] != 0x10; pos++)          for (pos = 0; img[pos] != 0x10; pos++)
107                  ;                  ;
# Line 116  keyprops_show_photo (HWND dlg, gpgme_key Line 115  keyprops_show_photo (HWND dlg, gpgme_key
115      GetWindowRect (h, &r);      GetWindowRect (h, &r);
116      p.x = r.left + 5;      p.x = r.left + 5;
117      p.y = r.top - 2;      p.y = r.top - 2;
118      memset (&p, 0, sizeof p);      memset (&p, 0, sizeof (p));
119      PTD_jpg_show (h, &p, "temp.jpg");      PTD_jpg_show (h, &p, PHOTO_TMPNAME);
120      unlink ("temp.jpg");      unlink (PHOTO_TMPNAME);
121    
122      return 0;      return 0;
123  }  }
124    
125    
126    static const char*
127    get_validity (gpgme_key_t key)
128    {
129        int val;
130        val = gpgme_key_get_ulong_attr (key, GPGME_ATTR_KEY_EXPIRED, NULL, 0);
131        if (val)
132            return "Expired";      
133        val = gpgme_key_get_ulong_attr( key, GPGME_ATTR_KEY_REVOKED, NULL, 0 );
134        if (val)
135            return "Revoked";
136        val = gpgme_key_get_ulong_attr (key, GPGME_ATTR_VALIDITY, NULL, 0);
137        return gpgme_key_expand_attr (GPGME_ATTR_VALIDITY, val);
138    }
139    
140    
141  BOOL CALLBACK  BOOL CALLBACK
142  keyprops_dlg_proc( HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam )  keyprops_dlg_proc( HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam )
143  {  {
# Line 138  keyprops_dlg_proc( HWND dlg, UINT msg, W Line 152  keyprops_dlg_proc( HWND dlg, UINT msg, W
152      const char * sym_prefs;      const char * sym_prefs;
153      char info[2048], dummy_symprefs[] = {0x01, 0x00};      char info[2048], dummy_symprefs[] = {0x01, 0x00};
154      u32 created, expires;      u32 created, expires;
155      int valid, ot, cancel = 0;      int ot, cancel = 0;
156      int rc;      int rc;
157            
158      switch (msg) {      switch (msg) {
# Line 163  keyprops_dlg_proc( HWND dlg, UINT msg, W Line 177  keyprops_dlg_proc( HWND dlg, UINT msg, W
177          expires = gpgme_key_get_ulong_attr( key, GPGME_ATTR_EXPIRES, NULL, 0 );          expires = gpgme_key_get_ulong_attr( key, GPGME_ATTR_EXPIRES, NULL, 0 );
178          sym_prefs = gpgme_key_get_string_attr( key, GPGME_ATTR_KEY_SYMPREFS, NULL, 0 );          sym_prefs = gpgme_key_get_string_attr( key, GPGME_ATTR_KEY_SYMPREFS, NULL, 0 );
179          if (!sym_prefs)          if (!sym_prefs)
180              sym_prefs = dummy_symprefs;              sym_prefs = dummy_symprefs;      
         valid = gpgme_key_get_ulong_attr (key, GPGME_ATTR_VALIDITY, NULL, 0);  
181          _snprintf (info, sizeof info -1,          _snprintf (info, sizeof info -1,
182                    "Type: %s\r\n"                    "Type: %s\r\n"
183                    "Key ID: %s\r\n"                    "Key ID: %s\r\n"
# Line 180  keyprops_dlg_proc( HWND dlg, UINT msg, W Line 193  keyprops_dlg_proc( HWND dlg, UINT msg, W
193                    get_key_size( key, 0 ),                    get_key_size( key, 0 ),
194                    get_key_created( created ),                    get_key_created( created ),
195                    get_key_expire_date( expires ),                    get_key_expire_date( expires ),
196                    gpgme_key_expand_attr( GPGME_ATTR_VALIDITY, valid ),                    get_validity (key),
197                    gpgme_key_expand_attr( GPGME_ATTR_KEY_SYMPREFS, *sym_prefs ) );                    gpgme_key_expand_attr( GPGME_ATTR_KEY_SYMPREFS, *sym_prefs ) );
198          SetDlgItemText( dlg, IDC_KEYPROPS_INFO, info );          SetDlgItemText( dlg, IDC_KEYPROPS_INFO, info );
199          SetDlgItemText( dlg, IDC_KEYPROPS_FPR, get_key_fpr( key ) );          SetDlgItemText( dlg, IDC_KEYPROPS_FPR, get_key_fpr( key ) );

Legend:
Removed from v.2  
changed lines
  Added in v.22

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26