diff options
-rw-r--r-- | asn1/x509sat/Makefile.common | 2 | ||||
-rw-r--r-- | asn1/x509sat/packet-x509sat-template.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-x509sat.c | 90 | ||||
-rwxr-xr-x | tools/asn2wrs.py | 30 |
4 files changed, 66 insertions, 58 deletions
diff --git a/asn1/x509sat/Makefile.common b/asn1/x509sat/Makefile.common index f39c04b2d7..c4165eb728 100644 --- a/asn1/x509sat/Makefile.common +++ b/asn1/x509sat/Makefile.common @@ -46,7 +46,7 @@ SRC_FILES = \ $(EXTRA_DIST) \ $(EXT_ASN_FILE_LIST) -A2W_FLAGS= -b -e -R -r Syntax +A2W_FLAGS= -b -e -r Syntax EXTRA_CNF= \ ../x509if/x509if-exp.cnf \ diff --git a/asn1/x509sat/packet-x509sat-template.c b/asn1/x509sat/packet-x509sat-template.c index 04a497f147..726874c3dd 100644 --- a/asn1/x509sat/packet-x509sat-template.c +++ b/asn1/x509sat/packet-x509sat-template.c @@ -71,6 +71,8 @@ void proto_register_x509sat(void) { proto_register_field_array(proto_x509sat, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); +#include "packet-x509sat-syn-reg.c" + } diff --git a/epan/dissectors/packet-x509sat.c b/epan/dissectors/packet-x509sat.c index 3b3c579006..3d29e3a15f 100644 --- a/epan/dissectors/packet-x509sat.c +++ b/epan/dissectors/packet-x509sat.c @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-x509sat.c */ -/* ../../tools/asn2wrs.py -b -e -R -r Syntax -p x509sat -c ./x509sat.cnf -s ./packet-x509sat-template -D . SelectedAttributeTypes.asn */ +/* ../../tools/asn2wrs.py -b -e -r Syntax -p x509sat -c ./x509sat.cnf -s ./packet-x509sat-template -D . SelectedAttributeTypes.asn */ /* Input file: packet-x509sat-template.c */ @@ -2581,6 +2581,52 @@ void proto_register_x509sat(void) { proto_register_field_array(proto_x509sat, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); + +/*--- Included file: packet-x509sat-syn-reg.c ---*/ +#line 1 "packet-x509sat-syn-reg.c" + /*--- Syntax registrations ---*/ + register_ber_syntax_dissector("DirectoryString", proto_x509sat, dissect_DirectoryString_PDU); + register_ber_syntax_dissector("UniqueIdentifier", proto_x509sat, dissect_UniqueIdentifier_PDU); + register_ber_syntax_dissector("CountryName", proto_x509sat, dissect_CountryName_PDU); + register_ber_syntax_dissector("Guide", proto_x509sat, dissect_Guide_PDU); + register_ber_syntax_dissector("EnhancedGuide", proto_x509sat, dissect_EnhancedGuide_PDU); + register_ber_syntax_dissector("PostalAddress", proto_x509sat, dissect_PostalAddress_PDU); + register_ber_syntax_dissector("TelephoneNumber", proto_x509sat, dissect_TelephoneNumber_PDU); + register_ber_syntax_dissector("TelexNumber", proto_x509sat, dissect_TelexNumber_PDU); + register_ber_syntax_dissector("FacsimileTelephoneNumber", proto_x509sat, dissect_FacsimileTelephoneNumber_PDU); + register_ber_syntax_dissector("X121Address", proto_x509sat, dissect_X121Address_PDU); + register_ber_syntax_dissector("InternationalISDNNumber", proto_x509sat, dissect_InternationalISDNNumber_PDU); + register_ber_syntax_dissector("DestinationIndicator", proto_x509sat, dissect_DestinationIndicator_PDU); + register_ber_syntax_dissector("PreferredDeliveryMethod", proto_x509sat, dissect_PreferredDeliveryMethod_PDU); + register_ber_syntax_dissector("PresentationAddress", proto_x509sat, dissect_PresentationAddress_PDU); + register_ber_syntax_dissector("ProtocolInformation", proto_x509sat, dissect_ProtocolInformation_PDU); + register_ber_syntax_dissector("NameAndOptionalUID", proto_x509sat, dissect_NameAndOptionalUID_PDU); + register_ber_syntax_dissector("CaseIgnoreListMatch", proto_x509sat, dissect_CaseIgnoreListMatch_PDU); + register_ber_syntax_dissector("ObjectIdentifier", proto_x509sat, dissect_ObjectIdentifier_PDU); + register_ber_syntax_dissector("OctetString", proto_x509sat, dissect_OctetString_PDU); + register_ber_syntax_dissector("BitString", proto_x509sat, dissect_BitString_PDU); + register_ber_syntax_dissector("Integer", proto_x509sat, dissect_Integer_PDU); + register_ber_syntax_dissector("Boolean", proto_x509sat, dissect_Boolean_PDU); + register_ber_syntax_dissector("GeneralizedTime", proto_x509sat, dissect_SyntaxGeneralizedTime_PDU); + register_ber_syntax_dissector("UTCTime", proto_x509sat, dissect_SyntaxUTCTime_PDU); + register_ber_syntax_dissector("NumericString", proto_x509sat, dissect_SyntaxNumericString_PDU); + register_ber_syntax_dissector("PrintableString", proto_x509sat, dissect_SyntaxPrintableString_PDU); + register_ber_syntax_dissector("IA5String", proto_x509sat, dissect_SyntaxIA5String_PDU); + register_ber_syntax_dissector("BMPString", proto_x509sat, dissect_SyntaxBMPString_PDU); + register_ber_syntax_dissector("UniversalString", proto_x509sat, dissect_SyntaxUniversalString_PDU); + register_ber_syntax_dissector("UTF8String", proto_x509sat, dissect_SyntaxUTF8String_PDU); + register_ber_syntax_dissector("TeletexString", proto_x509sat, dissect_SyntaxTeletexString_PDU); + register_ber_syntax_dissector("T61String", proto_x509sat, dissect_SyntaxT61String_PDU); + register_ber_syntax_dissector("VideotexString", proto_x509sat, dissect_SyntaxVideotexString_PDU); + register_ber_syntax_dissector("GraphicString", proto_x509sat, dissect_SyntaxGraphicString_PDU); + register_ber_syntax_dissector("ISO646String", proto_x509sat, dissect_SyntaxISO646String_PDU); + register_ber_syntax_dissector("VisibleString", proto_x509sat, dissect_SyntaxVisibleString_PDU); + register_ber_syntax_dissector("GeneralString", proto_x509sat, dissect_SyntaxGeneralString_PDU); + register_ber_syntax_dissector("GUID", proto_x509sat, dissect_GUID_PDU); + +/*--- End of included file: packet-x509sat-syn-reg.c ---*/ +#line 75 "packet-x509sat-template.c" + } @@ -2741,49 +2787,9 @@ void proto_reg_handoff_x509sat(void) { register_ber_oid_dissector("1.3.6.1.4.1.311.60.2.1.2", dissect_DirectoryString_PDU, proto_x509sat, "jurisdictionOfIncorporationStateOrProvinceName"); register_ber_oid_dissector("1.3.6.1.4.1.311.60.2.1.3", dissect_CountryName_PDU, proto_x509sat, "jurisdictionOfIncorporationCountryName"); -/*--- Syntax registrations ---*/ - register_ber_syntax_dissector("DirectoryString", proto_x509sat, dissect_DirectoryString_PDU); - register_ber_syntax_dissector("UniqueIdentifier", proto_x509sat, dissect_UniqueIdentifier_PDU); - register_ber_syntax_dissector("CountryName", proto_x509sat, dissect_CountryName_PDU); - register_ber_syntax_dissector("Guide", proto_x509sat, dissect_Guide_PDU); - register_ber_syntax_dissector("EnhancedGuide", proto_x509sat, dissect_EnhancedGuide_PDU); - register_ber_syntax_dissector("PostalAddress", proto_x509sat, dissect_PostalAddress_PDU); - register_ber_syntax_dissector("TelephoneNumber", proto_x509sat, dissect_TelephoneNumber_PDU); - register_ber_syntax_dissector("TelexNumber", proto_x509sat, dissect_TelexNumber_PDU); - register_ber_syntax_dissector("FacsimileTelephoneNumber", proto_x509sat, dissect_FacsimileTelephoneNumber_PDU); - register_ber_syntax_dissector("X121Address", proto_x509sat, dissect_X121Address_PDU); - register_ber_syntax_dissector("InternationalISDNNumber", proto_x509sat, dissect_InternationalISDNNumber_PDU); - register_ber_syntax_dissector("DestinationIndicator", proto_x509sat, dissect_DestinationIndicator_PDU); - register_ber_syntax_dissector("PreferredDeliveryMethod", proto_x509sat, dissect_PreferredDeliveryMethod_PDU); - register_ber_syntax_dissector("PresentationAddress", proto_x509sat, dissect_PresentationAddress_PDU); - register_ber_syntax_dissector("ProtocolInformation", proto_x509sat, dissect_ProtocolInformation_PDU); - register_ber_syntax_dissector("NameAndOptionalUID", proto_x509sat, dissect_NameAndOptionalUID_PDU); - register_ber_syntax_dissector("CaseIgnoreListMatch", proto_x509sat, dissect_CaseIgnoreListMatch_PDU); - register_ber_syntax_dissector("ObjectIdentifier", proto_x509sat, dissect_ObjectIdentifier_PDU); - register_ber_syntax_dissector("OctetString", proto_x509sat, dissect_OctetString_PDU); - register_ber_syntax_dissector("BitString", proto_x509sat, dissect_BitString_PDU); - register_ber_syntax_dissector("Integer", proto_x509sat, dissect_Integer_PDU); - register_ber_syntax_dissector("Boolean", proto_x509sat, dissect_Boolean_PDU); - register_ber_syntax_dissector("GeneralizedTime", proto_x509sat, dissect_SyntaxGeneralizedTime_PDU); - register_ber_syntax_dissector("UTCTime", proto_x509sat, dissect_SyntaxUTCTime_PDU); - register_ber_syntax_dissector("NumericString", proto_x509sat, dissect_SyntaxNumericString_PDU); - register_ber_syntax_dissector("PrintableString", proto_x509sat, dissect_SyntaxPrintableString_PDU); - register_ber_syntax_dissector("IA5String", proto_x509sat, dissect_SyntaxIA5String_PDU); - register_ber_syntax_dissector("BMPString", proto_x509sat, dissect_SyntaxBMPString_PDU); - register_ber_syntax_dissector("UniversalString", proto_x509sat, dissect_SyntaxUniversalString_PDU); - register_ber_syntax_dissector("UTF8String", proto_x509sat, dissect_SyntaxUTF8String_PDU); - register_ber_syntax_dissector("TeletexString", proto_x509sat, dissect_SyntaxTeletexString_PDU); - register_ber_syntax_dissector("T61String", proto_x509sat, dissect_SyntaxT61String_PDU); - register_ber_syntax_dissector("VideotexString", proto_x509sat, dissect_SyntaxVideotexString_PDU); - register_ber_syntax_dissector("GraphicString", proto_x509sat, dissect_SyntaxGraphicString_PDU); - register_ber_syntax_dissector("ISO646String", proto_x509sat, dissect_SyntaxISO646String_PDU); - register_ber_syntax_dissector("VisibleString", proto_x509sat, dissect_SyntaxVisibleString_PDU); - register_ber_syntax_dissector("GeneralString", proto_x509sat, dissect_SyntaxGeneralString_PDU); - register_ber_syntax_dissector("GUID", proto_x509sat, dissect_GUID_PDU); - /*--- End of included file: packet-x509sat-dis-tab.c ---*/ -#line 80 "packet-x509sat-template.c" +#line 82 "packet-x509sat-template.c" /* OBJECT CLASSES */ diff --git a/tools/asn2wrs.py b/tools/asn2wrs.py index b3f10d077f..75e6ee47f9 100755 --- a/tools/asn2wrs.py +++ b/tools/asn2wrs.py @@ -1851,15 +1851,19 @@ class EthCtx: fx.write(' %sregister_%s_oid_dissector(%s, dissect_%s, proto_%s, %s);\n' % (new_prefix, reg['rtype'].lower(), roid, f, self.eproto, reg['roidname'])) fempty = False fx.write('\n') - if (self.conform.register_syntaxes and len(self.eth_hfpdu_ord)): - first_decl = True - for p in self.eth_hfpdu_ord: - if first_decl: - fx.write('/*--- Syntax registrations ---*/\n') - first_decl = False - fx.write(self.eth_out_syntax_reg(self.eproto, p)) - if not first_decl: - fx.write('\n') + self.output.file_close(fx, discard=fempty) + + #--- eth_output_syn_reg ----------------------------------------------------- + def eth_output_syn_reg(self): + fx = self.output.file_open('syn-reg') + fempty = True + first_decl = True + for p in self.eth_hfpdu_ord: + if first_decl: + fx.write(' /*--- Syntax registrations ---*/\n') + first_decl = False + fx.write(self.eth_out_syntax_reg(self.eproto, p)) + fempty=False self.output.file_close(fx, discard=fempty) #--- eth_output_table ----------------------------------------------------- @@ -2024,6 +2028,7 @@ class EthCtx: self.eth_output_dis_hnd() self.eth_output_dis_reg() self.eth_output_dis_tab() + self.eth_output_syn_reg() self.eth_output_table() if self.expcnf: self.eth_output_expcnf() @@ -2067,7 +2072,6 @@ class EthCnf: self.fn = {} self.report = {} self.suppress_line = False - self.register_syntaxes = False self.include_path = [] # Value name Default value Duplicity check Usage check self.tblcfg['EXPORTS'] = { 'val_nm' : 'flag', 'val_dflt' : 0, 'chk_dup' : True, 'chk_use' : True } @@ -2693,9 +2697,6 @@ class EthCnf: par = self.check_par(par, 1, 1, fn, lineno) if not par: return self.ectx.default_external_type_cb = par[0] - elif opt in ("-R",): - par = self.check_par(par, 0, 0, fn, lineno) - self.register_syntaxes = True elif opt in ("-r",): par = self.check_par(par, 1, 1, fn, lineno) if not par: return @@ -7665,7 +7666,6 @@ asn2wrs [-h|?] [-d dbg] [-b] [-p proto] [-c cnf_file] [-e] input_file(s) ... -L : Suppress #line directive from .cnf file -D dir : Directory for input_file(s) (default: '.') -C : Add check for SIZE constraints - -R : Register PDUs as BER syntaxes -r prefix : Remove the prefix from type names input_file(s) : Input ASN.1 file(s) @@ -7688,7 +7688,7 @@ def eth_main(): global lexer print "ASN.1 to Wireshark dissector compiler"; try: - opts, args = getopt.getopt(sys.argv[1:], "h?d:D:buXp:FTo:O:c:I:eESs:kLCRr:"); + opts, args = getopt.getopt(sys.argv[1:], "h?d:D:buXp:FTo:O:c:I:eESs:kLCr:"); except getopt.GetoptError: eth_usage(); sys.exit(2) if len(args) < 1: |