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

Diff of /trunk/Include/wptGPG.h

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

revision 214 by twoaday, Sun May 14 18:40:36 2006 UTC revision 273 by twoaday, Fri Dec 8 10:22:17 2006 UTC
# Line 28  Line 28 
28    
29  #define NO_STRICT 0  #define NO_STRICT 0
30    
31    /* Macro to indicate if a key is useable or not. */
32  #define key_is_useable(key) (!(key)->revoked && \  #define key_is_useable(key) (!(key)->revoked && \
33                               !(key)->expired && \                               !(key)->expired && \
34                               !(key)->disabled)                               !(key)->disabled)
# Line 35  Line 36 
36  enum setup_t {  enum setup_t {
37      SETUP_KEYGEN    = 1,      SETUP_KEYGEN    = 1,
38      SETUP_IMPORT    = 2,      SETUP_IMPORT    = 2,
39      SETUP_EXISTING  = 3      SETUP_EXISTING  = 3,
40        SETUP_CARDGEN   = 4
41  };  };
42    
43  enum gpg_cmd_t {  enum gpg_cmd_t {
# Line 48  enum keycache_t { Line 50  enum keycache_t {
50      KEYCACHE_PUB = 1      KEYCACHE_PUB = 1
51  };  };
52    
 enum entry_t {  
     ENTRY_OPAQUE = 1,  
     ENTRY_SINGLE = 2,  
     ENTRY_MULTI  = 3,  
     ENTRY_GROUP  = 4,  
 };  
53    
54  struct gpg_card_s;  struct gpg_card_s;
55  typedef struct gpg_card_s *gpg_card_t;  typedef struct gpg_card_s *gpg_card_t;
56    
57  /* Keycache refresh context. */  /* Keycache refresh context. */
58  struct refresh_cache_s {  struct refresh_cache_s {
59      int kr_reload;      int kring_update; /* update the keyring cache. */
60      int kr_update;      int sig_update;   /* update the signature cache. */
     int tr_update;  
 };  
   
 struct gpg_option_s {  
     struct gpg_option_s *next;  
     char *name;  
     char *val;  
     unsigned int used:1;  
     int type;    
 };  
 typedef struct gpg_option_s *gpg_option_t;  
   
 struct gpg_member_s {  
     struct gpg_member_s * next;  
     char *name;  
     unsigned int used:1;    
 };  
 typedef struct gpg_member_s *gpg_member_t;  
   
 struct gpg_group_s {  
     struct gpg_group_s *next;  
     struct gpg_member_s *list;  
     char *name;  
     unsigned int used:1;    
 };  
 typedef struct gpg_group_s *gpg_group_t;  
   
 struct gpg_optfile_s {  
     struct gpg_option_s *list;  
     struct gpg_group_s *grp;  
61  };  };
 typedef struct gpg_optfile_s *gpg_optfile_t;  
62    
63    
64    /* Structure for the passphrase callback. */
65  struct passphrase_cb_s {  struct passphrase_cb_s {
66      int gpg_cmd;        /* sign or decrypt. */      int gpg_cmd;        /* sign or decrypt. */
67      int pwd_init;       /* 1 = passphrase request via dialog. */      int pwd_init;       /* 1 = passphrase request via dialog. */
# Line 121  struct passphrase_cb_s { Line 87  struct passphrase_cb_s {
87  extern int idea_available;  extern int idea_available;
88    
89  /*-- wptGPG.cpp --*/  /*-- wptGPG.cpp --*/
90  char* get_gnupg_default_key( void );  char* get_gnupg_default_key (void);
91  int set_gnupg_default_key( const char *key );  int set_gnupg_default_key (const char *key);
92  char* get_gnupg_config (void);  char* get_gnupg_config (void);
 char* get_gnupg_keyring_from_options( const char *fname, int pub );  
93  int check_gnupg_config (const char *fname, int *secrings, int *pubrings);  int check_gnupg_config (const char *fname, int *secrings, int *pubrings);
94  char* get_gnupg_path( void );  char* get_gnupg_path (void);
95  int check_gnupg_prog( void );  int check_gnupg_prog (void);
96  int gnupg_access_files (void);  int gnupg_access_files (void);
97  char* get_gnupg_prog( void );  char* get_gnupg_prog (void);
98  char* get_gnupg_keyring (int pub, int strict);  char* get_gnupg_keyring (int pub, int strict);
99  char* get_gnupg_cfgfile (void);  char* get_gnupg_cfgfile (void);
100  int set_gnupg_options( const char *buf, size_t buflen );  int set_gnupg_options( const char *buf, size_t buflen );
101  int gnupg_load_config (void);  int gnupg_load_config (void);
102  char* multi_gnupg_path (int strict);  char* multi_gnupg_path (int strict);
103    
104  int check_gnupg_options (const char *buf);  int check_gnupg_options (const char *buf, int showerr);
105  void init_gnupg_table (void);  void init_gnupg_table (void);
106  void free_gnupg_table (void);  void free_gnupg_table (void);
107  int keyring_check_last_access (void);  int keyring_check_last_access (void);
# Line 145  int gpg_check_permissions (int showmsg); Line 110  int gpg_check_permissions (int showmsg);
110  int gnupg_check_homedir (void);  int gnupg_check_homedir (void);
111  int gnupg_access_keyring (int _pub);  int gnupg_access_keyring (int _pub);
112  void gnupg_backup_options ();  void gnupg_backup_options ();
113  void gnupg_backup_keyrings (int auto_backup, int backup_mode);  void gnupg_backup_keyrings (int auto_backup, int backup_mode,
114  void gnupg_display_error (void);                              int include_secr);
115  int gnupg_copy_keyrings (void);  int gnupg_copy_keyrings (void);
116  int check_gnupg_engine (const char *need_gpg_ver,  int check_gnupg_engine (const char *need_gpg_ver,
117                          int *r_major, int *r_minor, int *r_patch);                          int *r_major, int *r_minor, int *r_patch);
118    
119  /*-- wptGPGME.cpp --*/  /*-- wptGPGME.cpp --*/
120  const char * get_signature_status( gpgme_sigsum_t sigstat );  const char * get_signature_status( gpgme_sigsum_t sigstat );
 void keycache_reload( HWND dlg );  
121    
122  gpgme_error_t get_pubkey (const char *keyid, gpgme_key_t *ret_key);  gpgme_error_t get_pubkey (const char *keyid, gpgme_key_t *ret_key);
123  gpgme_error_t winpt_get_pubkey (const char *keyid, struct winpt_key_s *k);  gpgme_error_t winpt_get_pubkey (const char *keyid, struct winpt_key_s *k);
124    void          winpt_release_pubkey (winpt_key_s *k);
125  gpgme_error_t get_seckey (const char *keyid, gpgme_key_t *ret_skey);  gpgme_error_t get_seckey (const char *keyid, gpgme_key_t *ret_skey);
126  gpgme_error_t winpt_get_seckey (const char *keyid, struct winpt_key_s *k);  gpgme_error_t winpt_get_seckey (const char *keyid, struct winpt_key_s *k);
127    
 void keycache_reload( HWND dlg );  
128  void keycache_release (int cleanup);  void keycache_release (int cleanup);
129  gpgme_error_t keycache_update (int is_sec, const char *keyid);  gpgme_error_t keycache_update (int is_sec, const char *keyid);
130  gpgme_error_t keycache_init (const char *pubring, const char * secring);  gpgme_error_t keycache_init (const char *pubring, const char * secring);
131  gpg_keycache_t keycache_get_ctx (int _pub);  gpg_keycache_t keycache_get_ctx (int _pub);
132    
133  int count_insecure_elgkeys (void);  gpgme_error_t gpg_clip_sym_encrypt (void);
   
 int gpg_encrypt_symmetric (void);  
134  const char *get_gpg_sigstat (gpgme_sigsum_t sum);  const char *get_gpg_sigstat (gpgme_sigsum_t sum);
135  int check_ultimate_trusted_key (void);  int check_ultimate_trusted_key (void);
136  bool secret_key_available (void);  bool secret_key_available (void);
137    
138  /*-- wptGPGParser.cpp --*/  /*-- wptGPGParser.cpp --*/
139  /* find */  enum entry_t {
140  gpg_group_t find_group( gpg_optfile_t opt, const char *str );      ENTRY_OPAQUE = 1,
141  gpg_option_t find_option( gpg_optfile_t opt, const char *str );      ENTRY_SINGLE = 2,
142  gpg_member_t find_member( gpg_optfile_t opt, const char *grp, const char *str );      ENTRY_MULTI  = 3,
143  /* delete */      ENTRY_GROUP  = 4,
144  int delete_group( gpg_optfile_t opt, const char *str );  };
145  int delete_member( gpg_optfile_t opt, const char *grp, const char *str );  
146  int delete_option( gpg_optfile_t opt, const char *str );  struct conf_option_s {
147  /* add */      struct conf_option_s *next;
148  int modify_entry( gpg_optfile_t opt, int type, const char *name, const char *val );      char *name;
149  int add_entry( gpg_optfile_t opt, int type, const char *name, const char *val );      char *val;
150  int add_member( gpg_optfile_t opt, const char *grp, const char *str );      unsigned int used:1;
151  int add_group( gpg_optfile_t opt, const char *str );      int type;  
152    };
153    typedef struct conf_option_s *conf_option_t;
154    
155    struct conf_member_s {
156        struct conf_member_s * next;
157        char *name;
158        unsigned int used:1;  
159    };
160    typedef struct conf_member_s *conf_member_t;
161    
162    struct conf_group_s {
163        struct conf_group_s *next;
164        struct conf_member_s *list;
165        char *name;
166        unsigned int used:1;  
167    };
168    typedef struct conf_group_s *conf_group_t;
169    
170    struct conf_file_s {
171        conf_option_t list;
172        conf_group_t grp;
173    };
174    typedef struct conf_file_s *config_file_t;
175    
176    /* find/delete/add */
177    conf_group_t conf_find_group (config_file_t opt, const char *str);
178    conf_option_t conf_find_option (config_file_t opt, const char *str);
179    conf_member_t conf_find_member (config_file_t opt,
180                                    const char *grp, const char *str);
181    int conf_delete_group (config_file_t opt, const char *str);
182    int conf_delete_member (config_file_t opt, const char *grp, const char *str);
183    int conf_delete_option (config_file_t opt, const char *str);
184    int conf_modify_entry (config_file_t opt, int type, const char *name, const char *val);
185    int conf_add_entry (config_file_t opt, int type, const char *name, const char *val);
186    int conf_add_entry_int (config_file_t opt, int type, const char *name, int val);
187    int conf_add_member (config_file_t opt, const char *grp, const char *str);
188    int conf_add_group (config_file_t opt, const char *str);
189  /* high-level */  /* high-level */
190  int parse_gpg_options( const char *file, gpg_optfile_t *r_opt );  void new_config (config_file_t *r_opt);
191  int commit_gpg_options( const char *file, gpg_optfile_t opt );  int parse_config (const char *file, config_file_t *r_opt);
192  void release_gpg_options( gpg_optfile_t opt );  int commit_config (const char *file, config_file_t opt);
193  /* memory */  void release_config (config_file_t opt);
194  void release_group( gpg_group_t grp );  void release_group (conf_group_t grp);
195    
196  /*-- wptPassphraseCB.cpp --*/  /*-- wptPassphraseCB.cpp --*/
197  enum passdlg_t {  enum passdlg_t {
198      PASSDLG_REPEAT  = 0,      PASSDLG_REPEAT  = 0, /* indicate the dialig is in the 'repeat passwd' state. */
199      PASSDLG_INIT    = 1,        PASSDLG_INIT    = 1,
200      PASSDLG_STRICT  = 2,      PASSDLG_STRICT  = 2,
201      PASSDLG_NOTEMPTY= 4      PASSDLG_NOTEMPTY= 4,
202        PASSDLG_WARN_UTF8=8,
203  };  };
204    
205  void set_gpg_passphrase_cb (passphrase_cb_s *cb, gpgme_ctx_t ctx,  void set_gpg_passphrase_cb (passphrase_cb_s *cb, gpgme_ctx_t ctx,
# Line 207  void set_gpg_passphrase_cb (passphrase_c Line 207  void set_gpg_passphrase_cb (passphrase_c
207  void release_gpg_passphrase_cb (passphrase_cb_s *cb);  void release_gpg_passphrase_cb (passphrase_cb_s *cb);
208  void release_gpg_recipients (gpgme_recipient_t *recipients);  void release_gpg_recipients (gpgme_recipient_t *recipients);
209    
210  char * request_passphrase (const char *title, int flags, int *ret_cancel);  char *request_passphrase (const char *title, int flags, int *ret_cancel);
211  char * request_passphrase2 (const char *title, int flags, int *ret_cancel);  char *request_passphrase2 (const char *title, int flags, int *ret_cancel);
212    char *request_key_passphrase (gpgme_key_t key, const char *title,
213                                  int *ret_cancel);
214  const char * passphrase_cb (void *opaque, const char * desc, void *r_hd);  const char * passphrase_cb (void *opaque, const char * desc, void *r_hd);
215  char * get_key_userid (const char *keyid);  char * get_key_userid (const char *keyid);
216  int check_passwd_quality (const char *pass, int strict);  int check_passwd_quality (const char *pass, int strict);
# Line 248  gpgme_error_t get_uat_validity (const ch Line 250  gpgme_error_t get_uat_validity (const ch
250  gpgme_error_t gpg_get_recipients (const char *file, gpgme_recipient_t *r_list);  gpgme_error_t gpg_get_recipients (const char *file, gpgme_recipient_t *r_list);
251  gpgme_error_t gpg_find_key_subpacket (const char *key, int subpktid,  gpgme_error_t gpg_find_key_subpacket (const char *key, int subpktid,
252                                        char **value);                                        char **value);
253    int gpg_check_return_code (const char *args);
254    
255  #endif /* WPT_GPG_H */  #endif /* WPT_GPG_H */

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26