/[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 48 by werner, Mon Oct 31 21:14:11 2005 UTC revision 214 by twoaday, Sun May 14 18:40:36 2006 UTC
# Line 1  Line 1 
1  /* wptGPG.h - GnuPG interface  /* wptGPG.h - GnuPG interface
2   *      Copyright (C) 2000-2005 Timo Schulz   *      Copyright (C) 2000-2006 Timo Schulz
3   *   *
4   * This file is part of WinPT.   * This file is part of WinPT.
5   *   *
# Line 21  Line 21 
21  #ifndef WPT_GPG_H  #ifndef WPT_GPG_H
22  #define WPT_GPG_H  #define WPT_GPG_H
23    
24  #include "w32gpgme.h"  #include <gpgme.h>
25  #include "wptKeyCache.h"  #include "wptKeyCache.h"
26  #include "wptNLS.h"  #include "wptNLS.h"
27    
28    
29  #define NO_STRICT 0  #define NO_STRICT 0
30    
31  #define key_is_useable(key) (!(key)->revoked && !(key)->expired && !(key)->disabled)  #define key_is_useable(key) (!(key)->revoked && \
32                                 !(key)->expired && \
33                                 !(key)->disabled)
34    
35  enum setup_t {  enum setup_t {
36      SETUP_KEYGEN    = 1,      SETUP_KEYGEN    = 1,
# Line 54  enum entry_t { Line 56  enum entry_t {
56  };  };
57    
58  struct gpg_card_s;  struct gpg_card_s;
59  typedef struct gpg_card_s * gpg_card_t;  typedef struct gpg_card_s *gpg_card_t;
   
 /* GPG file association context. */  
 struct gpg_filetype {      
     const char *descr;  
     const char *ext;  
     int nicon;  
 };  
60    
61  /* Keycache refresh context. */  /* Keycache refresh context. */
62  struct refresh_cache_s {  struct refresh_cache_s {
# Line 71  struct refresh_cache_s { Line 66  struct refresh_cache_s {
66  };  };
67    
68  struct gpg_option_s {  struct gpg_option_s {
69      struct gpg_option_s * next;      struct gpg_option_s *next;
70      char * name;      char *name;
71      char * val;      char *val;
72      unsigned int used:1;      unsigned int used:1;
73      int type;        int type;  
74  };  };
75  typedef struct gpg_option_s * gpg_option_t;  typedef struct gpg_option_s *gpg_option_t;
76    
77  struct gpg_member_s {  struct gpg_member_s {
78      struct gpg_member_s * next;      struct gpg_member_s * next;
79      char * name;      char *name;
80      unsigned int used:1;        unsigned int used:1;  
81  };  };
82  typedef struct gpg_member_s * gpg_member_t;  typedef struct gpg_member_s *gpg_member_t;
83    
84  struct gpg_group_s {  struct gpg_group_s {
85      struct gpg_group_s * next;      struct gpg_group_s *next;
86      struct gpg_member_s * list;      struct gpg_member_s *list;
87      char * name;      char *name;
88      unsigned int used:1;        unsigned int used:1;  
89  };  };
90  typedef struct gpg_group_s * gpg_group_t;  typedef struct gpg_group_s *gpg_group_t;
91    
92  struct gpg_optfile_s {  struct gpg_optfile_s {
93      struct gpg_option_s * list;      struct gpg_option_s *list;
94      struct gpg_group_s * grp;      struct gpg_group_s *grp;
95  };  };
96  typedef struct gpg_optfile_s * gpg_optfile_t;  typedef struct gpg_optfile_s *gpg_optfile_t;
97    
98    
99  struct passphrase_cb_s {  struct passphrase_cb_s {
100      int gpg_cmd;        /* sign or decrypt. */      int gpg_cmd;        /* sign or decrypt. */
# Line 121  struct passphrase_cb_s { Line 117  struct passphrase_cb_s {
117  };  };
118    
119    
 static const char * gpg_sigstat[] = {  
     _("Error during verification process."),  
     _("The signature is good."),  
     _("The signature is BAD!"),  
     _("The signature could not be checked due to a missing key."),  
     _("No valid OpenPGP signature."),  
     _("Signature Error"),  
     _("Good Signature (Expired Key)"),  
     _("Good Signature (Revoked Key)"),  
     NULL  
 };  
   
 int sigsum_to_index (gpgme_sigsum_t sum);  
 #define SIGSTAT_MASK 8  
 #define get_gpg_sigstat(sum) gpg_sigstat[sigsum_to_index ((sum)) % SIGSTAT_MASK]  
   
120  /* This variable is 1 if IDEA is available. */  /* This variable is 1 if IDEA is available. */
121  extern int idea_available;  extern int idea_available;
122    
# Line 154  char* get_gnupg_keyring (int pub, int st Line 134  char* get_gnupg_keyring (int pub, int st
134  char* get_gnupg_cfgfile (void);  char* get_gnupg_cfgfile (void);
135  int set_gnupg_options( const char *buf, size_t buflen );  int set_gnupg_options( const char *buf, size_t buflen );
136  int gnupg_load_config (void);  int gnupg_load_config (void);
137    char* multi_gnupg_path (int strict);
138    
139  int check_gnupg_options (const char *buf);  int check_gnupg_options (const char *buf);
140  void init_gnupg_table (void);  void init_gnupg_table (void);
# Line 164  int gpg_check_permissions (int showmsg); Line 145  int gpg_check_permissions (int showmsg);
145  int gnupg_check_homedir (void);  int gnupg_check_homedir (void);
146  int gnupg_access_keyring (int _pub);  int gnupg_access_keyring (int _pub);
147  void gnupg_backup_options ();  void gnupg_backup_options ();
148  void gnupg_backup_keyrings (void);  void gnupg_backup_keyrings (int auto_backup, int backup_mode);
149  void gnupg_display_error (void);  void gnupg_display_error (void);
150  int gnupg_copy_keyrings (void);  int gnupg_copy_keyrings (void);
151  int check_gnupg_engine (int *r_major, int *r_minor, int *r_patch);  int check_gnupg_engine (const char *need_gpg_ver,
152                            int *r_major, int *r_minor, int *r_patch);
153    
154  /*-- wptGPGME.cpp --*/  /*-- wptGPGME.cpp --*/
155  const char * get_signature_status( gpgme_sigsum_t sigstat );  const char * get_signature_status( gpgme_sigsum_t sigstat );
156  void keycache_reload( HWND dlg );  void keycache_reload( HWND dlg );
157    
158  int get_pubkey (const char *keyid, gpgme_key_t *ret_key);  gpgme_error_t get_pubkey (const char *keyid, gpgme_key_t *ret_key);
159  int 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);
160  int get_seckey (const char *keyid, gpgme_key_t *ret_skey);  gpgme_error_t get_seckey (const char *keyid, gpgme_key_t *ret_skey);
161  int 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);
162    
163  void keycache_reload( HWND dlg );  void keycache_reload( HWND dlg );
164  void keycache_release (int cleanup);  void keycache_release (int cleanup);
165  gpgme_error_t keycache_update (int is_sec, const char *keyid);  gpgme_error_t keycache_update (int is_sec, const char *keyid);
166  gpgme_error_t keycache_init( const char *pubring, const char * secring );  gpgme_error_t keycache_init (const char *pubring, const char * secring);
167  void keycache_set_reload( int yes );  gpg_keycache_t keycache_get_ctx (int _pub);
 int keycache_get_reload( void );  
 gpg_keycache_t keycache_get_ctx( int _pub );  
168    
169  int count_insecure_elgkeys (void);  int count_insecure_elgkeys (void);
170    
171  int gpg_encrypt_symmetric (void);  int gpg_encrypt_symmetric (void);
172    const char *get_gpg_sigstat (gpgme_sigsum_t sum);
173    int check_ultimate_trusted_key (void);
174    bool secret_key_available (void);
175    
176  /*-- wptGPGParser.cpp --*/  /*-- wptGPGParser.cpp --*/
177  /* find */  /* find */
# Line 214  void release_group( gpg_group_t grp ); Line 196  void release_group( gpg_group_t grp );
196    
197  /*-- wptPassphraseCB.cpp --*/  /*-- wptPassphraseCB.cpp --*/
198  enum passdlg_t {  enum passdlg_t {
199      PASSDLG_REPEAT = 0,      PASSDLG_REPEAT  = 0,
200      PASSDLG_INIT = 1,        PASSDLG_INIT    = 1,  
201      PASSDLG_STRICT = 2      PASSDLG_STRICT  = 2,
202        PASSDLG_NOTEMPTY= 4
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,
206                              int cmd, HWND hwnd, const char *title);                              int cmd, HWND hwnd, const char *title);
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);
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);
# Line 229  const char * passphrase_cb (void *opaque Line 213  const char * passphrase_cb (void *opaque
213  char * get_key_userid (const char *keyid);  char * get_key_userid (const char *keyid);
214  int check_passwd_quality (const char *pass, int strict);  int check_passwd_quality (const char *pass, int strict);
215    
216    /*-- wptClipboard.cpp --*/
217    gpgme_error_t gpg_clip_istext_avail (int *r_val);
218    gpgme_error_t gpg_clip_is_secured (int *r_type, int *r_val);
219    gpgme_error_t gpg_clip_get_pgptype (int *r_type);
220    gpgme_error_t gpg_clip_parse_pgpid (const char *data, int *r_type);
221    
222    /* wptGPGMEData.cpp --*/
223    gpgme_error_t gpg_data_new_from_clipboard (gpgme_data_t *r_dh, int wraplen);
224    void         gpg_data_release_and_set_clipboard (gpgme_data_t dh, int chg_ver);
225    size_t       gpg_data_readline (gpgme_data_t dh, char *line, size_t nbytes);
226    
227    gpgme_error_t gpg_data_release_and_set_file (gpgme_data_t dh, const char *fname);
228    gpgme_error_t  gpg_data_mail_quote (gpgme_data_t *r_dh);
229    gpgme_error_t  gpg_data_extract_plaintext (gpgme_data_t sig, gpgme_data_t *r_plain);
230    void          gpg_data_putc (gpgme_data_t hd, int c);
231    
232  /*-- wptGPGUtil.cpp --*/  /*-- wptGPGUtil.cpp --*/
233  gpgme_error_t gpg_rebuild_cache (char **r_inf);  gpgme_error_t gpg_rebuild_cache (char **r_inf);
234  gpgme_error_t gpg_get_version (char **r_inf);  gpgme_error_t gpg_get_version (char **r_inf);
235  void          gpg_set_debug_mode (int val);  void          gpg_set_debug_mode (int val);
236  gpgme_error_t gpg_export_seckey (const char *keyid, const char *outfile);  gpgme_error_t gpg_export_seckey (const char *keyid, const char *outfile);
237  gpgme_error_t gpg_manage_ownertrust (char **data, int do_export);  gpgme_error_t gpg_manage_ownertrust (char **data, int do_export);
238    gpgme_error_t gpg_get_photoid_data (const char *keyid, char **r_status_data,
239  char*  generate_revoc_input (int code, const char *cmt, const char *pass);                                      unsigned char **r_data,
240  gpgme_error_t gpg_revoke_key (const char *inp_data,                                      unsigned long *ndata);
241                                const char *keyid,  gpgme_error_t gpg_revoke_cert (int desig_revoke, const char *inp_data,
242                                char **r_revcert);                                 const char *keyid, char **r_revcert);
243  gpgme_error_t gpg_decode_c_string (const char *src, char **destp, size_t len);  gpgme_error_t gpg_decode_c_string (const char *src, char **destp, size_t len);
244  gpgme_error_t gpg_import_key_list (const char *fname, char **r_out);  gpgme_error_t gpg_import_key_list (const char *fname, char **r_out);
245    gpgme_error_t gpg_extract_keys (const char *keyfile, const char **keys, DWORD nkeys,
246                                    char **new_keyfile);
247  gpgme_error_t get_uat_validity (const char *keyid, gpgme_validity_t *r_valid);  gpgme_error_t get_uat_validity (const char *keyid, gpgme_validity_t *r_valid);
248    gpgme_error_t gpg_get_recipients (const char *file, gpgme_recipient_t *r_list);
249    gpgme_error_t gpg_find_key_subpacket (const char *key, int subpktid,
250                                          char **value);
251    
252  #endif /* WPT_GPG_H */  #endif /* WPT_GPG_H */

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26