Changeset 246

Show
Ignore:
Timestamp:
10/24/05 16:02:19
Author:
ben
Message:

Values may not have been initialised. Also, where available, fill in signature
creation time.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openpgpsdk/trunk/examples/packet-dump.c

    r241 r246  
    707707        print_unsigned_int("Signature Version", 
    708708               content->signature.version); 
    709         if (content->signature.version == 3)  
     709        if (content->signature.creation_time_set)  
    710710            print_time("Signature Creation Time", content->signature.creation_time); 
    711711 
     
    714714                               content->signature.type); 
    715715 
    716         print_hexdump_data("Signer ID", 
    717                       content->signature.signer_id, 
    718                       sizeof content->signature.signer_id); 
     716        if(content->signature.signer_id_set) 
     717            print_hexdump_data("Signer ID", 
     718                               content->signature.signer_id, 
     719                               sizeof content->signature.signer_id); 
    719720 
    720721        print_string_and_value("Public Key Algorithm", 
  • openpgpsdk/trunk/include/openpgpsdk/packet.h

    r241 r246  
    491491    ops_sig_version_t           version;        /*!< signature version number */ 
    492492    ops_sig_type_t              type;           /*!< signature type value */ 
    493     time_t                      creation_time;  /*!< creation time of the signature - only with v3 signatures*/ 
     493    time_t                      creation_time;  /*!< creation time of the signature */ 
    494494    unsigned char               signer_id[OPS_KEY_ID_SIZE];     /*!< Eight-octet key ID of signer*/ 
    495495    ops_public_key_algorithm_t  key_algorithm;  /*!< public key algorithm number */ 
     
    499499    size_t                      v4_hashed_data_start; // only valid if accumulate is set 
    500500    size_t                      v4_hashed_data_length; 
     501    ops_boolean_t               creation_time_set:1; 
     502    ops_boolean_t               signer_id_set:1; 
    501503    } ops_signature_t; 
    502504 
  • openpgpsdk/trunk/src/packet-parse.c

    r241 r246  
    999999    if(!limited_read_time(&C.signature.creation_time,region,opt)) 
    10001000        return 0; 
    1001  
    1002     if(!ops_limited_read(C.signature.signer_id,8,region,opt)) 
    1003         return 0; 
     1001    C.signature.creation_time_set=ops_true; 
     1002 
     1003    if(!ops_limited_read(C.signature.signer_id,OPS_KEY_ID_SIZE,region,opt)) 
     1004        return 0; 
     1005    C.signature.signer_id_set=ops_true; 
    10041006 
    10051007    if(!ops_limited_read(c,1,region,opt)) 
     
    11091111        if(!limited_read_time(&C.ss_time.time,&subregion,opt)) 
    11101112            return 0; 
     1113        if(content.tag == OPS_PTAG_SS_CREATION_TIME) 
     1114            { 
     1115            sig->creation_time=C.ss_time.time; 
     1116            sig->creation_time_set=ops_true; 
     1117            } 
    11111118        break; 
    11121119 
     
    11281135            return 0; 
    11291136        memcpy(sig->signer_id,C.ss_issuer_key_id.key_id,OPS_KEY_ID_SIZE); 
     1137        sig->signer_id_set=ops_true; 
    11301138        break; 
    11311139 
     
    14081416    ops_parser_content_t content; 
    14091417 
     1418    memset(&C.signature,'\0',sizeof C.signature); 
    14101419    C.signature.version=OPS_SIG_V4; 
    14111420    C.signature.v4_hashed_data_start=v4_hashed_data_start;