diff --git a/Makefile.am b/Makefile.am index 394302714d..fa5492a044 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ # Makefile.am # Automake file for Ethereal # -# $Id: Makefile.am,v 1.70 1999/09/10 05:15:09 gram Exp $ +# $Id: Makefile.am,v 1.71 1999/09/11 04:50:34 gerald Exp $ # # Ethereal - Network traffic analyzer # By Gerald Combs @@ -55,6 +55,7 @@ ethereal_SOURCES = \ globals.h \ packet-aarp.c \ packet-arp.c \ + packet-ascend.c\ packet-atalk.c \ packet-atm.c \ packet-bootp.c \ @@ -127,8 +128,8 @@ ethereal_SOURCES = \ resolv.c \ resolv.h \ smb.h \ - summary.c \ - summary.h \ + summary.c \ + summary.h \ timestamp.h \ util.c \ util.h \ diff --git a/file.c b/file.c index 3ce06f9776..285388aa28 100644 --- a/file.c +++ b/file.c @@ -1,7 +1,7 @@ /* file.c * File I/O routines * - * $Id: file.c,v 1.87 1999/09/09 02:42:24 gram Exp $ + * $Id: file.c,v 1.88 1999/09/11 04:50:34 gerald Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -708,8 +708,7 @@ filter_packets(capture_file *cf) cf->count++; - fseek(cf->fh, fd->file_off, SEEK_SET); - fread(cf->pd, sizeof(guint8), fd->cap_len, cf->fh); + wtap_seek_read (cf-> cd_t, cf->fh, fd->file_off, cf->pd, fd->cap_len); add_packet_to_packet_list(fd, cf, cf->pd); } @@ -754,8 +753,7 @@ print_packets(capture_file *cf, int to_file, const char *dest) for (fd = cf->plist; fd != NULL; fd = fd->next) { cf->count++; - fseek(cf->fh, fd->file_off, SEEK_SET); - fread(cf->pd, sizeof(guint8), fd->cap_len, cf->fh); + wtap_seek_read (cf-> cd_t, cf->fh, fd->file_off, cf->pd, fd->cap_len); /* create the logical protocol tree */ protocol_tree = proto_tree_create_root(); @@ -896,8 +894,7 @@ select_packet(capture_file *cf, int row) cf->selected_packet = i; /* Get the data in that frame. */ - fseek(cf->fh, cf->fd->file_off, SEEK_SET); - fread(cf->pd, sizeof(guint8), cf->fd->cap_len, cf->fh); + wtap_seek_read (cf-> cd_t, cf->fh, fd->file_off, cf->pd, fd->cap_len); /* Create the logical protocol tree. */ if (cf->protocol_tree) diff --git a/packet.c b/packet.c index f4fad5d693..7bc1fde6a1 100644 --- a/packet.c +++ b/packet.c @@ -1,7 +1,7 @@ /* packet.c * Routines for packet disassembly * - * $Id: packet.c,v 1.40 1999/08/24 03:19:23 guy Exp $ + * $Id: packet.c,v 1.41 1999/09/11 04:50:35 gerald Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -684,6 +684,9 @@ dissect_packet(const u_char *pd, frame_data *fd, proto_tree *tree) case WTAP_ENCAP_ATM_SNIFFER : dissect_atm(pd, fd, tree); break; + case WTAP_ENCAP_ASCEND : + dissect_ascend(pd, fd, tree); + break; } } diff --git a/wiretap/Makefile b/wiretap/Makefile index 09f8b09b4d..4f98949098 100644 --- a/wiretap/Makefile +++ b/wiretap/Makefile @@ -1,7 +1,7 @@ # Generated automatically from Makefile.in by configure. -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4a from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -11,7 +11,6 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. - SHELL = /bin/sh srcdir = . @@ -32,7 +31,7 @@ mandir = ${prefix}/man includedir = ${prefix}/include oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/libwtap.a pkglibdir = $(libdir)/libwtap.a @@ -48,7 +47,8 @@ AUTOHEADER = autoheader INSTALL = /usr/bin/install -c INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_SCRIPT = ${INSTALL_PROGRAM} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_FLAG = transform = s,x,x, NORMAL_INSTALL = : @@ -57,27 +57,65 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +AMTAR = gtar +AMTARFLAGS = o CC = gcc -GTK_CFLAGS = -I/usr/lib/glib/include -I/usr/X11R6/include -GTK_CONFIG = /usr/bin/gtk-config -GTK_LIBS = -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -lglib -lXext -lX11 -lm -LIBWIRETAP_A = +CPP = gcc -E +FLEX_PATH = +GLIB_CFLAGS = -I/usr/lib/glib/include +GLIB_CONFIG = /usr/bin/glib-config +GLIB_LIBS = -L/usr/lib -lglib +GTK_CFLAGS = +GTK_CONFIG = +GTK_LIBS = +LEX = /usr/bin/flex MAKEINFO = makeinfo PACKAGE = libwtap.a RANLIB = ranlib VERSION = 0.0.0 +YACC = bison -y -noinst_LIBRARIES = +# Makefile.am +# Automake file for Wiretap +# +# $Id: Makefile,v 1.12 1999/09/11 04:50:43 gerald Exp $ +# +# Ethereal - Network traffic analyzer +# By Gerald Combs +# Copyright 1998 Gerald Combs +# +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -EXTRA_LIBRARIES = libwiretap.a -CLEANFILES = libwiretap.a +noinst_LIBRARIES = libwiretap.a + +#EXTRA_LIBRARIES = libwiretap.a + +CLEANFILES = \ + libwiretap.a \ + *~ + libwiretap_a_SOURCES = \ + ascend-grammar.y \ + ascend-scanner.l \ + ascend.c \ + ascend.h \ buffer.c \ buffer.h \ - config.h \ - debug.h \ file.c \ iptrace.c \ iptrace.h \ @@ -85,12 +123,27 @@ libwiretap_a_SOURCES = \ lanalyzer.h \ libpcap.c \ libpcap.h \ + netmon.c \ + netmon.h \ + netxray.c \ + netxray.h \ ngsniffer.c \ ngsniffer.h \ + radcom.c \ + radcom.h \ snoop.c \ snoop.h \ wtap.c \ wtap.h + + +EXTRA_DIST = \ + config.h.win32 \ + Makefile.nmake + + +# Any POSIX-compatible YACC should honor the -p flag +YFLAGS = -d -p ascend ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs CONFIG_HEADER = config.h @@ -101,59 +154,76 @@ LIBRARIES = $(noinst_LIBRARIES) DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I. CPPFLAGS = LDFLAGS = -LIBS = -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -lglib -lXext -lX11 -lm +LIBS = -L/usr/lib -lglib libwiretap_a_LIBADD = -libwiretap_a_OBJECTS = buffer.o file.o iptrace.o lanalyzer.o libpcap.o \ -ngsniffer.o snoop.o wtap.o +am_libwiretap_a_OBJECTS = ascend-grammar.o ascend-scanner.o ascend.o \ +buffer.o file.o iptrace.o lanalyzer.o libpcap.o netmon.o netxray.o \ +ngsniffer.o radcom.o snoop.o wtap.o +libwiretap_a_OBJECTS = $(am_libwiretap_a_OBJECTS) AR = ar -CFLAGS = -Wall -g -O2 -I/usr/lib/glib/include -I/usr/X11R6/include -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ -Makefile.in NEWS acconfig.h aclocal.m4 config.h.in configure \ -configure.in stamp-h.in +LEX_OUTPUT_ROOT = lex.yy +LEXLIB = -lfl +CFLAGS = -Wall -g -O2 -I/usr/lib/glib/include +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DIST_SOURCES = $(libwiretap_a_SOURCES) +DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \ +Makefile.am Makefile.in NEWS acconfig.h acinclude.m4 aclocal.m4 \ +ascend-grammar.c ascend-grammar.h ascend-scanner.c config.h.in \ +configure configure.in -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar -GZIP = --best -DEP_FILES = .deps/buffer.P .deps/file.P .deps/iptrace.P \ -.deps/lanalyzer.P .deps/libpcap.P .deps/ngsniffer.P .deps/snoop.P \ -.deps/wtap.P +GZIP_ENV = --best +DEP_FILES = .deps/ascend-grammar.P .deps/ascend-scanner.P \ +.deps/ascend.P .deps/buffer.P .deps/file.P .deps/iptrace.P \ +.deps/lanalyzer.P .deps/libpcap.P .deps/netmon.P .deps/netxray.P \ +.deps/ngsniffer.P .deps/radcom.P .deps/snoop.P .deps/wtap.P SOURCES = $(libwiretap_a_SOURCES) -OBJECTS = $(libwiretap_a_OBJECTS) - -all: Makefile $(LIBRARIES) config.h +OBJECTS = $(am_libwiretap_a_OBJECTS) +all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +.SUFFIXES: .c .l .o .y +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/$(altdir)configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) cd $(top_builddir) \ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status -$(ACLOCAL_M4): configure.in +$(ACLOCAL_M4): configure.in acinclude.m4 cd $(srcdir) && $(ACLOCAL) -config.status: $(srcdir)/configure +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) - cd $(srcdir) && $(AUTOCONF) +$(srcdir)/configure: $(srcdir)/$(altdir)configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) + cd $(srcdir) && $(AUTOCONF) config.h: stamp-h - @: + @if test ! -f $@; then \ + rm -f stamp-h; \ + $(MAKE) stamp-h; \ + else :; fi stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h stamp-hT + @echo timestamp > stamp-hT 2> /dev/null cd $(top_builddir) \ && CONFIG_FILES= CONFIG_HEADERS=config.h \ $(SHELL) ./config.status - @echo timestamp > stamp-h -$(srcdir)/config.h.in: $(srcdir)/stamp-h.in -$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h - cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/stamp-h.in + @mv stamp-hT stamp-h +$(srcdir)/config.h.in: $(srcdir)/./stamp-h.in + @if test ! -f $@; then \ + rm -f $(srcdir)/./stamp-h.in; \ + $(MAKE) $(srcdir)/./stamp-h.in; \ + else :; fi +$(srcdir)/./stamp-h.in: $(top_srcdir)/$(altdir)configure.in $(ACLOCAL_M4) acconfig.h + @rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT + @echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null + cd $(top_srcdir) && $(AUTOHEADER) + @mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in mostlyclean-hdr: @@ -173,12 +243,6 @@ distclean-noinstLIBRARIES: maintainer-clean-noinstLIBRARIES: -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - mostlyclean-compile: -rm -f *.o core *.core @@ -188,17 +252,44 @@ distclean-compile: -rm -f *.tab.c maintainer-clean-compile: +ascend-grammar.o: +ascend-scanner.o: +ascend.o: +buffer.o: +file.o: +iptrace.o: +lanalyzer.o: +libpcap.o: +netmon.o: +netxray.o: +ngsniffer.o: +radcom.o: +snoop.o: +wtap.o: libwiretap.a: $(libwiretap_a_OBJECTS) $(libwiretap_a_DEPENDENCIES) -rm -f libwiretap.a $(AR) cru libwiretap.a $(libwiretap_a_OBJECTS) $(libwiretap_a_LIBADD) $(RANLIB) libwiretap.a +.l.c: + $(LEX) $(AM_LFLAGS) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@ +.y.c: + $(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c + if test -f y.tab.h; then \ + if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \ + else :; fi +ascend-grammar.h: ascend-grammar.c + tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) tags=; \ @@ -227,29 +318,31 @@ top_distdir = $(distdir) # tarfile. distcheck: dist -rm -rf $(distdir) - GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - mkdir $(distdir)/=build mkdir $(distdir)/=inst dc_install_base=`cd $(distdir)/=inst && pwd`; \ cd $(distdir)/=build \ && ../configure --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) \ - && $(MAKE) dvi \ - && $(MAKE) check \ - && $(MAKE) install \ - && $(MAKE) installcheck \ - && $(MAKE) dist + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) dist -rm -rf $(distdir) - @echo "========================"; \ - echo "$(distdir).tar.gz is ready for distribution"; \ - echo "========================" + @banner="$(distdir).tar.gz is ready for distribution"; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes" dist: distdir -chmod -R a+r $(distdir) - GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) + $(AMTAR) ch$(AMTARFLAGS)f - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz -rm -rf $(distdir) dist-all: distdir -chmod -R a+r $(distdir) - GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) + $(AMTAR) ch$(AMTARFLAGS)f - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz -rm -rf $(distdir) distdir: $(DISTFILES) -rm -rf $(distdir) @@ -262,9 +355,13 @@ distdir: $(DISTFILES) && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) @@ -276,72 +373,95 @@ mostlyclean-depend: clean-depend: distclean-depend: + -rm -rf .deps maintainer-clean-depend: - -rm -rf .deps %.o: %.c @echo '$(COMPILE) -c $<'; \ - $(COMPILE) -Wp,-MD,.deps/$(*F).P -c $< + $(COMPILE) -Wp,-MD,.deps/$(*D)/$(*F).pp -c $< + @-cp .deps/$(*D)/$(*F).pp .deps/$(*D)/$(*F).P; \ + tr ' ' '\012' < .deps/$(*D)/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*D)/$(*F).P; \ + rm .deps/$(*D)/$(*F).pp %.lo: %.c @echo '$(LTCOMPILE) -c $<'; \ - $(LTCOMPILE) -Wp,-MD,.deps/$(*F).p -c $< - @-sed -e 's/^\([^:]*\)\.o:/\1.lo \1.o:/' \ - < .deps/$(*F).p > .deps/$(*F).P - @-rm -f .deps/$(*F).p -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) + $(LTCOMPILE) -Wp,-MD,.deps/$(*D)/$(*F).pp -c $< + @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ + < .deps/$(*D)/$(*F).pp > .deps/$(*D)/$(*F).P; \ + tr ' ' '\012' < .deps/$(*D)/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*D)/$(*F).P; \ + rm -f .deps/$(*D)/$(*F).pp +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +all-recursive-am: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive -install-data: - @$(NORMAL_INSTALL) +install-exec-am: +install-exec: install-exec-am -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile $(LIBRARIES) config.h +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-hdr mostlyclean-noinstLIBRARIES \ + -test -z "ascend-scanner.cascend-grammar.hascend-grammar.c" || rm -f ascend-scanner.c ascend-grammar.h ascend-grammar.c +mostlyclean-am: mostlyclean-hdr mostlyclean-noinstLIBRARIES \ mostlyclean-compile mostlyclean-tags mostlyclean-depend \ mostlyclean-generic -clean: clean-hdr clean-noinstLIBRARIES clean-compile clean-tags \ - clean-depend clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-hdr distclean-noinstLIBRARIES distclean-compile \ - distclean-tags distclean-depend distclean-generic clean +clean-am: clean-hdr clean-noinstLIBRARIES clean-compile clean-tags \ + clean-depend clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-hdr distclean-noinstLIBRARIES distclean-compile \ + distclean-tags distclean-depend distclean-generic \ + clean-am + +distclean: distclean-am -rm -f config.status -maintainer-clean: maintainer-clean-hdr maintainer-clean-noinstLIBRARIES \ +maintainer-clean-am: maintainer-clean-hdr \ + maintainer-clean-noinstLIBRARIES \ maintainer-clean-compile maintainer-clean-tags \ maintainer-clean-depend maintainer-clean-generic \ - distclean + distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am -rm -f config.status .PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ @@ -350,12 +470,17 @@ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ maintainer-clean-compile tags mostlyclean-tags distclean-tags \ clean-tags maintainer-clean-tags distdir mostlyclean-depend \ -distclean-depend clean-depend maintainer-clean-depend info dvi \ -installcheck install-exec install-data install uninstall all \ +distclean-depend clean-depend maintainer-clean-depend info-am info \ +dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \ +install-exec-am install-exec install-data-am install-data install-am \ +install uninstall-am uninstall all-redirect all-am all install-strip \ installdirs mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean +ascend-scanner.c : ascend-scanner.l + $(LEX) -Pascend -t $(srcdir)/ascend-scanner.l > ascend-scanner.c + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/wiretap/Makefile.am b/wiretap/Makefile.am index ad1bf805de..048120cabd 100644 --- a/wiretap/Makefile.am +++ b/wiretap/Makefile.am @@ -1,7 +1,7 @@ # Makefile.am # Automake file for Wiretap # -# $Id: Makefile.am,v 1.19 1999/09/09 03:54:38 guy Exp $ +# $Id: Makefile.am,v 1.20 1999/09/11 04:50:43 gerald Exp $ # # Ethereal - Network traffic analyzer # By Gerald Combs @@ -31,6 +31,10 @@ CLEANFILES = \ *~ libwiretap_a_SOURCES = \ + ascend-grammar.y \ + ascend-scanner.l \ + ascend.c \ + ascend.h \ buffer.c \ buffer.h \ file.c \ @@ -56,3 +60,9 @@ libwiretap_a_SOURCES = \ EXTRA_DIST = \ config.h.win32 \ Makefile.nmake + +# Any POSIX-compatible YACC should honor the -p flag +YFLAGS=-d -p ascend + +ascend-scanner.c : ascend-scanner.l + $(LEX) -Pascend -t $(srcdir)/ascend-scanner.l > ascend-scanner.c diff --git a/wiretap/configure.in b/wiretap/configure.in index 3d05113945..e640477eee 100644 --- a/wiretap/configure.in +++ b/wiretap/configure.in @@ -1,4 +1,4 @@ -# $Id: configure.in,v 1.12 1999/07/13 02:53:23 gram Exp $ +# $Id: configure.in,v 1.13 1999/09/11 04:50:44 gerald Exp $ dnl Process this file with autoconf to produce a configure script. AC_INIT(wtap.c) AM_INIT_AUTOMAKE(libwtap.a, 0.0.0) @@ -7,7 +7,12 @@ AM_CONFIG_HEADER(config.h) dnl Checks for programs. AC_PROG_CC AC_PROG_CPP +AC_PROG_YACC +AM_PROG_LEX AC_PROG_RANLIB +AC_PATH_PROG(LEX, flex) + +AC_SUBST(FLEX_PATH) # If we're running gcc, add '-Wall' to CFLAGS. AC_MSG_CHECKING(to see if we can add '-Wall' to CFLAGS) diff --git a/wiretap/file.c b/wiretap/file.c index 1a193a6602..1dacc4df8f 100644 --- a/wiretap/file.c +++ b/wiretap/file.c @@ -1,6 +1,6 @@ /* file.c * - * $Id: file.c,v 1.19 1999/08/28 01:19:43 guy Exp $ + * $Id: file.c,v 1.20 1999/09/11 04:50:44 gerald Exp $ * * Wiretap Library * Copyright (c) 1998 by Gilbert Ramirez @@ -33,6 +33,7 @@ #include "lanalyzer.h" #include "ngsniffer.h" #include "radcom.h" +#include "ascend.h" #include "libpcap.h" #include "snoop.h" #include "iptrace.h" @@ -64,9 +65,16 @@ static int (*open_routines[])(wtap *, int *) = { iptrace_open, netmon_open, netxray_open, - radcom_open + radcom_open, + ascend_open }; +int wtap_def_seek_read (FILE *fh, int seek_off, guint8 *pd, int len) +{ + fseek(fh, seek_off, SEEK_SET); + return fread(pd, sizeof(guint8), len, fh); +} + #define N_FILE_TYPES (sizeof open_routines / sizeof open_routines[0]) /* Opens a file and prepares a wtap struct */ diff --git a/wiretap/wtap.c b/wiretap/wtap.c index cdc48c63ed..275c5a1271 100644 --- a/wiretap/wtap.c +++ b/wiretap/wtap.c @@ -1,6 +1,6 @@ /* wtap.c * - * $Id: wtap.c,v 1.17 1999/08/22 03:50:31 guy Exp $ + * $Id: wtap.c,v 1.18 1999/09/11 04:50:44 gerald Exp $ * * Wiretap Library * Copyright (c) 1998 by Gilbert Ramirez @@ -82,6 +82,9 @@ const char *wtap_file_type_string(wtap *wth) case WTAP_FILE_RADCOM: return "RADCOM WAN/LAN analyzer"; + case WTAP_FILE_ASCEND: + return "Lucent/Ascend access server trace"; + default: g_error("Unknown capture file type %d", wth->file_type); return NULL; @@ -156,6 +159,10 @@ void wtap_close(wtap *wth) g_free(wth->capture.netxray); break; + case WTAP_FILE_ASCEND: + g_free(wth->capture.ascend); + break; + /* default: nothing */ } @@ -179,3 +186,14 @@ int wtap_loop(wtap *wth, int count, wtap_handler callback, u_char* user, else return TRUE; /* success */ } + +int wtap_seek_read (int encaps, FILE *fh, int seek_off, guint8 *pd, int len) { + switch (encaps) { + case WTAP_ENCAP_ASCEND: + ascend_seek_read(fh, seek_off, pd, len); + break; + default: + wtap_def_seek_read(fh, seek_off, pd, len); + break; + } +} diff --git a/wiretap/wtap.h b/wiretap/wtap.h index 4b1eaa7332..10bb64db5a 100644 --- a/wiretap/wtap.h +++ b/wiretap/wtap.h @@ -1,6 +1,6 @@ /* wtap.h * - * $Id: wtap.h,v 1.35 1999/08/28 01:19:45 guy Exp $ + * $Id: wtap.h,v 1.36 1999/09/11 04:50:44 gerald Exp $ * * Wiretap Library * Copyright (c) 1998 by Gilbert Ramirez @@ -88,9 +88,10 @@ #define WTAP_ENCAP_LAPB 11 #define WTAP_ENCAP_ATM_SNIFFER 12 #define WTAP_ENCAP_NULL 13 +#define WTAP_ENCAP_ASCEND 14 /* last WTAP_ENCAP_ value + 1 */ -#define WTAP_NUM_ENCAP_TYPES 13 +#define WTAP_NUM_ENCAP_TYPES 15 /* File types that can be read by wiretap. We may eventually support writing some or all of these file types, @@ -108,6 +109,7 @@ #define WTAP_FILE_NETXRAY_1_1 11 #define WTAP_FILE_NETXRAY_2_001 12 #define WTAP_FILE_RADCOM 13 +#define WTAP_FILE_ASCEND 14 /* * Maximum packet size we'll support. @@ -163,6 +165,12 @@ typedef struct { int version_major; } netxray_t; +typedef struct { + time_t inittime; + int adjusted; + int seek_add; +} ascend_t; + /* Packet "pseudo-header" information for X.25 capture files. */ struct x25_phdr { guint8 flags; /* ENCAP_LAPB : 1st bit means From DCE */ @@ -270,6 +278,7 @@ typedef struct wtap { radcom_t *radcom; netmon_t *netmon; netxray_t *netxray; + ascend_t *ascend; } capture; subtype_read_func subtype_read; @@ -311,6 +320,8 @@ int wtap_file_type(wtap *wth); const char *wtap_file_type_string(wtap *wth); const char *wtap_strerror(int err); void wtap_close(wtap *wth); +int wtap_seek_read (int encaps, FILE *fh, int seek_off, guint8 *pd, int len); +int wtap_def_seek_read (FILE *fh, int seek_off, guint8 *pd, int len); wtap_dumper* wtap_dump_open(const char *filename, int filetype, int encap, int snaplen, int *err);