Ethereal-dev: Re: cvs diff output (for Diameter) was [ethereal-dev] CVS Access
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: David Frascone <dave@xxxxxxxxxxxx>
Date: Thu, 29 Jun 2000 11:57:20 -0500
Ok, big changes this time. I've added a confFile.[ch] which allows disectors
to have run-time configuration parameters set. I've also modified
packet-radius.c and my packet-diameter stuff to support it.
A default file (ethereal.conf) is installed to the data dir ($prefix/etc)
during make install.
I'm attaching a tar.gz file of all added files (to save bandwidth). Attached
is a text version of the cvs diff output.
-------------cut here---------------
? packet-diameter.c
? packet-diameter.h
? diameter-dict2h.pl
? nohup.out
? confFile.h
? confFile.c
? ethereal.conf
Index: Makefile.am
===================================================================
RCS file: /cvsroot/ethereal/Makefile.am,v
retrieving revision 1.206
diff -u -r1.206 Makefile.am
--- Makefile.am 2000/06/22 06:37:59 1.206
+++ Makefile.am 2000/06/29 16:54:51
@@ -27,7 +27,7 @@
man_MANS = ethereal.1 editcap.1 tethereal.1
-sysconf_DATA = manuf
+sysconf_DATA = manuf ethereal.conf
# Any POSIX-compatible YACC should honor the -p flag
YFLAGS=-d -p dfilter_
@@ -51,6 +51,7 @@
packet-cops.c \
packet-data.c \
packet-ddtp.c \
+ packet-diameter.c \
packet-dns.c \
packet-eigrp.c \
packet-esis.c \
@@ -247,6 +248,8 @@
asn1.h \
column.c \
column.h \
+ confFile.c \
+ confFile.h \
conversation.c \
conversation.h \
dfilter-int.h \
Index: Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/Makefile.nmake,v
retrieving revision 1.45
diff -u -r1.45 Makefile.nmake
--- Makefile.nmake 2000/06/16 15:05:26 1.45
+++ Makefile.nmake 2000/06/29 16:54:51
@@ -37,6 +37,7 @@
packet-clnp.c \
packet-cops.c \
packet-data.c \
+ packet-diameter.c \
packet-ddtp.c \
packet-dns.c \
packet-eigrp.c \
@@ -152,6 +153,7 @@
ETHEREAL_COMMON_OBJECTS = \
asn1.obj \
column.obj \
+ confFile.obj \
conversation.obj \
dfilter-grammar.obj \
dfilter-scanner.obj \
Index: packet-radius.c
===================================================================
RCS file: /cvsroot/ethereal/packet-radius.c,v
retrieving revision 1.13
diff -u -r1.13 packet-radius.c
--- packet-radius.c 2000/05/31 05:07:33 1.13
+++ packet-radius.c 2000/06/29 16:54:54
@@ -39,6 +39,7 @@
#include <glib.h>
#include "packet.h"
#include "resolv.h"
+#include "confFile.h"
static int proto_radius = -1;
static int hf_radius_length = -1;
@@ -53,6 +54,13 @@
#define UDP_PORT_RADACCT 1646
#define UDP_PORT_RADACCT_NEW 1813
+static int gbl_radiusPort = UDP_PORT_RADIUS_NEW;
+static int gbl_radiusOldPort = UDP_PORT_RADIUS;
+static int gbl_radAcctPort = UDP_PORT_RADACCT_NEW;
+static int gbl_radAcctOldPort = UDP_PORT_RADACCT;
+static char gbl_confString[200];
+static char gbl_radiusString[200];
+
typedef struct _e_radiushdr {
guint8 rh_code;
guint8 rh_ident;
@@ -742,6 +750,43 @@
}
}
}
+void
+configRadius( void )
+{
+ int rc;
+ int port1, port2, port3, port4;
+
+ /* Set our defaults */
+ sprintf(gbl_radiusString, "Radius Protocol (ports %d, %d, %d, %d)",
+ gbl_radiusPort, gbl_radiusOldPort, gbl_radAcctPort, gbl_radAcctOldPort);
+
+ /* Get our port number */
+ confGetConfiguration("packet-radius", gbl_confString,
+ sizeof(gbl_confString)-1);
+
+ if (gbl_confString[0] == 0)
+ return;
+
+ rc = sscanf(gbl_confString, " ports %d %d %d %d", &port1, &port2,
+ &port3, &port4);
+ if (rc == 4) {
+ gbl_radiusPort = port1;
+ gbl_radiusOldPort = port2;
+ gbl_radAcctPort = port3;
+ gbl_radAcctOldPort = port4;
+ }
+
+#if 0
+ /* DEBUG: include conf line in diameter string */
+ sprintf(gbl_radiusString, "Radius Protocol (ports %d, %d, %d, %d) conf: %s",
+ gbl_radiusPort, gbl_radiusOldPort, gbl_radAcctPort, gbl_radAcctOldPort,
+ gbl_confString);
+#else
+ sprintf(gbl_radiusString, "Radius Protocol (ports %d, %d, %d, %d)",
+ gbl_radiusPort, gbl_radiusOldPort, gbl_radAcctPort,
+ gbl_radAcctOldPort);
+#endif
+}
/* registration with the filtering engine */
void
proto_register_radius(void)
@@ -763,8 +808,10 @@
&ett_radius,
&ett_radius_avp,
};
+
+ configRadius();
- proto_radius = proto_register_protocol ("Radius Protocol", "radius");
+ proto_radius = proto_register_protocol (gbl_radiusString, "radius");
proto_register_field_array(proto_radius, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
@@ -772,8 +819,8 @@
void
proto_reg_handoff_radius(void)
{
- dissector_add("udp.port", UDP_PORT_RADIUS, dissect_radius);
- dissector_add("udp.port", UDP_PORT_RADIUS_NEW, dissect_radius);
- dissector_add("udp.port", UDP_PORT_RADACCT, dissect_radius);
- dissector_add("udp.port", UDP_PORT_RADACCT_NEW, dissect_radius);
+ dissector_add("udp.port", gbl_radiusPort, dissect_radius);
+ dissector_add("udp.port", gbl_radiusOldPort, dissect_radius);
+ dissector_add("udp.port", gbl_radAcctPort, dissect_radius);
+ dissector_add("udp.port", gbl_radAcctOldPort, dissect_radius);
}
------------ cut here--------------
On Thu, Jun 29, 2000 at 11:20:39AM -0400, Gilbert Ramirez Jr. wrote:
> On Thu, Jun 29, 2000 at 07:40:42AM -0500, David Frascone wrote:
> > Thanks for all the responses (and sorry for the bitching)
> >
> > Here is the output from cvs-diff . . not very interesting w/o the extra
> > packet files.
>
> Why not send packet-diameter.[ch] and diameter-dict2h.pl to the list, too?
>
> --gilbert
Attachment:
diffs.tgz
Description: application/tar-gz
- References:
- [ethereal-dev] CVS Access
- From: David Frascone
- cvs diff output (for Diameter) was [ethereal-dev] CVS Access
- From: David Frascone
- Re: cvs diff output (for Diameter) was [ethereal-dev] CVS Access
- From: Gilbert Ramirez Jr.
- [ethereal-dev] CVS Access
- Prev by Date: Re: cvs diff output (for Diameter) was [ethereal-dev] CVS Access
- Next by Date: [ethereal-dev] Makefiles
- Previous by thread: Re: cvs diff output (for Diameter) was [ethereal-dev] CVS Access
- Next by thread: [ethereal-dev] Error in certificate request parsing in packet-isakmp.c
- Index(es):





