| 6 |
details. |
details. |
| 7 |
|
|
| 8 |
OpenPGP key database |
OpenPGP key database |
| 9 |
$Id: pgpdb.c,v 1.13 2002/09/26 22:04:58 weaselp Exp $ */ |
$Id: pgpdb.c,v 1.14 2002/09/26 22:14:00 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, PGP_ARMOR_KEY); |
pgpdb_close(keydb); |
| 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 armortype) |
int pgpdb_close(KEYRING *keydb) |
|
/* |
|
|
* armortype whether to use PGP_ARMOR_KEY or PGP_ARMOR_SECKEY if the key is |
|
|
* armored |
|
|
*/ |
|
| 115 |
{ |
{ |
| 116 |
int err = 0; |
int err = 0; |
| 117 |
|
|
| 122 |
pgp_encrypt(PGP_NCONVENTIONAL | PGP_NOARMOR, keydb->db, |
pgp_encrypt(PGP_NCONVENTIONAL | PGP_NOARMOR, keydb->db, |
| 123 |
keydb->encryptkey, NULL, NULL, NULL, NULL); |
keydb->encryptkey, NULL, NULL, NULL, NULL); |
| 124 |
if (keydb->filetype == ARMORED) |
if (keydb->filetype == ARMORED) |
| 125 |
pgp_armor(keydb->db, armortype); |
pgp_armor(keydb->db, PGP_ARMOR_KEY); |
| 126 |
if (keydb->filetype == -1 || (f = mix_openfile(keydb->filename, |
if (keydb->filetype == -1 || (f = mix_openfile(keydb->filename, |
| 127 |
keydb->filetype == |
keydb->filetype == |
| 128 |
ARMORED ? "w" : "wb")) |
ARMORED ? "w" : "wb")) |
| 248 |
case PK_VERIFY: |
case PK_VERIFY: |
| 249 |
r = pgpdb_open(PGPREMPUBRING, NULL, 0); |
r = pgpdb_open(PGPREMPUBRING, NULL, 0); |
| 250 |
if (r != NULL && r->filetype == -1) { |
if (r != NULL && r->filetype == -1) { |
| 251 |
pgpdb_close(r, PGP_ARMOR_KEY); |
pgpdb_close(r); |
| 252 |
r = pgpdb_open(PGPREMPUBASC, NULL, 0); |
r = pgpdb_open(PGPREMPUBASC, NULL, 0); |
| 253 |
} |
} |
| 254 |
break; |
break; |
| 283 |
} |
} |
| 284 |
} |
} |
| 285 |
} |
} |
| 286 |
pgpdb_close(r, PGP_ARMOR_KEY); |
pgpdb_close(r); |
| 287 |
end: |
end: |
| 288 |
if (found < 1) { |
if (found < 1) { |
| 289 |
if (needpass) |
if (needpass) |
| 394 |
buf_nl(out); |
buf_nl(out); |
| 395 |
} |
} |
| 396 |
} |
} |
| 397 |
pgpdb_close(keys, PGP_ARMOR_KEY); |
pgpdb_close(keys); |
| 398 |
} |
} |
| 399 |
|
|
| 400 |
seclock = lockfile(PGPREMSECRING); |
seclock = lockfile(PGPREMSECRING); |