aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/ulp
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2006-05-13 12:06:56 +0000
committerAnders Broman <anders.broman@ericsson.com>2006-05-13 12:06:56 +0000
commitecac136d4dad61579d4f47a19dcd594525e3ba9a (patch)
tree478574220645d2ea928e3ed7d833cfa65c1ebd7f /asn1/ulp
parent7c4b8c8b888949808448c97405ef4e5679a069b1 (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.asn8
-rw-r--r--asn1/ulp/packet-ulp-template.c38
-rw-r--r--asn1/ulp/ulp.cnf4
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