Changeset View
Changeset View
Standalone View
Standalone View
g10/mainproc.c
Show First 20 Lines • Show All 1,590 Lines • ▼ Show 20 Lines | do_proc_packets (CTX c, iobuf_t a) | ||||
rc = check_nesting (c); | rc = check_nesting (c); | ||||
if (rc) | if (rc) | ||||
return rc; | return rc; | ||||
pkt = xmalloc( sizeof *pkt ); | pkt = xmalloc( sizeof *pkt ); | ||||
c->iobuf = a; | c->iobuf = a; | ||||
init_packet(pkt); | init_packet(pkt); | ||||
init_parse_packet (&parsectx, a); | init_parse_packet (&parsectx, a); | ||||
parsectx.sigs_only = c->sigs_only && c->signed_data.used; | |||||
while ((rc=parse_packet (&parsectx, pkt)) != -1) | while ((rc=parse_packet (&parsectx, pkt)) != -1) | ||||
{ | { | ||||
any_data = 1; | any_data = 1; | ||||
if (rc) | if (rc) | ||||
{ | { | ||||
free_packet (pkt, &parsectx); | free_packet (pkt, &parsectx); | ||||
/* Stop processing when an invalid packet has been encountered | /* Stop processing when an invalid packet has been encountered | ||||
* but don't do so when we are doing a --list-packets. */ | * but don't do so when we are doing a --list-packets. */ | ||||
if (gpg_err_code (rc) == GPG_ERR_INV_PACKET | if (gpg_err_code (rc) == GPG_ERR_INV_PACKET | ||||
&& opt.list_packets == 0) | && opt.list_packets == 0) | ||||
break; | break; | ||||
if (gpg_err_code (rc) == GPG_ERR_UNEXPECTED) | |||||
{ | |||||
write_status_text( STATUS_UNEXPECTED, "0" ); | |||||
goto leave; | |||||
} | |||||
continue; | continue; | ||||
} | } | ||||
newpkt = -1; | newpkt = -1; | ||||
if (opt.list_packets) | if (opt.list_packets) | ||||
{ | { | ||||
switch (pkt->pkttype) | switch (pkt->pkttype) | ||||
{ | { | ||||
case PKT_PUBKEY_ENC: proc_pubkey_enc (c, pkt); break; | case PKT_PUBKEY_ENC: proc_pubkey_enc (c, pkt); break; | ||||
▲ Show 20 Lines • Show All 1,160 Lines • Show Last 20 Lines |