Changeset 349

Show
Ignore:
Timestamp:
01/31/06 12:17:07
Author:
ben
Message:

Handle incorrect passphrase properly.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openpgpsdk/trunk/src/packet-parse.c

    r347 r349  
    19831983        } 
    19841984 
    1985     if(ret) 
    1986         { 
    1987         // XXX: check the checksum 
    1988  
    1989         if(C.secret_key.s2k_usage == OPS_S2KU_ENCRYPTED_AND_HASHED) 
     1985    if(C.secret_key.s2k_usage == OPS_S2KU_ENCRYPTED_AND_HASHED) 
     1986        { 
     1987        unsigned char hash[20]; 
     1988 
     1989        ops_reader_pop_hash(parse_info); 
     1990        checkhash.finish(&checkhash,hash); 
     1991             
     1992        if(ret) 
    19901993            { 
    1991             unsigned char hash[20]; 
    1992  
    1993             ops_reader_pop_hash(parse_info); 
    1994             checkhash.finish(&checkhash,hash); 
    1995              
    19961994            if(!limited_read(C.secret_key.checkhash,20,region,parse_info)) 
    19971995                return 0; 
     
    20001998                ERRP(parse_info,"Hash mismatch in secret key"); 
    20011999            } 
    2002         else 
     2000        } 
     2001    else 
     2002        { 
     2003        unsigned short sum; 
     2004 
     2005        sum=ops_reader_pop_sum16(parse_info); 
     2006 
     2007        if(ret) 
    20032008            { 
    2004             unsigned short sum; 
    2005  
    2006             sum=ops_reader_pop_sum16(parse_info); 
    2007  
    20082009            if(!limited_read_scalar(&C.secret_key.checksum,2,region, 
    20092010                                    parse_info)) 
     
    20192020        { 
    20202021        ops_reader_pop_decrypt(parse_info); 
    2021         assert(region->length_read == region->length); 
     2022        assert(!ret || region->length_read == region->length); 
    20222023        } 
    20232024