/[winpt]/trunk/Include/wptKeyEdit.h
ViewVC logotype

Annotation of /trunk/Include/wptKeyEdit.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 175 - (hide annotations)
Tue Feb 7 08:58:04 2006 UTC (19 years ago) by twoaday
File MIME type: text/plain
File size: 5696 byte(s)
2006-02-04  Timo Schulz  <ts@g10code.de>
                                                                                                                            
        * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Check for
        at least one ultimately trusted key.
        * wptKeyManager.cpp (km_refresh_key_from_keyserver):
        Only check inet connection if we refresh all keys.
        * wptGPGUtil.cpp (gpg_extract_keys): New.
        * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Use textmode.
        * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
        * wptClipSignDlg.cpp (get_selected_key): New.
        (one_key_proc): Use it here.
        (count_useable_seckeys): New.
        * wptSigTreeDlg.cpp (sigtree_dlg_proc): New.
        * wptKeyEditDlgs.cpp (diff_time): Removed.
        (w32_mktime): New.
        (keyedit_addsubkey_dlg_proc): Use it here.
                                                                                                                            
2006-02-02  Timo Schulz  <ts@g10code.de>
                                                                                                                            
        * wptW32API.cpp (get_temp_name): New.
        * wptKeyserver.cpp (ldap_recvkey): Use it here.
        * wptKeyPropsDlg.cpp (get_photo_tmpname): Likewise.
        * wptGPGUtil.cpp (create_tempfile): Likewise.
        * wptImportList.cpp (implist_load): Likewise.
        * wptKeyCache.cpp (parse_attr_data): Likewise.
        (w32_tempfile): Removed.
        * wptGPGME.cpp (check_ultimate_trusted_key): New.
                                                                                                                            

1 werner 37 /* wptKeyEdit.h
2     * Copyright (C) 2003, 2004 Timo Schulz
3     *
4     * This file is part of WinPT.
5     *
6     * WinPT is free software; you can redistribute it and/or
7     * modify it under the terms of the GNU General Public License
8     * as published by the Free Software Foundation; either version 2
9     * of the License, or (at your option) any later version.
10     *
11     * WinPT is distributed in the hope that it will be useful,
12     * but WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14     * General Public License for more details.
15     *
16     * You should have received a copy of the GNU General Public License
17     * along with WinPT; if not, write to the Free Software Foundation,
18     * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19     */
20    
21     #ifndef WPT_KEY_EDIT_H
22     #define WPT_KEY_EDIT_H
23    
24     /* IDs for all possible gpg edit key commands. */
25     enum gpg_editkey_t {
26     GPG_EDITKEY_SIGN = 1,
27     GPG_EDITKEY_LSIGN = 2,
28     GPG_EDITKEY_NRSIGN = 19,
29     GPG_EDITKEY_NRLSIGN = 22,
30     GPG_EDITKEY_TSIGN = 20,
31     GPG_EDITKEY_TRUST = 3,
32     GPG_EDITKEY_ADDUID = 4,
33     GPG_EDITKEY_DELUID = 5,
34     GPG_EDITKEY_DELKEY = 6,
35     GPG_EDITKEY_ADDKEY = 7,
36     GPG_EDITKEY_PASSWD = 8,
37     GPG_EDITKEY_PRIMARY = 9,
38     GPG_EDITKEY_EXPIRE = 10,
39     GPG_EDITKEY_REVSIG = 11,
40     GPG_EDITKEY_REVKEY = 12,
41     GPG_EDITKEY_REVOKE = 13, /* revoke the whole key */
42     GPG_EDITKEY_ADDREV = 14,
43     GPG_EDITKEY_ADDPHOTO= 15,
44     GPG_EDITKEY_ENABLE = 16,
45     GPG_EDITKEY_DISABLE = 17,
46     GPG_EDITKEY_SETPREF = 18,
47     GPG_EDITKEY_DELSIG = 21,
48     GPG_EDITKEY_KEYSERV = 23,
49 twoaday 119 GPG_EDITKEY_REVUID = 24,
50     GPG_EDITKEY_CLEAN = 25
51 werner 37 };
52    
53     /* Reasons for revocations. */
54     enum gpg_revoke_t {
55     GPG_REVOKE_INSECURE = 1,
56     GPG_REVOKE_SUPERSEDED = 2,
57     GPG_REVOKE_NOUSED = 3
58     };
59    
60     /* Contain information about designated revokers. */
61     struct gpg_desig_rev_s {
62     struct gpg_desig_rev_s *next;
63     gpgme_pubkey_algo_t pubkey_algo;
64     char fpr[41];
65     };
66     typedef struct gpg_desig_rev_s *gpg_desig_rev_t;
67    
68     /* Context to hold all user-ID information. */
69     struct gpg_user_id_info_s {
70     struct gpg_user_id_info_s *next;
71     struct {
72     unsigned int revoked:1;
73     unsigned int invalid:1;
74     unsigned int primary:1;
75     unsigned int mdc:1;
76     unsigned int no_ks_modify:1;
77     } flags;
78     int validity;
79     char *name;
80     char *email;
81     char *prefs;
82     int index;
83     };
84     typedef struct gpg_user_id_info_s *gpg_uid_info_t;
85    
86     /* Class to abstract the gpg edit key interface. */
87     class GpgKeyEdit {
88     private:
89     gpgme_key_t key;
90     gpgme_ctx_t ctx;
91     int resval;
92     int type;
93    
94 twoaday 170 int sig_index;
95     int key_index;
96     int uid_index;
97    
98 werner 37 public:
99     int cnt;
100     int cmd_sent;
101     const char *pass;
102     const char *new_pass;
103     const char *url;
104     int trust_id;
105     char *name, *cmt, *email;
106     const char *exp_date; /* XXX */
107     gpgme_pubkey_algo_t pubkey_algo;
108     int pubkey_size;
109     int valid; /* XXX */
110     int flags;
111     int sig_class;
112     int reason;
113    
114     public:
115     GpgKeyEdit (gpgme_key_t key);
116     GpgKeyEdit (const char *keyid);
117     ~GpgKeyEdit (void);
118    
119     bool isValid (void);
120     void reset (void);
121 twoaday 175
122 twoaday 170 void clear (void);
123 twoaday 175 void clearPassphrase (void);
124 werner 37
125     void setPassphrase (const char *pass);
126     void setKey (gpgme_key_t key);
127     void setKeyID (const char *keyid);
128     void setLocalUser (gpgme_key_t locusr);
129 twoaday 170 void setCallback (gpgme_progress_cb_t cb, void *cb_value);
130 werner 37 void setResult (int val);
131     int getResult (void);
132    
133 twoaday 170 gpgme_key_t getKey (void);
134     int getType (void);
135     int getUseridIndex (void);
136     int getKeyIndex (void);
137     int getSigIndex (void);
138    
139     gpgme_error_t signUserid (int uid_idx, int mode, int sig_class,
140     const char *exp_date);
141 werner 37 gpgme_error_t signKey (int mode, int sig_class, const char *exp_date);
142     gpgme_error_t setTrust (gpgme_validity_t trust);
143     gpgme_error_t addUserid (const char *name, const char *cmt,
144     const char *email);
145     gpgme_error_t delUserid (int index);
146     gpgme_error_t delKey (int index);
147     gpgme_error_t addSubkey (gpgme_pubkey_algo_t pubkey_algo,
148     unsigned int nbits, long valid);
149     gpgme_error_t changePassphrase (const char *new_pass, int allow_empty);
150     gpgme_error_t setPrimaryUserid (int uid_indx);
151     gpgme_error_t setKeyExpireDate (int key_index, long exp_timestamp,
152     bool exp_days);
153     gpgme_error_t revokeUserid (int uid_indx);
154     gpgme_error_t revokeSignature (int uid_index, int sig_index);
155     gpgme_error_t revokeSubkey (int key_index, int reason, const char *cmt);
156     gpgme_error_t addDesignatedRevoker (const char *uid);
157     gpgme_error_t addPhotoid (const char *jpg_file);
158     gpgme_error_t enable (void);
159     gpgme_error_t disable (void);
160     gpgme_error_t setUseridPreferences (int uid_index, const char *new_prefs);
161     gpgme_error_t delUseridSignature (int uid_index, int sig_index);
162     gpgme_error_t setPreferredKeyserver (int uid_index, const char *url);
163 twoaday 119 gpgme_error_t cleanKey (void);
164 werner 37
165     gpgme_error_t getUseridInfo (gpg_uid_info_t *r_uinf);
166    
167     gpgme_error_t getDesignatedRevoker (gpg_desig_rev_t *r_rev);
168     };
169    
170     BOOL keyedit_add_subkey (winpt_key_t k, HWND dlg, listview_ctrl_t lv);
171     BOOL keyedit_add_userid (winpt_key_t k, HWND dlg, listview_ctrl_t lv);
172     BOOL keyedit_add_revoker (winpt_key_t k, HWND dlg);
173     BOOL keyedit_add_photo (winpt_key_t k, HWND dlg );
174     BOOL keyedit_change_passwd (winpt_key_t k, HWND dlg);
175     BOOL keyedit_set_pref_keyserver (winpt_key_t k, HWND dlg);
176    
177     gpgme_error_t gpg_editkey (gpgme_ctx_t ctx, gpgme_key_t key, GpgKeyEdit *ek);
178     void gpg_uid_info_release (gpg_uid_info_t inf);
179     void gpg_desig_rev_release (gpg_desig_rev_t rev);
180    
181     #endif /*WPT_KEY_EDIT_H*/

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26