Changeset 454

Show
Ignore:
Timestamp:
04/08/07 14:59:42
Author:
ben
Message:

Count validation warnings.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openpgpsdk/trunk/examples/verify.c

    r452 r454  
    1717    const char *target; 
    1818    int fd; 
     19    ops_validate_result_t result; 
    1920 
    2021    if(argc != 2) 
     
    5051    ops_dump_keyring(&keyring); 
    5152 
    52     ops_validate_all_signatures(&keyring); 
     53    ops_validate_all_signatures(&result,&keyring); 
    5354 
    5455    ops_keyring_free(&keyring); 
     
    5657    ops_finish(); 
    5758 
     59    printf("valid signatures   = %d\n",result.valid_count); 
     60    printf("invalid signatures = %d\n",result.invalid_count); 
     61    printf("unknown signer     = %d\n",result.unknown_signer_count); 
     62 
     63    if(result.invalid_count) 
     64        return 1; 
     65 
    5866    return 0; 
    5967    } 
  • openpgpsdk/trunk/include/openpgpsdk/validate.h

    r336 r454  
    1 void ops_validate_all_signatures(const ops_keyring_t *ring); 
     1typedef struct 
     2    { 
     3    unsigned int valid_count; 
     4    unsigned int invalid_count; 
     5    unsigned int unknown_signer_count; 
     6    } ops_validate_result_t; 
     7 
     8void ops_validate_all_signatures(ops_validate_result_t *result, 
     9                                 const ops_keyring_t *ring); 
    210void ops_key_data_reader_set(ops_parse_info_t *pinfo, 
    311                             const ops_key_data_t *key); 
  • openpgpsdk/trunk/src/advanced/adv_validate.c

    r452 r454  
    2424    const ops_keyring_t *keyring; 
    2525    validate_reader_arg_t *rarg; 
     26    ops_validate_result_t *result; 
    2627    } validate_cb_arg_t; 
    2728 
     
    9495            { 
    9596            printf(" UNKNOWN SIGNER\n"); 
     97            ++arg->result->unknown_signer_count; 
    9698            break; 
    9799            } 
     
    129131            } 
    130132        if(valid) 
     133            { 
    131134            printf(" validated\n"); 
     135            ++arg->result->valid_count; 
     136            } 
    132137        else 
     138            { 
    133139            printf(" BAD SIGNATURE\n"); 
     140            ++arg->result->invalid_count; 
     141            } 
    134142        break; 
    135143 
     
    155163    } 
    156164 
    157 static void validate_key_signatures(const ops_key_data_t *key, 
     165static void validate_key_signatures(ops_validate_result_t *result,const ops_key_data_t *key, 
    158166                                    const ops_keyring_t *keyring) 
    159167    { 
     
    162170 
    163171    memset(&carg,'\0',sizeof carg); 
     172    carg.result=result; 
    164173 
    165174    pinfo=ops_parse_info_new(); 
     
    181190    } 
    182191 
    183 void ops_validate_all_signatures(const ops_keyring_t *ring) 
     192void ops_validate_all_signatures(ops_validate_result_t *result, 
     193                                 const ops_keyring_t *ring) 
    184194    { 
    185195    int n; 
    186196 
     197    memset(result,'\0',sizeof *result); 
    187198    for(n=0 ; n < ring->nkeys ; ++n) 
    188         validate_key_signatures(&ring->keys[n],ring); 
    189     } 
     199        validate_key_signatures(result,&ring->keys[n],ring); 
     200    }