Ethereal-dev: Re: [Ethereal-dev] Please test: shared libs (v3)
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Joerg Mayer <jmayer@xxxxxxxxx>
Date: Mon, 9 Feb 2004 18:17:49 +0100
On Mon, Feb 09, 2004 at 02:27:31AM +0100, Joerg Mayer wrote: > Ah, OK, I'll try to fix this later on Monday or Tuesday. Ok, attached is a new version. For now, I create libdfilter and libftypes as dynamic libs. Once things are working and have settled down a bit, I'll try to integrate them into libethereal again. Other changes: Move make-register stuff to epan. Ciao Jörg -- Joerg Mayer <jmayer@xxxxxxxxx> We are stuck with technology when what we really want is just stuff that works. Some say that should read Microsoft instead of technology.
Index: .cvsignore
===================================================================
RCS file: /usr/local/cvsroot/ethereal/.cvsignore,v
retrieving revision 1.30
diff -p -u -r1.30 .cvsignore
--- .cvsignore 7 Feb 2004 04:35:48 -0000 1.30
+++ .cvsignore 9 Feb 2004 09:43:28 -0000
@@ -50,8 +50,6 @@ packet-ncp2222.c
ps.c
randpkt
rdps
-register-static.c
-register.c
stamp-h
stamp-h.in
stamp-h1
Index: Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/Makefile.am,v
retrieving revision 1.706
diff -p -u -r1.706 Makefile.am
--- Makefile.am 1 Feb 2004 10:07:20 -0000 1.706
+++ Makefile.am 9 Feb 2004 09:43:31 -0000
@@ -231,11 +231,9 @@ ethereal_optional_objects = @SNPRINTF_O@
# Additional libs that I know how to build. These will be
# linked into the ethereal executable.
ethereal_additional_libs = \
- wiretap/libwiretap.a \
+ wiretap/libwiretap.la \
gtk/libui.a \
- epan/libethereal.a \
- epan/ftypes/libftypes.a \
- epan/dfilter/libdfilter.a
+ epan/libethereal.la
# This is the automake dependency variable for the executable
ethereal_DEPENDENCIES = \
@@ -268,10 +266,8 @@ ethereal_LDADD = \
# Additional libs that I know how to build. These will be
# linked into the tethereal executable.
tethereal_additional_libs = \
- wiretap/libwiretap.a \
- epan/libethereal.a \
- epan/ftypes/libftypes.a \
- epan/dfilter/libdfilter.a
+ wiretap/libwiretap.la \
+ epan/libethereal.la
# This is the automake dependency variable for the executable
tethereal_DEPENDENCIES = \
@@ -305,14 +301,14 @@ text2pcap_DEPENDENCIES = text2pcap.h
text2pcap_LDADD = $(text2pcap_optional_objects) \
@GLIB_LIBS@ -lm
-mergecap_DEPENDENCIES = wiretap/libwiretap.a
+mergecap_DEPENDENCIES = wiretap/libwiretap.la
# This is the automake dependency variable for the executable
-editcap_DEPENDENCIES = wiretap/libwiretap.a
+editcap_DEPENDENCIES = wiretap/libwiretap.la
# This automake variable adds to the link-line for the executable
-editcap_LDADD = wiretap/libwiretap.a @GLIB_LIBS@
-mergecap_LDADD = wiretap/libwiretap.a @GLIB_LIBS@
+editcap_LDADD = wiretap/libwiretap.la @GLIB_LIBS@
+mergecap_LDADD = wiretap/libwiretap.la @GLIB_LIBS@
# Common headers
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/wiretap
@@ -341,41 +337,6 @@ SUFFIXES = .sh
$(editsh) $< > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@
#
-# Build "register.c", which contains a function "register_all_protocols()"
-# that calls the register routines for all protocols.
-#
-# We do this by grepping through sources. If that turns out to be too slow,
-# maybe we could just require every .o file to have an register routine
-# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
-#
-# Formatting conventions: The name of the proto_register_* routines must
-# start in column zero, or must be preceded only by "void " starting in
-# column zero, and must not be inside #if.
-#
-# We assume that all dissector routines are in "packet-XXX.c" files.
-#
-# For some unknown reason, having a big "for" loop in the Makefile
-# to scan all the "packet-XXX.c" files doesn't work with some "make"s;
-# they seem to pass only the first few names in the list to the shell,
-# for some reason.
-#
-# Therefore, we have a script to generate the "register.c" file.
-#
-# The first argument is the name of the file to write.
-# The second argument is the directory in which the source files live.
-# All subsequent arguments are the files to scan.
-#
-register.c: $(plugin_src) $(DISSECTOR_SRC) $(srcdir)/make-reg-dotc
- @if test -n $(PYTHON); then \
- echo Making register.c with python ; \
- $(PYTHON) $(srcdir)/make-reg-dotc.py $(srcdir) $(DISSECTOR_SRC) ; \
- else \
- echo Making register.c with shell script ; \
- $(srcdir)/make-reg-dotc register.c $(srcdir) \
- $(plugin_src) $(DISSECTOR_SRC) ; \
- fi
-
-#
# Build "tethereal-tap-register.c", which contains a function
# "register_all_tap_listeners()"
# that calls the register routines for all tehtereal tap listeners.
@@ -402,15 +363,13 @@ rdps: rdps.c
randpkt.o: randpkt.c
$(CC) -DHAVE_CONFIG_H -I. `glib-config --cflags` -c $(srcdir)/randpkt.c
-randpkt: randpkt.o wiretap/libwiretap.a
- $(LINK) -o randpkt randpkt.o wiretap/libwiretap.a `glib-config --libs` -lz
+randpkt: randpkt.o wiretap/libwiretap.la
+ $(LINK) -o randpkt randpkt.o wiretap/libwiretap.la `glib-config --libs` -lz
dftest_additional_libs = \
- wiretap/libwiretap.a \
- epan/libethereal.a \
- epan/ftypes/libftypes.a \
- epan/dfilter/libdfilter.a
+ wiretap/libwiretap.la \
+ epan/libethereal.la
dftest_DEPENDENCIES = \
$(ethereal_optional_objects) \
@@ -439,7 +398,6 @@ DISTCLEANFILES = \
*~
MAINTAINERCLEANFILES = \
- register.c \
ps.c
EXTRA_DIST = \
@@ -558,8 +516,6 @@ EXTRA_DIST = \
image/toolbar/stock_stop_24.xpm \
image/up_arrow.xpm \
make-manuf \
- make-reg-dotc \
- make-reg-dotc.py \
make-tapreg-dotc \
manuf \
manuf.tmpl \
@@ -587,24 +543,6 @@ else
install-exec-hook:
endif
-#
-# Currently register.c can be included in the distribution because
-# we always build all protocol dissectors. We used to have to check
-# whether or not to build the snmp dissector. If we again need to
-# variably build something, making register.c non-portable, uncomment
-# the dist-hook line below.
-#
-# Oh, yuk. We don't want to include "register.c" in the distribution, as
-# its contents depend on the configuration, and therefore we want it
-# to be built when the first "make" is done; however, Automake insists
-# on putting *all* source into the distribution.
-#
-# We work around this by having a "dist-hook" rule that deletes
-# "register.c", so that "dist" won't pick it up.
-#
-#dist-hook:
-# @rm -f $(distdir)/register.c
-
DIST_SUBDIRS = tools wiretap doc epan plugins packaging gtk help
if HAVE_PLUGINS
Index: Makefile.common
===================================================================
RCS file: /usr/local/cvsroot/ethereal/Makefile.common,v
retrieving revision 1.10
diff -p -u -r1.10 Makefile.common
--- Makefile.common 3 Feb 2004 18:57:26 -0000 1.10
+++ Makefile.common 9 Feb 2004 09:43:31 -0000
@@ -24,415 +24,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-DISSECTOR_SRC = \
- packet-aarp.c \
- packet-acap.c \
- packet-acse.c \
- packet-afp.c \
- packet-afs.c \
- packet-aim.c \
- packet-ajp13.c \
- packet-alcap.c \
- packet-ans.c \
- packet-ansi_637.c \
- packet-ansi_683.c \
- packet-ansi_a.c \
- packet-ansi_map.c \
- packet-aodv.c \
- packet-arcnet.c \
- packet-arp.c \
- packet-asap.c \
- packet-ascend.c \
- packet-asf.c \
- packet-atalk.c \
- packet-atm.c \
- packet-auto_rp.c \
- packet-bacapp.c \
- packet-bacnet.c \
- packet-beep.c \
- packet-bfd.c \
- packet-bgp.c \
- packet-bofl.c \
- packet-bootp.c \
- packet-bootparams.c \
- packet-bpdu.c \
- packet-brdwlk.c \
- packet-bssap.c \
- packet-bssgp.c \
- packet-bvlc.c \
- packet-ccsds.c \
- packet-cdp.c \
- packet-cgmp.c \
- packet-chdlc.c \
- packet-cisco-oui.c \
- packet-clearcase.c \
- packet-clip.c \
- packet-clnp.c \
- packet-cops.c \
- packet-cosine.c \
- packet-cpfi.c \
- packet-cpha.c \
- packet-cups.c \
- packet-data.c \
- packet-dccp.c \
- packet-dcerpc-afs4int.c \
- packet-dcerpc-atsvc.c \
- packet-dcerpc-bossvr.c \
- packet-dcerpc-browser.c \
- packet-dcerpc-budb.c \
- packet-dcerpc-butc.c \
- packet-dcerpc-cds_clerkserver.c \
- packet-dcerpc-cds_solicit.c \
- packet-dcerpc-conv.c \
- packet-dcerpc-cprpc_server.c \
- packet-dcerpc-dce122.c \
- packet-dcerpc-dfs.c \
- packet-dcerpc-dnsserver.c \
- packet-dcerpc-drsuapi.c \
- packet-dcerpc-dtsprovider.c \
- packet-dcerpc-dtsstime_req.c \
- packet-dcerpc-epm.c \
- packet-dcerpc-epm4.c \
- packet-dcerpc-fldb.c \
- packet-dcerpc-ftserver.c \
- packet-dcerpc-icl_rpc.c \
- packet-dcerpc-initshutdown.c \
- packet-dcerpc-krb5rpc.c \
- packet-dcerpc-lsa-ds.c \
- packet-dcerpc-lsa.c \
- packet-dcerpc-mapi.c \
- packet-dcerpc-messenger.c \
- packet-dcerpc-mgmt.c \
- packet-dcerpc-ndr.c \
- packet-dcerpc-netlogon.c \
- packet-dcerpc-nspi.c \
- packet-dcerpc-oxid.c \
- packet-dcerpc-reg.c \
- packet-dcerpc-remact.c \
- packet-dcerpc-rep_proc.c \
- packet-dcerpc-roverride.c \
- packet-dcerpc-rpriv.c \
- packet-dcerpc-rs_acct.c \
- packet-dcerpc-rs_attr.c \
- packet-dcerpc-rs_bind.c \
- packet-dcerpc-rs_misc.c \
- packet-dcerpc-rs_pgo.c \
- packet-dcerpc-rs_plcy.c \
- packet-dcerpc-rs_prop_acct.c \
- packet-dcerpc-rs_repadm.c \
- packet-dcerpc-rs_replist.c \
- packet-dcerpc-rs_unix.c \
- packet-dcerpc-rsec_login.c \
- packet-dcerpc-samr.c \
- packet-dcerpc-secidmap.c \
- packet-dcerpc-spoolss.c \
- packet-dcerpc-srvsvc.c \
- packet-dcerpc-svcctl.c \
- packet-dcerpc-tapi.c \
- packet-dcerpc-tkn4int.c \
- packet-dcerpc-trksvr.c \
- packet-dcerpc-ubikdisk.c \
- packet-dcerpc-ubikvote.c \
- packet-dcerpc-update.c \
- packet-dcerpc-wkssvc.c \
- packet-dcerpc.c \
- packet-ddtp.c \
- packet-dec-bpdu.c \
- packet-dhcpv6.c \
- packet-diameter.c \
- packet-diffserv-mpls-common.c \
- packet-distcc.c \
- packet-dlsw.c \
- packet-dns.c \
- packet-dsi.c \
- packet-dvmrp.c \
- packet-eap.c \
- packet-eapol.c \
- packet-echo.c \
- packet-edonkey.c \
- packet-eigrp.c \
- packet-enc.c \
- packet-enip.c \
- packet-esis.c \
- packet-eth.c \
- packet-etherip.c \
- packet-ethertype.c \
- packet-fc.c \
- packet-fcct.c \
- packet-fcdns.c \
- packet-fcels.c \
- packet-fcfcs.c \
- packet-fcfzs.c \
- packet-fcip.c \
- packet-fclctl.c \
- packet-fcp.c \
- packet-fcsb3.c \
- packet-fcsp.c \
- packet-fcswils.c \
- packet-fddi.c \
- packet-fix.c \
- packet-fr.c \
- packet-frame.c \
- packet-ftp.c \
- packet-fw1.c \
- packet-giop.c \
- packet-gmrp.c \
- packet-gnutella.c \
- packet-gprs-ns.c \
- packet-gre.c \
- packet-gsm_a.c \
- packet-gsm_map.c \
- packet-gsm_sms.c \
- packet-gsm_sms_ud.c \
- packet-gssapi.c \
- packet-gtp.c \
- packet-gvrp.c \
- packet-h1.c \
- packet-h225.c \
- packet-h245.c \
- packet-h261.c \
- packet-h263.c \
- packet-h450.c \
- packet-hclnfsd.c \
- packet-hpext.c \
- packet-hsrp.c \
- packet-http.c \
- packet-hyperscsi.c \
- packet-iapp.c \
- packet-iax2.c \
- packet-ib.c \
- packet-icap.c \
- packet-icmpv6.c \
- packet-icp.c \
- packet-icq.c \
- packet-ieee80211.c \
- packet-ieee8023.c \
- packet-igap.c \
- packet-igmp.c \
- packet-igrp.c \
- packet-image-gif.c \
- packet-image-jfif.c \
- packet-imap.c \
- packet-ip.c \
- packet-ipfc.c \
- packet-ipmi.c \
- packet-ipp.c \
- packet-ipsec-udp.c \
- packet-ipsec.c \
- packet-ipv6.c \
- packet-ipx.c \
- packet-ipxwan.c \
- packet-irc.c \
- packet-isakmp.c \
- packet-iscsi.c \
- packet-isdn.c \
- packet-isis-clv.c \
- packet-isis-hello.c \
- packet-isis-lsp.c \
- packet-isis-snp.c \
- packet-isis.c \
- packet-isl.c \
- packet-ismp.c \
- packet-isns.c \
- packet-isup.c \
- packet-iua.c \
- packet-jabber.c \
- packet-kadm5.c \
- packet-kerberos.c \
- packet-klm.c \
- packet-kpasswd.c \
- packet-l2tp.c \
- packet-lapb.c \
- packet-lapbether.c \
- packet-lapd.c \
- packet-laplink.c \
- packet-ldap.c \
- packet-ldp.c \
- packet-llc.c \
- packet-lmi.c \
- packet-lmp.c \
- packet-lpd.c \
- packet-lwapp.c \
- packet-m2pa.c \
- packet-m2tp.c \
- packet-m2ua.c \
- packet-m3ua.c \
- packet-mbtcp.c \
- packet-mdshdr.c \
- packet-mip.c \
- packet-mip6.c \
- packet-mmse.c \
- packet-mount.c \
- packet-mpeg1.c \
- packet-mpls.c \
- packet-mrdisc.c \
- packet-msdp.c \
- packet-msn-messenger.c \
- packet-msnip.c \
- packet-msproxy.c \
- packet-mtp2.c \
- packet-mtp3.c \
- packet-mtp3mg.c \
- packet-multipart.c \
- packet-mysql.c \
- packet-nbipx.c \
- packet-nbns.c \
- packet-ncp.c \
- packet-ncp2222.c \
- packet-ndmp.c \
- packet-ndps.c \
- packet-netbios.c \
- packet-netflow.c \
- packet-nfs.c \
- packet-nfsacl.c \
- packet-nfsauth.c \
- packet-nisplus.c \
- packet-nlm.c \
- packet-nlsp.c \
- packet-nntp.c \
- packet-nt-oui.c \
- packet-nt-sonmp.c \
- packet-nt-tpcp.c \
- packet-ntlmssp.c \
- packet-ntp.c \
- packet-null.c \
- packet-olsr.c \
- packet-osi-options.c \
- packet-osi.c \
- packet-ospf.c \
- packet-pcnfsd.c \
- packet-per.c \
- packet-pflog.c \
- packet-pgm.c \
- packet-pim.c \
- packet-pop.c \
- packet-portmap.c \
- packet-ppp.c \
- packet-pppoe.c \
- packet-pptp.c \
- packet-pres.c \
- packet-prism.c \
- packet-q2931.c \
- packet-q931.c \
- packet-q933.c \
- packet-qllc.c \
- packet-quake.c \
- packet-quake2.c \
- packet-quake3.c \
- packet-quakeworld.c \
- packet-radius.c \
- packet-radiotap.c \
- packet-ranap.c \
- packet-raw.c \
- packet-rip.c \
- packet-ripng.c \
- packet-rlogin.c \
- packet-rmcp.c \
- packet-rmi.c \
- packet-rmp.c \
- packet-rpc.c \
- packet-rpl.c \
- packet-rquota.c \
- packet-rsh.c \
- packet-rstat.c \
- packet-rsvp.c \
- packet-rsync.c \
- packet-rtcp.c \
- packet-rtp-events.c \
- packet-rtp.c \
- packet-rtsp.c \
- packet-rwall.c \
- packet-rx.c \
- packet-sadmind.c \
- packet-sap.c \
- packet-sccp.c \
- packet-sccpmg.c \
- packet-scsi.c \
- packet-sctp.c \
- packet-sdlc.c \
- packet-sdp.c \
- packet-sebek.c \
- packet-ses.c \
- packet-sflow.c \
- packet-sip.c \
- packet-sipfrag.c \
- packet-skinny.c \
- packet-slimp3.c \
- packet-sll.c \
- packet-slowprotocols.c \
- packet-smb-browse.c \
- packet-smb-common.c \
- packet-smb-logon.c \
- packet-smb-mailslot.c \
- packet-smb-pipe.c \
- packet-smb-sidsnooping.c \
- packet-smb.c \
- packet-smpp.c \
- packet-smtp.c \
- packet-sna.c \
- packet-snaeth.c \
- packet-snmp.c \
- packet-socks.c \
- packet-spnego.c \
- packet-spray.c \
- packet-srvloc.c \
- packet-sscop.c \
- packet-ssh.c \
- packet-ssl.c \
- packet-stat-notify.c \
- packet-stat.c \
- packet-stun.c \
- packet-sua.c \
- packet-syslog.c \
- packet-t38.c \
- packet-tacacs.c \
- packet-tcap.c \
- packet-tcp.c \
- packet-tds.c \
- packet-teimanagement.c \
- packet-telnet.c \
- packet-teredo.c \
- packet-text-media.c \
- packet-tftp.c \
- packet-time.c \
- packet-tns.c \
- packet-tpkt.c \
- packet-tr.c \
- packet-trmac.c \
- packet-tsp.c \
- packet-tzsp.c \
- packet-ucp.c \
- packet-udp.c \
- packet-v120.c \
- packet-vines.c \
- packet-vj.c \
- packet-vlan.c \
- packet-vrrp.c \
- packet-vtp.c \
- packet-wap.c \
- packet-wbxml.c \
- packet-wccp.c \
- packet-wcp.c \
- packet-wfleet-hdlc.c \
- packet-who.c \
- packet-wlancap.c \
- packet-wsp.c \
- packet-wtls.c \
- packet-wtp.c \
- packet-x11.c \
- packet-x25.c \
- packet-x29.c \
- packet-xdmcp.c \
- packet-xot.c \
- packet-xyplex.c \
- packet-yhoo.c \
- packet-ymsg.c \
- packet-ypbind.c \
- packet-yppasswd.c \
- packet-ypserv.c \
- packet-ypxfr.c \
- packet-zebra.c
-
noinst_HEADERS = \
packet-acse.h \
packet-afp.h \
@@ -598,81 +189,12 @@ noinst_HEADERS = \
packet-ypserv.h \
packet-ypxfr.h
-DISSECTOR_SUPPORT_SRC = \
- adler32.c \
- adler32.h \
- afn.c \
- afn.h \
- aftypes.h \
- arcnet_pids.h \
- asn1.c \
- asn1.h \
- bridged_pids.h \
- chdlctypes.h \
- column.c \
- column.h \
- crc32.c \
- crc32.h \
- crypt-des.c \
- crypt-des.h \
- crypt-md4.c \
- crypt-md4.h \
- crypt-md5.c \
- crypt-md5.h \
- crypt-rc4.c \
- crypt-rc4.h \
- etypes.h \
- follow.c \
- follow.h \
- format-oid.h \
- g711.c \
- g711.h \
- greproto.h \
- h225-persistentdata.c \
- h225-persistentdata.h \
- in_cksum.c \
- in_cksum.h \
- ip_opts.h \
- ipproto.c \
- ipproto.h \
- lapd_sapi.h \
- llcsaps.h \
- nlpid.h \
- oui.h \
- packet-dcerpc-nt.c \
- ppptypes.h \
- prefs-int.h \
- prefs.c \
- prefs.h \
- ptvcursor.c \
- ptvcursor.h \
- reassemble.c \
- reassemble.h \
- req_resp_hdrs.c \
- req_resp_hdrs.h \
- rpc_defrag.h \
- rtp_pt.h \
- sctpppids.h \
- smb.h \
- t35.c \
- t35.h \
- tap.c \
- tap.h \
- util.c \
- util.h \
- x264_prt_id.h \
- xdlc.c \
- xdlc.h \
- xmlstub.c \
- xmlstub.h
-
BUILT_SOURCES = \
cvsversion.h \
x11-declarations.h \
x11-register-info.h
ETHEREAL_COMMON_SRC = \
- $(DISSECTOR_SUPPORT_SRC) \
$(BUILT_SOURCES) \
capture_stop_conditions.c \
capture_stop_conditions.h \
@@ -722,9 +244,7 @@ TETHEREAL_TAP_SRC = \
tap-wspstat.c
ethereal_SOURCES = \
- $(DISSECTOR_SRC) \
$(ETHEREAL_COMMON_SRC) \
- register.c \
capture.c \
capture.h \
file.c \
@@ -756,11 +276,9 @@ EXTRA_ethereal_SOURCES = \
strptime.h
tethereal_SOURCES = \
- $(DISSECTOR_SRC) \
$(ETHEREAL_COMMON_SRC) \
$(TETHEREAL_TAP_SRC) \
tethereal-tap-register.c \
- register.c \
tethereal.c
text2pcap_SOURCES = text2pcap.c text2pcap-scanner.l
@@ -770,9 +288,6 @@ mergecap_SOURCES = mergecap.c cvsversion
editcap_SOURCES = editcap.c
dftest_SOURCES = \
- $(DISSECTOR_SRC) \
- $(DISSECTOR_SUPPORT_SRC) \
$(BUILT_SOURCES) \
- register.c \
dftest.c
Index: Makefile.nmake
===================================================================
RCS file: /usr/local/cvsroot/ethereal/Makefile.nmake,v
retrieving revision 1.402
diff -p -u -r1.402 Makefile.nmake
--- Makefile.nmake 6 Feb 2004 18:47:43 -0000 1.402
+++ Makefile.nmake 9 Feb 2004 09:43:32 -0000
@@ -21,42 +21,13 @@ CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) $
CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
.c.obj::
- $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
+ $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
include Makefile.common
-DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
-
TETHEREAL_TAP_OBJECTS = $(TETHEREAL_TAP_SRC:.c=.obj)
-DISSECTOR_SUPPORT_OBJECTS = \
- adler32.obj \
- afn.obj \
- asn1.obj \
- column.obj \
- crc32.obj \
- crypt-des.obj \
- crypt-md4.obj \
- crypt-md5.obj \
- crypt-rc4.obj \
- follow.obj \
- g711.obj \
- h225-persistentdata.obj \
- in_cksum.obj \
- ipproto.obj \
- packet-dcerpc-nt.obj \
- prefs.obj \
- ptvcursor.obj \
- reassemble.obj \
- req_resp_hdrs.obj \
- t35.obj \
- tap.obj \
- util.obj \
- xdlc.obj \
- xmlstub.obj
-
ETHEREAL_COMMON_OBJECTS = \
- $(DISSECTOR_SUPPORT_OBJECTS) \
capture_stop_conditions.obj \
capture-wpcap.obj \
cfile.obj \
@@ -73,7 +44,6 @@ ETHEREAL_COMMON_OBJECTS = \
version_info.obj
ethereal_OBJECTS = \
- $(DISSECTOR_OBJECTS) \
$(ETHEREAL_COMMON_OBJECTS) \
capture.obj \
file.obj \
@@ -82,15 +52,12 @@ ethereal_OBJECTS = \
summary.obj
tethereal_OBJECTS = \
- $(DISSECTOR_OBJECTS) \
$(ETHEREAL_COMMON_OBJECTS) \
$(TETHEREAL_TAP_OBJECTS) \
tethereal-tap-register.obj \
tethereal.obj
dftest_OBJECTS = \
- $(DISSECTOR_OBJECTS) \
- $(DISSECTOR_SUPPORT_OBJECTS) \
dftest.obj
randpkt_OBJECTS = \
Index: TODO
===================================================================
RCS file: /usr/local/cvsroot/ethereal/TODO,v
retrieving revision 1.12
diff -p -u -r1.12 TODO
--- TODO 28 May 2003 22:58:46 -0000 1.12
+++ TODO 9 Feb 2004 09:43:32 -0000
@@ -30,7 +30,7 @@ all, in "libpcap"-style capture filters:
etc.)
*) I just discovered that sshd sets the SSH_CLIENT variable to source IP,
-sort port, and destination port. That coupled with a destination IP
+source port, and destination port. That coupled with a destination IP
would give us enough information to carry out remote protocol capturing,
tcpdump over ssh:
Index: make-reg-dotc
===================================================================
RCS file: make-reg-dotc
diff -N make-reg-dotc
--- make-reg-dotc 11 Jul 2001 05:41:38 -0000 1.7
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,75 +0,0 @@
-#! /bin/sh
-
-#
-# The first argument is the output filename.
-#
-
-outfile="$1"
-shift
-
-#
-# The second argument is the directory in which the source files live.
-#
-srcdir="$1"
-shift
-
-#
-# All subsequent arguments are the files to scan.
-#
-rm -f ${outfile}-tmp
-echo '/* Do not modify this file. */' >${outfile}-tmp
-echo '/* It is created automatically by the Makefile. */'>>${outfile}-tmp
-echo '#include "register.h"' >>${outfile}-tmp
-
-#
-# Build code to call all the protocol registration routines.
-#
-echo 'void register_all_protocols(void) {' >>${outfile}-tmp
-for f in "$@"
-do
- if [ -f $f ]
- then
- srcfile=$f
- else
- srcfile=$srcdir/$f
- fi
- grep '^proto_register_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';'
-done | sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
-for f in "$@"
-do
- if [ -f $f ]
- then
- srcfile=$f
- else
- srcfile=$srcdir/$f
- fi
- grep '^void proto_register_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';'
-done | sed -e 's/^.*://' -e 's/^void \([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
-echo '}' >>${outfile}-tmp
-
-#
-# Build code to call all the protocol handoff registration routines.
-#
-echo 'void register_all_protocol_handoffs(void) {' >>${outfile}-tmp
-for f in "$@"
-do
- if [ -f $f ]
- then
- srcfile=$f
- else
- srcfile=$srcdir/$f
- fi
- grep '^proto_reg_handoff_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';'
-done | sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
-for f in "$@"
-do
- if [ -f $f ]
- then
- srcfile=$f
- else
- srcfile=$srcdir/$f
- fi
- grep '^void proto_reg_handoff_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';'
-done | sed -e 's/^.*://' -e 's/^void \([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
-echo '}' >>${outfile}-tmp
-mv ${outfile}-tmp ${outfile}
Index: make-reg-dotc.py
===================================================================
RCS file: make-reg-dotc.py
diff -N make-reg-dotc.py
--- make-reg-dotc.py 21 Jul 2003 07:05:44 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,118 +0,0 @@
-#!/usr/bin/python
-#
-# Looks for registration routines in the protocol dissectors,
-# and assembles C code to call all the routines.
-#
-# This is a Python version of the make-reg-dotc shell script.
-# Running the shell script on Win32 is very very slow because of
-# all the process-launching that goes on --- multiple greps and
-# seds for each input file. I wrote this python version so that
-# less processes would have to be started.
-#
-# $Id: make-reg-dotc.py,v 1.4 2003/07/21 07:05:44 girlich Exp $
-
-import os
-import sys
-import re
-
-tmp_filename = "register.c-tmp"
-final_filename = "register.c"
-
-#
-# The first argument is the directory in which the source files live.
-#
-srcdir = sys.argv[1]
-
-#
-# All subsequent arguments are the files to scan.
-#
-files = sys.argv[2:]
-
-reg_code = open(tmp_filename, "w")
-
-reg_code.write("/* Do not modify this file. */\n")
-reg_code.write("/* It is created automatically by the Makefile. */\n")
-reg_code.write('#include "register.h"\n')
-
-# Create the proper list of filenames
-filenames = []
-for file in files:
- if os.path.isfile(file):
- filenames.append(file)
- else:
- filenames.append("%s/%s" % (srcdir, file))
-
-
-# Look through all files, applying the regex to each line.
-# If the pattern matches, save the "symbol" section to the
-# appropriate array.
-proto_reg = []
-handoff_reg = []
-
-# For those that don't know Python, r"" indicates a raw string,
-# devoid of Python escapes.
-proto_regex0 = r"^(?P<symbol>proto_register_[_A-Za-z0-9]+)\s*\([^;]+$"
-proto_regex1 = r"void\s+(?P<symbol>proto_register_[_A-Za-z0-9]+)\s*\([^;]+$"
-
-handoff_regex0 = r"^(?P<symbol>proto_reg_handoff_[_A-Za-z0-9]+)\s*\([^;]+$"
-handoff_regex1 = r"void\s+(?P<symbol>proto_reg_handoff_[_A-Za-z0-9]+)\s*\([^;]+$"
-
-# This table drives the pattern-matching and symbol-harvesting
-patterns = [
- ( proto_reg, re.compile(proto_regex0) ),
- ( proto_reg, re.compile(proto_regex1) ),
- ( handoff_reg, re.compile(handoff_regex0) ),
- ( handoff_reg, re.compile(handoff_regex1) ),
- ]
-
-# Grep
-for filename in filenames:
- file = open(filename)
-# print "Searching %s" % (filename)
- for line in file.readlines():
- for action in patterns:
- regex = action[1]
- match = regex.search(line)
- if match:
- symbol = match.group("symbol")
- list = action[0]
- list.append(symbol)
- file.close()
-
-# Sort the lists to make them pretty
-proto_reg.sort()
-handoff_reg.sort()
-
-# Make register_all_protocols()
-reg_code.write("void register_all_protocols(void) {\n")
-
-for symbol in proto_reg:
- line = " {extern void %s (void); %s ();}\n" % (symbol, symbol)
- reg_code.write(line)
-
-reg_code.write("}\n")
-
-
-# Make register_all_protocol_handoffs()
-reg_code.write("void register_all_protocol_handoffs(void) {\n")
-
-for symbol in handoff_reg:
- line = " {extern void %s (void); %s ();}\n" % (symbol, symbol)
- reg_code.write(line)
-
-reg_code.write("}\n")
-
-# Close the file
-reg_code.close()
-
-# Remove the old final_file if it exists.
-try:
- os.stat(final_filename)
- os.remove(final_filename)
-except OSError:
- pass
-
-# Move from tmp file to final file
-os.rename(tmp_filename, final_filename)
-
-
Index: epan/.cvsignore
===================================================================
RCS file: /usr/local/cvsroot/ethereal/epan/.cvsignore,v
retrieving revision 1.8
diff -p -u -r1.8 .cvsignore
--- epan/.cvsignore 7 Feb 2004 04:35:49 -0000 1.8
+++ epan/.cvsignore 9 Feb 2004 09:43:38 -0000
@@ -18,6 +18,7 @@ dfilter-grammar.c
dfilter-grammar.h
dfilter-scanner.c
libtool
+register.c
stamp-h
stamp-h.in
stamp-h1
Index: epan/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/epan/Makefile.am,v
retrieving revision 1.32
diff -p -u -r1.32 Makefile.am
--- epan/Makefile.am 6 Dec 2003 06:22:10 -0000 1.32
+++ epan/Makefile.am 9 Feb 2004 09:43:41 -0000
@@ -29,11 +29,20 @@ SUBDIRS = ftypes dfilter
ACLOCAL_AMFLAGS = `../aclocal-flags`
-noinst_LIBRARIES = libethereal.a
+include Makefile.common
INCLUDES = -I$(srcdir)/..
-libethereal_a_SOURCES = \
+lib_LTLIBRARIES = libethereal.la
+
+#
+# Add the object files for missing routines, if any.
+#
+libethereal_la_LIBADD = ftypes/libftypes.la dfilter/libdfilter.la
+libethereal_la_DEPENDENCIES = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@
+libethereal_la_LDFLAGS = -version-info 0:1:0
+
+libethereal_la_SOURCES = \
atalk-utils.c \
atalk-utils.h \
bitswap.c \
@@ -47,7 +56,7 @@ libethereal_a_SOURCES = \
column-utils.h \
epan.c \
epan.h \
- epan_dissect.h \
+ epan_dissect.h \
except.c \
except.h \
exceptions.h \
@@ -85,10 +94,12 @@ libethereal_a_SOURCES = \
tvbuff.c \
tvbuff.h \
value_string.c \
- value_string.h
+ value_string.h \
+ $(DISSECTOR_SRC) \
+ $(DISSECTOR_SUPPORT_SRC)
-EXTRA_libethereal_a_SOURCES = \
- inet_aton.c \
+EXTRA_libethereal_la_SOURCES = \
+ inet_aton.c \
inet_pton.c \
inet_ntop.c \
inet_aton.h \
@@ -97,18 +108,68 @@ EXTRA_libethereal_a_SOURCES = \
EXTRA_DIST = \
config.h.win32 \
Makefile.nmake \
+ make-reg-dotc \
+ make-reg-dotc.py \
tvbtest.c
CLEANFILES = \
libethereal.a \
*~
-#
-# Add the object files for missing routines, if any.
-#
-libethereal_a_LIBADD = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@
-libethereal_a_DEPENDENCIES = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@
-
+MAINTAINERCLEANFILES = \
+ register.c
tvbtest: tvbtest.o tvbuff.o except.o strutil.o
$(LINK) -o tvbtest tvbtest.o tvbuff.o except.o strutil.o `glib-config --libs`
+
+# Build "register.c", which contains a function "register_all_protocols()"
+# that calls the register routines for all protocols.
+#
+# We do this by grepping through sources. If that turns out to be too slow,
+# maybe we could just require every .o file to have an register routine
+# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
+#
+# Formatting conventions: The name of the proto_register_* routines must
+# start in column zero, or must be preceded only by "void " starting in
+# column zero, and must not be inside #if.
+#
+# We assume that all dissector routines are in "packet-XXX.c" files.
+#
+# For some unknown reason, having a big "for" loop in the Makefile
+# to scan all the "packet-XXX.c" files doesn't work with some "make"s;
+# they seem to pass only the first few names in the list to the shell,
+# for some reason.
+#
+# Therefore, we have a script to generate the "register.c" file.
+#
+# The first argument is the name of the file to write.
+# The second argument is the directory in which the source files live.
+# All subsequent arguments are the files to scan.
+#
+register.c: $(plugin_src) $(DISSECTOR_SRC) $(top_srcdir)/make-reg-dotc
+ @if test -n $(PYTHON); then \
+ echo Making register.c with python ; \
+ $(PYTHON) $(top_srcdir)/make-reg-dotc.py $(srcdir) $(DISSECTOR_SRC) ; \
+ else \
+ echo Making register.c with shell script ; \
+ $(top_srcdir)/make-reg-dotc register.c $(srcdir) \
+ $(plugin_src) $(DISSECTOR_SRC) ; \
+ fi
+
+# Currently register.c can be included in the distribution because
+# we always build all protocol dissectors. We used to have to check
+# whether or not to build the snmp dissector. If we again need to
+# variably build something, making register.c non-portable, uncomment
+# the dist-hook line below.
+#
+# Oh, yuk. We don't want to include "register.c" in the distribution, as
+# its contents depend on the configuration, and therefore we want it
+# to be built when the first "make" is done; however, Automake insists
+# on putting *all* source into the distribution.
+#
+# We work around this by having a "dist-hook" rule that deletes
+# "register.c", so that "dist" won't pick it up.
+#
+#dist-hook:
+# @rm -f $(distdir)/register.c
+
Index: epan/Makefile.common
===================================================================
RCS file: epan/Makefile.common
diff -N epan/Makefile.common
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ epan/Makefile.common 9 Feb 2004 09:43:41 -0000
@@ -0,0 +1,504 @@
+# Makefile.common
+# Contains the stuff from Makefile.am and Makefile.nmake that is
+# a) common to both files and
+# b) portable between both files
+#
+# $Id: Makefile.common,v 1.10 2004/02/03 18:57:26 guy Exp $
+#
+# Ethereal - Network traffic analyzer
+# By Gerald Combs <gerald@xxxxxxxxxxxx>
+# 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.
+
+
+DISSECTOR_SRC = \
+ ../packet-aarp.c \
+ ../packet-acap.c \
+ ../packet-acse.c \
+ ../packet-afp.c \
+ ../packet-afs.c \
+ ../packet-aim.c \
+ ../packet-ajp13.c \
+ ../packet-alcap.c \
+ ../packet-ans.c \
+ ../packet-ansi_637.c \
+ ../packet-ansi_683.c \
+ ../packet-ansi_a.c \
+ ../packet-ansi_map.c \
+ ../packet-aodv.c \
+ ../packet-arcnet.c \
+ ../packet-arp.c \
+ ../packet-asap.c \
+ ../packet-ascend.c \
+ ../packet-asf.c \
+ ../packet-atalk.c \
+ ../packet-atm.c \
+ ../packet-auto_rp.c \
+ ../packet-bacapp.c \
+ ../packet-bacnet.c \
+ ../packet-beep.c \
+ ../packet-bfd.c \
+ ../packet-bgp.c \
+ ../packet-bofl.c \
+ ../packet-bootp.c \
+ ../packet-bootparams.c \
+ ../packet-bpdu.c \
+ ../packet-brdwlk.c \
+ ../packet-bssap.c \
+ ../packet-bssgp.c \
+ ../packet-bvlc.c \
+ ../packet-ccsds.c \
+ ../packet-cdp.c \
+ ../packet-cgmp.c \
+ ../packet-chdlc.c \
+ ../packet-cisco-oui.c \
+ ../packet-clearcase.c \
+ ../packet-clip.c \
+ ../packet-clnp.c \
+ ../packet-cops.c \
+ ../packet-cosine.c \
+ ../packet-cpfi.c \
+ ../packet-cpha.c \
+ ../packet-cups.c \
+ ../packet-data.c \
+ ../packet-dccp.c \
+ ../packet-dcerpc-afs4int.c \
+ ../packet-dcerpc-atsvc.c \
+ ../packet-dcerpc-bossvr.c \
+ ../packet-dcerpc-browser.c \
+ ../packet-dcerpc-budb.c \
+ ../packet-dcerpc-butc.c \
+ ../packet-dcerpc-cds_clerkserver.c \
+ ../packet-dcerpc-cds_solicit.c \
+ ../packet-dcerpc-conv.c \
+ ../packet-dcerpc-cprpc_server.c \
+ ../packet-dcerpc-dce122.c \
+ ../packet-dcerpc-dfs.c \
+ ../packet-dcerpc-dnsserver.c \
+ ../packet-dcerpc-drsuapi.c \
+ ../packet-dcerpc-dtsprovider.c \
+ ../packet-dcerpc-dtsstime_req.c \
+ ../packet-dcerpc-epm.c \
+ ../packet-dcerpc-epm4.c \
+ ../packet-dcerpc-fldb.c \
+ ../packet-dcerpc-ftserver.c \
+ ../packet-dcerpc-icl_rpc.c \
+ ../packet-dcerpc-initshutdown.c \
+ ../packet-dcerpc-krb5rpc.c \
+ ../packet-dcerpc-lsa-ds.c \
+ ../packet-dcerpc-lsa.c \
+ ../packet-dcerpc-mapi.c \
+ ../packet-dcerpc-messenger.c \
+ ../packet-dcerpc-mgmt.c \
+ ../packet-dcerpc-ndr.c \
+ ../packet-dcerpc-netlogon.c \
+ ../packet-dcerpc-nspi.c \
+ ../packet-dcerpc-oxid.c \
+ ../packet-dcerpc-reg.c \
+ ../packet-dcerpc-remact.c \
+ ../packet-dcerpc-rep_proc.c \
+ ../packet-dcerpc-roverride.c \
+ ../packet-dcerpc-rpriv.c \
+ ../packet-dcerpc-rs_acct.c \
+ ../packet-dcerpc-rs_attr.c \
+ ../packet-dcerpc-rs_bind.c \
+ ../packet-dcerpc-rs_misc.c \
+ ../packet-dcerpc-rs_pgo.c \
+ ../packet-dcerpc-rs_plcy.c \
+ ../packet-dcerpc-rs_prop_acct.c \
+ ../packet-dcerpc-rs_repadm.c \
+ ../packet-dcerpc-rs_replist.c \
+ ../packet-dcerpc-rs_unix.c \
+ ../packet-dcerpc-rsec_login.c \
+ ../packet-dcerpc-samr.c \
+ ../packet-dcerpc-secidmap.c \
+ ../packet-dcerpc-spoolss.c \
+ ../packet-dcerpc-srvsvc.c \
+ ../packet-dcerpc-svcctl.c \
+ ../packet-dcerpc-tapi.c \
+ ../packet-dcerpc-tkn4int.c \
+ ../packet-dcerpc-trksvr.c \
+ ../packet-dcerpc-ubikdisk.c \
+ ../packet-dcerpc-ubikvote.c \
+ ../packet-dcerpc-update.c \
+ ../packet-dcerpc-wkssvc.c \
+ ../packet-dcerpc.c \
+ ../packet-ddtp.c \
+ ../packet-dec-bpdu.c \
+ ../packet-dhcpv6.c \
+ ../packet-diameter.c \
+ ../packet-diffserv-mpls-common.c \
+ ../packet-distcc.c \
+ ../packet-dlsw.c \
+ ../packet-dns.c \
+ ../packet-dsi.c \
+ ../packet-dvmrp.c \
+ ../packet-eap.c \
+ ../packet-eapol.c \
+ ../packet-echo.c \
+ ../packet-edonkey.c \
+ ../packet-eigrp.c \
+ ../packet-enc.c \
+ ../packet-enip.c \
+ ../packet-esis.c \
+ ../packet-eth.c \
+ ../packet-etherip.c \
+ ../packet-ethertype.c \
+ ../packet-fc.c \
+ ../packet-fcct.c \
+ ../packet-fcdns.c \
+ ../packet-fcels.c \
+ ../packet-fcfcs.c \
+ ../packet-fcfzs.c \
+ ../packet-fcip.c \
+ ../packet-fclctl.c \
+ ../packet-fcp.c \
+ ../packet-fcsb3.c \
+ ../packet-fcsp.c \
+ ../packet-fcswils.c \
+ ../packet-fddi.c \
+ ../packet-fix.c \
+ ../packet-fr.c \
+ ../packet-frame.c \
+ ../packet-ftp.c \
+ ../packet-fw1.c \
+ ../packet-giop.c \
+ ../packet-gmrp.c \
+ ../packet-gnutella.c \
+ ../packet-gprs-ns.c \
+ ../packet-gre.c \
+ ../packet-gsm_a.c \
+ ../packet-gsm_map.c \
+ ../packet-gsm_sms.c \
+ ../packet-gsm_sms_ud.c \
+ ../packet-gssapi.c \
+ ../packet-gtp.c \
+ ../packet-gvrp.c \
+ ../packet-h1.c \
+ ../packet-h225.c \
+ ../packet-h245.c \
+ ../packet-h261.c \
+ ../packet-h263.c \
+ ../packet-h450.c \
+ ../packet-hclnfsd.c \
+ ../packet-hpext.c \
+ ../packet-hsrp.c \
+ ../packet-http.c \
+ ../packet-hyperscsi.c \
+ ../packet-iapp.c \
+ ../packet-iax2.c \
+ ../packet-ib.c \
+ ../packet-icap.c \
+ ../packet-icmpv6.c \
+ ../packet-icp.c \
+ ../packet-icq.c \
+ ../packet-ieee80211.c \
+ ../packet-ieee8023.c \
+ ../packet-igap.c \
+ ../packet-igmp.c \
+ ../packet-igrp.c \
+ ../packet-image-gif.c \
+ ../packet-image-jfif.c \
+ ../packet-imap.c \
+ ../packet-ip.c \
+ ../packet-ipfc.c \
+ ../packet-ipmi.c \
+ ../packet-ipp.c \
+ ../packet-ipsec-udp.c \
+ ../packet-ipsec.c \
+ ../packet-ipv6.c \
+ ../packet-ipx.c \
+ ../packet-ipxwan.c \
+ ../packet-irc.c \
+ ../packet-isakmp.c \
+ ../packet-iscsi.c \
+ ../packet-isdn.c \
+ ../packet-isis-clv.c \
+ ../packet-isis-hello.c \
+ ../packet-isis-lsp.c \
+ ../packet-isis-snp.c \
+ ../packet-isis.c \
+ ../packet-isl.c \
+ ../packet-ismp.c \
+ ../packet-isns.c \
+ ../packet-isup.c \
+ ../packet-iua.c \
+ ../packet-jabber.c \
+ ../packet-kadm5.c \
+ ../packet-kerberos.c \
+ ../packet-klm.c \
+ ../packet-kpasswd.c \
+ ../packet-l2tp.c \
+ ../packet-lapb.c \
+ ../packet-lapbether.c \
+ ../packet-lapd.c \
+ ../packet-laplink.c \
+ ../packet-ldap.c \
+ ../packet-ldp.c \
+ ../packet-llc.c \
+ ../packet-lmi.c \
+ ../packet-lmp.c \
+ ../packet-lpd.c \
+ ../packet-lwapp.c \
+ ../packet-m2pa.c \
+ ../packet-m2tp.c \
+ ../packet-m2ua.c \
+ ../packet-m3ua.c \
+ ../packet-mbtcp.c \
+ ../packet-mdshdr.c \
+ ../packet-mip.c \
+ ../packet-mip6.c \
+ ../packet-mmse.c \
+ ../packet-mount.c \
+ ../packet-mpeg1.c \
+ ../packet-mpls.c \
+ ../packet-mrdisc.c \
+ ../packet-msdp.c \
+ ../packet-msn-messenger.c \
+ ../packet-msnip.c \
+ ../packet-msproxy.c \
+ ../packet-mtp2.c \
+ ../packet-mtp3.c \
+ ../packet-mtp3mg.c \
+ ../packet-multipart.c \
+ ../packet-mysql.c \
+ ../packet-nbipx.c \
+ ../packet-nbns.c \
+ ../packet-ncp.c \
+ ../packet-ncp2222.c \
+ ../packet-ndmp.c \
+ ../packet-ndps.c \
+ ../packet-netbios.c \
+ ../packet-netflow.c \
+ ../packet-nfs.c \
+ ../packet-nfsacl.c \
+ ../packet-nfsauth.c \
+ ../packet-nisplus.c \
+ ../packet-nlm.c \
+ ../packet-nlsp.c \
+ ../packet-nntp.c \
+ ../packet-nt-oui.c \
+ ../packet-nt-sonmp.c \
+ ../packet-nt-tpcp.c \
+ ../packet-ntlmssp.c \
+ ../packet-ntp.c \
+ ../packet-null.c \
+ ../packet-olsr.c \
+ ../packet-osi-options.c \
+ ../packet-osi.c \
+ ../packet-ospf.c \
+ ../packet-pcnfsd.c \
+ ../packet-per.c \
+ ../packet-pflog.c \
+ ../packet-pgm.c \
+ ../packet-pim.c \
+ ../packet-pop.c \
+ ../packet-portmap.c \
+ ../packet-ppp.c \
+ ../packet-pppoe.c \
+ ../packet-pptp.c \
+ ../packet-pres.c \
+ ../packet-prism.c \
+ ../packet-q2931.c \
+ ../packet-q931.c \
+ ../packet-q933.c \
+ ../packet-qllc.c \
+ ../packet-quake.c \
+ ../packet-quake2.c \
+ ../packet-quake3.c \
+ ../packet-quakeworld.c \
+ ../packet-radius.c \
+ ../packet-radiotap.c \
+ ../packet-ranap.c \
+ ../packet-raw.c \
+ ../packet-rip.c \
+ ../packet-ripng.c \
+ ../packet-rlogin.c \
+ ../packet-rmcp.c \
+ ../packet-rmi.c \
+ ../packet-rmp.c \
+ ../packet-rpc.c \
+ ../packet-rpl.c \
+ ../packet-rquota.c \
+ ../packet-rsh.c \
+ ../packet-rstat.c \
+ ../packet-rsvp.c \
+ ../packet-rsync.c \
+ ../packet-rtcp.c \
+ ../packet-rtp-events.c \
+ ../packet-rtp.c \
+ ../packet-rtsp.c \
+ ../packet-rwall.c \
+ ../packet-rx.c \
+ ../packet-sadmind.c \
+ ../packet-sap.c \
+ ../packet-sccp.c \
+ ../packet-sccpmg.c \
+ ../packet-scsi.c \
+ ../packet-sctp.c \
+ ../packet-sdlc.c \
+ ../packet-sdp.c \
+ ../packet-sebek.c \
+ ../packet-ses.c \
+ ../packet-sflow.c \
+ ../packet-sip.c \
+ ../packet-sipfrag.c \
+ ../packet-skinny.c \
+ ../packet-slimp3.c \
+ ../packet-sll.c \
+ ../packet-slowprotocols.c \
+ ../packet-smb-browse.c \
+ ../packet-smb-common.c \
+ ../packet-smb-logon.c \
+ ../packet-smb-mailslot.c \
+ ../packet-smb-pipe.c \
+ ../packet-smb-sidsnooping.c \
+ ../packet-smb.c \
+ ../packet-smpp.c \
+ ../packet-smtp.c \
+ ../packet-sna.c \
+ ../packet-snaeth.c \
+ ../packet-snmp.c \
+ ../packet-socks.c \
+ ../packet-spnego.c \
+ ../packet-spray.c \
+ ../packet-srvloc.c \
+ ../packet-sscop.c \
+ ../packet-ssh.c \
+ ../packet-ssl.c \
+ ../packet-stat-notify.c \
+ ../packet-stat.c \
+ ../packet-stun.c \
+ ../packet-sua.c \
+ ../packet-syslog.c \
+ ../packet-t38.c \
+ ../packet-tacacs.c \
+ ../packet-tcap.c \
+ ../packet-tcp.c \
+ ../packet-tds.c \
+ ../packet-teimanagement.c \
+ ../packet-telnet.c \
+ ../packet-teredo.c \
+ ../packet-text-media.c \
+ ../packet-tftp.c \
+ ../packet-time.c \
+ ../packet-tns.c \
+ ../packet-tpkt.c \
+ ../packet-tr.c \
+ ../packet-trmac.c \
+ ../packet-tsp.c \
+ ../packet-tzsp.c \
+ ../packet-ucp.c \
+ ../packet-udp.c \
+ ../packet-v120.c \
+ ../packet-vines.c \
+ ../packet-vj.c \
+ ../packet-vlan.c \
+ ../packet-vrrp.c \
+ ../packet-vtp.c \
+ ../packet-wap.c \
+ ../packet-wbxml.c \
+ ../packet-wccp.c \
+ ../packet-wcp.c \
+ ../packet-wfleet-hdlc.c \
+ ../packet-who.c \
+ ../packet-wlancap.c \
+ ../packet-wsp.c \
+ ../packet-wtls.c \
+ ../packet-wtp.c \
+ ../packet-x11.c \
+ ../packet-x25.c \
+ ../packet-x29.c \
+ ../packet-xdmcp.c \
+ ../packet-xot.c \
+ ../packet-xyplex.c \
+ ../packet-yhoo.c \
+ ../packet-ymsg.c \
+ ../packet-ypbind.c \
+ ../packet-yppasswd.c \
+ ../packet-ypserv.c \
+ ../packet-ypxfr.c \
+ ../packet-zebra.c
+
+DISSECTOR_SUPPORT_SRC = \
+ register.c \
+ ../adler32.c \
+ ../adler32.h \
+ ../afn.c \
+ ../afn.h \
+ ../aftypes.h \
+ ../arcnet_pids.h \
+ ../asn1.c \
+ ../asn1.h \
+ ../bridged_pids.h \
+ ../chdlctypes.h \
+ ../column.c \
+ ../column.h \
+ ../crc32.c \
+ ../crc32.h \
+ ../crypt-des.c \
+ ../crypt-des.h \
+ ../crypt-md4.c \
+ ../crypt-md4.h \
+ ../crypt-md5.c \
+ ../crypt-md5.h \
+ ../crypt-rc4.c \
+ ../crypt-rc4.h \
+ ../etypes.h \
+ ../follow.c \
+ ../follow.h \
+ ../format-oid.h \
+ ../g711.c \
+ ../g711.h \
+ ../greproto.h \
+ ../h225-persistentdata.c \
+ ../h225-persistentdata.h \
+ ../in_cksum.c \
+ ../in_cksum.h \
+ ../ip_opts.h \
+ ../ipproto.c \
+ ../ipproto.h \
+ ../lapd_sapi.h \
+ ../llcsaps.h \
+ ../nlpid.h \
+ ../oui.h \
+ ../packet-dcerpc-nt.c \
+ ../ppptypes.h \
+ ../prefs-int.h \
+ ../prefs.c \
+ ../prefs.h \
+ ../ptvcursor.c \
+ ../ptvcursor.h \
+ ../reassemble.c \
+ ../reassemble.h \
+ ../req_resp_hdrs.c \
+ ../req_resp_hdrs.h \
+ ../rpc_defrag.h \
+ ../rtp_pt.h \
+ ../sctpppids.h \
+ ../smb.h \
+ ../t35.c \
+ ../t35.h \
+ ../tap.c \
+ ../tap.h \
+ ../util.c \
+ ../util.h \
+ ../x264_prt_id.h \
+ ../xdlc.c \
+ ../xdlc.h \
+ ../xmlstub.c \
+ ../xmlstub.h
+
Index: epan/Makefile.nmake
===================================================================
RCS file: /usr/local/cvsroot/ethereal/epan/Makefile.nmake,v
retrieving revision 1.33
diff -p -u -r1.33 Makefile.nmake
--- epan/Makefile.nmake 22 Jan 2004 19:27:58 -0000 1.33
+++ epan/Makefile.nmake 9 Feb 2004 09:43:41 -0000
@@ -15,11 +15,43 @@ CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
# For use when making ethereal.dll
libethereal_LIBS = \
- wsock32.lib user32.lib \
- $(GLIB_LIBS)
+ wsock32.lib user32.lib \
+ $(GLIB_LIBS) \
+ $(DISSECTOR_OBJECTS) \
+ $(DISSECTOR_SUPPORT_OBJECTS)
.c.obj::
- $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
+ $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
+
+include Makefile.common
+
+DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
+
+DISSECTOR_SUPPORT_OBJECTS = \
+ adler32.obj \
+ afn.obj \
+ asn1.obj \
+ column.obj \
+ crc32.obj \
+ crypt-des.obj \
+ crypt-md4.obj \
+ crypt-md5.obj \
+ crypt-rc4.obj \
+ follow.obj \
+ g711.obj \
+ h225-persistentdata.obj \
+ in_cksum.obj \
+ ipproto.obj \
+ packet-dcerpc-nt.obj \
+ prefs.obj \
+ ptvcursor.obj \
+ reassemble.obj \
+ req_resp_hdrs.obj \
+ t35.obj \
+ tap.obj \
+ util.obj \
+ xdlc.obj \
+ xmlstub.obj
OBJECTS=atalk-utils.obj \
bitswap.obj \
Index: epan/make-reg-dotc
===================================================================
RCS file: epan/make-reg-dotc
diff -N epan/make-reg-dotc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ epan/make-reg-dotc 9 Feb 2004 09:43:41 -0000
@@ -0,0 +1,75 @@
+#! /bin/sh
+
+#
+# The first argument is the output filename.
+#
+
+outfile="$1"
+shift
+
+#
+# The second argument is the directory in which the source files live.
+#
+srcdir="$1"
+shift
+
+#
+# All subsequent arguments are the files to scan.
+#
+rm -f ${outfile}-tmp
+echo '/* Do not modify this file. */' >${outfile}-tmp
+echo '/* It is created automatically by the Makefile. */'>>${outfile}-tmp
+echo '#include "register.h"' >>${outfile}-tmp
+
+#
+# Build code to call all the protocol registration routines.
+#
+echo 'void register_all_protocols(void) {' >>${outfile}-tmp
+for f in "$@"
+do
+ if [ -f $f ]
+ then
+ srcfile=$f
+ else
+ srcfile=$srcdir/$f
+ fi
+ grep '^proto_register_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';'
+done | sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
+for f in "$@"
+do
+ if [ -f $f ]
+ then
+ srcfile=$f
+ else
+ srcfile=$srcdir/$f
+ fi
+ grep '^void proto_register_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';'
+done | sed -e 's/^.*://' -e 's/^void \([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
+echo '}' >>${outfile}-tmp
+
+#
+# Build code to call all the protocol handoff registration routines.
+#
+echo 'void register_all_protocol_handoffs(void) {' >>${outfile}-tmp
+for f in "$@"
+do
+ if [ -f $f ]
+ then
+ srcfile=$f
+ else
+ srcfile=$srcdir/$f
+ fi
+ grep '^proto_reg_handoff_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';'
+done | sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
+for f in "$@"
+do
+ if [ -f $f ]
+ then
+ srcfile=$f
+ else
+ srcfile=$srcdir/$f
+ fi
+ grep '^void proto_reg_handoff_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';'
+done | sed -e 's/^.*://' -e 's/^void \([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
+echo '}' >>${outfile}-tmp
+mv ${outfile}-tmp ${outfile}
Index: epan/make-reg-dotc.py
===================================================================
RCS file: epan/make-reg-dotc.py
diff -N epan/make-reg-dotc.py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ epan/make-reg-dotc.py 9 Feb 2004 09:43:41 -0000
@@ -0,0 +1,118 @@
+#!/usr/bin/python
+#
+# Looks for registration routines in the protocol dissectors,
+# and assembles C code to call all the routines.
+#
+# This is a Python version of the make-reg-dotc shell script.
+# Running the shell script on Win32 is very very slow because of
+# all the process-launching that goes on --- multiple greps and
+# seds for each input file. I wrote this python version so that
+# less processes would have to be started.
+#
+# $Id: make-reg-dotc.py,v 1.4 2003/07/21 07:05:44 girlich Exp $
+
+import os
+import sys
+import re
+
+tmp_filename = "register.c-tmp"
+final_filename = "register.c"
+
+#
+# The first argument is the directory in which the source files live.
+#
+srcdir = sys.argv[1]
+
+#
+# All subsequent arguments are the files to scan.
+#
+files = sys.argv[2:]
+
+reg_code = open(tmp_filename, "w")
+
+reg_code.write("/* Do not modify this file. */\n")
+reg_code.write("/* It is created automatically by the Makefile. */\n")
+reg_code.write('#include "register.h"\n')
+
+# Create the proper list of filenames
+filenames = []
+for file in files:
+ if os.path.isfile(file):
+ filenames.append(file)
+ else:
+ filenames.append("%s/%s" % (srcdir, file))
+
+
+# Look through all files, applying the regex to each line.
+# If the pattern matches, save the "symbol" section to the
+# appropriate array.
+proto_reg = []
+handoff_reg = []
+
+# For those that don't know Python, r"" indicates a raw string,
+# devoid of Python escapes.
+proto_regex0 = r"^(?P<symbol>proto_register_[_A-Za-z0-9]+)\s*\([^;]+$"
+proto_regex1 = r"void\s+(?P<symbol>proto_register_[_A-Za-z0-9]+)\s*\([^;]+$"
+
+handoff_regex0 = r"^(?P<symbol>proto_reg_handoff_[_A-Za-z0-9]+)\s*\([^;]+$"
+handoff_regex1 = r"void\s+(?P<symbol>proto_reg_handoff_[_A-Za-z0-9]+)\s*\([^;]+$"
+
+# This table drives the pattern-matching and symbol-harvesting
+patterns = [
+ ( proto_reg, re.compile(proto_regex0) ),
+ ( proto_reg, re.compile(proto_regex1) ),
+ ( handoff_reg, re.compile(handoff_regex0) ),
+ ( handoff_reg, re.compile(handoff_regex1) ),
+ ]
+
+# Grep
+for filename in filenames:
+ file = open(filename)
+# print "Searching %s" % (filename)
+ for line in file.readlines():
+ for action in patterns:
+ regex = action[1]
+ match = regex.search(line)
+ if match:
+ symbol = match.group("symbol")
+ list = action[0]
+ list.append(symbol)
+ file.close()
+
+# Sort the lists to make them pretty
+proto_reg.sort()
+handoff_reg.sort()
+
+# Make register_all_protocols()
+reg_code.write("void register_all_protocols(void) {\n")
+
+for symbol in proto_reg:
+ line = " {extern void %s (void); %s ();}\n" % (symbol, symbol)
+ reg_code.write(line)
+
+reg_code.write("}\n")
+
+
+# Make register_all_protocol_handoffs()
+reg_code.write("void register_all_protocol_handoffs(void) {\n")
+
+for symbol in handoff_reg:
+ line = " {extern void %s (void); %s ();}\n" % (symbol, symbol)
+ reg_code.write(line)
+
+reg_code.write("}\n")
+
+# Close the file
+reg_code.close()
+
+# Remove the old final_file if it exists.
+try:
+ os.stat(final_filename)
+ os.remove(final_filename)
+except OSError:
+ pass
+
+# Move from tmp file to final file
+os.rename(tmp_filename, final_filename)
+
+
Index: epan/dfilter/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/epan/dfilter/Makefile.am,v
retrieving revision 1.9
diff -p -u -r1.9 Makefile.am
--- epan/dfilter/Makefile.am 5 Mar 2001 22:53:39 -0000 1.9
+++ epan/dfilter/Makefile.am 9 Feb 2004 09:43:41 -0000
@@ -25,7 +25,8 @@
# shared library, this will be linked into libethereal. While libethereal
# is an archive library, any executable linking against libethereal will
# also need to link against libftypes.
-noinst_LIBRARIES = libdfilter.a
+
+lib_LTLIBRARIES = libdfilter.la
CLEANFILES = \
libdfilter.a \
@@ -33,7 +34,7 @@ CLEANFILES = \
INCLUDES = -I$(srcdir)/../.. -I$(srcdir)/.. -I$(srcdir)/$(LEMON)
-libdfilter_a_SOURCES = \
+libdfilter_la_SOURCES = \
dfilter.c \
dfilter.h \
dfilter-int.h \
Index: epan/ftypes/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/epan/ftypes/Makefile.am,v
retrieving revision 1.5
diff -p -u -r1.5 Makefile.am
--- epan/ftypes/Makefile.am 9 Dec 2003 23:02:39 -0000 1.5
+++ epan/ftypes/Makefile.am 9 Feb 2004 09:43:41 -0000
@@ -25,7 +25,8 @@
# shared library, this will be linked into libethereal. While libethereal
# is an archive library, any executable linking against libethereal will
# also need to link against libftypes.
-noinst_LIBRARIES = libftypes.a
+
+lib_LTLIBRARIES = libftypes.la
CLEANFILES = \
libftypes.a \
@@ -33,7 +34,7 @@ CLEANFILES = \
INCLUDES = -I$(srcdir)/../.. -I$(srcdir)/..
-libftypes_a_SOURCES = \
+libftypes_la_SOURCES = \
ftypes.c \
ftypes.h \
ftypes-int.h \
Index: packaging/rpm/SPECS/ethereal.spec.in
===================================================================
RCS file: /usr/local/cvsroot/ethereal/packaging/rpm/SPECS/ethereal.spec.in,v
retrieving revision 1.2
diff -p -u -r1.2 ethereal.spec.in
--- packaging/rpm/SPECS/ethereal.spec.in 20 Aug 2002 00:59:42 -0000 1.2
+++ packaging/rpm/SPECS/ethereal.spec.in 9 Feb 2004 09:43:43 -0000
@@ -60,11 +60,16 @@ rm -rf $RPM_BUILD_ROOT
/usr/X11R6/bin/ethereal
/usr/X11R6/man/man1/ethereal.1.gz
/usr/bin/tethereal
+/usr/lib/libwiretap.so*
+/usr/lib/libethereal.so*
/usr/bin/editcap
/usr/man/man1/tethereal.1.gz
/usr/man/man1/editcap.1.gz
%changelog
+* Sat Feb 07 2004 Joerg Mayer
+- lib wiretap and libetheral are now shared libs - include them
+
* Tue Aug 24 1999 Gilbert Ramirez
- changed to ethereal.spec.in so that 'configure' can update
the version automatically
Index: wiretap/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/wiretap/Makefile.am,v
retrieving revision 1.48
diff -p -u -r1.48 Makefile.am
--- wiretap/Makefile.am 2 Dec 2003 19:37:04 -0000 1.48
+++ wiretap/Makefile.am 9 Feb 2004 09:43:43 -0000
@@ -23,15 +23,14 @@
ACLOCAL_AMFLAGS = `../aclocal-flags`
-noinst_LIBRARIES = libwiretap.a
-
-#EXTRA_LIBRARIES = libwiretap.a
+lib_LTLIBRARIES = libwiretap.la
+libwiretap_la_LDFLAGS = -version-info 0:1:0
CLEANFILES = \
libwiretap.a \
*~
-libwiretap_a_SOURCES = \
+libwiretap_la_SOURCES = \
airopeek9.c \
airopeek9.h \
ascend-grammar.y \
- Follow-Ups:
- Re: [Ethereal-dev] Please test: shared libs (v3)
- From: Guy Harris
- Re: [Ethereal-dev] Please test: shared libs (v3)
- From: Guy Harris
- Re: [Ethereal-dev] Please test: shared libs (v3)
- References:
- [Ethereal-dev] Please test: shared libs
- From: Joerg Mayer
- Re: [Ethereal-dev] Please test: shared libs
- From: Guy Harris
- Re: [Ethereal-dev] Please test: shared libs
- From: Guy Harris
- Re: [Ethereal-dev] Please test: shared libs
- From: Joerg Mayer
- [Ethereal-dev] Please test: shared libs
- Prev by Date: Re: [Ethereal-dev] Please review: two new help pages
- Next by Date: Re: [Ethereal-dev] Please review: two new help pages
- Previous by thread: Re: [Ethereal-dev] Please test: shared libs
- Next by thread: Re: [Ethereal-dev] Please test: shared libs (v3)
- Index(es):





