diff options
-rw-r--r-- | g10/tdbdump.c | 2 | ||||
-rw-r--r-- | g10/tdbio.c | 21 | ||||
-rw-r--r-- | g10/tdbio.h | 4 | ||||
-rw-r--r-- | g10/trustdb.c | 110 |
4 files changed, 71 insertions, 66 deletions
diff --git a/g10/tdbdump.c b/g10/tdbdump.c index ff90b46ed..893c9820a 100644 --- a/g10/tdbdump.c +++ b/g10/tdbdump.c @@ -204,7 +204,7 @@ import_ownertrust( const char *fname ) any = 1; } } - else if( rc == -1 ) { /* not found: insert */ + else if (gpg_err_code (rc) == GPG_ERR_NOT_FOUND) { /* insert */ log_info("inserting ownertrust of %u\n", otrust ); memset (&rec, 0, sizeof rec); rec.recnum = tdbio_new_recnum (); diff --git a/g10/tdbio.c b/g10/tdbio.c index 4c93c96c3..69b978985 100644 --- a/g10/tdbio.c +++ b/g10/tdbio.c @@ -1245,10 +1245,9 @@ drop_from_hashtable (ulong table, byte *key, int keylen, ulong recnum) * the result in REC. The return value of CMP() should be True if the * record is the desired one. * - * Return: -1 if not found, 0 if found or another error code. - * FIXME: Use GPG_ERR_NOT_FOUND instead of -1. + * Return: 0 if found, GPG_ERR_NOT_FOUND, or another error code. */ -static int +static gpg_error_t lookup_hashtable (ulong table, const byte *key, size_t keylen, int (*cmpfnc)(const void*, const TRUSTREC *), const void *cmpdata, TRUSTREC *rec ) @@ -1271,7 +1270,7 @@ lookup_hashtable (ulong table, const byte *key, size_t keylen, item = rec->r.htbl.item[msb % ITEMS_PER_HTBL_RECORD]; if (!item) - return -1; /* Not found. */ + return gpg_error (GPG_ERR_NOT_FOUND); rc = tdbio_read_record (item, rec, 0); if (rc) @@ -1327,14 +1326,14 @@ lookup_hashtable (ulong table, const byte *key, size_t keylen, } } else - return -1; /* not found */ + return gpg_error (GPG_ERR_NOT_FOUND); } } if ((*cmpfnc)(cmpdata, rec)) return 0; /* really found */ - return -1; /* no: not found */ + return gpg_error (GPG_ERR_NOT_FOUND); /* no: not found */ } @@ -1805,10 +1804,9 @@ cmp_trec_fpr ( const void *fpr, const TRUSTREC *rec ) * Given a 20 byte FINGERPRINT search its trust record and return * that at REC. * - * Return: -1 if not found, 0 if found or another error code. - * FIXME: Use GPG_ERR_NOT_FOUND instead of -1. + * Return: 0 if found, GPG_ERR_NOT_FOUND, or another error code. */ -int +gpg_error_t tdbio_search_trust_byfpr (const byte *fingerprint, TRUSTREC *rec) { int rc; @@ -1824,10 +1822,9 @@ tdbio_search_trust_byfpr (const byte *fingerprint, TRUSTREC *rec) * Given a primary public key object PK search its trust record and * return that at REC. * - * Return: -1 if not found, 0 if found or another error code. - * FIXME: Use GPG_ERR_NOT_FOUND instead of -1. + * Return: 0 if found, GPG_ERR_NOT_FOUND, or another error code. */ -int +gpg_error_t tdbio_search_trust_bypk (PKT_public_key *pk, TRUSTREC *rec) { byte fingerprint[MAX_FINGERPRINT_LEN]; diff --git a/g10/tdbio.h b/g10/tdbio.h index d2595180c..2e15ffe31 100644 --- a/g10/tdbio.h +++ b/g10/tdbio.h @@ -109,8 +109,8 @@ int tdbio_end_transaction(void); int tdbio_cancel_transaction(void); int tdbio_delete_record( ulong recnum ); ulong tdbio_new_recnum(void); -int tdbio_search_trust_byfpr(const byte *fingerprint, TRUSTREC *rec ); -int tdbio_search_trust_bypk(PKT_public_key *pk, TRUSTREC *rec ); +gpg_error_t tdbio_search_trust_byfpr (const byte *fingerprint, TRUSTREC *rec); +gpg_error_t tdbio_search_trust_bypk (PKT_public_key *pk, TRUSTREC *rec); void tdbio_how_to_fix (void); void tdbio_invalid(void); diff --git a/g10/trustdb.c b/g10/trustdb.c index fda8674cb..1826e9822 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -598,12 +598,11 @@ read_trust_record (PKT_public_key *pk, TRUSTREC *rec) init_trustdb(); rc = tdbio_search_trust_bypk (pk, rec); - if (rc == -1) - return -1; /* no record yet */ if (rc) { - log_error ("trustdb: searching trust record failed: %s\n", - gpg_strerror (rc)); + if (gpg_err_code (rc) != GPG_ERR_NOT_FOUND) + log_error ("trustdb: searching trust record failed: %s\n", + gpg_strerror (rc)); return rc; } @@ -625,18 +624,18 @@ unsigned int tdb_get_ownertrust ( PKT_public_key *pk) { TRUSTREC rec; - int rc; + gpg_error_t err; if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS) return TRUST_UNKNOWN; - rc = read_trust_record (pk, &rec); - if (rc == -1) + err = read_trust_record (pk, &rec); + if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) return TRUST_UNKNOWN; /* no record yet */ - if (rc) + if (err) { tdbio_invalid (); - return rc; /* actually never reached */ + return TRUST_UNKNOWN; /* actually never reached */ } return rec.r.trust.ownertrust; @@ -647,18 +646,18 @@ unsigned int tdb_get_min_ownertrust (PKT_public_key *pk) { TRUSTREC rec; - int rc; + gpg_error_t err; if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS) return TRUST_UNKNOWN; - rc = read_trust_record (pk, &rec); - if (rc == -1) + err = read_trust_record (pk, &rec); + if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) return TRUST_UNKNOWN; /* no record yet */ - if (rc) + if (err) { tdbio_invalid (); - return rc; /* actually never reached */ + return TRUST_UNKNOWN; /* actually never reached */ } return rec.r.trust.min_ownertrust; @@ -673,13 +672,13 @@ void tdb_update_ownertrust (PKT_public_key *pk, unsigned int new_trust ) { TRUSTREC rec; - int rc; + gpg_error_t err; if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS) return; - rc = read_trust_record (pk, &rec); - if (!rc) + err = read_trust_record (pk, &rec); + if (!err) { if (DBG_TRUST) log_debug ("update ownertrust from %u to %u\n", @@ -692,7 +691,7 @@ tdb_update_ownertrust (PKT_public_key *pk, unsigned int new_trust ) do_sync (); } } - else if (rc == -1) + else if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) { /* no record yet - create a new one */ size_t dummy; @@ -707,7 +706,7 @@ tdb_update_ownertrust (PKT_public_key *pk, unsigned int new_trust ) write_record (&rec); tdb_revalidation_mark (); do_sync (); - rc = 0; + err = 0; } else { @@ -720,21 +719,22 @@ update_min_ownertrust (u32 *kid, unsigned int new_trust ) { PKT_public_key *pk; TRUSTREC rec; - int rc; + gpg_error_t err; if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS) return; pk = xmalloc_clear (sizeof *pk); - rc = get_pubkey (pk, kid); - if (rc) + err = get_pubkey (pk, kid); + if (err) { - log_error(_("public key %s not found: %s\n"),keystr(kid),gpg_strerror (rc)); + log_error (_("public key %s not found: %s\n"), + keystr (kid), gpg_strerror (err)); return; } - rc = read_trust_record (pk, &rec); - if (!rc) + err = read_trust_record (pk, &rec); + if (!err) { if (DBG_TRUST) log_debug ("key %08lX%08lX: update min_ownertrust from %u to %u\n", @@ -749,7 +749,7 @@ update_min_ownertrust (u32 *kid, unsigned int new_trust ) do_sync (); } } - else if (rc == -1) + else if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) { /* no record yet - create a new one */ size_t dummy; @@ -764,7 +764,7 @@ update_min_ownertrust (u32 *kid, unsigned int new_trust ) write_record (&rec); tdb_revalidation_mark (); do_sync (); - rc = 0; + err = 0; } else { @@ -773,21 +773,24 @@ update_min_ownertrust (u32 *kid, unsigned int new_trust ) } -/* Clear the ownertrust and min_ownertrust values. Return true if a - change actually happened. */ +/* + * Clear the ownertrust and min_ownertrust values. + * + * Return: True if a change actually happened. + */ int tdb_clear_ownertrusts (PKT_public_key *pk) { TRUSTREC rec; - int rc; + gpg_error_t err; init_trustdb (); if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS) return 0; - rc = read_trust_record (pk, &rec); - if (!rc) + err = read_trust_record (pk, &rec); + if (!err) { if (DBG_TRUST) { @@ -806,7 +809,7 @@ tdb_clear_ownertrusts (PKT_public_key *pk) return 1; } } - else if (rc != -1) + else if (gpg_err_code (err) != GPG_ERR_NOT_FOUND) { tdbio_invalid (); } @@ -821,22 +824,23 @@ update_validity (PKT_public_key *pk, PKT_user_id *uid, int depth, int validity) { TRUSTREC trec, vrec; - int rc; + gpg_error_t err; ulong recno; namehash_from_uid(uid); - rc = read_trust_record (pk, &trec); - if (rc && rc != -1) + err = read_trust_record (pk, &trec); + if (err && gpg_err_code (err) != GPG_ERR_NOT_FOUND) { tdbio_invalid (); return; } - if (rc == -1) /* no record yet - create a new one */ + if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) { + /* No record yet - create a new one. */ size_t dummy; - rc = 0; + err = 0; memset (&trec, 0, sizeof trec); trec.recnum = tdbio_new_recnum (); trec.rectype = RECTYPE_TRUST; @@ -881,7 +885,7 @@ update_validity (PKT_public_key *pk, PKT_user_id *uid, int tdb_cache_disabled_value (PKT_public_key *pk) { - int rc; + gpg_error_t err; TRUSTREC trec; int disabled = 0; @@ -893,16 +897,19 @@ tdb_cache_disabled_value (PKT_public_key *pk) if (trustdb_args.no_trustdb) return 0; /* No trustdb => not disabled. */ - rc = read_trust_record (pk, &trec); - if (rc && rc != -1) + err = read_trust_record (pk, &trec); + if (err && gpg_err_code (err) != GPG_ERR_NOT_FOUND) { tdbio_invalid (); goto leave; } - if (rc == -1) /* no record found, so assume not disabled */ - goto leave; + if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) + { + /* No record found, so assume not disabled. */ + goto leave; + } - if (trec.r.trust.ownertrust & TRUST_FLAG_DISABLED) + if ((trec.r.trust.ownertrust & TRUST_FLAG_DISABLED)) disabled = 1; /* Cache it for later so we don't need to look at the trustdb every @@ -911,7 +918,7 @@ tdb_cache_disabled_value (PKT_public_key *pk) pk->flags.disabled_valid = 1; leave: - return disabled; + return disabled; } @@ -960,7 +967,7 @@ tdb_get_validity_core (PKT_public_key *pk, PKT_user_id *uid, PKT_public_key *main_pk) { TRUSTREC trec, vrec; - int rc; + gpg_error_t err; ulong recno; unsigned int validity; @@ -983,19 +990,20 @@ tdb_get_validity_core (PKT_public_key *pk, PKT_user_id *uid, goto leave; } - rc = read_trust_record (main_pk, &trec); - if (rc && rc != -1) + err = read_trust_record (main_pk, &trec); + if (err && gpg_err_code (err) != GPG_ERR_NOT_FOUND) { tdbio_invalid (); return 0; } - if (rc == -1) /* no record found */ + if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) { + /* No record found. */ validity = TRUST_UNKNOWN; goto leave; } - /* loop over all user IDs */ + /* Loop over all user IDs */ recno = trec.r.trust.validlist; validity = 0; while (recno) @@ -1057,7 +1065,7 @@ get_validity_counts (PKT_public_key *pk, PKT_user_id *uid) init_trustdb (); - if(read_trust_record (pk, &trec)!=0) + if(read_trust_record (pk, &trec)) return; /* loop over all user IDs */ |