Aplly those parts of ethereal_0.10.12-3.diff.gz

from Debian, that change debian/


svn path=/trunk/; revision=15331
This commit is contained in:
Jörg Mayer 2005-08-13 05:55:06 +00:00
parent 3508a46ead
commit 46c021dffd
29 changed files with 1537 additions and 6 deletions

84
debian/changelog vendored
View File

@ -1,3 +1,87 @@
ethereal (0.10.12-3) unstable; urgency=low
* debian/patches/04_drop-capabilities.dpatch: don't exit on failure, simply
skip the capabilities part; use g_warning to output messages.
(closes: #321204)
-- Frederic Peters <fpeters@debian.org> Thu, 4 Aug 2005 09:41:24 +0200
ethereal (0.10.12-2) unstable; urgency=low
* debian/patches/04_drop-capabilities.dpatch: preserves CAP_DAC_READ_SEARCH
which seems necessary for sudo usage (closes: #320453)
-- Frederic Peters <fpeters@debian.org> Sun, 31 Jul 2005 12:56:50 +0200
ethereal (0.10.12-1) unstable; urgency=high
* New upstream release; urgency high since it fixes security issues in many
dissectors; see http://www.ethereal.com/appnotes/enpa-sa-00020.html
-- Frederic Peters <fpeters@debian.org> Wed, 27 Jul 2005 09:57:17 +0200
ethereal (0.10.11-5) unstable; urgency=low
* debian/patches/11_diameter_vendors.dpatch: correctly add diameter vendors
(patch by Joost Yervante Damad) (closes: #316082)
-- Frederic Peters <fpeters@debian.org> Mon, 18 Jul 2005 20:18:43 +0200
ethereal (0.10.11-4) unstable; urgency=low
* debian/: now using dpatch, started from Ubuntu patch, merged with current
package patches.
-- Frederic Peters <fpeters@debian.org> Sun, 17 Jul 2005 18:58:05 +0200
ethereal (0.10.11-3) unstable; urgency=low
* Modified capabilities patch so it doesn't try to keep CAP_NET_RAW if it
doesn't have it. (closes: #318689)
-- Frederic Peters <fpeters@debian.org> Sun, 17 Jul 2005 10:29:31 +0200
ethereal (0.10.11-2) unstable; urgency=low
* Use capabilities to mitigate security risk, patch from J.H.M. Dassen (Ray)
(closes: #315670)
* debian/control: build-depends on libcap-dev
* epan/dissectors/packet-cmip.c: fixed dissect_cmip_InvokeIDType declaration
mismatch.
-- Frederic Peters <fpeters@debian.org> Sat, 16 Jul 2005 10:58:03 +0200
ethereal (0.10.11-1) unstable; urgency=high
* New upstream release; urgency high since it fixes security issues in the
following dissectors:
* format string vulnerabilities: ANSI A, DHCP
* segmentation faults: GSM MAP, AIM, TZSP, Bittorrent, SMB, GSM, SMB
NETLOGON
* buffer overflows: DISTCC, FCELS, SIP, ISIS, CMIP, CMP, CMS, CRMF, ESS,
OCSP, PKIX1Explitit, PKIX Qualified, X.509, NCP, ISUP, TCAP,
Presentation
* null pointer exception: KINK, WSP, SMB Mailslot, H.245, MGCP, RPC
* infinite loops: LMP, EIGRP, MEGACO, L2TP
* uncaught assertions: Telnet, 802.3, BER, IAX2, RADIUS, SMB PIPE, MRDISC
* memory exhaustion: DICOM
* unclassified: Fibre Channel, LDAP, NTLMSSP
-- Frederic Peters <fpeters@debian.org> Thu, 5 May 2005 08:43:00 +0200
ethereal (0.10.10-2) unstable; urgency=high
* Several security fixes from upstream subversion tree for the following
dissectors:
* DLSw (infinite loop)
* ICEP (double free)
* NDPS (memory exhaustion)
* Q931 (buffer overflow)
* RSVP (infinite loop) (CAN-2005-1281)
* SRVLOC (infinite loop)
-- Frederic Peters <fpeters@debian.org> Mon, 25 Apr 2005 15:30:55 +0200
ethereal (0.10.10-1) unstable; urgency=high
* New upstream release; urgency high since it fixes security issues.

2
debian/control vendored
View File

@ -3,7 +3,7 @@ Section: net
Priority: optional
Maintainer: Frederic Peters <fpeters@debian.org>
Standards-Version: 3.6.1.0
Build-Depends: libgtk2.0-dev (>=2.4.0-0), libpcap0.8-dev, flex, libz-dev, debhelper (>= 3.0), libtool, python, automake, autoconf, autotools-dev, libadns1-dev, xsltproc, docbook-xsl (>= 1.64.1.0-0), libpcre3-dev
Build-Depends: libgtk2.0-dev (>=2.4.0-0), libpcap0.8-dev, flex, libz-dev, dpatch, debhelper (>= 3.0), libtool, python, automake, autoconf, autotools-dev, libadns1-dev, xsltproc, docbook-xsl (>= 1.64.1.0-0), libpcre3-dev, libcap-dev
Build-Conflicts: libsnmp4.2-dev, libsnmp5-dev
Package: ethereal-common

View File

@ -10,5 +10,14 @@
/usr/bin/editcap
/usr/bin/mergecap
/usr/bin/text2pcap
/usr/lib/ethereal/libethereal.so.0
/usr/lib/ethereal/libethereal.so.0.0.1
/usr/lib/ethereal/libwiretap.so.0
/usr/lib/ethereal/libwiretap.so.0.0.1
/usr/lib/ethereal/plugins/*
/usr/share/ethereal/*
/usr/bin/editcap
/usr/bin/mergecap
/usr/bin/text2pcap
/usr/lib/ethereal/*
/usr/share/ethereal/*

View File

@ -6,3 +6,8 @@ ethereal-filter.4
editcap.1
mergecap.1
text2pcap.1
ethereal-filter.4
editcap.1
mergecap.1
text2pcap.1

View File

@ -8,3 +8,8 @@ doc/README.developer
doc/README.idl2eth
doc/README.plugins
doc/README.design
doc/README.developer
doc/README.idl2eth
doc/README.plugins

View File

@ -8,6 +8,16 @@
/usr/lib/python2.3/*
/usr/include/ethereal/*
/usr/bin/idl2eth
/usr/bin/idl2deb
/usr/bin/asn2deb
/usr/lib/ethereal/libethereal.so
/usr/lib/ethereal/libethereal.la
/usr/lib/ethereal/libwiretap.so
/usr/lib/ethereal/libwiretap.la
/usr/lib/python2.3/*
/usr/include/ethereal/*
/usr/bin/idl2eth
/usr/lib/python2.2/*
/usr/include/ethereal/*

View File

@ -40,6 +40,48 @@ plugins/plugin_api_defs.h
plugins/plugin_api.h
plugins/plugin_table.h
wiretap/wtap.h
color.h
config.h
epan/asn1.h
epan/address.h
epan/column_info.h
epan/column-utils.h
epan/conversation.h
epan/crc16.h
epan/crc32.h
epan/dfilter/dfilter.h
epan/dfilter/drange.h
epan/dissectors/packet-ber.h
epan/dissectors/packet-giop.h
epan/dissectors/packet-per.h
epan/dissectors/packet-rpc.h
epan/dissectors/packet-tcp.h
epan/dissectors/packet-tpkt.h
epan/epan.h
epan/except.h
epan/exceptions.h
epan/filesystem.h
epan/frame_data.h
epan/ftypes/ftypes.h
epan/ipv4.h
epan/nstime.h
epan/packet.h
epan/packet_info.h
epan/pint.h
epan/prefs.h
epan/proto.h
epan/reassemble.h
epan/report_err.h
epan/slab.h
epan/tap.h
epan/to_str.h
epan/tvbuff.h
epan/value_string.h
epan/xdlc.h
plugins/plugin_api_defs.h
plugins/plugin_api.h
plugins/plugin_table.h
wiretap/wtap.h
plugins/plugin_api.h
plugins/plugin_api_defs.h
plugins/plugin_table.h

View File

@ -2,4 +2,7 @@ idl2eth.1
idl2deb.1
asn2deb.1
idl2eth.1
idl2deb.1
asn2deb.1
idl2eth.1

View File

@ -19,6 +19,25 @@ exit 0
#! /bin/sh -e
PYTHON=python2.3
case "$1" in
configure|abort-upgrade|abort-remove|abort-deconfigure)
/usr/bin/$PYTHON -O /usr/lib/$PYTHON/compileall.py -q \
/usr/lib/$PYTHON/site-packages/
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
#! /bin/sh -e
PYTHON=python2.2
case "$1" in

View File

@ -28,3 +28,18 @@ dpkg --listfiles $PACKAGE |
#DEBHELPER#
#! /bin/bash -e
#
# Debian prerm script for Python x.y hierarchical modules
# Written by Gregor Hoffleit <flight@debian.org>
# Extended by Matthias Klose <doko@debian.org>
#
PACKAGE=`basename $0 | sed -e 's/\.[^.]*$//'`
dpkg --listfiles $PACKAGE |
awk '$0~/\.py$/ {print $0"c\n" $0"o"}' |
xargs rm -f >&2
#DEBHELPER#

84
debian/ethereal-root.desktop vendored Normal file
View File

@ -0,0 +1,84 @@
[Desktop Entry]
# $Id: ethereal.desktop 11808 2004-08-22 09:22:15Z jmayer $
# The format of this file is specified at
# http://freedesktop.org/Standards/desktop-entry-spec/
# The entries are in the order they are listed in version 0.9.4
Type=Application
Version=1.0
Encoding=UTF-8
Name=Ethereal (as root)
GenericName=Network Analyzer
GenericName[af]=Netwerk Analiseerder
GenericName[az]=Şəbəkə Analiz Proqramı
GenericName[bg]=Анализатор на мрежови трафик
GenericName[bs]=Mrežni analizer
GenericName[ca]=Analitzador de xarxa
GenericName[cs]=Analyzátor sítě
GenericName[da]=Netværksanalyse
GenericName[de]=Programm für die Netzwerk-Analyse
GenericName[el]=Αναλυτής Δικτύων
GenericName[en_GB]=Network Analyser
GenericName[eo]=Retanalizilo
GenericName[es]=Analizador de redes
GenericName[et]=Võrguliikluse analüsaator
GenericName[eu]=Sare ikerketaria
GenericName[fa]=تحلیلگر شبکه
GenericName[fi]=Verkkoanalysaattori
GenericName[fr]=Analyseur réseau
GenericName[he]=מאבחן רשת
GenericName[hr]=Program za analiziranje mreža
GenericName[hu]=hálózatanalizáló
GenericName[id]=Analisis jaringan
GenericName[is]=Netskoðunartól
GenericName[it]=Analizzatore di rete
GenericName[ja]=
GenericName[ko]=
GenericName[lo]=
GenericName[lt]=Tinklo analizatorius
GenericName[lv]=Tīkla Analizators
GenericName[mk]=Анализатор на мрежи
GenericName[mn]=Сүлжээ-шинжлэлийн програм
GenericName[mt]=Analizzatur tan-network
GenericName[nb]=Nettverksanalyse
GenericName[nl]=netwerkanalyseprogramma
GenericName[nn]=Nettverksanalyse
GenericName[nso]=Moahlaahli wa Kgokagano
GenericName[pl]=Analizator sieci
GenericName[pt]=Analisador de Redes
GenericName[pt_BR]=Analisador de rede
GenericName[ro]=Analizor de reţea
GenericName[ru]=Анализатор сетевого трафика
GenericName[se]=Fierbmeanalysa
GenericName[sk]=Analyzátor siete
GenericName[sl]=Analizator omrežij
GenericName[sr]=Analizatror mreže
GenericName[ss]=Sihlatiyi seluchungechunge
GenericName[sv]=Nätverksanalyserare
GenericName[ta]=Å¨Ä ¬öÅ¡Ç÷
GenericName[th]=
GenericName[tr]=Ağ Analiz Programı
GenericName[uk]=Аналізатор мережі
GenericName[ven]=Musengulusi wa Vhukwamani
GenericName[vi]=Trình phân tích mng
GenericName[xh]=Umcukucezi Womsebenzi womnatha
GenericName[zh_CN]=
GenericName[zh_TW]=
GenericName[zu]=Umhloli Woxhumano olusakazekile
Comment=Network traffic analyzer
Comment[fr]=Analyseur de trafic réseau
Comment[fi]=Verkkoliikenne analysaattori
Comment[sv]=Nätverkstrafikanalysator
Icon=hi48-app-ethereal.png
TryExec=gksu
Exec=gksu -u root /usr/bin/ethereal
Path=
Terminal=false
MimeType=
Categories=GNOME;Application;Network;
# Found in Suse 9.1:
X-KDE-SubstituteUID=true
# Deprecated:
# TerminalOptions=
# BinaryPattern=ethereal
# MapNotify=true
# Protocols=

View File

@ -2,4 +2,7 @@
/usr/share/applications/
/usr/share/pixmaps/
/usr/bin/ethereal
/usr/share/applications/
/usr/share/pixmaps/
/usr/bin/ethereal

View File

@ -1,2 +1,3 @@
ethereal.1
ethereal.1
ethereal.1

View File

@ -2,5 +2,9 @@
command="/usr/bin/ethereal" \
icon="/usr/share/pixmaps/eicon3d32.xpm"
?package(ethereal):needs="X11" section="Apps/Net" title="Ethereal" \
command="/usr/bin/ethereal" \
icon="/usr/share/pixmaps/eicon3d32.xpm"
?package(ethereal):needs=X11 section=Apps/Net title="Ethereal" \
command="/usr/bin/ethereal"

11
debian/patches/00list vendored Normal file
View File

@ -0,0 +1,11 @@
01_idl2deb
02_asn2deb
03_preferences
04_drop-capabilities
05_plugin-libdir
06_giop-buffer
07_gcc4
08_ethereal-desktop-menu
09_idl2eth
10_ethereal_gen
11_diameter_vendors

424
debian/patches/01_idl2deb.dpatch vendored Normal file
View File

@ -0,0 +1,424 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 01_idl2deb.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: idl2deb - create Debian packages from idl2eth modules
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./idl2deb /tmp/dpep-work.K2bQz4/ethereal-0.10.11/idl2deb
--- ./idl2deb 1970-01-01 01:00:00.000000000 +0100
+++ /tmp/dpep-work.K2bQz4/ethereal-0.10.11/idl2deb 2005-07-17 19:35:08.000000000 +0200
@@ -0,0 +1,252 @@
+#!/usr/bin/env python
+
+# idl2deb - quick hack by W. Borgert <debacle@debian.org> to create
+# Debian GNU/Linux packages from idl2eth modules for Ethereal.
+# Copyright 2003, W. Borgert
+
+# Makefile.am and configure.ac code by:
+# Copyright 2001, Ericsson Inc.
+# Frank Singleton <frank.singleton@ericsson.com>
+#
+# Ethereal - Network traffic analyzer
+# By Gerald Combs <gerald@ethereal.com>
+# 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.
+
+import getopt, os, string, sys, time
+
+scriptinfo = """idl2deb version 2003-10-03
+Copyright 2003, W. Borgert
+Free software, released under the terms of the GPL."""
+
+options = {'dbopts': "",
+ 'email': "invalid@invalid.invalid",
+ 'help': 0,
+ 'idl': None,
+ 'name': "No Name",
+ 'preserve': 0,
+ 'version': 0}
+
+def bootstrap():
+ """Generate Makefile.in and configure script."""
+ os.system("aclocal")
+ os.system("autoconf")
+ os.system("libtoolize --automake --copy --force")
+ os.system("automake --add-missing --copy --foreign")
+
+def create_file(filename, content, mode = None):
+ """Create a file with given content."""
+ global options
+ if options['preserve'] and os.path.isfile(filename):
+ return
+ f = open(filename, 'w')
+ f.write(content)
+ f.close()
+ if mode:
+ os.chmod(filename, mode)
+
+def create_files(version, deb, email, idl, name, iso, rfc):
+ """Create all files for the .deb build process."""
+ base = idl.lower()[:-4]
+ create_file("Makefile.am", """#
+
+plugindir = @plugindir@
+
+plugin_LTLIBRARIES = %s.la
+%s_la_SOURCES = packet-%s.c
+%s_la_LDFLAGS = -module -avoid-version
+
+GLIB_CFLAGS = `pkg-config --cflags glib-2.0`
+GLIB_LIBS = `pkg-config --libs glib-2.0`
+BUILT_SOURCES = packet-%s.c
+INCLUDES = -DHAVE_CONFIG -DHAVE_SYS_TYPES_H -DHAVE_SYS_TIME_H \\
+ -DHAVE_STDARG_H -D_U_=\"__attribute__((unused))\" \\
+ -I/usr/include/ethereal -DETH_VAR_IMPORT=extern $(GLIB_CFLAGS)
+LDADD = $(GLIB_LIBS)
+
+# Libs must be cleared, or else libtool won't create a shared module.
+# If your module needs to be linked against any particular libraries,
+# add them here.
+LIBS =
+
+%s_la_DEPENDENCIES = packet-%s-static.o
+
+packet-%s-static.o: packet-%s.c
+ $(LTCOMPILE) -c -o packet-%s-static.o \\
+ -D__ETHEREAL_STATIC__ packet-%s.c
+
+packet-%s.c: """ % ((base,) * 12) + idl + """
+ $(IDL2ETH) $< > $@
+""")
+
+ create_file("configure.ac", """AC_INIT(%s, 1.0)
+AC_PROG_LIBTOOL
+AM_INIT_AUTOMAKE
+AM_MAINTAINER_MODE
+AC_PROG_CC
+AC_STDC_HEADERS
+AC_PROG_INSTALL
+AC_SUBST(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.2.2)
+AC_SUBST(GLIB_CFLAGS)
+AC_SUBST(GLIB_LIBS)
+IDL2ETH=\"`type -p idl2eth`\"
+AC_SUBST(IDL2ETH)
+ETHEREAL_VERSION=\"%s\"
+plugindir=\"$libdir/ethereal/plugins/$ETHEREAL_VERSION\"
+AC_SUBST(plugindir)
+AC_OUTPUT([Makefile])
+""" % (base, version))
+
+ if not os.path.isdir("debian"):
+ os.mkdir("debian")
+
+ create_file("debian/rules", """#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/autotools.mk
+
+PREFIX=`pwd`/debian/ethereal-giop-%s
+
+binary-post-install/ethereal-giop-%s::
+ rm -f $(PREFIX)/usr/lib/ethereal/plugins/%s/*.a
+""" % (base, base, version), 0755)
+
+ create_file("debian/control", """Source: ethereal-giop-%s
+Section: net
+Priority: optional
+Maintainer: %s <%s>
+Standards-Version: 3.6.1.0
+Build-Depends: ethereal-dev, autotools-dev, debhelper, cdbs
+
+Package: ethereal-giop-%s
+Architecture: any
+Depends: ethereal (= %s), ${shlibs:Depends}
+Description: GIOP dissector for CORBA interface %s
+ This package provides a dissector for GIOP (General Inter-ORB
+ Protocol) for the Ethereal protocol analyser. It decodes the CORBA
+ (Common Object Request Broker Architecture) interfaces described
+ in the IDL (Interface Definition Language) file '%s.idl'.
+""" % (base, name, email, base, deb, base, base))
+
+ create_file("debian/changelog",
+ """ethereal-giop-%s (0.0.1-1) unstable; urgency=low
+
+ * Automatically created package.
+
+ -- %s <%s> %s
+""" % (base, name, email, rfc + "\n (" + iso + ")"))
+
+ create_file("debian/copyright",
+ """This package has been created automatically be idl2deb on
+%s for Debian GNU/Linux.
+
+Ethereal: http://www.ethereal.com/
+
+Copyright:
+
+GPL, as evidenced by existence of GPL license file \"COPYING\".
+(the GNU GPL may be viewed on Debian systems in
+/usr/share/common-licenses/GPL)
+""" % (iso))
+
+def get_eth_version():
+ """Detect version of ethereal-dev package."""
+ deb = os.popen(
+ "dpkg-query -W --showformat='${Version}' ethereal-dev").read()
+ debv = string.find(deb, "-")
+ if debv == -1: debv = len(deb)
+ version = deb[string.find(deb, ":")+1:debv]
+ return version, deb
+
+def get_time():
+ """Detect current time and return ISO and RFC time string."""
+ currenttime = time.gmtime()
+ return time.strftime("%Y-%m-%d %H:%M:%S +0000", currenttime), \
+ time.strftime("%a, %d %b %Y %H:%M:%S +0000", currenttime)
+
+def main():
+ global options
+ process_opts(sys.argv)
+ iso, rfc = get_time()
+ version, deb = get_eth_version()
+ create_files(version, deb,
+ options['email'], options['idl'], options['name'],
+ iso, rfc)
+ bootstrap()
+ os.system("dpkg-buildpackage " + options['dbopts'])
+
+def process_opts(argv):
+ """Process command line options."""
+ global options
+ try:
+ opts, args = getopt.getopt(argv[1:], "d:e:hi:n:pv",
+ ["dbopts=",
+ "email=",
+ "help",
+ "idl=",
+ "name=",
+ "preserve",
+ "version"])
+ except getopt.GetoptError:
+ usage(argv[0])
+ sys.exit(1)
+ for o, a in opts:
+ if o in ("-d", "--dbopts"):
+ options['dbopts'] = a
+ if o in ("-e", "--email"):
+ options['email'] = a
+ if o in ("-h", "--help"):
+ options['help'] = 1
+ if o in ("-i", "--idl"):
+ options['idl'] = a
+ if o in ("-n", "--name"):
+ options['name'] = a
+ if o in ("-p", "--preserve"):
+ options['preserve'] = 1
+ if o in ("-v", "--version"):
+ options['version'] = 1
+ if options['help']:
+ usage(argv[0])
+ sys.exit(0)
+ if options['version']:
+ print scriptinfo
+ sys.exit(0)
+ if not options['idl']:
+ print "mandatory IDL file parameter missing"
+ sys.exit(1)
+ if not os.access(options['idl'], os.R_OK):
+ print "IDL file not accessible"
+ sys.exit(1)
+
+def usage(name):
+ """Print usage help."""
+ print "Usage: " + name + " <parameters>\n" + \
+ "Parameters are\n" + \
+ " --dbopts -d opts, options for dpkg-buildpackage\n" + \
+ " --email -e address, use e-mail address\n" + \
+ " --idl -i idlfile, IDL file to use (mandatory)\n" + \
+ " --help -h, print help and exit\n" + \
+ " --name -n name, use user name\n" + \
+ " --preserve -p, do not overwrite files\n" + \
+ " --version -v, print version and exit\n" + \
+ "Example:\n" + \
+ name + " -e me@foo.net -i bar.idl -n \"My Name\" " + \
+ "-d \"-rfakeroot -uc -us\""
+if __name__ == '__main__':
+ main()
diff -urNad --exclude=CVS --exclude=.svn ./idl2deb.dbk /tmp/dpep-work.K2bQz4/ethereal-0.10.11/idl2deb.dbk
--- ./idl2deb.dbk 1970-01-01 01:00:00.000000000 +0100
+++ /tmp/dpep-work.K2bQz4/ethereal-0.10.11/idl2deb.dbk 2005-07-17 19:35:08.000000000 +0200
@@ -0,0 +1,157 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+ <!ENTITY command "<command>idl2deb</command>">
+ <!ENTITY email "<email>debacle@debian.org</email>">
+ <!ENTITY author "W. Borgert">
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+]>
+
+<refentry>
+ <refentryinfo>
+ <address>
+ &email;
+ </address>
+ <author>
+ <firstname>W.</firstname>
+ <surname>Borgert</surname>
+ </author>
+ <copyright>
+ <year>2003</year>
+ <year>2005</year>
+ <holder>&author;</holder>
+ </copyright>
+ <date>2003-08-17</date>
+ <keywordset>
+ <keyword>CORBA</keyword>
+ <keyword>IDL</keyword>
+ <keyword>Ethereal</keyword>
+ </keywordset>
+ <revhistory>
+ <revision>
+ <revnumber>2003-08-17</revnumber>
+ <date>2003-08-17</date>
+ <authorinitials>debacle</authorinitials>
+ <revremark>First version.</revremark>
+ </revision>
+ </revhistory>
+ </refentryinfo>
+ <refmeta>
+ <refentrytitle>idl2deb</refentrytitle>
+
+ <manvolnum>1</manvolnum>
+ </refmeta>
+ <refnamediv>
+ <refname>idl2deb</refname>
+
+ <refpurpose>create a Debian package for CORBA monitoring from IDL</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ &command;
+ <arg><option>-d <replaceable>opts</replaceable></option></arg>
+ <arg><option>--dbopts=<replaceable>opts</replaceable></option></arg>
+ <arg><option>-e <replaceable>address</replaceable></option></arg>
+ <arg><option>--email=<replaceable>address</replaceable></option></arg>
+ <arg>-i <replaceable>idlfile</replaceable></arg>
+ <arg>--idl=<replaceable>idlfile</replaceable></arg>
+ <arg><option>-h</option></arg>
+ <arg><option>--help</option></arg>
+ <arg><option>-n <replaceable>name</replaceable></option></arg>
+ <arg><option>--name=<replaceable>name</replaceable></option></arg>
+ <arg><option>-p</option></arg>
+ <arg><option>--preserve</option></arg>
+ <arg><option>-v</option></arg>
+ <arg><option>--version</option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>Description</title>
+
+ <para>This manual page documents briefly the
+ <command>idl2deb</command> command.</para>
+
+ <para>&command; takes an CORBA IDL file as input and creates a
+ Debian package from it. The package contains a loadable module
+ for the ethereal network analyser.</para>
+ </refsect1>
+ <refsect1>
+ <title>Options</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-d <replaceable>opts</replaceable></option>
+ <option>--dbopts=<replaceable>opts</replaceable></option></term>
+ <listitem>
+ <para>options for dpkg-buildpackage.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-e <replaceable>address</replaceable></option>
+ <option>--email=<replaceable>address</replaceable></option></term>
+ <listitem>
+ <para>use e-mail address.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-i <replaceable>idlfile</replaceable></option>
+ <option>--idl=<replaceable>idlfile</replaceable></option></term>
+ <listitem>
+ <para>IDL file to use (mandatory).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h</option>
+ <option>--help</option>
+ </term>
+ <listitem>
+ <para>print help and exit.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-n <replaceable>name</replaceable></option>
+ <option>--name=<replaceable>name</replaceable></option></term>
+ <listitem>
+ <para>use user name.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p</option>
+ <option>--preserve</option></term>
+ <listitem>
+ <para>do not overwrite files.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option>
+ <option>--version</option></term>
+ <listitem>
+ <para>print version and exit.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Example:</para>
+
+ <programlisting>/usr/bin/idl2deb -e me@foo.net -i bar.idl \
+-n &quot;My Name&quot; -d &quot;-rfakeroot -uc -us&quot;</programlisting>
+
+ </refsect1>
+ <refsect1>
+ <title>See Also</title>
+
+ <para>A lot of tools are used, which you have to
+ <command>apt-get install</command>: ethereal-dev, python,
+ cdbs, autotools-dev, debhelper, dpkg-dev.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Copying</title>
+
+ <para>This manual page was written by &author; &email; for
+ &debian; (but may be used by others). Permission is granted to
+ copy, distribute and/or modify this document under the terms of
+ the GNU General Public License, Version 2 or any later
+ version published by the Free Software Foundation.</para>
+ </refsect1>
+</refentry>

392
debian/patches/02_asn2deb.dpatch vendored Normal file
View File

@ -0,0 +1,392 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 02_asn2deb.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: asn2deb - create Debian packages from ASN.1 files
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./asn2deb /tmp/dpep-work.5BSR7A/ethereal-0.10.11/asn2deb
--- ./asn2deb 1970-01-01 01:00:00.000000000 +0100
+++ /tmp/dpep-work.5BSR7A/ethereal-0.10.11/asn2deb 2005-07-17 19:37:02.000000000 +0200
@@ -0,0 +1,219 @@
+#!/usr/bin/env python
+
+# asn2deb - quick hack by W. Borgert <debacle@debian.org> to create
+# Debian GNU/Linux packages from ASN.1 files for Ethereal.
+# Copyright 2004, W. Borgert
+
+# ASN.1 module for Ethereal, use of snacc type table:
+# Copyright 2003, Matthijs Melchior <matthijs.melchior@xs4all.nl>
+#
+# Ethereal - Network traffic analyzer
+# By Gerald Combs <gerald@ethereal.com>
+# 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.
+
+import getopt, os, string, sys, time
+
+scriptinfo = """asn2deb version 2004-02-17
+Copyright 2004, W. Borgert
+Free software, released under the terms of the GPL."""
+
+options = {'asn': None,
+ 'dbopts': "",
+ 'email': "invalid@invalid.invalid",
+ 'help': 0,
+ 'name': "No Name",
+ 'preserve': 0,
+ 'version': 0}
+
+def bootstrap():
+ """Generate Makefile.in and configure script."""
+ os.system("aclocal-1.7")
+ os.system("autoconf")
+ os.system("automake-1.7 --add-missing --copy --foreign")
+
+def create_file(filename, content, mode = None):
+ """Create a file with given content."""
+ global options
+ if options['preserve'] and os.path.isfile(filename):
+ return
+ f = open(filename, 'w')
+ f.write(content)
+ f.close()
+ if mode:
+ os.chmod(filename, mode)
+
+def create_files(version, deb, email, asn, name, iso, rfc):
+ """Create all files for the .deb build process."""
+ base = asn.lower()[:-5]
+ create_file("Makefile.am", """#
+
+BUILT_SOURCES = %s.tt
+asn1ttdir = $(datadir)/ethereal/asn1
+asn1tt_DATA = %s.tt
+
+%s.tt: """ % ((base,) * 3) + asn + """
+ snacc -u /usr/include/snacc/asn1/asn-useful.asn1 -T $@ $<
+""")
+
+ create_file("configure.ac", """AC_INIT(%s, 1.0)
+AM_INIT_AUTOMAKE
+AM_MAINTAINER_MODE
+AC_PROG_INSTALL
+SNACC=\"`type -p snacc`\"
+AC_SUBST(SNACC)
+dnl ETHEREAL_VERSION=\"%s\"
+dnl plugindir=\"$prefix/share/ethereal/asn.1\"
+dnl AC_SUBST(plugindir)
+AC_OUTPUT([Makefile])
+""" % (base, version))
+
+ if not os.path.isdir("debian"):
+ os.mkdir("debian")
+
+ create_file("debian/rules", """#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/autotools.mk
+
+PREFIX=`pwd`/debian/ethereal-asn1-%s
+
+binary-post-install/ethereal-asn1-%s::
+ rm -f $(PREFIX)/usr/lib/ethereal/plugins/%s/*.a
+""" % (base, base, version), 0755)
+
+ create_file("debian/control", """Source: ethereal-asn1-%s
+Section: net
+Priority: optional
+Maintainer: %s <%s>
+Standards-Version: 3.6.1.0
+Build-Depends: snacc, autotools-dev, debhelper, cdbs
+
+Package: ethereal-asn1-%s
+Architecture: all
+Depends: ethereal (= %s)
+Description: ASN.1/BER dissector for %s
+ This package provides a type table for decoding BER (Basic Encoding
+ Rules) data over TCP or UDP, described by an ASN.1 (Abstract Syntax
+ Notation 1) file '%s.asn1'.
+""" % (base, name, email, base, deb, base, base))
+
+ create_file("debian/changelog",
+ """ethereal-asn1-%s (0.0.1-1) unstable; urgency=low
+
+ * Automatically created package.
+
+ -- %s <%s> %s
+""" % (base, name, email, rfc + "\n (" + iso + ")"))
+
+ create_file("debian/copyright",
+ """This package has been created automatically be asn2deb on
+%s for Debian GNU/Linux.
+
+Ethereal: http://www.ethereal.com/
+
+Copyright:
+
+GPL, as evidenced by existence of GPL license file \"COPYING\".
+(the GNU GPL may be viewed on Debian systems in
+/usr/share/common-licenses/GPL)
+""" % (iso))
+
+def get_eth_version():
+ """Detect version of ethereal-dev package."""
+ deb = os.popen(
+ "dpkg-query -W --showformat='${Version}' ethereal-dev").read()
+ debv = string.find(deb, "-")
+ if debv == -1: debv = len(deb)
+ version = deb[string.find(deb, ":")+1:debv]
+ return version, deb
+
+def get_time():
+ """Detect current time and return ISO and RFC time string."""
+ currenttime = time.gmtime()
+ return time.strftime("%Y-%m-%d %H:%M:%S +0000", currenttime), \
+ time.strftime("%a, %d %b %Y %H:%M:%S +0000", currenttime)
+
+def main():
+ global options
+ process_opts(sys.argv)
+ iso, rfc = get_time()
+ version, deb = get_eth_version()
+ create_files(version, deb,
+ options['email'], options['asn'], options['name'],
+ iso, rfc)
+ bootstrap()
+ os.system("dpkg-buildpackage " + options['dbopts'])
+
+def process_opts(argv):
+ """Process command line options."""
+ global options
+ try:
+ opts, args = getopt.getopt(argv[1:], "a:d:e:hn:pv",
+ ["asn=",
+ "dbopts=",
+ "email=",
+ "help",
+ "name=",
+ "preserve",
+ "version"])
+ except getopt.GetoptError:
+ usage(argv[0])
+ sys.exit(1)
+ for o, a in opts:
+ if o in ("-a", "--asn"):
+ options['asn'] = a
+ if o in ("-d", "--dbopts"):
+ options['dbopts'] = a
+ if o in ("-e", "--email"):
+ options['email'] = a
+ if o in ("-h", "--help"):
+ options['help'] = 1
+ if o in ("-n", "--name"):
+ options['name'] = a
+ if o in ("-p", "--preserve"):
+ options['preserve'] = 1
+ if o in ("-v", "--version"):
+ options['version'] = 1
+ if options['help']:
+ usage(argv[0])
+ sys.exit(0)
+ if options['version']:
+ print scriptinfo
+ sys.exit(0)
+ if not options['asn']:
+ print "mandatory ASN.1 file parameter missing"
+ sys.exit(1)
+ if not os.access(options['asn'], os.R_OK):
+ print "ASN.1 file not accessible"
+ sys.exit(1)
+
+def usage(name):
+ """Print usage help."""
+ print "Usage: " + name + " <parameters>\n" + \
+ "Parameters are\n" + \
+ " --asn -a asn1file, ASN.1 file to use (mandatory)\n" + \
+ " --dbopts -d opts, options for dpkg-buildpackage\n" + \
+ " --email -e address, use e-mail address\n" + \
+ " --help -h, print help and exit\n" + \
+ " --name -n name, use user name\n" + \
+ " --preserve -p, do not overwrite files\n" + \
+ " --version -v, print version and exit\n" + \
+ "Example:\n" + \
+ name + " -e me@foo.net -a bar.asn1 -n \"My Name\" " + \
+ "-d \"-rfakeroot -uc -us\""
+if __name__ == '__main__':
+ main()
diff -urNad --exclude=CVS --exclude=.svn ./asn2deb.dbk /tmp/dpep-work.5BSR7A/ethereal-0.10.11/asn2deb.dbk
--- ./asn2deb.dbk 1970-01-01 01:00:00.000000000 +0100
+++ /tmp/dpep-work.5BSR7A/ethereal-0.10.11/asn2deb.dbk 2005-07-17 19:37:02.000000000 +0200
@@ -0,0 +1,158 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+ <!ENTITY command "<command>asn2deb</command>">
+ <!ENTITY email "<email>debacle@debian.org</email>">
+ <!ENTITY author "W. Borgert">
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+]>
+
+<refentry>
+ <refentryinfo>
+ <address>
+ &email;
+ </address>
+ <author>
+ <firstname>W.</firstname>
+ <surname>Borgert</surname>
+ </author>
+ <copyright>
+ <year>2003</year>
+ <year>2005</year>
+ <holder>&author;</holder>
+ </copyright>
+ <date>2004-02-18</date>
+ <keywordset>
+ <keyword>ASN.1</keyword>
+ <keyword>BER</keyword>
+ <keyword>Ethereal</keyword>
+ </keywordset>
+ <revhistory>
+ <revision>
+ <revnumber>1</revnumber>
+ <date>2004-02-18</date>
+ <authorinitials>debacle</authorinitials>
+ <revremark>First version.</revremark>
+ </revision>
+ </revhistory>
+ </refentryinfo>
+ <refmeta>
+ <refentrytitle>asn2deb</refentrytitle>
+
+ <manvolnum>1</manvolnum>
+ </refmeta>
+ <refnamediv>
+ <refname>asn2deb</refname>
+
+ <refpurpose>create a Debian package for BER monitoring from ASN.1</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ &command;
+ <arg>-a <replaceable>ASN.1 file</replaceable></arg>
+ <arg>--asn=<replaceable>ASN.1 file</replaceable></arg>
+ <arg><option>-d <replaceable>opts</replaceable></option></arg>
+ <arg><option>--dbopts=<replaceable>opts</replaceable></option></arg>
+ <arg><option>-e <replaceable>address</replaceable></option></arg>
+ <arg><option>--email=<replaceable>address</replaceable></option></arg>
+ <arg><option>-h</option></arg>
+ <arg><option>--help</option></arg>
+ <arg><option>-n <replaceable>name</replaceable></option></arg>
+ <arg><option>--name=<replaceable>name</replaceable></option></arg>
+ <arg><option>-p</option></arg>
+ <arg><option>--preserve</option></arg>
+ <arg><option>-v</option></arg>
+ <arg><option>--version</option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>Description</title>
+
+ <para>This manual page documents briefly the
+ <command>asn2deb</command> command.</para>
+
+ <para>&command; takes an ASN.1 file as input and creates a Debian
+ package from it. The package contains a loadable type table file
+ for the ethereal network analyser. The type table is generated by
+ the ASN.1 compiler <command>snacc</command>.</para>
+ </refsect1>
+ <refsect1>
+ <title>Options</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-a <replaceable>ASN.1 file</replaceable></option>
+ <option>--asn=<replaceable>ASN.1 file</replaceable></option></term>
+ <listitem>
+ <para>ASN.1 file to use (mandatory).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-d <replaceable>opts</replaceable></option>
+ <option>--dbopts=<replaceable>opts</replaceable></option></term>
+ <listitem>
+ <para>options for dpkg-buildpackage.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-e <replaceable>address</replaceable></option>
+ <option>--email=<replaceable>address</replaceable></option></term>
+ <listitem>
+ <para>use e-mail address.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h</option>
+ <option>--help</option>
+ </term>
+ <listitem>
+ <para>print help and exit.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-n <replaceable>name</replaceable></option>
+ <option>--name=<replaceable>name</replaceable></option></term>
+ <listitem>
+ <para>use user name.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p</option>
+ <option>--preserve</option></term>
+ <listitem>
+ <para>do not overwrite files.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option>
+ <option>--version</option></term>
+ <listitem>
+ <para>print version and exit.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Example:</para>
+
+ <programlisting>/usr/bin/asn2deb -e me@foo.net -a bar.asn1 \
+-n &quot;My Name&quot; -d &quot;-rfakeroot -uc -us&quot;</programlisting>
+
+ </refsect1>
+ <refsect1>
+ <title>See Also</title>
+
+ <para>A lot of tools are used, which you have to
+ <command>apt-get install</command>: ethereal-dev, python,
+ cdbs, autotools-dev, debhelper, dpkg-dev, snacc.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Copying</title>
+
+ <para>This manual page was written by &author; &email; for
+ &debian; (but may be used by others). Permission is granted to
+ copy, distribute and/or modify this document under the terms of
+ the GNU General Public License, Version 2 or any later
+ version published by the Free Software Foundation.</para>
+ </refsect1>
+</refentry>

28
debian/patches/03_preferences.dpatch vendored Normal file
View File

@ -0,0 +1,28 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 03_preferences.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: use known working monospace font and Debian sensible-browser
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./epan/prefs.c /tmp/dpep-work.b0Uwke/ethereal-0.10.11/epan/prefs.c
--- ./epan/prefs.c 2005-07-17 18:36:36.000000000 +0200
+++ /tmp/dpep-work.b0Uwke/ethereal-0.10.11/epan/prefs.c 2005-07-17 18:38:45.000000000 +0200
@@ -1026,7 +1026,7 @@
*/
prefs.gui_font_name1 = g_strdup("-misc-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-iso8859-1");
/* XXX- is this the correct default font name for GTK2 none win32? */
- prefs.gui_font_name2 = g_strdup("fixed medium 12");
+ prefs.gui_font_name2 = g_strdup("monospace 10");
#endif
prefs.gui_marked_fg.pixel = 65535;
prefs.gui_marked_fg.red = 65535;
@@ -1046,7 +1046,7 @@
prefs.gui_fileopen_preview = 3;
prefs.gui_ask_unsaved = TRUE;
prefs.gui_find_wrap = TRUE;
- prefs.gui_webbrowser = g_strdup("mozilla %s");
+ prefs.gui_webbrowser = g_strdup("sensible-browser %s");
prefs.gui_window_title = g_strdup("");
prefs.gui_layout_type = layout_type_5;
prefs.gui_layout_content_1 = layout_pane_content_plist;

View File

@ -0,0 +1,183 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 04_drop-capabilities.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Drop all capabilities but CAP_NET_RAW
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./config.h.in /tmp/dpep-work.rT2mW8/ethereal-0.10.12/config.h.in
--- ./config.h.in 2005-07-31 12:50:13.000000000 +0200
+++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/config.h.in 2005-07-31 12:54:13.000000000 +0200
@@ -55,6 +55,9 @@
/* Define if krb5.h defines KEYTYPE_ARCFOUR_56 */
#undef HAVE_KEYTYPE_ARCFOUR_56
+/* Define if libcap is available to restrict process capabilities */
+#undef HAVE_LIBCAP
+
/* Define to use libpcap library */
#undef HAVE_LIBPCAP
diff -urNad --exclude=CVS --exclude=.svn ./configure.in /tmp/dpep-work.rT2mW8/ethereal-0.10.12/configure.in
--- ./configure.in 2005-07-31 12:50:26.000000000 +0200
+++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/configure.in 2005-07-31 12:54:13.000000000 +0200
@@ -737,6 +737,47 @@
fi
+dnl libcap check
+AC_MSG_CHECKING(whether to use libcap to improve security)
+
+AC_ARG_WITH(cap,
+[ --with-cap[[=DIR]] use libcap (located in directory DIR, if supplied) to improve security. [[default=yes, if available]]],
+[
+ if test $withval = no
+ then
+ want_cap=no
+ elif test $withval = yes
+ then
+ want_cap=yes
+ else
+ want_cap=yes
+ cap_dir=$withval
+ fi
+],[
+ #
+ # Use libcap if it's present, otherwise don't.
+ #
+ want_cap=ifavailable
+ cap_dir=
+])
+if test "x$want_cap" = "xno" ; then
+ AC_MSG_RESULT(no)
+ cap_message="no (disabled by explicit request)"
+else
+ AC_MSG_RESULT(yes)
+ AC_CHECK_LIB(cap, cap_init, [
+ AC_DEFINE(HAVE_LIBCAP, 1, [
+ Define if libcap is available to restrict process capabilities
+ ])
+ LIBS="$LIBS -lcap"
+ cap_message="yes"
+ ], [
+ AC_MSG_WARN([libcap check failed])
+ cap_message="no (check failed)"
+ ])
+fi
+
+
dnl Check if ethereal should be installed setuid
AC_ARG_ENABLE(setuid-install,
[ --enable-setuid-install install ethereal as setuid. DANGEROUS!!! [default=no]],enable_setuid_install=$enableval,enable_setuid_install=no)
@@ -1322,3 +1363,4 @@
echo " Use SSL crypto library : $ssl_message"
echo " Use IPv6 name resolution : $enable_ipv6"
echo " Use UCD SNMP/Net-SNMP library : $snmp_libs_message"
+echo " Use cap library : $cap_message"
diff -urNad --exclude=CVS --exclude=.svn ./gtk/main.c /tmp/dpep-work.rT2mW8/ethereal-0.10.12/gtk/main.c
--- ./gtk/main.c 2005-07-31 12:50:37.000000000 +0200
+++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/gtk/main.c 2005-07-31 12:54:13.000000000 +0200
@@ -1671,6 +1671,9 @@
runtime_info_str = g_string_new("Running ");
get_runtime_version_info(runtime_info_str);
+#ifdef HAVE_LIBCAP
+ dropexcesscapabilities();
+#endif
/*** "pre-scan" the command line parameters, if we have "console only" parameters ***/
/* (e.g. don't start GTK+, if we only have to show the command line help) */
diff -urNad --exclude=CVS --exclude=.svn ./tethereal.c /tmp/dpep-work.rT2mW8/ethereal-0.10.12/tethereal.c
--- ./tethereal.c 2005-07-31 12:49:37.000000000 +0200
+++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/tethereal.c 2005-07-31 12:54:13.000000000 +0200
@@ -663,6 +663,10 @@
capture_opts_init(&capture_opts, NULL /* cfile */);
#endif
+#ifdef HAVE_LIBCAP
+ dropexcesscapabilities();
+#endif
+
set_timestamp_setting(TS_RELATIVE);
/* Register all dissectors; we must do this before checking for the
diff -urNad --exclude=CVS --exclude=.svn ./util.c /tmp/dpep-work.rT2mW8/ethereal-0.10.12/util.c
--- ./util.c 2005-07-31 12:49:42.000000000 +0200
+++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/util.c 2005-07-31 12:56:35.000000000 +0200
@@ -69,6 +69,10 @@
#include <windows.h>
#endif
+#ifdef HAVE_LIBCAP
+#include <sys/capability.h>
+#endif
+
#include "util.h"
/*
@@ -311,3 +315,46 @@
}
return "";
}
+
+
+#ifdef HAVE_LIBCAP
+void dropexcesscapabilities(void)
+{
+ cap_t cap_d;
+ cap_value_t cap_values[] = {
+ /* capabilities we need to keep */
+ CAP_NET_RAW,
+ CAP_DAC_READ_SEARCH
+ };
+ cap_flag_value_t current_cap;
+
+ cap_d = cap_get_proc();
+ if (!cap_d) {
+ g_warning("Could not get capabilities\n");
+ return;
+ }
+
+ cap_get_flag(cap_d, CAP_NET_RAW, CAP_EFFECTIVE, &current_cap);
+ cap_free(&cap_d);
+ if (current_cap == CAP_CLEAR) {
+ return;
+ }
+
+ cap_d = cap_init();
+ if (!cap_d) {
+ g_warning("Could not alloc cap struct\n");
+ return;
+ }
+
+ cap_clear(cap_d);
+ cap_set_flag(cap_d, CAP_PERMITTED, 2, cap_values, CAP_SET);
+ cap_set_flag(cap_d, CAP_EFFECTIVE, 2, cap_values, CAP_SET);
+
+ if (cap_set_proc(cap_d) != 0) {
+ g_warning("Could not set capabilities: %s\n", strerror(errno));
+ cap_free(&cap_d);
+ return;
+ }
+ cap_free(&cap_d);
+}
+#endif /* HAVE_LIBCAP */
diff -urNad --exclude=CVS --exclude=.svn ./util.h /tmp/dpep-work.rT2mW8/ethereal-0.10.12/util.h
--- ./util.h 2005-07-31 12:49:42.000000000 +0200
+++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/util.h 2005-07-31 12:54:13.000000000 +0200
@@ -43,6 +43,15 @@
/* Create a capture filter for the connection */
char *get_conn_cfilter(void);
+#ifdef HAVE_LIBCAP
+/*
+ * Limit the potential impact of undiscovered security vulnerabilities by
+ * dropping all capabilities except the sniffer capability we need to do our
+ * job.
+ */
+void dropexcesscapabilities(void);
+#endif /* HAVE_LIBCAP */
+
#ifdef __cplusplus
}
#endif /* __cplusplus */

28
debian/patches/05_plugin-libdir.dpatch vendored Normal file
View File

@ -0,0 +1,28 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 05_plugin-libdir.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./configure.in /tmp/dpep-work.avwGQ1/ethereal-0.10.11/configure.in
--- ./configure.in 2005-05-02 23:28:53.000000000 +0200
+++ /tmp/dpep-work.avwGQ1/ethereal-0.10.11/configure.in 2005-07-17 18:46:26.000000000 +0200
@@ -1130,7 +1130,7 @@
dnl check whether plugins should be enabled and, if they should be,
dnl check for plugins directory - stolen from Amanda's configure.in
dnl
-plugindir="$libdir/ethereal/plugins/$VERSION"
+plugindir="$libdir/plugins/$VERSION"
AC_ARG_WITH(plugins,
[ --with-plugins[[=DIR]] support plugins (installed in DIR, if supplied).],
[
@@ -1172,7 +1172,7 @@
#
# The plugin dissectors reside in ./plugins/PROTO/
#
-PLUGIN_LIBS="-L../../epan -lethereal $GLIB_LIBS"
+PLUGIN_LIBS="-L../../epan $GLIB_LIBS"
AC_SUBST(PLUGIN_LIBS)
dnl libtool defs

19
debian/patches/06_giop-buffer.dpatch vendored Normal file
View File

@ -0,0 +1,19 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 06_giop-buffer.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-giop.c /tmp/dpep-work.7N90PO/ethereal-0.10.11/epan/dissectors/packet-giop.c
--- ./epan/dissectors/packet-giop.c 2005-07-17 18:52:08.000000000 +0200
+++ /tmp/dpep-work.7N90PO/ethereal-0.10.11/epan/dissectors/packet-giop.c 2005-07-17 18:55:32.000000000 +0200
@@ -1760,6 +1760,8 @@
if (len == 0)
return FALSE;
+ if (*offset > header->message_size)
+ return FALSE;
saved_proto = pinfo->current_proto;
for (i=0; i<len; i++) {

32
debian/patches/07_gcc4.dpatch vendored Normal file
View File

@ -0,0 +1,32 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 07_gcc4.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-cmip.c /tmp/dpep-work.5KBC28/ethereal-0.10.11/epan/dissectors/packet-cmip.c
--- ./epan/dissectors/packet-cmip.c 2005-07-17 18:52:24.000000000 +0200
+++ /tmp/dpep-work.5KBC28/ethereal-0.10.11/epan/dissectors/packet-cmip.c 2005-07-17 18:53:53.000000000 +0200
@@ -1895,7 +1895,8 @@
return offset;
}
-
+int
+dissect_cmip_InvokeIDType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_);
static int
dissect_cmip_Argument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-cms.c /tmp/dpep-work.5KBC28/ethereal-0.10.11/epan/dissectors/packet-cms.c
--- ./epan/dissectors/packet-cms.c 2005-07-17 18:51:59.000000000 +0200
+++ /tmp/dpep-work.5KBC28/ethereal-0.10.11/epan/dissectors/packet-cms.c 2005-07-17 18:53:59.000000000 +0200
@@ -330,6 +330,8 @@
return dissect_cms_T_eContentType(FALSE, tvb, offset, pinfo, tree, hf_cms_eContentType);
}
+static int
+dissect_cms_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_);
static int
dissect_cms_T_eContent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {

View File

@ -0,0 +1,29 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 08_ethereal-desktop-menu.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./ethereal.desktop /tmp/dpep-work.5CrOMD/ethereal-0.10.11/ethereal.desktop
--- ./ethereal.desktop 2005-07-17 19:39:10.000000000 +0200
+++ /tmp/dpep-work.5CrOMD/ethereal-0.10.11/ethereal.desktop 2005-07-17 19:39:22.000000000 +0200
@@ -68,15 +68,16 @@
GenericName[zh_TW]=網路分析程式
GenericName[zu]=Umhloli Woxhumano olusakazekile
Comment=Network traffic analyzer
+Comment[fr]=Analyseur de trafic réseau
Comment[fi]=Verkkoliikenne analysaattori
Comment[sv]=Nätverkstrafikanalysator
-Icon=ethereal.png
+Icon=hi48-app-ethereal.png
TryExec=ethereal
Exec=ethereal
Path=
Terminal=false
MimeType=
-Categories=Application;GTK;Network;X-Red-Hat-Extra;
+Categories=GNOME;Application;Network;
# Found in Suse 9.1:
X-KDE-SubstituteUID=true
# Deprecated:

46
debian/patches/09_idl2eth.dpatch vendored Normal file
View File

@ -0,0 +1,46 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 09_idl2eth.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./idl2eth.sh /tmp/dpep-work.ZF6eGD/ethereal-0.10.11/idl2eth.sh
--- ./idl2eth.sh 2005-07-17 19:40:44.000000000 +0200
+++ /tmp/dpep-work.ZF6eGD/ethereal-0.10.11/idl2eth.sh 2005-07-17 19:41:12.000000000 +0200
@@ -48,34 +48,5 @@
exit 1;
fi
-#
-# Run ethereal backend, looking for ethereal_be.py and ethereal_gen.py
-# in pythons's "site-packages" directory. If cannot find that, then
-# try looking in current directory. If still cannot, then exit with
-# error.
-
-if [ -f $PYTHONPATH/site-packages/ethereal_be.py ] && [ -f $PYTHONPATH/site-packages/ethereal_gen.py ]; then
- omniidl -p $PYTHONPATH/site-packages -b ethereal_be $1
- exit $?
-fi
-
-# Try current directory.
-
-if [ -f ./ethereal_be.py ] && [ -f ./ethereal_gen.py ]; then
- omniidl -p ./ -b ethereal_be $1
- exit $?
-fi
-
-# Could not find both ethereal_be.py AND ethereal_gen.py
-
-echo "idl2eth Error: Could not find both ethereal_be.py AND ethereal_gen.py."
-echo "Please ensure you have the PYTHONPATH variable set, or that ethereal_be.py "
-echo "and ethereal_gen.py exist in the current directory. "
-echo
-echo "On this system, PYTHONPATH is : $PYTHONPATH"
-echo
-
-exit 2
-
-
+omniidl -b ethereal_be $1

19
debian/patches/10_ethereal_gen.dpatch vendored Normal file
View File

@ -0,0 +1,19 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 10_ethereal_gen.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./ethereal_gen.py /tmp/dpep-work.vCo5MH/ethereal-0.10.11/ethereal_gen.py
--- ./ethereal_gen.py 2005-07-17 19:42:15.000000000 +0200
+++ /tmp/dpep-work.vCo5MH/ethereal-0.10.11/ethereal_gen.py 2005-07-17 19:42:34.000000000 +0200
@@ -2188,7 +2188,8 @@
#include <glib.h>
#include <epan/packet.h>
#include <epan/proto.h>
#include <epan/dissectors/packet-giop.h>
+#include <plugins/plugin_api_defs.h>
#ifndef ENABLE_STATIC
G_MODULE_EXPORT const gchar version[] = "0.0.1";

View File

@ -0,0 +1,19 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 11_diameter_vendors.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-diameter.c /tmp/dpep-work.Xqh7hj/ethereal-0.10.11/epan/dissectors/packet-diameter.c
--- ./epan/dissectors/packet-diameter.c 2005-05-02 23:28:44.000000000 +0200
+++ /tmp/dpep-work.Xqh7hj/ethereal-0.10.11/epan/dissectors/packet-diameter.c 2005-07-18 20:18:26.000000000 +0200
@@ -690,7 +690,7 @@
return -1;
}
- return (addVendor(atoi(code), id, name));
+ return (addVendor(atoi(id), code, name));
} /* addVendor */

24
debian/rules vendored
View File

@ -8,12 +8,15 @@
export DH_COMPAT=3
include /usr/share/dpatch/dpatch.make
DB2MAN=/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
PYTHON_VERSION=python2.3
# Enable IEEE-conformant floating point math on alphas (not the default)
ifeq (alpha-linux,$(DEB_HOST_GNU_TYPE))
CFLAGS += -mieee
@ -26,14 +29,15 @@ asn2deb.1: asn2deb.dbk
xsltproc --nonet --novalid $(DB2MAN) $<
configure: configure-stamp
configure-stamp:
configure-stamp: patch
dh_testdir
cp /usr/share/misc/config.guess /usr/share/misc/config.sub .
libtoolize --force --copy
autoconf
-mkdir aclocal-missing
(if [ ! -x ./configure ]; then \
./autogen.sh --prefix=/usr --sysconfdir=/usr/share/ethereal --disable-static --disable-ssl --without-ucdsnmp --enable-gtk2 --libdir=/usr/lib/ethereal --CFLAGS="$(CFLAGS)"; \
./autogen.sh --prefix=/usr --sysconfdir=/usr/share/ethereal --disable-static --disable-ssl --without-ucdsnmp --enable-gtk2 --libdir=/usr/lib/ethereal CFLAGS="$(CFLAGS)"; \
fi)
./configure --prefix=/usr --sysconfdir=/usr/share/ethereal --disable-static --disable-ssl --without-ucdsnmp --enable-gtk2 --libdir=/usr/lib/ethereal CFLAGS="$(CFLAGS)"
@ -46,7 +50,12 @@ build-stamp: configure-stamp
touch build-stamp
clean:
patch: patch-stamp
patch-stamp:
dpatch apply-all
clean: unpatch-stamp
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
@ -59,6 +68,11 @@ clean:
dh_clean
unpatch: unpatch-stamp
unpatch-stamp:
dpatch deapply-all
rm -rf patch-stamp debian/patched
# Build architecture-independent files here.
binary-indep: build
# We have nothing to do by default.
@ -78,11 +92,11 @@ binary-arch: build
mkdir -p `pwd`/debian/tmp/usr/share/pixmaps/
cp image/hi48-app-ethereal.png `pwd`/debian/tmp/usr/share/pixmaps/
cp image/eicon3d32.xpm `pwd`/debian/tmp/usr/share/pixmaps/
mkdir -p `pwd`/debian/tmp/usr/lib/python2.3/site-packages/
mkdir -p `pwd`/debian/tmp/usr/lib/$(PYTHON_VERSION)/site-packages/
install -m 755 `pwd`/idl2deb `pwd`/debian/tmp/usr/bin/
install -m 755 `pwd`/asn2deb `pwd`/debian/tmp/usr/bin/
cp `pwd`/ethereal_be.py `pwd`/ethereal_gen.py \
`pwd`/debian/tmp/usr/lib/python2.3/site-packages/
`pwd`/debian/tmp/usr/lib/$(PYTHON_VERSION)/site-packages/
mkdir -p `pwd`/debian/tmp/usr/include/ethereal/
for F in `cat debian/ethereal-dev.header-files`; do \
cp --parents $$F `pwd`/debian/tmp/usr/include/ethereal; \

View File

@ -2,3 +2,5 @@
/usr/bin/tethereal
/usr/bin/tethereal

View File

@ -1,2 +1,3 @@
tethereal.1
tethereal.1
tethereal.1