aboutsummaryrefslogtreecommitdiffstats
path: root/packet-wsp.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-01-16 23:10:24 +0000
committerGuy Harris <guy@alum.mit.edu>2001-01-16 23:10:24 +0000
commitce2e2cf78c745a2f2e588c31b87fd357c95aa4f8 (patch)
tree201af5bd59e9caae97df13d1a7f2bde1585f50e8 /packet-wsp.c
parent6bdc82fe180e1157326bc572ef7d78241740bc9b (diff)
Fix another "match_strval()" call.
Remove one level of indentation from a "switch()" statement, so as not to oblige those of who use 80-column windows for editing (and will continue to do, arguments against it nonwithstanding; I *like* being able to have lots of windows open and visible) to have to play too many games in order to be able to work on this code. svn path=/trunk/; revision=2907
Diffstat (limited to 'packet-wsp.c')
-rw-r--r--packet-wsp.c335
1 files changed, 171 insertions, 164 deletions
diff --git a/packet-wsp.c b/packet-wsp.c
index 9beaf89018..48f67372ba 100644
--- a/packet-wsp.c
+++ b/packet-wsp.c
@@ -3,7 +3,7 @@
*
* Routines to dissect WSP component of WAP traffic.
*
- * $Id: packet-wsp.c,v 1.10 2001/01/16 23:02:20 guy Exp $
+ * $Id: packet-wsp.c,v 1.11 2001/01/16 23:10:24 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -782,198 +782,205 @@ add_header (proto_tree *tree, tvbuff_t *header_buff, tvbuff_t *value_buff)
headerType = headerType & 0x7F;
switch (headerType)
{
- case 0x00: /* Accept */
- if (peek & 0x80)
- {
- proto_tree_add_uint (tree, hf_wsp_header_accept, header_buff, offset, headerLen, (peek & 0x7F));
- }
- else
- {
- proto_tree_add_string (tree, hf_wsp_header_accept_str,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
- }
- break;
-
- case 0x01: /* Accept-Charset */
- if (peek < 31)
- {
- /* Peek contains the number of octets to follow */
- switch (peek)
- {
- case 1:
- proto_tree_add_uint (tree, hf_wsp_header_accept_charset, header_buff, offset, headerLen, tvb_get_guint8 (value_buff, 1) );
- break;
- case 2:
- proto_tree_add_uint (tree, hf_wsp_header_accept_charset, header_buff, offset, headerLen, tvb_get_ntohs (value_buff, 1) );
- break;
- case 4:
- proto_tree_add_uint (tree, hf_wsp_header_accept_charset, header_buff, offset, headerLen, tvb_get_ntohl (value_buff, 1) );
- break;
- default:
- fprintf (stderr, "dissect_wsp: accept-charset size %d NYI\n", peek);
- }
- }
- else if (peek & 0x80)
- {
- proto_tree_add_uint (tree, hf_wsp_header_accept_charset, header_buff, offset, headerLen, (peek & 0x7F) );
- }
- else
- {
- fprintf (stderr, "dissect_wsp: Accept-Charset value %d (0x%02X) NYI\n", peek, peek);
- }
- break;
-
- case 0x03: /* Accept-Language */
- proto_tree_add_uint (tree, hf_wsp_header_accept_language, header_buff, offset, headerLen, (peek & 0x7F));
- break;
-
- case 0x04: /* Accept-Ranges */
- if ((peek == 128) || (peek == 129))
- {
- proto_tree_add_uint (tree, hf_wsp_header_accept_ranges, header_buff, offset, headerLen, peek);
- }
- else
- {
- fprintf (stderr, "dissect_wsp: accept-ranges NYI\n");
- }
-
- break;
+ case 0x00: /* Accept */
+ if (peek & 0x80)
+ {
+ proto_tree_add_uint (tree, hf_wsp_header_accept, header_buff, offset, headerLen, (peek & 0x7F));
+ }
+ else
+ {
+ proto_tree_add_string (tree, hf_wsp_header_accept_str,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
+ }
+ break;
- case 0x05: /* Age */
- switch (valueLen)
+ case 0x01: /* Accept-Charset */
+ if (peek < 31)
+ {
+ /* Peek contains the number of octets to follow */
+ switch (peek)
{
case 1:
- proto_tree_add_uint (tree, hf_wsp_header_age, header_buff, offset, headerLen, tvb_get_guint8 (value_buff, 0));
+ proto_tree_add_uint (tree, hf_wsp_header_accept_charset, header_buff, offset, headerLen, tvb_get_guint8 (value_buff, 1) );
break;
case 2:
- proto_tree_add_uint (tree, hf_wsp_header_age, header_buff, offset, headerLen, tvb_get_ntohs (value_buff, 0));
- break;
- case 3:
- proto_tree_add_uint (tree, hf_wsp_header_age, header_buff, offset, headerLen, tvb_get_ntoh24 (value_buff, 0));
+ proto_tree_add_uint (tree, hf_wsp_header_accept_charset, header_buff, offset, headerLen, tvb_get_ntohs (value_buff, 1) );
break;
case 4:
- proto_tree_add_uint (tree, hf_wsp_header_age, header_buff, offset, headerLen, tvb_get_ntohl (value_buff, 0));
+ proto_tree_add_uint (tree, hf_wsp_header_accept_charset, header_buff, offset, headerLen, tvb_get_ntohl (value_buff, 1) );
break;
- };
- break;
+ default:
+ fprintf (stderr, "dissect_wsp: accept-charset size %d NYI\n", peek);
+ }
+ }
+ else if (peek & 0x80)
+ {
+ proto_tree_add_uint (tree, hf_wsp_header_accept_charset, header_buff, offset, headerLen, (peek & 0x7F) );
+ }
+ else
+ {
+ fprintf (stderr, "dissect_wsp: Accept-Charset value %d (0x%02X) NYI\n", peek, peek);
+ }
+ break;
+
+ case 0x03: /* Accept-Language */
+ proto_tree_add_uint (tree, hf_wsp_header_accept_language, header_buff, offset, headerLen, (peek & 0x7F));
+ break;
- case 0x08: /* Cache-Control */
- if (peek & 0x80)
+ case 0x04: /* Accept-Ranges */
+ if ((peek == 128) || (peek == 129))
+ {
+ proto_tree_add_uint (tree, hf_wsp_header_accept_ranges, header_buff, offset, headerLen, peek);
+ }
+ else
+ {
+ fprintf (stderr, "dissect_wsp: accept-ranges NYI\n");
+ }
+
+ break;
+
+ case 0x05: /* Age */
+ switch (valueLen)
+ {
+ case 1:
+ proto_tree_add_uint (tree, hf_wsp_header_age, header_buff, offset, headerLen, tvb_get_guint8 (value_buff, 0));
+ break;
+ case 2:
+ proto_tree_add_uint (tree, hf_wsp_header_age, header_buff, offset, headerLen, tvb_get_ntohs (value_buff, 0));
+ break;
+ case 3:
+ proto_tree_add_uint (tree, hf_wsp_header_age, header_buff, offset, headerLen, tvb_get_ntoh24 (value_buff, 0));
+ break;
+ case 4:
+ proto_tree_add_uint (tree, hf_wsp_header_age, header_buff, offset, headerLen, tvb_get_ntohl (value_buff, 0));
+ break;
+ };
+ break;
+
+ case 0x08: /* Cache-Control */
+ if (peek & 0x80)
+ {
+ if (valueLen == 1) /* Well-known value */
{
- if (valueLen == 1) /* Well-known value */
- {
- proto_tree_add_uint (tree, hf_wsp_header_cache_control, header_buff, offset, headerLen, peek);
- }
- else
+ proto_tree_add_uint (tree, hf_wsp_header_cache_control, header_buff, offset, headerLen, peek);
+ }
+ else
+ {
+ if ((peek == 0x82) || (peek == 0x83) || (peek == 0x84)) /* Delta seconds value to follow */
{
- if ((peek == 0x82) || (peek == 0x83) || (peek == 0x84)) /* Delta seconds value to follow */
- {
- value = tvb_get_guint8 (value_buff, 1);
- if (value & 0x80)
- {
- proto_tree_add_text (tree, header_buff, 0, headerLen, "Cache-Control: %s %d (0x%02X)",
- match_strval ((int) peek, vals_cache_control), (value & 0x7F), peek);
- }
- else
- {
- fprintf (stderr, "dissect_wsp: Cache-Control integer value Delta seconds NYI\n");
- }
- }
- else if ((peek == 0x80) || (peek == 0x87)) /* Fields to follow */
+ value = tvb_get_guint8 (value_buff, 1);
+ if (value & 0x80)
{
- fprintf (stderr, "dissect_wsp: Cache-Control field values NYI\n");
+ proto_tree_add_text (tree,
+ header_buff, 0,
+ headerLen,
+ "Cache-Control: %s %d (0x%02X)",
+ val_to_str (peek,
+ vals_cache_control,
+ "Unknown (0x%02x)"),
+ (value & 0x7F),
+ peek);
}
else
{
- fprintf (stderr, "dissect_wsp: Cache-Control cache extension NYI\n");
+ fprintf (stderr, "dissect_wsp: Cache-Control integer value Delta seconds NYI\n");
}
}
+ else if ((peek == 0x80) || (peek == 0x87)) /* Fields to follow */
+ {
+ fprintf (stderr, "dissect_wsp: Cache-Control field values NYI\n");
+ }
+ else
+ {
+ fprintf (stderr, "dissect_wsp: Cache-Control cache extension NYI\n");
+ }
}
- else
- {
- fprintf (stderr, "dissect_wsp: Cache-Control cache extension NYI\n");
- }
- break;
+ }
+ else
+ {
+ fprintf (stderr, "dissect_wsp: Cache-Control cache extension NYI\n");
+ }
+ break;
- case 0x0D: /* Content-Length */
- if (peek & 0x80)
- {
- proto_tree_add_uint (tree, hf_wsp_header_content_length, header_buff, offset, headerLen, (peek & 0x7F));
- }
- else
- {
- fprintf (stderr, "dissect_wsp: Content-Length long-integer size NYI\n");
- }
- break;
+ case 0x0D: /* Content-Length */
+ if (peek & 0x80)
+ {
+ proto_tree_add_uint (tree, hf_wsp_header_content_length, header_buff, offset, headerLen, (peek & 0x7F));
+ }
+ else
+ {
+ fprintf (stderr, "dissect_wsp: Content-Length long-integer size NYI\n");
+ }
+ break;
- case 0x12: /* Date */
- timeValue.tv_sec = tvb_get_ntohl (value_buff, 0);
- ti = proto_tree_add_time (tree, hf_wsp_header_date, header_buff, offset, headerLen, &timeValue);
- break;
+ case 0x12: /* Date */
+ timeValue.tv_sec = tvb_get_ntohl (value_buff, 0);
+ ti = proto_tree_add_time (tree, hf_wsp_header_date, header_buff, offset, headerLen, &timeValue);
+ break;
- case 0x13: /* Etag */
- ti = proto_tree_add_string (tree, hf_wsp_header_etag,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
- break;
+ case 0x13: /* Etag */
+ ti = proto_tree_add_string (tree, hf_wsp_header_etag,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
+ break;
- case 0x14: /* Expires */
- switch (valueLen)
- {
- case 1:
- case 2:
- fprintf (stderr, "dissect_wsp: Expires value length %d NYI\n", valueLen);
- break;
- case 3:
- timeValue.tv_sec = tvb_get_ntoh24 (value_buff, 0);
- break;
- case 4:
- timeValue.tv_sec = tvb_get_ntohl (value_buff, 0);
- break;
- };
- ti = proto_tree_add_time (tree, hf_wsp_header_expires, header_buff, offset, headerLen, &timeValue);
- break;
-
- case 0x17: /* If-Modified-Since */
- if (valueLen == 4)
- {
+ case 0x14: /* Expires */
+ switch (valueLen)
+ {
+ case 1:
+ case 2:
+ fprintf (stderr, "dissect_wsp: Expires value length %d NYI\n", valueLen);
+ break;
+ case 3:
+ timeValue.tv_sec = tvb_get_ntoh24 (value_buff, 0);
+ break;
+ case 4:
timeValue.tv_sec = tvb_get_ntohl (value_buff, 0);
- }
- else
- {
- timeValue.tv_sec = 0;
- }
- ti = proto_tree_add_time (tree, hf_wsp_header_if_modified_since, header_buff, offset, headerLen, &timeValue);
- break;
-
- case 0x1C: /* Location */
- ti = proto_tree_add_string (tree, hf_wsp_header_location,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
- break;
+ break;
+ };
+ ti = proto_tree_add_time (tree, hf_wsp_header_expires, header_buff, offset, headerLen, &timeValue);
+ break;
- case 0x1D: /* Last-Modified */
+ case 0x17: /* If-Modified-Since */
+ if (valueLen == 4)
+ {
timeValue.tv_sec = tvb_get_ntohl (value_buff, 0);
- ti = proto_tree_add_time (tree, hf_wsp_header_last_modified, header_buff, offset, headerLen, &timeValue);
- break;
+ }
+ else
+ {
+ timeValue.tv_sec = 0;
+ }
+ ti = proto_tree_add_time (tree, hf_wsp_header_if_modified_since, header_buff, offset, headerLen, &timeValue);
+ break;
- case 0x1F: /* Pragma */
- if (peek == 0x80)
- {
- proto_tree_add_text (tree, header_buff, 0, headerLen, "Pragma: No-cache");
- }
- else
- {
- proto_tree_add_text (tree, header_buff, 0, headerLen, "Unsupported Header (0x%02X)", (tvb_get_guint8 (header_buff, 0) & 0x7F));
- }
- break;
+ case 0x1C: /* Location */
+ ti = proto_tree_add_string (tree, hf_wsp_header_location,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
+ break;
+
+ case 0x1D: /* Last-Modified */
+ timeValue.tv_sec = tvb_get_ntohl (value_buff, 0);
+ ti = proto_tree_add_time (tree, hf_wsp_header_last_modified, header_buff, offset, headerLen, &timeValue);
+ break;
- case 0x26: /* Server */
- ti = proto_tree_add_string (tree, hf_wsp_header_server,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
- break;
+ case 0x1F: /* Pragma */
+ if (peek == 0x80)
+ {
+ proto_tree_add_text (tree, header_buff, 0, headerLen, "Pragma: No-cache");
+ }
+ else
+ {
+ proto_tree_add_text (tree, header_buff, 0, headerLen, "Unsupported Header (0x%02X)", (tvb_get_guint8 (header_buff, 0) & 0x7F));
+ }
+ break;
+
+ case 0x26: /* Server */
+ ti = proto_tree_add_string (tree, hf_wsp_header_server,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
+ break;
- case 0x29: /* User-Agent */
- ti = proto_tree_add_string (tree, hf_wsp_header_user_agent,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
- break;
+ case 0x29: /* User-Agent */
+ ti = proto_tree_add_string (tree, hf_wsp_header_user_agent,header_buff,offset,headerLen,tvb_get_ptr (value_buff, 0, valueLen));
+ break;
- default:
- ti = proto_tree_add_text (tree, header_buff, 0, headerLen, "Unsupported Header (0x%02X)", (tvb_get_guint8 (header_buff, 0) & 0x7F));
- break;
+ default:
+ ti = proto_tree_add_text (tree, header_buff, 0, headerLen, "Unsupported Header (0x%02X)", (tvb_get_guint8 (header_buff, 0) & 0x7F));
+ break;
}
}
else