Dietmar Petras provided:
authorgram <gram@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 9 Feb 2000 17:15:59 +0000 (17:15 +0000)
committergram <gram@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 9 Feb 2000 17:15:59 +0000 (17:15 +0000)
* fix a bug in packet-tftp.c dissecting TFTP Option Acknowledgement
  packets. The is no Block-Id in TFTP Option Acknowledgements, as it is
  in TFTP Acknowledgements.
* Extension of manuf by ethernet addresses from ELSA (my company), a german
  vendor of ISDN routers, cable modems, etc.
* New dissector for Time Protocol [RFC 0868]. That protocol works on port
  37 of UDP and TCP. The implementation in this patch only dissects the
  more usual UDP version. It could print the time in a more fashion way,
  but thats for a later version.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1609 f5534014-38df-0310-8fa8-9805f1628bb7

AUTHORS
Makefile.am
Makefile.nmake
doc/ethereal.pod.template
manuf
packet-tftp.c
packet-udp.c
packet.h

diff --git a/AUTHORS b/AUTHORS
index 9f31f03b09c89b89b44e6136cc482978c7de5838..2bf3222f07d1e729377e3c68b50d8a8af33af1c0 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -243,6 +243,10 @@ Ed Meaney <emeaney@altiga.com> {
        Win32 support
 }
 
+Dietmar Petras <DPetras@ELSA.de> {
+       Time protocol support
+}
+
 Alain Magloire <alainm@rcsm.ece.mcgill.ca> was kind enough to
 give his permission to use his version of snprintf.c.
 
index c0d75020dbc5d5992b00fccdf11359590a7a2059..f2d7a71ec05cd813113fdb06d0629bb4b9c65e47 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile.am
 # Automake file for Ethereal
 #
-# $Id: Makefile.am,v 1.162 2000/02/05 09:19:05 guy Exp $
+# $Id: Makefile.am,v 1.163 2000/02/09 17:15:46 gram Exp $
 #
 # Ethereal - Network traffic analyzer
 # By Gerald Combs <gerald@zing.org>
@@ -151,6 +151,7 @@ DISSECTOR_SOURCES = \
        packet-tcp.c   \
        packet-telnet.c\
        packet-tftp.c  \
+       packet-time.c  \
        packet-tns.c \
        packet-tns.h \
        packet-tr.c    \
index 6dff3f0b0f4089acc07ea5da5d229f1ab55990b4..08ed0232186131021a10c178d1b6b2fb4e78d5ca 100644 (file)
@@ -102,6 +102,7 @@ DISSECTOR_OBJECTS = \
        packet-tcp.obj   \
        packet-telnet.obj\
        packet-tftp.obj  \
+       packet-time.obj  \
        packet-tns.obj \
        packet-tr.obj    \
        packet-trmac.obj \
index 27555894ecd23c22286c47b10e36a92ef6728f30..ebaf7908f885393b064f4a44276e268e43f4bac1 100644 (file)
@@ -820,6 +820,7 @@ B<http://ethereal.zing.org>.
   Gerrit Gehnen            <G.Gehnen@atrie.de>
   Craig Newell             <craign@cheque.uq.edu.au>
   Ed Meaney                <emeaney@altiga.com>
+  Dietmar Petras           <DPetras@ELSA.de> 
 
 Alain Magloire <alainm@rcsm.ece.mcgill.ca> was kind enough to give his
 permission to use his version of snprintf.c.
diff --git a/manuf b/manuf
index 56f93fc63c9d01f397d321d535a06ef656d6b724..86890c655ecf3d5649a4024f6af36132ca5ba9e7 100644 (file)
--- a/manuf
+++ b/manuf
@@ -1,7 +1,7 @@
 # 
 # /etc/manuf - Ethernet vendor codes 
 #
-# $Id: manuf,v 1.5 2000/01/04 23:42:17 gram Exp $
+# $Id: manuf,v 1.6 2000/02/09 17:15:47 gram Exp $
 #
 # Laurent Deniel <deniel@worldnet.fr>
 #
 00:90:27       Intel
 00:90:b1       Cisco
 00:a0:24       3Com
+00:a0:57       ELSA
 00:aa:00       Intel
 00:c0:4f       Dell
 00:c0:95       Znyx            # Network Appliance
index 02ac06d4c91cca665c180d8f81febf57f61bcd43..2c137d312ade8a9f618247f37c8e3047f9d81b7b 100644 (file)
@@ -5,7 +5,7 @@
  * Craig Newell <CraigN@cheque.uq.edu.au>
  *     RFC2347 TFTP Option Extension
  *
- * $Id: packet-tftp.c,v 1.9 2000/01/27 07:09:15 guy Exp $
+ * $Id: packet-tftp.c,v 1.10 2000/02/09 17:15:47 gram Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -167,9 +167,6 @@ dissect_tftp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
          case OACK:
            proto_tree_add_text(tftp_tree, offset, 2, "Option Acknowledgement");
            offset += 2;
-           i1 = pntohs(pd+offset);
-           proto_tree_add_text(tftp_tree, offset, 2, "Block = %u", i1);
-           offset += 2;
            while (offset < pi.captured_len) {
              int i2;
              i1 = strlen(pd+offset);                   /* length of option */
index 19a3bf23ba465d3ab132f6ff80bbfb40e7763243..258590448245f0f7db0285e59b9c680dfabbccda 100644 (file)
@@ -1,7 +1,7 @@
 /* packet-udp.c
  * Routines for UDP packet disassembly
  *
- * $Id: packet-udp.c,v 1.47 2000/02/01 04:13:47 guy Exp $
+ * $Id: packet-udp.c,v 1.48 2000/02/09 17:15:47 gram Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -66,6 +66,7 @@ typedef struct _e_udphdr {
 
 /* UDP Ports -> should go in packet-udp.h */
 
+#define UDP_PORT_TIME    37
 #define UDP_PORT_TACACS  49
 #define UDP_PORT_DNS     53
 #define UDP_PORT_BOOTPS  67
@@ -303,6 +304,9 @@ dissect_udp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
       /* This is the first point of call, but it adds a dynamic call */
       udp_hash_add(MAX(uh_sport, uh_dport), dissect_tftp);  /* Add to table */
       dissect_tftp(pd, offset, fd, tree);
+  } else if (PORT_IS(UDP_PORT_TIME)) {
+      /* This is the first point of call, but it adds a dynamic call */
+      dissect_time(pd, offset, fd, tree);
   } else if (PORT_IS(UDP_PORT_RADIUS) ||
                PORT_IS(UDP_PORT_RADACCT) ||
                PORT_IS(UDP_PORT_RADIUS_NEW) ||
index d7121a438689695dec2fae3f66385b74ecab4912..912316e03c1833f8ed879f8390efba769b7ea895 100644 (file)
--- a/packet.h
+++ b/packet.h
@@ -1,7 +1,7 @@
 /* packet.h
  * Definitions for packet disassembly structures and routines
  *
- * $Id: packet.h,v 1.170 2000/02/05 09:19:06 guy Exp $
+ * $Id: packet.h,v 1.171 2000/02/09 17:15:47 gram Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -402,6 +402,7 @@ void dissect_tacplus(const u_char *, int, frame_data *, proto_tree *);
 void dissect_tcp(const u_char *, int, frame_data *, proto_tree *);
 void dissect_telnet(const u_char *, int, frame_data *, proto_tree *);
 void dissect_tftp(const u_char *, int, frame_data *, proto_tree *);
+void dissect_time(const u_char *, int, frame_data *, proto_tree *);
 void dissect_tns(const u_char *, int, frame_data *, proto_tree *);
 void dissect_tr(const u_char *, int, frame_data *, proto_tree *);
 void dissect_trmac(const u_char *, int, frame_data *, proto_tree *);