Ethereal-dev: [ethereal-dev] Patch: gryphon.c & gryphon.h
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Steve Limkemann <stevelim@xxxxxxxxxx>
Date: Fri, 17 Dec 1999 17:25:28 -0500 (EST)
This patch adds the ability to decode Gryphon MISC and TEXT messages. Steve ______________________ _______________________________________________ / Steve Limkemann \/ A microsecond here and a microsecond there, \ | Westland, Michigan || and before you know it, you're talking | | USA, North America || real-time. | | Earth, Solar System || | | Milky Way || Smoking: Not just an addiction, | | MGX467 271 48185 || but a way of death. | \ _____________________/\ ______________________________________________/ Index: plugins/gryphon/packet-gryphon.c =================================================================== RCS file: /cvsroot/ethereal/plugins/gryphon/packet-gryphon.c,v retrieving revision 1.1 diff -u -r1.1 packet-gryphon.c --- packet-gryphon.c 1999/12/15 06:53:30 1.1 +++ packet-gryphon.c 1999/12/17 22:04:52 @@ -197,8 +197,10 @@ decode_event (src, &data, dataend, &offset, msglen, body_tree); break; case GY_FT_MISC: + decode_misc (src, &data, dataend, &offset, msglen, body_tree); break; case GY_FT_TEXT: + decode_text (src, &data, dataend, &offset, msglen, body_tree); break; default: } @@ -212,7 +214,6 @@ proto_tree_add_text(gryphon_tree, offset, i, "padding", NULL); BUMP (offset, data, i); } -/* data = dataend;*/ } } @@ -598,6 +599,38 @@ proto_tree_add_text (pt, *offset, length, "Data (%d bytes)", length); BUMP (*offset, *data, length); } + if (padding) { + proto_tree_add_text (pt, *offset, padding, "padding", NULL); + BUMP (*offset, *data, padding); + } +} + +void +decode_misc (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt) +{ + int padding; + const u_char *msgend; + + padding = 3 - (msglen + 3) % 4; + msgend = *data + msglen; + proto_tree_add_text(pt, *offset, msglen, "Data: %d bytes", msglen); + BUMP (*offset, *data, msglen); + if (padding) { + proto_tree_add_text (pt, *offset, padding, "padding", NULL); + BUMP (*offset, *data, padding); + } +} + +void +decode_text (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt) +{ + int padding; + const u_char *msgend; + + padding = 3 - (msglen + 3) % 4; + msgend = *data + msglen; + proto_tree_add_text(pt, *offset, msglen, "Data: %d bytes", msglen); + BUMP (*offset, *data, msglen); if (padding) { proto_tree_add_text (pt, *offset, padding, "padding", NULL); BUMP (*offset, *data, padding); Index: plugins/gryphon/packet-gryphon.h =================================================================== RCS file: /cvsroot/ethereal/plugins/gryphon/packet-gryphon.h,v retrieving revision 1.1 diff -u -r1.1 packet-gryphon.h --- packet-gryphon.h 1999/12/15 06:53:36 1.1 +++ packet-gryphon.h 1999/12/17 22:04:55 @@ -360,6 +360,8 @@ void decode_response (int, const u_char**, const u_char*, int*, int, proto_tree*); void decode_data (int, const u_char**, const u_char*, int*, int, proto_tree*); void decode_event (int, const u_char**, const u_char*, int*, int, proto_tree*); +void decode_misc (int, const u_char**, const u_char*, int*, int, proto_tree*); +void decode_text (int, const u_char**, const u_char*, int*, int, proto_tree*); void cmd_init (int, const u_char**, const u_char*, int*, int, proto_tree*); void resp_time (int, const u_char**, const u_char*, int*, int, proto_tree*); void cmd_setfilt (int, const u_char**, const u_char*, int*, int, proto_tree*);
- Prev by Date: [ethereal-dev] 769 servers in a NetServerEnum2 list!!!
- Next by Date: [ethereal-dev] Another need to packet re-assembly ...
- Previous by thread: [ethereal-dev] 769 servers in a NetServerEnum2 list!!!
- Next by thread: [ethereal-dev] Another need to packet re-assembly ...
- Index(es):