mirror of
git://git.gnupg.org/gnupg.git
synced 2025-02-02 16:43:03 +01:00
gpg: Fix harmless compiler warnings.
* g10/tofu.h (_tofu_GET_POLICY_ERROR): New. This avoids warnings about undefined enum values in a switch. * g10/trustdb.h (_tofu_GET_TRUST_ERROR): New. * g10/tofu.c (TIME_AGO_FUTURE_IGNORE): Move to the top. (opendbs): Avoid compiler warning (use braces). (GET_POLICY_ERROR): Replace define by enum _tofu_GET_POLICY_ERROR. (get_policy): Remove assert. (GET_TRUST_ERROR): Replace by _tofu_GET_TRUST_ERROR macro. (show_statistics): Undef MIN_SECS et al. after use. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
e64c805b0c
commit
558bcd43ae
130
g10/tofu.c
130
g10/tofu.c
@ -82,6 +82,39 @@ struct db
|
|||||||
char name[1];
|
char name[1];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* The grouping parameters when collecting signature statistics. */
|
||||||
|
|
||||||
|
/* If a message is signed a couple of hours in the future, just assume
|
||||||
|
some clock skew. */
|
||||||
|
#define TIME_AGO_FUTURE_IGNORE (2 * 60 * 60)
|
||||||
|
#if 0
|
||||||
|
# define TIME_AGO_UNIT_SMALL 60
|
||||||
|
# define TIME_AGO_UNIT_SMALL_NAME _("minute")
|
||||||
|
# define TIME_AGO_UNIT_SMALL_NAME_PLURAL _("minutes")
|
||||||
|
# define TIME_AGO_MEDIUM_THRESHOLD (60 * TIME_AGO_UNIT_SMALL)
|
||||||
|
# define TIME_AGO_UNIT_MEDIUM (60 * 60)
|
||||||
|
# define TIME_AGO_UNIT_MEDIUM_NAME _("hour")
|
||||||
|
# define TIME_AGO_UNIT_MEDIUM_NAME_PLURAL _("hours")
|
||||||
|
# define TIME_AGO_LARGE_THRESHOLD (24 * 60 * TIME_AGO_UNIT_SMALL)
|
||||||
|
# define TIME_AGO_UNIT_LARGE (24 * 60 * 60)
|
||||||
|
# define TIME_AGO_UNIT_LARGE_NAME _("day")
|
||||||
|
# define TIME_AGO_UNIT_LARGE_NAME_PLURAL _("days")
|
||||||
|
#else
|
||||||
|
# define TIME_AGO_UNIT_SMALL (24 * 60 * 60)
|
||||||
|
# define TIME_AGO_UNIT_SMALL_NAME _("day")
|
||||||
|
# define TIME_AGO_UNIT_SMALL_NAME_PLURAL _("days")
|
||||||
|
# define TIME_AGO_MEDIUM_THRESHOLD (4 * TIME_AGO_UNIT_SMALL)
|
||||||
|
# define TIME_AGO_UNIT_MEDIUM (7 * 24 * 60 * 60)
|
||||||
|
# define TIME_AGO_UNIT_MEDIUM_NAME _("week")
|
||||||
|
# define TIME_AGO_UNIT_MEDIUM_NAME_PLURAL _("weeks")
|
||||||
|
# define TIME_AGO_LARGE_THRESHOLD (28 * TIME_AGO_UNIT_SMALL)
|
||||||
|
# define TIME_AGO_UNIT_LARGE (30 * 24 * 60 * 60)
|
||||||
|
# define TIME_AGO_UNIT_LARGE_NAME _("month")
|
||||||
|
# define TIME_AGO_UNIT_LARGE_NAME_PLURAL _("months")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
tofu_policy_str (enum tofu_policy policy)
|
tofu_policy_str (enum tofu_policy policy)
|
||||||
{
|
{
|
||||||
@ -647,8 +680,9 @@ opendbs (void)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/* Create a dummy entry so that we have a handle. */
|
{
|
||||||
;
|
/* Create a dummy entry so that we have a handle. */
|
||||||
|
}
|
||||||
|
|
||||||
dbs = xmalloc_clear (sizeof (*dbs));
|
dbs = xmalloc_clear (sizeof (*dbs));
|
||||||
dbs->db = db;
|
dbs->db = db;
|
||||||
@ -1058,37 +1092,6 @@ signature_stats_collect_cb (void *cookie, int argc, char **argv,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The grouping parameters when collecting signature statistics. */
|
|
||||||
|
|
||||||
/* If a message is signed a couple of hours in the future, just assume
|
|
||||||
some clock skew. */
|
|
||||||
#define TIME_AGO_FUTURE_IGNORE (2 * 60 * 60)
|
|
||||||
#if 0
|
|
||||||
# define TIME_AGO_UNIT_SMALL 60
|
|
||||||
# define TIME_AGO_UNIT_SMALL_NAME _("minute")
|
|
||||||
# define TIME_AGO_UNIT_SMALL_NAME_PLURAL _("minutes")
|
|
||||||
# define TIME_AGO_MEDIUM_THRESHOLD (60 * TIME_AGO_UNIT_SMALL)
|
|
||||||
# define TIME_AGO_UNIT_MEDIUM (60 * 60)
|
|
||||||
# define TIME_AGO_UNIT_MEDIUM_NAME _("hour")
|
|
||||||
# define TIME_AGO_UNIT_MEDIUM_NAME_PLURAL _("hours")
|
|
||||||
# define TIME_AGO_LARGE_THRESHOLD (24 * 60 * TIME_AGO_UNIT_SMALL)
|
|
||||||
# define TIME_AGO_UNIT_LARGE (24 * 60 * 60)
|
|
||||||
# define TIME_AGO_UNIT_LARGE_NAME _("day")
|
|
||||||
# define TIME_AGO_UNIT_LARGE_NAME_PLURAL _("days")
|
|
||||||
#else
|
|
||||||
# define TIME_AGO_UNIT_SMALL (24 * 60 * 60)
|
|
||||||
# define TIME_AGO_UNIT_SMALL_NAME _("day")
|
|
||||||
# define TIME_AGO_UNIT_SMALL_NAME_PLURAL _("days")
|
|
||||||
# define TIME_AGO_MEDIUM_THRESHOLD (4 * TIME_AGO_UNIT_SMALL)
|
|
||||||
# define TIME_AGO_UNIT_MEDIUM (7 * 24 * 60 * 60)
|
|
||||||
# define TIME_AGO_UNIT_MEDIUM_NAME _("week")
|
|
||||||
# define TIME_AGO_UNIT_MEDIUM_NAME_PLURAL _("weeks")
|
|
||||||
# define TIME_AGO_LARGE_THRESHOLD (28 * TIME_AGO_UNIT_SMALL)
|
|
||||||
# define TIME_AGO_UNIT_LARGE (30 * 24 * 60 * 60)
|
|
||||||
# define TIME_AGO_UNIT_LARGE_NAME _("month")
|
|
||||||
# define TIME_AGO_UNIT_LARGE_NAME_PLURAL _("months")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Convert from seconds to time units.
|
/* Convert from seconds to time units.
|
||||||
|
|
||||||
Note: T should already be a multiple of TIME_AGO_UNIT_SMALL or
|
Note: T should already be a multiple of TIME_AGO_UNIT_SMALL or
|
||||||
@ -1128,11 +1131,9 @@ time_ago_unit (signed long t)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define GET_POLICY_ERROR 100
|
|
||||||
|
|
||||||
/* Return the policy for the binding <FINGERPRINT, EMAIL> (email has
|
/* Return the policy for the binding <FINGERPRINT, EMAIL> (email has
|
||||||
already been normalized) and any conflict information in *CONFLICT
|
already been normalized) and any conflict information in *CONFLICT
|
||||||
if CONFLICT is not NULL. Returns GET_POLICY_ERROR if an error
|
if CONFLICT is not NULL. Returns _tofu_GET_POLICY_ERROR if an error
|
||||||
occurs. */
|
occurs. */
|
||||||
static enum tofu_policy
|
static enum tofu_policy
|
||||||
get_policy (struct db *dbs, const char *fingerprint, const char *email,
|
get_policy (struct db *dbs, const char *fingerprint, const char *email,
|
||||||
@ -1143,18 +1144,11 @@ get_policy (struct db *dbs, const char *fingerprint, const char *email,
|
|||||||
char *err = NULL;
|
char *err = NULL;
|
||||||
strlist_t strlist = NULL;
|
strlist_t strlist = NULL;
|
||||||
char *tail = NULL;
|
char *tail = NULL;
|
||||||
enum tofu_policy policy = GET_POLICY_ERROR;
|
enum tofu_policy policy = _tofu_GET_POLICY_ERROR;
|
||||||
|
|
||||||
assert (GET_POLICY_ERROR != TOFU_POLICY_NONE
|
|
||||||
&& GET_POLICY_ERROR != TOFU_POLICY_AUTO
|
|
||||||
&& GET_POLICY_ERROR != TOFU_POLICY_GOOD
|
|
||||||
&& GET_POLICY_ERROR != TOFU_POLICY_UNKNOWN
|
|
||||||
&& GET_POLICY_ERROR != TOFU_POLICY_BAD
|
|
||||||
&& GET_POLICY_ERROR != TOFU_POLICY_ASK);
|
|
||||||
|
|
||||||
db = getdb (dbs, email, DB_EMAIL);
|
db = getdb (dbs, email, DB_EMAIL);
|
||||||
if (! db)
|
if (! db)
|
||||||
return GET_POLICY_ERROR;
|
return _tofu_GET_POLICY_ERROR;
|
||||||
|
|
||||||
/* Check if the <FINGERPRINT, EMAIL> binding is known
|
/* Check if the <FINGERPRINT, EMAIL> binding is known
|
||||||
(TOFU_POLICY_NONE cannot appear in the DB. Thus, if POLICY is
|
(TOFU_POLICY_NONE cannot appear in the DB. Thus, if POLICY is
|
||||||
@ -1209,7 +1203,7 @@ get_policy (struct db *dbs, const char *fingerprint, const char *email,
|
|||||||
{
|
{
|
||||||
log_error (_("TOFU DB is corrupted. Invalid value for policy (%d).\n"),
|
log_error (_("TOFU DB is corrupted. Invalid value for policy (%d).\n"),
|
||||||
policy);
|
policy);
|
||||||
policy = GET_POLICY_ERROR;
|
policy = _tofu_GET_POLICY_ERROR;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1226,7 +1220,7 @@ get_policy (struct db *dbs, const char *fingerprint, const char *email,
|
|||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
assert (policy == GET_POLICY_ERROR
|
assert (policy == _tofu_GET_POLICY_ERROR
|
||||||
|| policy == TOFU_POLICY_NONE
|
|| policy == TOFU_POLICY_NONE
|
||||||
|| policy == TOFU_POLICY_AUTO
|
|| policy == TOFU_POLICY_AUTO
|
||||||
|| policy == TOFU_POLICY_GOOD
|
|| policy == TOFU_POLICY_GOOD
|
||||||
@ -1239,12 +1233,10 @@ get_policy (struct db *dbs, const char *fingerprint, const char *email,
|
|||||||
return policy;
|
return policy;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GET_TRUST_ERROR 100
|
|
||||||
|
|
||||||
/* Return the trust level (TRUST_NEVER, etc.) for the binding
|
/* Return the trust level (TRUST_NEVER, etc.) for the binding
|
||||||
<FINGERPRINT, EMAIL> (email is already normalized). If no policy
|
<FINGERPRINT, EMAIL> (email is already normalized). If no policy
|
||||||
is registered, returns TOFU_POLICY_NONE. If an error occurs,
|
is registered, returns TOFU_POLICY_NONE. If an error occurs,
|
||||||
returns GET_TRUST_ERROR.
|
returns _tofu_GET_TRUST_ERROR.
|
||||||
|
|
||||||
USER_ID is the unadultered user id.
|
USER_ID is the unadultered user id.
|
||||||
|
|
||||||
@ -1270,19 +1262,19 @@ get_trust (struct db *dbs, const char *fingerprint, const char *email,
|
|||||||
if (opt.batch)
|
if (opt.batch)
|
||||||
may_ask = 0;
|
may_ask = 0;
|
||||||
|
|
||||||
/* Make sure GET_TRUST_ERROR isn't equal to any of the trust
|
/* Make sure _tofu_GET_TRUST_ERROR isn't equal to any of the trust
|
||||||
levels. */
|
levels. */
|
||||||
assert (GET_TRUST_ERROR != TRUST_UNKNOWN
|
assert (_tofu_GET_TRUST_ERROR != TRUST_UNKNOWN
|
||||||
&& GET_TRUST_ERROR != TRUST_EXPIRED
|
&& _tofu_GET_TRUST_ERROR != TRUST_EXPIRED
|
||||||
&& GET_TRUST_ERROR != TRUST_UNDEFINED
|
&& _tofu_GET_TRUST_ERROR != TRUST_UNDEFINED
|
||||||
&& GET_TRUST_ERROR != TRUST_NEVER
|
&& _tofu_GET_TRUST_ERROR != TRUST_NEVER
|
||||||
&& GET_TRUST_ERROR != TRUST_MARGINAL
|
&& _tofu_GET_TRUST_ERROR != TRUST_MARGINAL
|
||||||
&& GET_TRUST_ERROR != TRUST_FULLY
|
&& _tofu_GET_TRUST_ERROR != TRUST_FULLY
|
||||||
&& GET_TRUST_ERROR != TRUST_ULTIMATE);
|
&& _tofu_GET_TRUST_ERROR != TRUST_ULTIMATE);
|
||||||
|
|
||||||
db = getdb (dbs, email, DB_EMAIL);
|
db = getdb (dbs, email, DB_EMAIL);
|
||||||
if (! db)
|
if (! db)
|
||||||
return GET_TRUST_ERROR;
|
return _tofu_GET_TRUST_ERROR;
|
||||||
|
|
||||||
policy = get_policy (dbs, fingerprint, email, &conflict);
|
policy = get_policy (dbs, fingerprint, email, &conflict);
|
||||||
if (policy == TOFU_POLICY_AUTO)
|
if (policy == TOFU_POLICY_AUTO)
|
||||||
@ -1322,8 +1314,8 @@ get_trust (struct db *dbs, const char *fingerprint, const char *email,
|
|||||||
below. */
|
below. */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GET_POLICY_ERROR:
|
case _tofu_GET_POLICY_ERROR:
|
||||||
trust_level = GET_TRUST_ERROR;
|
trust_level = _tofu_GET_TRUST_ERROR;
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -1388,7 +1380,7 @@ get_trust (struct db *dbs, const char *fingerprint, const char *email,
|
|||||||
{
|
{
|
||||||
log_error (_("error setting TOFU binding's trust level to %s\n"),
|
log_error (_("error setting TOFU binding's trust level to %s\n"),
|
||||||
"auto");
|
"auto");
|
||||||
trust_level = GET_TRUST_ERROR;
|
trust_level = _tofu_GET_TRUST_ERROR;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1710,7 +1702,7 @@ get_trust (struct db *dbs, const char *fingerprint, const char *email,
|
|||||||
policy, 0) != 0)
|
policy, 0) != 0)
|
||||||
/* If there's an error registering the
|
/* If there's an error registering the
|
||||||
binding, don't save the signature. */
|
binding, don't save the signature. */
|
||||||
trust_level = GET_TRUST_ERROR;
|
trust_level = _tofu_GET_TRUST_ERROR;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1894,6 +1886,12 @@ show_statistics (struct db *dbs, const char *fingerprint,
|
|||||||
}
|
}
|
||||||
seconds = first_seen_ago;
|
seconds = first_seen_ago;
|
||||||
|
|
||||||
|
#undef MIN_SECS
|
||||||
|
#undef HOUR_SECS
|
||||||
|
#undef DAY_SECS
|
||||||
|
#undef MONTH_SECS
|
||||||
|
#undef YEAR_SECS
|
||||||
|
|
||||||
if (years)
|
if (years)
|
||||||
{
|
{
|
||||||
if (years > 1)
|
if (years > 1)
|
||||||
@ -2122,7 +2120,7 @@ tofu_register (const byte *fingerprint_bin, const char *user_id,
|
|||||||
/* It's necessary to get the trust so that we are certain that the
|
/* It's necessary to get the trust so that we are certain that the
|
||||||
binding has been registered. */
|
binding has been registered. */
|
||||||
trust_level = get_trust (dbs, fingerprint, email, user_id, may_ask);
|
trust_level = get_trust (dbs, fingerprint, email, user_id, may_ask);
|
||||||
if (trust_level == GET_TRUST_ERROR)
|
if (trust_level == _tofu_GET_TRUST_ERROR)
|
||||||
/* An error. */
|
/* An error. */
|
||||||
{
|
{
|
||||||
trust_level = TRUST_UNKNOWN;
|
trust_level = TRUST_UNKNOWN;
|
||||||
@ -2327,7 +2325,7 @@ tofu_get_validity (const byte *fingerprint_bin, const char *user_id,
|
|||||||
email = email_from_user_id (user_id);
|
email = email_from_user_id (user_id);
|
||||||
|
|
||||||
trust_level = get_trust (dbs, fingerprint, email, user_id, may_ask);
|
trust_level = get_trust (dbs, fingerprint, email, user_id, may_ask);
|
||||||
if (trust_level == GET_TRUST_ERROR)
|
if (trust_level == _tofu_GET_TRUST_ERROR)
|
||||||
/* An error. */
|
/* An error. */
|
||||||
trust_level = TRUST_UNDEFINED;
|
trust_level = TRUST_UNDEFINED;
|
||||||
|
|
||||||
@ -2466,7 +2464,7 @@ tofu_get_policy (PKT_public_key *pk, PKT_user_id *user_id,
|
|||||||
xfree (fingerprint);
|
xfree (fingerprint);
|
||||||
closedbs (dbs);
|
closedbs (dbs);
|
||||||
|
|
||||||
if (*policy == GET_POLICY_ERROR)
|
if (*policy == _tofu_GET_POLICY_ERROR)
|
||||||
return gpg_error (GPG_ERR_GENERAL);
|
return gpg_error (GPG_ERR_GENERAL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,11 @@ enum tofu_policy
|
|||||||
binding (by selecting accept once or reject once). The next
|
binding (by selecting accept once or reject once). The next
|
||||||
time we see this binding, we should ask the user what to
|
time we see this binding, we should ask the user what to
|
||||||
do. */
|
do. */
|
||||||
TOFU_POLICY_ASK = 5
|
TOFU_POLICY_ASK = 5,
|
||||||
|
|
||||||
|
|
||||||
|
/* Privat evalue used only within tofu.c. */
|
||||||
|
_tofu_GET_POLICY_ERROR = 100
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Return a string representation of a trust policy. Returns "???" if
|
/* Return a string representation of a trust policy. Returns "???" if
|
||||||
|
@ -36,6 +36,11 @@
|
|||||||
#define TRUST_FLAG_DISABLED 128 /* d: key/uid disabled */
|
#define TRUST_FLAG_DISABLED 128 /* d: key/uid disabled */
|
||||||
#define TRUST_FLAG_PENDING_CHECK 256 /* a check-trustdb is pending */
|
#define TRUST_FLAG_PENDING_CHECK 256 /* a check-trustdb is pending */
|
||||||
|
|
||||||
|
/* Private value used in tofu.c - must be different from the trust
|
||||||
|
values. */
|
||||||
|
#define _tofu_GET_TRUST_ERROR 100
|
||||||
|
|
||||||
|
/* Length of the hash used to select UIDs in keyedit.c. */
|
||||||
#define NAMEHASH_LEN 20
|
#define NAMEHASH_LEN 20
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user