aboutsummaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2006-07-27 17:15:34 +0000
committerJörg Mayer <jmayer@loplof.de>2006-07-27 17:15:34 +0000
commit52e9a9c01226cb5999c62fe3008bff0bef0265ce (patch)
tree38b26875ff6d40802ab3ebf15bc5ce38c7d59610 /debian/patches
parent5c8bb9bca89f4023f0ba6b0f59650b3b539fa28e (diff)
Frederic Peters <fpeters@debian.org>:
Update to match the current debian package svn path=/trunk/; revision=18799
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/00list10
-rw-r--r--debian/patches/01_idl2deb.dpatch424
-rw-r--r--debian/patches/02_asn2deb.dpatch392
-rw-r--r--debian/patches/03_preferences.dpatch26
-rw-r--r--debian/patches/04_drop-capabilities.dpatch170
-rw-r--r--debian/patches/05_plugin-libdir.dpatch28
-rw-r--r--debian/patches/06_giop-buffer.dpatch19
-rw-r--r--debian/patches/07_gcc4.dpatch20
8 files changed, 1089 insertions, 0 deletions
diff --git a/debian/patches/00list b/debian/patches/00list
index 2634dfdf24..bebecb3337 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -5,6 +5,16 @@
05_plugin-libdir
06_giop-buffer
07_gcc4
+08_wireshark-desktop-menu
+09_idl2wrs
+10_wireshark_gen
+01_idl2deb
+02_asn2deb
+03_preferences
+04_drop-capabilities
+05_plugin-libdir
+06_giop-buffer
+07_gcc4
08_ethereal-desktop-menu
09_idl2wrs
10_ethereal_gen
diff --git a/debian/patches/01_idl2deb.dpatch b/debian/patches/01_idl2deb.dpatch
index 2d32535b65..3e4782aa15 100644
--- a/debian/patches/01_idl2deb.dpatch
+++ b/debian/patches/01_idl2deb.dpatch
@@ -2,6 +2,430 @@
## 01_idl2deb.dpatch by <fpeters@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
+## DP: idl2deb - create Debian packages from idl2wrs modules
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./idl2deb /tmp/dpep-work.K2bQz4/wireshark-0.10.11/idl2deb
+--- ./idl2deb 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/dpep-work.K2bQz4/wireshark-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 idl2wrs modules for Wireshark.
++# Copyright 2003, W. Borgert
++
++# Makefile.am and configure.ac code by:
++# Copyright 2001, Ericsson Inc.
++# Frank Singleton <frank.singleton@ericsson.com>
++#
++# Wireshark - Network traffic analyzer
++# By Gerald Combs <gerald@wireshark.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/wireshark -DWS_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__WIRESHARK_STATIC__ packet-%s.c
++
++packet-%s.c: """ % ((base,) * 12) + idl + """
++ $(IDL2WRS) $< > $@
++""")
++
++ 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)
++IDL2WRS=\"`type -p idl2wrs`\"
++AC_SUBST(IDL2WRS)
++WIRESHARK_VERSION=\"%s\"
++plugindir=\"$libdir/wireshark/plugins/$WIRESHARK_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/wireshark-giop-%s
++
++binary-post-install/wireshark-giop-%s::
++ rm -f $(PREFIX)/usr/lib/wireshark/plugins/%s/*.a
++""" % (base, base, version), 0755)
++
++ create_file("debian/control", """Source: wireshark-giop-%s
++Section: net
++Priority: optional
++Maintainer: %s <%s>
++Standards-Version: 3.6.1.0
++Build-Depends: wireshark-dev, autotools-dev, debhelper, cdbs
++
++Package: wireshark-giop-%s
++Architecture: any
++Depends: wireshark (= %s), ${shlibs:Depends}
++Description: GIOP dissector for CORBA interface %s
++ This package provides a dissector for GIOP (General Inter-ORB
++ Protocol) for the Wireshark 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",
++ """wireshark-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 by idl2deb on
++%s for Debian GNU/Linux.
++
++Wireshark: http://www.wireshark.org/
++
++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_wrs_version():
++ """Detect version of wireshark-dev package."""
++ deb = os.popen(
++ "dpkg-query -W --showformat='${Version}' wireshark-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_wrs_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/wireshark-0.10.11/idl2deb.dbk
+--- ./idl2deb.dbk 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/dpep-work.K2bQz4/wireshark-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>Wireshark</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 wireshark 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>: wireshark-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>
+#! /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 --git a/debian/patches/02_asn2deb.dpatch b/debian/patches/02_asn2deb.dpatch
index 51e81c54b3..846a80c003 100644
--- a/debian/patches/02_asn2deb.dpatch
+++ b/debian/patches/02_asn2deb.dpatch
@@ -5,6 +5,398 @@
## DP: asn2deb - create Debian packages from ASN.1 files
@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./asn2deb /tmp/dpep-work.5BSR7A/wireshark-0.10.11/asn2deb
+--- ./asn2deb 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/dpep-work.5BSR7A/wireshark-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 Wireshark.
++# Copyright 2004, W. Borgert
++
++# ASN.1 module for Wireshark, use of snacc type table:
++# Copyright 2003, Matthijs Melchior <matthijs.melchior@xs4all.nl>
++#
++# Wireshark - Network traffic analyzer
++# By Gerald Combs <gerald@wireshark.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)/wireshark/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 WIRESHARK_VERSION=\"%s\"
++dnl plugindir=\"$prefix/share/wireshark/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/wireshark-asn1-%s
++
++binary-post-install/wireshark-asn1-%s::
++ rm -f $(PREFIX)/usr/lib/wireshark/plugins/%s/*.a
++""" % (base, base, version), 0755)
++
++ create_file("debian/control", """Source: wireshark-asn1-%s
++Section: net
++Priority: optional
++Maintainer: %s <%s>
++Standards-Version: 3.6.1.0
++Build-Depends: snacc, autotools-dev, debhelper, cdbs
++
++Package: wireshark-asn1-%s
++Architecture: all
++Depends: wireshark (= %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",
++ """wireshark-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.
++
++Wireshark: http://www.wireshark.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_wrs_version():
++ """Detect version of wireshark-dev package."""
++ deb = os.popen(
++ "dpkg-query -W --showformat='${Version}' wireshark-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_wrs_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/wireshark-0.10.11/asn2deb.dbk
+--- ./asn2deb.dbk 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/dpep-work.5BSR7A/wireshark-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>Wireshark</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 wireshark 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>: wireshark-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>
+#! /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
diff --git a/debian/patches/03_preferences.dpatch b/debian/patches/03_preferences.dpatch
index 5b0415a04c..e33f63c778 100644
--- a/debian/patches/03_preferences.dpatch
+++ b/debian/patches/03_preferences.dpatch
@@ -1,4 +1,30 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03_preferences.dpatch by <fred@candle>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: use Debian sensible-browser
+
+@DPATCH@
+diff -urNad wireshark-0.10.13~/configure.in wireshark-0.10.13/configure.in
+--- wireshark-0.10.13~/configure.in 2005-12-08 12:47:00.000000000 +0100
++++ wireshark-0.10.13/configure.in 2005-12-08 12:53:33.000000000 +0100
+@@ -38,12 +38,12 @@
+ #
+ AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
+ fi
+-AC_PATH_PROG(HTML_VIEWER, htmlview)
++AC_PATH_PROG(HTML_VIEWER, sensible-browser)
+ if test "x$HTML_VIEWER" = x
+ then
+- AC_DEFINE_UNQUOTED(HTML_VIEWER, "mozilla", [HTML viewer, e.g. mozilla])
++ AC_DEFINE_UNQUOTED(HTML_VIEWER, "sensible-browser", [HTML viewer, e.g. sensible-browser])
+ else
+- AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla])
++ AC_DEFINE_UNQUOTED(HTML_VIEWER, "sensible-browser", [HTML viewer, e.g. mozilla])
+ fi
+
+ AC_PATH_PROG(LEX, flex)
+#! /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.
diff --git a/debian/patches/04_drop-capabilities.dpatch b/debian/patches/04_drop-capabilities.dpatch
index 260df311d7..8ee8786667 100644
--- a/debian/patches/04_drop-capabilities.dpatch
+++ b/debian/patches/04_drop-capabilities.dpatch
@@ -5,6 +5,176 @@
## DP: Drop all capabilities but CAP_NET_RAW
@DPATCH@
+diff -urNad wireshark-0.99.2~/configure.in wireshark-0.99.2/configure.in
+--- wireshark-0.99.2~/configure.in 2006-07-18 21:59:41.000000000 +0200
++++ wireshark-0.99.2/configure.in 2006-07-18 21:59:46.000000000 +0200
+@@ -831,6 +831,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 wireshark should be installed setuid
+ AC_ARG_ENABLE(setuid-install,
+ [ --enable-setuid-install install wireshark as setuid. DANGEROUS!!! [default=no]],enable_setuid_install=$enableval,enable_setuid_install=no)
+@@ -1448,3 +1489,4 @@
+ echo " Use IPv6 name resolution : $enable_ipv6"
+ echo " Use UCD SNMP/Net-SNMP library : $snmp_libs_message"
+ echo " Use gnutls library : $tls_message"
++echo " Use cap library : $cap_message"
+diff -urNad wireshark-0.99.2~/gtk/main.c wireshark-0.99.2/gtk/main.c
+--- wireshark-0.99.2~/gtk/main.c 2006-07-17 21:56:45.000000000 +0200
++++ wireshark-0.99.2/gtk/main.c 2006-07-18 21:59:46.000000000 +0200
+@@ -1718,6 +1718,9 @@
+ {
+ gchar *capture_msg;
+
++#ifdef HAVE_LIBCAP
++ dropexcesscapabilities();
++#endif
+
+ gtk_statusbar_pop(GTK_STATUSBAR(packets_bar), packets_ctx);
+
+diff -urNad wireshark-0.99.2~/tshark.c wireshark-0.99.2/tshark.c
+--- wireshark-0.99.2~/tshark.c 2006-07-17 22:00:06.000000000 +0200
++++ wireshark-0.99.2/tshark.c 2006-07-18 22:01:35.000000000 +0200
+@@ -749,6 +749,10 @@
+ capture_opts_init(&capture_opts, NULL /* cfile */);
+ #endif
+
++#ifdef HAVE_LIBCAP
++ dropexcesscapabilities();
++#endif
++
+ timestamp_set_type(TS_RELATIVE);
+ timestamp_set_precision(TS_PREC_AUTO);
+
+diff -urNad wireshark-0.99.2~/util.c wireshark-0.99.2/util.c
+--- wireshark-0.99.2~/util.c 2006-07-17 22:00:05.000000000 +0200
++++ wireshark-0.99.2/util.c 2006-07-18 21:59:46.000000000 +0200
+@@ -40,6 +40,10 @@
+ #include <epan/address.h>
+ #include <epan/addr_resolv.h>
+
++#ifdef HAVE_LIBCAP
++#include <sys/capability.h>
++#endif
++
+ #include "util.h"
+
+ /*
+@@ -180,3 +184,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 wireshark-0.99.2~/util.h wireshark-0.99.2/util.h
+--- wireshark-0.99.2~/util.h 2006-07-17 22:00:06.000000000 +0200
++++ wireshark-0.99.2/util.h 2006-07-18 22:01:52.000000000 +0200
+@@ -53,6 +53,15 @@
+ const 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 */
+#! /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
diff --git a/debian/patches/05_plugin-libdir.dpatch b/debian/patches/05_plugin-libdir.dpatch
index 5c09ba62e4..83c55b551d 100644
--- a/debian/patches/05_plugin-libdir.dpatch
+++ b/debian/patches/05_plugin-libdir.dpatch
@@ -5,6 +5,34 @@
## DP: No description.
@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./configure.in /tmp/dpep-work.avwGQ1/wireshark-0.10.11/configure.in
+--- ./configure.in 2005-05-02 23:28:53.000000000 +0200
++++ /tmp/dpep-work.avwGQ1/wireshark-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/wireshark/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 -lwireshark $GLIB_LIBS"
++PLUGIN_LIBS="-L../../epan $GLIB_LIBS"
+ AC_SUBST(PLUGIN_LIBS)
+
+ dnl libtool defs
+#! /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
diff --git a/debian/patches/06_giop-buffer.dpatch b/debian/patches/06_giop-buffer.dpatch
index 2e3864e438..18740118be 100644
--- a/debian/patches/06_giop-buffer.dpatch
+++ b/debian/patches/06_giop-buffer.dpatch
@@ -5,6 +5,25 @@
## DP: No description.
@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-giop.c /tmp/dpep-work.7N90PO/wireshark-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/wireshark-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++) {
+#! /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
diff --git a/debian/patches/07_gcc4.dpatch b/debian/patches/07_gcc4.dpatch
index 47c41cdad7..c67c36029b 100644
--- a/debian/patches/07_gcc4.dpatch
+++ b/debian/patches/07_gcc4.dpatch
@@ -5,6 +5,26 @@
## DP: No description.
@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-cmip.c /tmp/dpep-work.5KBC28/wireshark-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/wireshark-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_) {
+#! /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