/[pkg-mixmaster]/trunk/Mix/Src/pgpdb.c
ViewVC logotype

Diff of /trunk/Mix/Src/pgpdb.c

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

revision 262 by rabbi, Wed Sep 18 23:26:17 2002 UTC revision 282 by weaselp, Thu Sep 26 22:04:58 2002 UTC
# Line 6  Line 6 
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"
# Line 77  KEYRING *pgpdb_open(char *keyring, BUFFE Line 77  KEYRING *pgpdb_open(char *keyring, BUFFE
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 */
# Line 111  KEYRING *pgpdb_new(char *keyring, int fi Line 111  KEYRING *pgpdb_new(char *keyring, int fi
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    
# Line 122  int pgpdb_close(KEYRING *keydb) Line 126  int pgpdb_close(KEYRING *keydb)
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"))
# Line 248  int pgpdb_getkey(int mode, int algo, int Line 252  int pgpdb_getkey(int mode, int algo, int
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;
# Line 283  int pgpdb_getkey(int mode, int algo, int Line 287  int pgpdb_getkey(int mode, int algo, int
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)
# Line 394  int pgp_keymgt(int force) Line 398  int pgp_keymgt(int force)
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);

Legend:
Removed from v.262  
changed lines
  Added in v.282

  ViewVC Help
Powered by ViewVC 1.1.5