Changeset 97
- Timestamp:
- 05/11/05 13:09:29
- Files:
-
- openpgpsdk/trunk/src/packet-dump.c (modified) (2 diffs)
- openpgpsdk/trunk/src/packet-parse.c (modified) (5 diffs)
- openpgpsdk/trunk/src/packet.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openpgpsdk/trunk/src/packet-dump.c
r95 r97 71 71 { 72 72 indent(indentlevel); 73 printf("%s: len=%d, data= ", text, len);73 printf("%s: len=%d, data=0x", text, len); 74 74 hexdump(data,len); 75 75 printf("\n"); … … 314 314 break; 315 315 316 case OPS_PTAG_SS_USERDEFINED00: 317 case OPS_PTAG_SS_USERDEFINED01: 318 case OPS_PTAG_SS_USERDEFINED02: 319 case OPS_PTAG_SS_USERDEFINED03: 320 case OPS_PTAG_SS_USERDEFINED04: 321 case OPS_PTAG_SS_USERDEFINED05: 322 case OPS_PTAG_SS_USERDEFINED06: 323 case OPS_PTAG_SS_USERDEFINED07: 324 case OPS_PTAG_SS_USERDEFINED08: 325 case OPS_PTAG_SS_USERDEFINED09: 326 case OPS_PTAG_SS_USERDEFINED10: 327 print_hexdump("Internal or user-defined", 328 content->ss_userdefined.data.contents, 329 content->ss_userdefined.data.len, 330 1); 331 break; 332 316 333 case OPS_PTAG_CT_LITERAL_DATA_HEADER: 317 334 printf(" literal data header format=%c filename='%s'\n", openpgpsdk/trunk/src/packet-parse.c
r93 r97 391 391 break; 392 392 393 case OPS_PTAG_SS_USERDEFINED00: 394 case OPS_PTAG_SS_USERDEFINED01: 395 case OPS_PTAG_SS_USERDEFINED02: 396 case OPS_PTAG_SS_USERDEFINED03: 397 case OPS_PTAG_SS_USERDEFINED04: 398 case OPS_PTAG_SS_USERDEFINED05: 399 case OPS_PTAG_SS_USERDEFINED06: 400 case OPS_PTAG_SS_USERDEFINED07: 401 case OPS_PTAG_SS_USERDEFINED08: 402 case OPS_PTAG_SS_USERDEFINED09: 403 case OPS_PTAG_SS_USERDEFINED10: 404 ops_ss_userdefined_free(&c->content.ss_userdefined); 405 break; 406 393 407 case OPS_PARSER_PACKET_END: 394 408 ops_packet_free(&c->content.packet); … … 647 661 648 662 return 1; 663 } 664 665 static int read_data(data_t *data, ops_region_t *subregion, ops_parse_options_t *opt) 666 { 667 data->len = subregion->length - subregion->length_read; 668 669 data->contents = malloc(data->len); 670 if (!data->contents) 671 return 0; 672 673 if (!ops_limited_read(data->contents, data->len, 674 subregion, opt)) 675 return 0; 676 677 return 1; 649 678 } 650 679 … … 791 820 break; 792 821 822 case OPS_PTAG_SS_USERDEFINED00: 823 case OPS_PTAG_SS_USERDEFINED01: 824 case OPS_PTAG_SS_USERDEFINED02: 825 case OPS_PTAG_SS_USERDEFINED03: 826 case OPS_PTAG_SS_USERDEFINED04: 827 case OPS_PTAG_SS_USERDEFINED05: 828 case OPS_PTAG_SS_USERDEFINED06: 829 case OPS_PTAG_SS_USERDEFINED07: 830 case OPS_PTAG_SS_USERDEFINED08: 831 case OPS_PTAG_SS_USERDEFINED09: 832 case OPS_PTAG_SS_USERDEFINED10: 833 if (!read_data(&C.ss_userdefined.data,&subregion,opt)) 834 return 0; 835 break; 836 793 837 case OPS_PTAG_SS_REVOCATION_KEY: 794 838 … … 1087 1131 1088 1132 return 1; 1133 } 1134 1135 void data_free(data_t *data) 1136 { 1137 free(data->contents); 1138 data->contents=NULL; 1139 data->len=0; 1140 } 1141 1142 void ops_ss_userdefined_free(ops_ss_userdefined_t *ss_userdefined) 1143 { 1144 data_free(&ss_userdefined->data); 1089 1145 } 1090 1146 … … 1330 1386 } 1331 1387 1388 1332 1389 /* vim:set textwidth=120: */ 1333 1390 /* vim:set ts=8: */ openpgpsdk/trunk/src/packet.h
r93 r97 156 156 OPS_PTAG_SS_FEATURES =0x200+30, /*!< features */ 157 157 158 OPS_PTAG_SS_USERDEFINED00 =0x200+100, /*!< internal or user-defined */ 159 OPS_PTAG_SS_USERDEFINED01 =0x200+101, 160 OPS_PTAG_SS_USERDEFINED02 =0x200+102, 161 OPS_PTAG_SS_USERDEFINED03 =0x200+103, 162 OPS_PTAG_SS_USERDEFINED04 =0x200+104, 163 OPS_PTAG_SS_USERDEFINED05 =0x200+105, 164 OPS_PTAG_SS_USERDEFINED06 =0x200+106, 165 OPS_PTAG_SS_USERDEFINED07 =0x200+107, 166 OPS_PTAG_SS_USERDEFINED08 =0x200+108, 167 OPS_PTAG_SS_USERDEFINED09 =0x200+109, 168 OPS_PTAG_SS_USERDEFINED10 =0x200+110, 169 170 158 171 /* pseudo content types */ 159 172 OPS_PTAG_CT_LITERAL_DATA_HEADER =0x300, … … 421 434 unsigned char key_id[OPS_KEY_ID_SIZE]; 422 435 } ops_ss_key_id_t; 436 437 typedef struct 438 { 439 size_t len; 440 unsigned char *contents; 441 } data_t; 442 443 typedef struct 444 { 445 data_t data; 446 } ops_ss_userdefined_t; 423 447 424 448 typedef struct … … 549 573 ops_ss_primary_user_id_t ss_primary_user_id; 550 574 ops_ss_revocation_key_t ss_revocation_key; 575 ops_ss_userdefined_t ss_userdefined; 551 576 ops_literal_data_header_t literal_data_header; 552 577 ops_literal_data_body_t literal_data_body; … … 582 607 void ops_ss_key_server_prefs_free(ops_ss_key_server_prefs_t * ss_key_server_prefs); 583 608 void ops_ss_features_free(ops_ss_features_t * ss_features); 609 void ops_ss_userdefined_free(ops_ss_userdefined_t *ss_userdefined); 584 610 void ops_packet_free(ops_packet_t *packet); 585 611 void ops_parser_content_free(ops_parser_content_t *c);
