mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-25 15:27:03 +01:00
* misc.c (pct_expando): Minor performance tweak. Don't bother to re-fetch
the primary key if the key making the signature is the primary key. * parse-packet.c (parse_signature): No need to reserve 8 bytes for the unhashed signature cache any longer.
This commit is contained in:
parent
c1142ffd27
commit
c7698f6cb3
@ -1,3 +1,12 @@
|
|||||||
|
2003-07-04 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
|
* misc.c (pct_expando): Minor performance tweak. Don't bother to
|
||||||
|
re-fetch the primary key if the key making the signature is the
|
||||||
|
primary key.
|
||||||
|
|
||||||
|
* parse-packet.c (parse_signature): No need to reserve 8 bytes for
|
||||||
|
the unhashed signature cache any longer.
|
||||||
|
|
||||||
2003-07-01 David Shaw <dshaw@jabberwocky.com>
|
2003-07-01 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
* misc.c (pct_expando): Add two new expandos - signer's
|
* misc.c (pct_expando): Add two new expandos - signer's
|
||||||
|
19
g10/misc.c
19
g10/misc.c
@ -391,16 +391,23 @@ pct_expando(const char *string,struct expando_args *args)
|
|||||||
size_t len;
|
size_t len;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if((*(ch+1))=='p' && args->sk
|
if((*(ch+1))=='p' && args->sk)
|
||||||
&& (args->sk->main_keyid[0] || args->sk->main_keyid[1]))
|
|
||||||
{
|
{
|
||||||
PKT_public_key *pk=m_alloc_clear(sizeof(PKT_public_key));
|
if(args->sk->is_primary)
|
||||||
|
fingerprint_from_sk(args->sk,array,&len);
|
||||||
|
else if(args->sk->main_keyid[0] || args->sk->main_keyid[1])
|
||||||
|
{
|
||||||
|
PKT_public_key *pk=
|
||||||
|
m_alloc_clear(sizeof(PKT_public_key));
|
||||||
|
|
||||||
if(get_pubkey_fast(pk,args->sk->main_keyid)==0)
|
if(get_pubkey_fast(pk,args->sk->main_keyid)==0)
|
||||||
fingerprint_from_pk(pk,array,&len);
|
fingerprint_from_pk(pk,array,&len);
|
||||||
|
else
|
||||||
|
memset(array,0,(len=MAX_FINGERPRINT_LEN));
|
||||||
|
free_public_key(pk);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
memset(array,0,(len=MAX_FINGERPRINT_LEN));
|
memset(array,0,(len=MAX_FINGERPRINT_LEN));
|
||||||
free_public_key(pk);
|
|
||||||
}
|
}
|
||||||
else if((*(ch+1))=='f' && args->pk)
|
else if((*(ch+1))=='f' && args->pk)
|
||||||
fingerprint_from_pk(args->pk,array,&len);
|
fingerprint_from_pk(args->pk,array,&len);
|
||||||
|
@ -1238,11 +1238,8 @@ parse_signature( IOBUF inp, int pkttype, unsigned long pktlen,
|
|||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
if( n ) {
|
if( n ) {
|
||||||
/* we add 8 extra bytes so that we have space for the signature
|
sig->unhashed = m_alloc (sizeof(*sig->unhashed) + n - 1 );
|
||||||
* status cache. Well we are wastin this if there is a cache
|
sig->unhashed->size = n;
|
||||||
* packet already, but in the other case it avoids an realloc */
|
|
||||||
sig->unhashed = m_alloc (sizeof(*sig->unhashed) + n + 8 - 1 );
|
|
||||||
sig->unhashed->size = n + 8;
|
|
||||||
sig->unhashed->len = n;
|
sig->unhashed->len = n;
|
||||||
if( iobuf_read(inp, sig->unhashed->data, n ) != n ) {
|
if( iobuf_read(inp, sig->unhashed->data, n ) != n ) {
|
||||||
log_error("premature eof while reading "
|
log_error("premature eof while reading "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user