diff options
author | Anders Broman <anders.broman@ericsson.com> | 2006-05-13 12:06:56 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2006-05-13 12:06:56 +0000 |
commit | ecac136d4dad61579d4f47a19dcd594525e3ba9a (patch) | |
tree | 478574220645d2ea928e3ed7d833cfa65c1ebd7f /asn1/ulp | |
parent | 7c4b8c8b888949808448c97405ef4e5679a069b1 (diff) |
Make dissect_per_constrained_integer handle unaligned PER.
Add ULP TCP port preference decode IPv4/IPv6 fields.
svn path=/trunk/; revision=18143
Diffstat (limited to 'asn1/ulp')
-rw-r--r-- | asn1/ulp/ULP.asn | 8 | ||||
-rw-r--r-- | asn1/ulp/packet-ulp-template.c | 38 | ||||
-rw-r--r-- | asn1/ulp/ulp.cnf | 4 |
3 files changed, 35 insertions, 15 deletions
diff --git a/asn1/ulp/ULP.asn b/asn1/ulp/ULP.asn index 12bbbf7828..35cb1d647b 100644 --- a/asn1/ulp/ULP.asn +++ b/asn1/ulp/ULP.asn @@ -80,8 +80,12 @@ SlpSessionID ::= SEQUENCE { slpId SLPAddress} IPAddress ::= CHOICE { - ipv4Address OCTET STRING(SIZE (4)), - ipv6Address OCTET STRING(SIZE (16))} + ipv4Address IPv4Address, + ipv6Address IPv6Address + } + +IPv4Address ::= OCTET STRING(SIZE (4)) +IPv6Address ::= OCTET STRING(SIZE (16)) SLPAddress ::= CHOICE {iPAddress IPAddress, fQDN FQDN, diff --git a/asn1/ulp/packet-ulp-template.c b/asn1/ulp/packet-ulp-template.c index e2fc1dfa2e..ca278c4c8c 100644 --- a/asn1/ulp/packet-ulp-template.c +++ b/asn1/ulp/packet-ulp-template.c @@ -33,6 +33,7 @@ #include <glib.h> #include <epan/packet.h> #include <epan/conversation.h> +#include <epan/prefs.h> #include <stdio.h> #include <string.h> @@ -71,6 +72,20 @@ guint32 StatusCode_value_map[20] = {0, 1, 2, 3, 4, 5, 6, 7, 8 ,9 ,10 ,11, 12, 13 #include "packet-ulp-fn.c" +/*--- proto_reg_handoff_ulp ---------------------------------------*/ +void +proto_reg_handoff_ulp(void) +{ + + ulp_handle = create_dissector_handle(dissect_ULP_PDU_PDU, proto_ulp); + + dissector_add("tcp.port", gbl_ulp_port, ulp_handle); + + /* application/oma-supl-ulp */ + dissector_add_string("media_type","application/oma-supl-ulp", ulp_handle); + +} + /*--- proto_register_ulp -------------------------------------------*/ void proto_register_ulp(void) { @@ -87,6 +102,8 @@ void proto_register_ulp(void) { #include "packet-ulp-ettarr.c" }; + module_t *ulp_module; + /* Register protocol */ proto_ulp = proto_register_protocol(PNAME, PSNAME, PFNAME); @@ -94,22 +111,17 @@ void proto_register_ulp(void) { proto_register_field_array(proto_ulp, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); + + /* Register a configuration option for port */ + ulp_module = prefs_register_protocol(proto_ulp,proto_reg_handoff_ulp); + prefs_register_uint_preference(ulp_module, "tcp.port", + "ULP TCP Port", + "Set the TCP port for Ulp messages(IANA registerd port is 7275)", + 10, + &gbl_ulp_port); } -/*--- proto_reg_handoff_ulp ---------------------------------------*/ -void -proto_reg_handoff_ulp(void) -{ - - ulp_handle = create_dissector_handle(dissect_ULP_PDU_PDU, proto_ulp); - - dissector_add("tcp.port", gbl_ulp_port, ulp_handle); - - /* application/oma-supl-ulp */ - dissector_add_string("media_type","application/oma-supl-ulp", ulp_handle); - -} diff --git a/asn1/ulp/ulp.cnf b/asn1/ulp/ulp.cnf index 970fb08e48..2c875d9a32 100644 --- a/asn1/ulp/ulp.cnf +++ b/asn1/ulp/ulp.cnf @@ -35,3 +35,7 @@ guint32 UlpMessage; { col_append_fstr(pinfo->cinfo, COL_INFO, "%%s ", val_to_str(UlpMessage,ulp_UlpMessage_vals,"Unknown")); } + +#.TYPE_ATTR +IPv4Address TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL +IPv6Address TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL |