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

Annotation of /trunk/Include/wptKeyCache.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 214 - (hide annotations)
Sun May 14 18:40:36 2006 UTC (18 years, 9 months ago) by twoaday
File MIME type: text/plain
File size: 4815 byte(s)
2006-05-14  Timo Schulz  <ts@g10code.de>
                                                                                
        * wptKeyCache.cpp (gpg_keycache_update_attr): Parse
        preferred keyserver URL.
        * wptHTTP.cpp (extractHostInfo): Fix segv.
        * wptGPGUtil.cpp (gpg_find_key_subpacket): Ignore default
        gpg.conf.
        * wptKeyserverSearchDlg.cpp (search_hkp_keys): Do not
        assume an existing user id.
        * wptPassphraseCB.cpp (passphrase_cb): Automatic cancel
        if no passphrase is available.

(for complete list of changes, see Src/ChangeLog)

About to release 0.12.1


1 twoaday 38 /* wptKeyCache.h
2 twoaday 146 * Copyright (C) 2005, 2006 Timo Schulz
3 twoaday 38 *
4     * This file is part of WinPT.
5     *
6     * WinPT is free software; you can redistribute it and/or modify
7     * it under the terms of the GNU General Public License as published by
8     * the Free Software Foundation; either version 2 of the License, or
9     * (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
14     * GNU 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     #ifndef WPT_KEYCACHE_H
21     #define WPT_KEYCACHE_H
22    
23 twoaday 205 #include <gpgme.h>
24    
25 twoaday 208 struct gpg_desig_rev_s;
26     typedef struct gpg_desig_rev_s *gpg_desig_rev_t;
27    
28 twoaday 205 /* key cache specific update flags. */
29 twoaday 151 enum keycache_flag_t {
30     KC_FLAG_ADD = 1,
31     KC_FLAG_UPD = 2
32     };
33    
34 twoaday 182 /* key specifc attributes. */
35     enum keycache_attr_t {
36     KC_ATTR_PREFSYM = 11,
37     KC_ATTR_PREFKSERV = 24
38     };
39    
40    
41 twoaday 205 /* contains the UTF8 decoded user id. */
42     struct native_uid_s {
43     struct native_uid_s *next;
44     unsigned int malloced:1; /* 1 if the follow parts are actually
45     malloced or just referenced pointer. */
46     unsigned int revoked : 1;
47     gpgme_validity_t validity;
48    
49 twoaday 208 gpgme_key_sig_t signatures;
50    
51 twoaday 205 char *uid;
52     char *name;
53     char *comment;
54     char *email;
55     };
56    
57    
58 twoaday 38 struct keycache_s {
59 twoaday 167 struct keycache_s *next;
60 twoaday 38 int flags;
61     gpgme_key_t key; /* actual key context. */
62 twoaday 167 unsigned int default_key:1; /* default signing key. */
63 twoaday 38 struct keycache_s *pubpart; /* corresponding public key. */
64     struct {
65     unsigned int is_protected:1; /* key is protected. */
66     unsigned int divert_to_card:1; /* secret key on card. */
67     unsigned int has_desig_rev:1; /* has desig. revokers. */
68     } gloflags;
69     struct {
70 twoaday 133 unsigned int flags;
71 twoaday 38 unsigned char *d; /* attribute (JPG) data. */
72     unsigned int len; /* attribute data length. */
73     gpgme_validity_t validity; /* attribute id validity. */
74     } attrib;
75     unsigned char *sym_prefs;/* symmetric cipher preferences. */
76 twoaday 182 char *pref_keyserver; /* if != NULL preferred keyserver. */
77 twoaday 214 unsigned short pref_keyserver_port;
78 twoaday 38 char *card_type; /* if != NULL key stored on smart card. */
79 twoaday 205 struct native_uid_s *uids;
80 twoaday 208 gpg_desig_rev_t rev; /* if != NULL list of desig revokers. */
81 twoaday 38 };
82    
83     struct gpg_keycache_s {
84     struct keycache_s *item;
85     struct keycache_s *tmp;
86     int secret;
87     int pos;
88 twoaday 167 void (*cb) (void*, const char*, int, int, int);
89 twoaday 38 void *cb_value;
90     int cb_value2;
91     };
92     typedef struct gpg_keycache_s *gpg_keycache_t;
93    
94     gpgme_error_t gpg_keycache_new (gpg_keycache_t * r_ctx);
95     void gpg_keycache_release (gpg_keycache_t ctx);
96     void gpg_keycache_set_cb (gpg_keycache_t ctx,
97     void (*cb)(void *, const char *, int, int, int),
98 twoaday 167 void* cb_value1, int cb_value2);
99 twoaday 38 void gpg_keycache_rewind (gpg_keycache_t ctx);
100     int gpg_keycache_get_size (gpg_keycache_t ctx);
101     gpgme_error_t gpg_keycache_add_key (gpg_keycache_t ctx, gpgme_key_t key,
102     void **opaque);
103     gpgme_error_t gpg_keycache_update_key (gpg_keycache_t ctx, int is_sec,
104     void *opaque, const char *keyid);
105 twoaday 167 gpgme_error_t gpg_keycache_find_key (gpg_keycache_t ctx, const char *pattern,
106 twoaday 38 int flags, gpgme_key_t * r_key);
107 twoaday 167 gpgme_error_t gpg_keycache_find_key2 (gpg_keycache_t ctx,
108     const char *pattern, int flags,
109     gpgme_key_t *r_key,
110     struct keycache_s **r_item);
111 twoaday 38 gpgme_error_t gpg_keycache_delete_key (gpg_keycache_t ctx,
112     const char * pattern);
113     gpgme_error_t gpg_keycache_init (gpg_keycache_t ctx, const char * pattern,
114     int secret);
115     gpgme_error_t gpg_keycache_next_key (gpg_keycache_t ctx, int flags,
116     gpgme_key_t * r_key);
117 twoaday 205 gpgme_error_t gpg_keycache_next_key2 (gpg_keycache_t ctx, int flags,
118     struct keycache_s **c, gpgme_key_t *r_key);
119 twoaday 38 gpgme_error_t gpg_keycache_prepare (gpg_keycache_t ctx,
120 twoaday 167 const char *pubring,
121     const char *secring);
122 twoaday 38 gpgme_error_t gpg_keycache_prepare_single (gpg_keycache_t ctx,
123     const char *keyid,
124     const char *pubr,
125     const char *secr);
126     gpgme_error_t gpg_keycache_sync (gpg_keycache_t pub, gpg_keycache_t sec);
127 twoaday 146 gpgme_error_t gpg_keycache_next_updated_key (gpg_keycache_t ctx,
128 twoaday 151 struct keycache_s **r_obj,
129     int *r_status);
130 twoaday 167 gpgme_error_t gpg_keycache_set_default_key (gpg_keycache_t ctx,
131     const char *pattern);
132     gpgme_error_t gpg_keycache_get_default_key (gpg_keycache_t ctx,
133     gpgme_key_t *r_key);
134 twoaday 182 gpgme_error_t gpg_keycache_update_attr (struct keycache_s *item,
135     int attr, int force);
136 twoaday 38
137     #endif /*WPT_KEYCACHE_H*/

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26