Strange gpgme_sigsum_t value in gpgme (bug?)

Matthias Klumpp matthias at
Tue Jun 14 18:32:11 CEST 2011

I'm new to GPGMe, so this maybe is a foolish question, but I stumbled upon
a very weird behavior of GPGMe, which cause my application to act very,
very weird :P
I want to verify a signature, so I call
 result = gpgme_op_verify (ctx, sig, dt, NULL);
and fetch the result as _gpgme_op_verify_result*.
Then I get the sigsum (gpgme_sigsum_t) from the results:
I expect one of these values for the sigsum:
    GPGME_SIGSUM_VALID       = 0x0001,  /* The signature is fully valid. 
    GPGME_SIGSUM_GREEN       = 0x0002,  /* The signature is good.  */
    GPGME_SIGSUM_RED         = 0x0004,  /* The signature is bad.  */
    GPGME_SIGSUM_KEY_REVOKED = 0x0010,  /* One key has been revoked.  */
    GPGME_SIGSUM_KEY_EXPIRED = 0x0020,  /* One key has expired.  */
    GPGME_SIGSUM_SIG_EXPIRED = 0x0040,  /* The signature has expired.  */
    GPGME_SIGSUM_KEY_MISSING = 0x0080,  /* Can't verify: key missing.  */
    GPGME_SIGSUM_CRL_MISSING = 0x0100,  /* CRL not available.  */
    GPGME_SIGSUM_CRL_TOO_OLD = 0x0200,  /* Available CRL is too old.  */
    GPGME_SIGSUM_BAD_POLICY  = 0x0400,  /* A policy was not met.  */
    GPGME_SIGSUM_SYS_ERROR   = 0x0800   /* A system error occured.  */

But instead I get 0x0003 as sigsum, which is not in the enum. This causes
my application to malfunction.
Is this a bug, or am I just doing it wrong?
Kind regards
  Matthias Klumpp

More information about the Gnupg-devel mailing list