| 6 |
details. |
details. |
| 7 |
|
|
| 8 |
OpenPGP key database |
OpenPGP key database |
| 9 |
$Id: pgpdb.c,v 1.12 2002/09/18 23:26:16 rabbi Exp $ */ |
$Id: pgpdb.c,v 1.13 2002/09/26 22:04:58 weaselp Exp $ */ |
| 10 |
|
|
| 11 |
|
|
| 12 |
#include "mix3.h" |
#include "mix3.h" |
| 77 |
keydb->filetype = pgp_readkeyring(keydb->db, keyring); |
keydb->filetype = pgp_readkeyring(keydb->db, keyring); |
| 78 |
#if 0 |
#if 0 |
| 79 |
if (keydb->filetype == -1) { |
if (keydb->filetype == -1) { |
| 80 |
pgpdb_close(keydb); |
pgpdb_close(keydb, PGP_ARMOR_KEY); |
| 81 |
return (NULL); |
return (NULL); |
| 82 |
} |
} |
| 83 |
#endif /* if 0 */ |
#endif /* if 0 */ |
| 111 |
return (keydb); |
return (keydb); |
| 112 |
} |
} |
| 113 |
|
|
| 114 |
int pgpdb_close(KEYRING *keydb) |
int pgpdb_close(KEYRING *keydb, int armortype) |
| 115 |
|
/* |
| 116 |
|
* armortype whether to use PGP_ARMOR_KEY or PGP_ARMOR_SECKEY if the key is |
| 117 |
|
* armored |
| 118 |
|
*/ |
| 119 |
{ |
{ |
| 120 |
int err = 0; |
int err = 0; |
| 121 |
|
|
| 126 |
pgp_encrypt(PGP_NCONVENTIONAL | PGP_NOARMOR, keydb->db, |
pgp_encrypt(PGP_NCONVENTIONAL | PGP_NOARMOR, keydb->db, |
| 127 |
keydb->encryptkey, NULL, NULL, NULL, NULL); |
keydb->encryptkey, NULL, NULL, NULL, NULL); |
| 128 |
if (keydb->filetype == ARMORED) |
if (keydb->filetype == ARMORED) |
| 129 |
pgp_armor(keydb->db, PGP_ARMOR_KEY); |
pgp_armor(keydb->db, armortype); |
| 130 |
if (keydb->filetype == -1 || (f = mix_openfile(keydb->filename, |
if (keydb->filetype == -1 || (f = mix_openfile(keydb->filename, |
| 131 |
keydb->filetype == |
keydb->filetype == |
| 132 |
ARMORED ? "w" : "wb")) |
ARMORED ? "w" : "wb")) |
| 252 |
case PK_VERIFY: |
case PK_VERIFY: |
| 253 |
r = pgpdb_open(PGPREMPUBRING, NULL, 0); |
r = pgpdb_open(PGPREMPUBRING, NULL, 0); |
| 254 |
if (r != NULL && r->filetype == -1) { |
if (r != NULL && r->filetype == -1) { |
| 255 |
pgpdb_close(r); |
pgpdb_close(r, PGP_ARMOR_KEY); |
| 256 |
r = pgpdb_open(PGPREMPUBASC, NULL, 0); |
r = pgpdb_open(PGPREMPUBASC, NULL, 0); |
| 257 |
} |
} |
| 258 |
break; |
break; |
| 287 |
} |
} |
| 288 |
} |
} |
| 289 |
} |
} |
| 290 |
pgpdb_close(r); |
pgpdb_close(r, PGP_ARMOR_KEY); |
| 291 |
end: |
end: |
| 292 |
if (found < 1) { |
if (found < 1) { |
| 293 |
if (needpass) |
if (needpass) |
| 398 |
buf_nl(out); |
buf_nl(out); |
| 399 |
} |
} |
| 400 |
} |
} |
| 401 |
pgpdb_close(keys); |
pgpdb_close(keys, PGP_ARMOR_KEY); |
| 402 |
} |
} |
| 403 |
|
|
| 404 |
seclock = lockfile(PGPREMSECRING); |
seclock = lockfile(PGPREMSECRING); |