--- vde2-2.3.2+r586.orig/debian/README.Debian +++ vde2-2.3.2+r586/debian/README.Debian @@ -0,0 +1,279 @@ +VDE for Debian +############## + +ifupdown usage +============== + +The Debian package provides an extension for ``iface`` sections in +``/etc/network/interfaces`` file: + +vde2-switch - | + + Start TAP interface with ``vde_switch`` command which has control directory + ``/var/run/vde/$IFACE.ctl``. The control directory is writable by vde2-net + group. The additional parameters might be --macaddr MAC for switch MAC + address or other parameters. See ``vde_switch --help`` or vde_switch(1) for + further information. + + When using the ``manual`` method of ifupdown no further setup is made, thus + it is possible to connect only the unix socket, e.g.:: + + auto vde0 + iface vde0 inet manual + vde2-switch - + + starts a ``vde_switch`` on virtual interface ``vde0`` (not TAP!) at every + boot, see ifup(8). + In this case ``vde0`` is used only for future reference, for example + management socket can be accessed from ``/var/run/vde2/vde0.mgmt`` + + It might be also convenient to attach a ``vde_switch`` to a TAP on boot to + use for bridging, in this case you should specify the TAP interface because + ``manual`` method does no setup:: + + auto qemu + iface qemu inet manual + vde2-switch -t qemu + +vde2-slirp - | + + Start slirp interface connected to the VDE switch with ``slirpvde`` command. + The additional parameter might be -dhcp for DHCP server or -netaddr to + specify the network address (default 10.0.2.0). + See ``slirpvde --help`` for description. + + Please note that slirp is a virtual router for VDE, it is commonly used as a + mean to connect the virtual network to the outside world. Slirp does not + require root access, kernel ip forwarding or iptables configuration. TAP + however requires root access, providing any kind of routing like a real + interface and it is also faster. + + Do not use TAP and slirp together in the same VDE LAN unless you know exactly + what you are doing. If you set up a slirp with DHCP on a TAP and you + autoconfigure the interface it will become the default route for the entire + system. + +vde2-plug + + Start ``dpipe`` connecting a ``vde_plug`` with the given ``dpipe_arg2`` as + the second argument after =. See ``dpipe`` man page for further details. + For example it is possible to connect two local plugs:: + + vde2-plug vde_plug /tmp/vde2.ctl + + connects the ``vde_switch`` controlling the stanza's TAP interface to another + local ``vde_switch`` running at ``/tmp/vde2.ctl``. + It is also possible to connect to a remote plug:: + + vde2-plug ssh remote.machine.org vde_plug /var/run/vde2/tap0.ctl + + connects the given TAP interface to remote ``vde_switch`` using ssh to + encrypt the traffic. + +Commandline usage +================= + +The encrypted tunnel +-------------------- + +The VDE is the simplest VPN solution. + +On local system:: + + iface tap0 inet static + address 10.0.2.2 + netmask 255.255.255.0 + vde2-switch - + vde2-plug ssh user@remote.machine.org vde_plug /var/run/vde2/tap0.ctl + +On remote system:: + + iface tap0 inet static + address 10.0.2.1 + netmask 255.255.255.0 + vde2-switch - + +If ``vde2-slirp`` option is used, the connection works without NAT. The VDE can +be also started with non-root privileges on the remote machine. + +On local system:: + + iface tap0 inet dhcp + vde2-switch - + pre-up ssh user@remote.machine.org vde_switch -s /tmp/vde.ctl -p /tmp/vde_switch.pid -d + pre-up sleep 1 + pre-up ssh user@remote.machine.org slirpvde -D -s /tmp/vde.ctl -p /tmp/slirpvde.pid -d + vde2-plug ssh user@remote.machine.org vde_plug /tmp/vde.ctl + post-down ssh user@remote.machine.org 'test -f /tmp/vde_switch.pid && kill `cat /tmp/vde_switch.pid` || true' + post-down ssh user@remote.machine.org 'test -f /tmp/slirpvde.pid && kill `cat /tmp/slirpvde.pid` || true' + post-down ssh user@remote.machine.org rm -f /tmp/vde_switch.pid /tmp/slirpvde.pid + + +QEMU usage +---------- + +The VDE is very useful for connecting the QEMU virtual machines. + +In the first example we use VDE as a standard VLAN connected to a +tap interface. + +Enabling the VDE networking using tap. + +1. Configure tap0:: + + auto tap0 + iface tap0 inet static + address 10.0.3.1 + netmask 255.255.255.0 + vde2-switch - + +2. Start the interface:: + + # ifup tap0 + +3. Add the user to vde2-net group:: + + # adduser user vde2-net + +3. Start the QEMUs with different MAC addresses:: + + $ vdeq qemu -m 660 -net nic,vlan=1,macaddr=52:54:00:12:01:00 \ + -net vde,vlan=1,sock=/var/run/vde2/tap0.ctl \ + -boot c -hda Debian1.img + + $ vdeq qemu -m 660 -net nic,vlan=1,macaddr=52:54:00:12:02:00 \ + -net vde,vlan=1,sock=/var/run/vde2/tap0.ctl \ + -boot c -hda Debian2.img + +4. Configure the network inside QEMUs' virtual systems:: + + debian1# cat > /etc/network/interfaces << END + auto lo + + auto eth0 + iface eth0 inet static + address 10.0.3.101 + netmask 255.255.255.0 + broadcast 10.0.3.255 + END + + debian2# cat > /etc/network/interfaces << END + auto lo + + iface lo inet loopback + auto eth0 + iface eth0 inet static + address 10.0.3.102 + netmask 255.255.255.0 + broadcast 10.0.3.255 + END + +5. Check if the systems are available:: + + # ping 10.0.3.101 + # ping 10.0.3.102 + +6. Configure the routing/masquerading/bridging on the host computer + for ``tap0`` as you do on any other interface. + +QEMU-Slirp +---------- + +1. Configure vde0:: + + auto vde0 + iface vde0 inet manual + vde2-switch - + vde2-slirp -dhcp + +2. Start the interface:: + + # ifup vde0 + +3. Add the user to vde2-net group:: + + # adduser vde2-net + +4. Start the QEMUs with different MAC addresses:: + + $ vdeq qemu -m 660 -net nic,vlan=1,macaddr=52:54:00:12:01:00 \ + -net vde,vlan=1,sock=/var/run/vde2/vde0.ctl \ + -boot c -hda Debian1.img + + $ vdeq qemu -m 660 -net nic,vlan=1,macaddr=52:54:00:12:02:00 \ + -net vde,vlan=1,sock=/var/run/vde2/vde0.ctl \ + -boot c -hda Debian2.img + +5. Configure the network inside QEMUs' virtual systems:: + + debian1# cat > /etc/network/interfaces << END + auto lo + iface lo inet loopback + auto eth0 + iface eth0 inet dhcp + END + + debian2# cat > /etc/network/interfaces << END + auto lo + iface lo inet loopback + auto eth0 + iface eth0 inet dhcp + END + +6. Check if the systems can reach their default route:: + + debian1# ping 10.0.2.2 + debian2# ping 10.0.2.2 + +7. Try a service on a remote system:: + + debian1# ssh your.main.server + + The virtual system are on the same network but they are on a masqueraded + network. + + You can also start the VDE networking without root privileges:: + + $ vde_switch -s /tmp/vde1.ctl -d + + $ vdeq qemu -net nic,vlan=1,macaddr=52:54:00:12:01:00 \ + -net vde,vlan=1,sock=/tmp/vde1.ctl \ + -boot c -hda Debian1.img + + $ vdeq qemu -net nic,vlan=1,macaddr=52:54:00:12:02:00 \ + -net vde,vlan=1,sock=/tmp/vde1.ctl \ + -boot c -hda Debian2.img + + In this case the networking is available only inside virtual machines. + + It is possible to start a slirpvde server before the Qemu machines:: + + $ vde_switch -s /tmp/vde1.ctl -d + $ nohup slirpvde -s /tmp/vde1.ctl -dhcp & + $ vdeq qemu -net nic,vlan=1,macaddr=52:54:00:12:01:00 \ + -net vde,vlan=1,sock=/tmp/vde1.ctl \ + -boot c -hda Debian1.img + $ vdeq qemu -net nic,vlan=1,macaddr=52:54:00:12:02:00 \ + -net vde,vlan=1,sock=/tmp/vde1.ctl \ + -boot c -hda Debian2.img + + These machines can auto-configure their interfaces using the dhcp server + on slirpvde and have access to the "outside world". + Slirp emulates a masqueraded subnetwork: TCP-IP client programs work + transparently while port forwarding is needed for server access + (see slirpvde man page for further details). + +Management console +------------------ + + You can connect to remote console with unixterm command:: + + $ unixterm /var/run/vde2/tap0.mgmt + + where ``tap0`` is the name of the interface. + +Authors +------- + + * Piotr Roszatycki Thu, 14 Dec 2006 10:22:19 +0100 + * Renzo Davoli Fri Apr 20 2007 19:33:27 +0200 --- vde2-2.3.2+r586.orig/debian/README.source +++ vde2-2.3.2+r586/debian/README.source @@ -0,0 +1,8 @@ +This package uses quilt to manage the Debian-specific patches to the VDE +source code. See + + /usr/share/doc/quilt/README.source + +to get more information about how it works. + + -- Ludovico Gardenghi Mon, 16 Jan 2012 13:52:57 +0100 --- vde2-2.3.2+r586.orig/debian/changelog +++ vde2-2.3.2+r586/debian/changelog @@ -0,0 +1,268 @@ +vde2 (2.3.2+r586-2.2) unstable; urgency=medium + + * Maintainers' mailing list address updated (Closes: 899726) + + -- Renzo Davoli Sat, 05 Jan 2019 15:44:02 +0100 + +vde2 (2.3.2+r586-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS with OpenSSL 1.1, patch by Sebastian Andrzej Siewior (Closes: + #836419). + * Add explicit debian/source/format. + + -- Andrey Rahmatullin Sat, 10 Dec 2016 20:23:13 +0500 + +vde2 (2.3.2+r586-2) unstable; urgency=medium + + * Really fix FTBFS on hurd-any (previous patch applied to configure, but + since 2.3.2+r586-1 we also started running autoreconf during build). + Thanks again Gabriele! (Closes: #745430) + + -- Ludovico Gardenghi Sun, 02 Nov 2014 14:26:07 +0100 + +vde2 (2.3.2+r586-1) unstable; urgency=medium + + * No new upstream version, packaging latest SVN revision. + * Accept all NMU patches. Thank you Hector! + * Fix segfault due to race condition in hash.c. Thank you Bas van Sisseren + for the patch! (Closes: #764476) + * Fix vdeterm not correctly restoring terminal when exiting on error. Thank + you Serge Hallyn for the patch! + (Closes: #682759) + * Fix FTBFS on hurd-any. Thanks Gabriele Giacone <1o5g4r8o@gmail.com> for + the patch! (Closes: #745430) + + -- Ludovico Gardenghi Sun, 12 Oct 2014 23:32:56 +0200 + +vde2 (2.3.2-4.2) unstable; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS on kfreebsd, regression due to autoreconf run. + + -- Hector Oron Thu, 18 Sep 2014 15:50:13 +0000 + +vde2 (2.3.2-4.1) unstable; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS on new arches: + - d/control: depend on dh-autoreconf + - d/rules: add autoreconf cdbs rule. + (Closes: #735390) + + -- Hector Oron Wed, 17 Sep 2014 17:55:25 +0000 + +vde2 (2.3.2-4) unstable; urgency=high + + * Add missing Depends on libvde0 in package libvde-dev + + -- Ludovico Gardenghi Sat, 04 Feb 2012 15:56:58 +0100 + +vde2 (2.3.2-3) unstable; urgency=high + + * Add Provides: libvdeplug2-dev to libvdeplug-dev entry, to help smoother + transitions to testing (Closes: #658082) + + -- Ludovico Gardenghi Tue, 31 Jan 2012 11:49:52 +0100 + +vde2 (2.3.2-2) unstable; urgency=low + + * Add patch debian/patches/compile_with_kfreebsd.patch: allow compilation + with kFreeBSD (as for FreeBSD, this removes almost all TUN/TAP support) + - Move TUN/TAP specific files out of *.install files and install them with + dh_install calls in debain/rules + * Put all the copyright files in a single debian/copyright (as suggested by + Jonathan Nieder ) + - Remove the corresponding lintian override + + -- Ludovico Gardenghi Fri, 20 Jan 2012 19:17:30 +0100 + +vde2 (2.3.2-1) unstable; urgency=low + + * New upstream version + * Remove Piotr Roszatycki from Uploaders + (Closes: #636745) + * Suggest qemu-kvm instead of dummy transitional package kvm + (Closes: #646627) + * Add major version in dlopen in libvdeplug_dyn.h to avoid binary dependency + on -dev package (for additional explanations see the header file itself) + Patch file: debian/patches/libvdeplug_dyn_versioned_dlopen.patch + * Add patch for fixing missing format string in fprintf() and syslog() + calls. Patch file: debian/patches/printf_add_format_string.patch + * Add patch for fixing "wrong" SONAME for libraries. -version-number had + been used instead of version-info, this gave incorrect SONAMEs and broke + compatibility between this version and the previous ones (althought there + is no actual ABI incompatibility). + Patch file: debian/patches/fix_soname_version_info.patch + - reset libvdeplug name to libvdeplug2 (w.r.t 2.3.1-1) (Closes: #610933) + * Move /usr/lib/libvdetap.a to -dev package + * Update Standards-Version to 3.9.2: nothing to do + * Switch to CDBS and quilt + * Remove useless .dirs files + + -- Ludovico Gardenghi Thu, 19 Jan 2012 11:35:11 +0100 + +vde2 (2.3.1-1) experimental; urgency=low + + * New upstream version + - bump libvdeplug soname + - ship updated version of slirp (Closes: #460734, #572261) + * Remove debian/patches/dont_use_installpath, use ./configure --sysconfdir + and --localstate dir instead + * Drop soname from libvdeplug3-dev, easier for package build-depending on + the library + * Fix "Timing issue in /etc/network/if-pre-up.d/vde2" by calling vde_tunctl + in ifupdown hooks (Closes: #568363) + * Update standards-version to 3.9.1: stop shipping .la files + + -- Filippo Giunchedi Sun, 05 Sep 2010 16:20:43 +0100 + +vde2 (2.2.3-3) unstable; urgency=low + + * Add "vde2." prefix to configuration files for vde2 package. + * Move "usr/etc" in "etc" after make install as a workaround for bad usage + of INSTALLPATH. + * Install config files for vdecmd and libvdemgmt. + * Install pkg-config files. + * Install vde_tunctl (Closes: #545266). + + -- Luca Bigliardi Sun, 06 Sep 2009 16:18:26 +0100 + +vde2 (2.2.3-2) unstable; urgency=low + + * Change Ludovico Gardenghi's e-mail address. + * Add missing Conflicts/Replaces for libvde0 vs libvdemgmt0 (and -dev). + + -- Ludovico Gardenghi Mon, 31 Aug 2009 12:02:03 +0200 + +vde2 (2.2.3-1) unstable; urgency=low + + [ Luca Bigliardi ] + * Change Luca Bigliardi's e-mail address. + + [ Filippo Giunchedi ] + * New upstream version, remove patches merged upstream: + - remove_numports_limit.patch + - fix_loop_noarg.patch + - fix_output_cosmetic.patch + - plugin_fixes.patch + - dbgout_prototype_change.patch + - allow_mgmtgroup.patch + - vde_kvdeswitchfix.patch + * Rename libvdemgmt in libvde and ship mgmt, snmp and hist there + * Remove transitional vde package + * Update to S-V 3.8.3, no changes needed + * Point copyright files to GPL-2 + + -- Filippo Giunchedi Sun, 30 Aug 2009 22:06:53 +0100 + +vde2 (2.2.2-3) unstable; urgency=low + + [ Ludovico Gardenghi ] + * Fix wrong postinst check for /sbin/MAKEDEV. (Closes: #502708) + + [ Filippo Giunchedi ] + * Add debian/patches/dont_use_installpath.patch to ignore INSTALLPATH for + now (Closes: #502442) + * Install doc/vdecmd in examples + + -- Ludovico Gardenghi Wed, 22 Oct 2008 00:23:48 +0200 + +vde2 (2.2.2-2) unstable; urgency=low + + * Add DM-Upload-Allowed field + * Add Luca Bigliardi as Uploader/DM + * Backport fixes from upstream 2.2.3 into debian/patches: + - allow_mgmtgroup.patch: + add options for group permission on sockets (Closes: #487434) + fix a segfault in handle_input with commandline scripts + - dbgout_prototype_change.patch: + change debug function prototype to include port number + - fix_loop_noarg.patch: + fix an infinite loop in vdeq when provided wrong arguments + - fix_output_cosmetic.patch: + fix usage output in wirefilter + - plugin_fixes.patch: + various fixes in pdump and dump plugins + - remove_numports_limit.patch: + remove the 255 ports limit in vde_plug and vde_plug2tap + fix a segfault while resizing the switch + - vde_kvdeswitchfix.patch: + fixes for kvde_switch + + -- Filippo Giunchedi Wed, 01 Oct 2008 14:00:40 +0200 + +vde2 (2.2.2-1) unstable; urgency=low + + [ Filippo Giunchedi ] + * Remove vde_tunctl manpage and install all manpages instead + + [ Ludovico Gardenghi ] + * New upstream release + + -- Ludovico Gardenghi Tue, 08 Jul 2008 16:43:49 +0200 + +vde2 (2.2.1-1) unstable; urgency=low + + * New upstream release + - fix vlan commands on amd64 (Closes: #484295) + - fix mac addresses switch between ports (Closes: #469098) + * Suggest: qemu and kvm as requested in #461514 + * Expand and spell-check README.Debian, add manual method example + (Closes: #466363) + * Do not assume MAKEDEV presence in postinst + * Remove /usr/bin/daemon usage from ifupdown scripts (and Recommends) + * Add manpage for vde_tunctl + * Upgrade to S-V 3.8.0 (add Homepage field) + + -- Filippo Giunchedi Tue, 17 Jun 2008 15:36:32 +0200 + +vde2 (2.2.0-pre2-1) unstable; urgency=low + + * New upstream version + * Add libvdemgmt packages + + -- Filippo Giunchedi Thu, 31 Jan 2008 00:39:44 +0100 + +vde2 (2.1.6+r154-1) unstable; urgency=low + + * snapshot release from svn to bring some new upstream features and debian + improvements + + [ Ludovico Gardenghi ] + * Fixed a typo in /etc/network/if-pre-up.d/vde2 script (thanks to Scott + Shedden) (Closes: #411400) + + [ Filippo Giunchedi ] + * do not check on interface's name being tap*, ignore interface if there are + no actual vde2-* parameters, thanks Raphael (Closes: #418065) + * fix README.Debian mispelled vde-net group (Closes: #419513) + * document ifupdown "manual" method usage in README.Debian and fix + if-pre-up.d/vde2 + + -- Filippo Giunchedi Fri, 04 May 2007 19:32:22 +0200 + +vde2 (2.1.6-1) unstable; urgency=low + + [ Ludovico Gardenghi ] + * New upstream release + - Piotr's Debian patches merged in upstream + - Fixed typos in wirefilter man page (Closes: #403324) + - Added function prototypes in vde_cryptcab (Closes: #403292) + * Imported Piotr's work: + - Added a vde transitional package to facilitate upgrades + - Improved descriptions + - Added network/if-post-down.d network/if-pre-up.d scripts + + [ Guido Trotter ] + * Added Piotr as an uploader + * Add debhelper tokens to post{inst,rm} + + -- Guido Trotter Wed, 20 Dec 2006 13:04:58 +0000 + +vde2 (2.1.4-1) unstable; urgency=low + + * Initial release + + -- Guido Trotter Tue, 5 Dec 2006 10:57:11 +0200 + --- vde2-2.3.2+r586.orig/debian/compat +++ vde2-2.3.2+r586/debian/compat @@ -0,0 +1 @@ +5 --- vde2-2.3.2+r586.orig/debian/control +++ vde2-2.3.2+r586/debian/control @@ -0,0 +1,122 @@ +Source: vde2 +Section: net +Priority: optional +Maintainer: Debian VSquare Team +Uploaders: Ludovico Gardenghi , Guido Trotter , Filippo Giunchedi , Luca Bigliardi +Build-Depends: debhelper (>= 6.0.7~), libssl-dev, libpcap-dev, cdbs, quilt, dh-autoreconf +Homepage: http://vde.sourceforge.net +Standards-Version: 3.9.6 + +Package: vde2 +Section: net +Architecture: any +Depends: adduser, ${shlibs:Depends}, ${misc:Depends} +Suggests: vde2-cryptcab, libpcap0.8, qemu-kvm, qemu +Replaces: vde +Description: Virtual Distributed Ethernet + VDE is a virtual switch that can connect multiple virtual machines together, + both local and remote. + . + Components of the VDE architecture are VDE switches (virtual counterpart of + ethernet switches) and VDE cables (virtual counterpart of a crossed-cable used + to connect two switches). + . + VDE 2 includes: + - switch management both from console and from a "unix socket terminal" + - VLAN 801.1q + - FSTP (fast spanning tree) + - distributed cable manager using a blowfish encrypted channel + - wire packet filter to emulate delays and packet loss on virtual wires + . + Examples of VDE uses: + - With VDE it is possible to create a virtual network of QEMU machines + running on several real computer + - VDE can be used to create tunnels (even crossing masqueraded networks) + - VDE can provide mobility support + . + The VDE also provides bi-directional pipe command (dpipe) and remote terminal + for unix sockets (unixterm). + . + The Debian package provides a nice extension for /etc/network/interfaces file + for easy set up. + +Package: vde2-cryptcab +Section: net +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Virtual Distributed Ethernet - CryptCab + VDE is a virtual switch that can connect multiple virtual machines together, + both local and remote. + . + Components of the VDE architecture are VDE switches (virtual counterpart of + ethernet switches) and VDE cables (virtual counterpart of a crossed-cable used + to connect two switches). + . + This package contains CryptCab, which can be used to send encrypted data + over an UDP link. + +Package: libvdeplug-dev +Section: libdevel +Architecture: any +Replaces: libvdeplug2-dev +Conflicts: libvdeplug2-dev +Provides: libvdeplug2-dev +Depends: libvdeplug2 (= ${binary:Version}), ${misc:Depends} +Description: Virtual Distributed Ethernet - Plug development files + VDE is a virtual switch that can connect multiple virtual machines together, + both local and remote. + . + Components of the VDE architecture are VDE switches (virtual counterpart of + ethernet switches) and VDE cables (virtual counterpart of a crossed-cable used + to connect two switches). + . + This package contains the development files for libvdeplug. + +Package: libvdeplug2 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Virtual Distributed Ethernet - Plug library + VDE is a virtual switch that can connect multiple virtual machines together, + both local and remote. + . + Components of the VDE architecture are VDE switches (virtual counterpart of + ethernet switches) and VDE cables (virtual counterpart of a crossed-cable used + to connect two switches). + . + This package contains a library that makes programs able to connect to a local + VDE switch. The simplest one is vde_plug, contained in the vde2 package. + +Package: libvde-dev +Section: libdevel +Architecture: any +Depends: libvde0 (= ${binary:Version}), ${misc:Depends} +Conflicts: libvdemgmt0-dev (<= 2.2.2-3) +Replaces: libvdemgmt0-dev, vde2 (<< 2.3.2-1) +Breaks: vde2 (<< 2.3.2-1) +Description: Virtual Distributed Ethernet - support libraries development files + VDE is a virtual switch that can connect multiple virtual machines together, + both local and remote. + . + Components of the VDE architecture are VDE switches (virtual counterpart of + ethernet switches) and VDE cables (virtual counterpart of a crossed-cable used + to connect two switches). + . + This package contains the development files for libvde + +Package: libvde0 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libvdemgmt0 (<= 2.2.2-3) +Replaces: libvdemgmt0 +Description: Virtual Distributed Ethernet - support libraries + VDE is a virtual switch that can connect multiple virtual machines together, + both local and remote. + . + Components of the VDE architecture are VDE switches (virtual counterpart of + ethernet switches) and VDE cables (virtual counterpart of a crossed-cable used + to connect two switches). + . + This package contains a library to interact with vde_switch management console + using pre-made unattended scripts. --- vde2-2.3.2+r586.orig/debian/copyright +++ vde2-2.3.2+r586/debian/copyright @@ -0,0 +1,168 @@ +This package was debianized by Ludovico Gardenghi on +Wed, 14 Jun 2006 14:00:17 +0200. + +It was downloaded from http://vde.sourceforge.net/ + +Copyright (C) 2003-2012 Renzo Davoli and others + +License for the package unless otherwise specified: + + This package 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, version 2 of the License. + + This package 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 package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General Public License can be +found in `/usr/share/common-licenses/GPL-2'. + + +License for libvdeplug2, libvdeplug-dev: + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation version 2.1 of the License, or (at + your option) any later version. + + This library 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 Lesser + General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU Lesser General +Public License can be found in `/usr/share/common-licenses/LGPL'. + + +License for vde2-cryptcab: + + This package 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, version 2 of the License. + + This package 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 package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + This program is released under the GPL with the additional exemption + that compiling, linking, and/or using OpenSSL is allowed. + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. + + +Licences for doc/bochs/ (VDE driver for Bochs): + + Copyright (C) 2003 Renzo Davoli + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + + +Licenses for some components in src/slirpvde in addition to GPL-2: + + Copyright (c) 1995,1996 Danny Gasparovski. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + This product includes software developed by Danny Gasparovski. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + DANNY GASPAROVSKI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + --- + + Copyright (c) 2004 Fabrice Bellard + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + --- + + Copyright (c) 1982, 1986, 1988, 1990, 1993, 1994 + The Regents of the University of California. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. + 4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. --- vde2-2.3.2+r586.orig/debian/libvde-dev.install +++ vde2-2.3.2+r586/debian/libvde-dev.install @@ -0,0 +1,12 @@ +debian/tmp/usr/include/libvdemgmt* +debian/tmp/usr/lib/libvdemgmt*.a +debian/tmp/usr/lib/libvdemgmt*.so +debian/tmp/usr/lib/pkgconfig/vdemgmt.pc +debian/tmp/usr/include/libvdehist* +debian/tmp/usr/lib/libvdehist*.a +debian/tmp/usr/lib/libvdehist*.so +debian/tmp/usr/lib/pkgconfig/vdehist.pc +debian/tmp/usr/include/libvdesnmp* +debian/tmp/usr/lib/libvdesnmp*.a +debian/tmp/usr/lib/libvdesnmp*.so +debian/tmp/usr/lib/pkgconfig/vdesnmp.pc --- vde2-2.3.2+r586.orig/debian/libvde0.install +++ vde2-2.3.2+r586/debian/libvde0.install @@ -0,0 +1,4 @@ +debian/tmp/usr/lib/libvdemgmt*.so.* +debian/tmp/etc/vde2/libvdemgmt/* +debian/tmp/usr/lib/libvdehist*.so.* +debian/tmp/usr/lib/libvdesnmp*.so.* --- vde2-2.3.2+r586.orig/debian/libvde0.lintian-overrides +++ vde2-2.3.2+r586/debian/libvde0.lintian-overrides @@ -0,0 +1,2 @@ +# that's ok, it is an umbrella package +libvde0: package-name-doesnt-match-sonames libvdehist0 libvdemgmt0 libvdesnmp0 --- vde2-2.3.2+r586.orig/debian/libvdeplug-dev.install +++ vde2-2.3.2+r586/debian/libvdeplug-dev.install @@ -0,0 +1,4 @@ +debian/tmp/usr/include/libvdeplug* +debian/tmp/usr/lib/libvdeplug*.a +debian/tmp/usr/lib/libvdeplug*.so +debian/tmp/usr/lib/pkgconfig/vdeplug.pc --- vde2-2.3.2+r586.orig/debian/libvdeplug2.install +++ vde2-2.3.2+r586/debian/libvdeplug2.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/libvdeplug*.so.* --- vde2-2.3.2+r586.orig/debian/network/if-post-down.d/vde2 +++ vde2-2.3.2+r586/debian/network/if-post-down.d/vde2 @@ -0,0 +1,37 @@ +#!/bin/sh + +VDE_SWITCH=/usr/bin/vde_switch +SLIRPVDE=/usr/bin/slirpvde + +# this is not an interesting stanza for us +if [ -z "$IF_VDE2_SWITCH" -a -z "$IF_VDE2_PLUG" -a -z "$IF_VDE2_SLIRP" ]; then + exit 0 +fi + +PIDFILE="/var/run/vde2/$IFACE-plug.pid" +CTLFILE="/var/run/vde2/$IFACE.ctl" +if [ -f $PIDFILE ]; then + start-stop-daemon --stop --quiet --pidfile $PIDFILE + rm -f $PIDFILE +fi + +PIDFILE="/var/run/vde2/$IFACE-slirp.pid" +if [ -f $PIDFILE ]; then + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --oknodo --exec $SLIRPVDE + rm -f $PIDFILE +fi + +PIDFILE="/var/run/vde2/$IFACE.pid" +CTLDIR="/var/run/vde2/$IFACE.ctl" +if [ -f $PIDFILE ]; then + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --oknodo --exec $VDE_SWITCH + rm -f $PIDFILE + + # set the tap interface to non-persistant, see #568363 + vde_tunctl -b -d $IFACE 1>/dev/null +fi + +rm -rf $CTLDIR +rm -f $CTLDIR.* --- vde2-2.3.2+r586.orig/debian/network/if-pre-up.d/vde2 +++ vde2-2.3.2+r586/debian/network/if-pre-up.d/vde2 @@ -0,0 +1,74 @@ +#!/bin/sh + +VDE_SWITCH=/usr/bin/vde_switch +VDE_PLUG=/usr/bin/vde_plug +SLIRPVDE=/usr/bin/slirpvde +DPIPE=/usr/bin/dpipe +RUNDIR=/var/run/vde2 + +USER=vde2-net +GROUP=vde2-net + +if [ ! -x $VDE_SWITCH ] || [ ! -x $SLIRPVDE ]; then + exit 0 +fi + +# this is not an interesting stanza for us +if [ -z "$IF_VDE2_SWITCH" -a -z "$IF_VDE2_PLUG" -a -z "$IF_VDE2_SLIRP" ]; then + exit 0 +fi + + +# Create directory if missing +if [ ! -d $RUNDIR ]; then + mkdir -p $RUNDIR + chown vde2-net:vde2-net $RUNDIR + chmod 2770 $RUNDIR +fi + +# vde2-switch [-|] +if [ -n "$IF_VDE2_SWITCH" ]; then + set -- $IF_VDE2_SWITCH + test "$1" = "-" && shift + PIDFILE="$RUNDIR/$IFACE.pid" + CTLDIR="$RUNDIR/$IFACE.ctl" + MGMTFILE="$RUNDIR/$IFACE.mgmt" + + if [ "$METHOD" = "manual" ]; then + TAPOPTS="" + else + TAPOPTS="-t $IFACE" + fi + + # block to make sure the interface exists, see #568363 + vde_tunctl -b -t $IFACE 1>/dev/null + + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $VDE_SWITCH -- \ + -s $CTLDIR -m 660 -g $GROUP -p $PIDFILE $TAPOPTS \ + -M $MGMTFILE --mgmtmode 660 -d "$@" +fi + +# vde2-plug +if [ -n "$IF_VDE2_PLUG" ]; then + set -- $IF_VDE2_PLUG + PIDFILE="$RUNDIR/$IFACE-plug.pid" + CTLDIR="$RUNDIR/$IFACE.ctl" + + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --make-pidfile --background \ + --exec $DPIPE -- $VDE_PLUG -g $GROUP -m 660 $CTLDIR = "$@" +fi + +# vde2-slirp [-|] +if [ -n "$IF_VDE2_SLIRP" ]; then + set -- $IF_VDE2_SLIRP + test "$1" = "-" && shift + PIDFILE="$RUNDIR/$IFACE-slirp.pid" + CTLDIR="$RUNDIR/$IFACE.ctl" + + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --chuid $USER \ + --exec $SLIRPVDE -- \ + -s $CTLDIR -m 660 -p $PIDFILE -d "$@" +fi --- vde2-2.3.2+r586.orig/debian/patches/compile_with_hurd.patch +++ vde2-2.3.2+r586/debian/patches/compile_with_hurd.patch @@ -0,0 +1,108 @@ +Description: Fix FTBFS on hurd-i386, PATH_MAX and MAXSYMLINKS are not defined + on Hurd. maxsymlinks() from [0] by Justus Winter + [0] http://anonscm.debian.org/gitweb/?p=collab-maint/sysvinit;a=commitdiff;h=b2db6477ee38490a593b14d5ae20f1bef86e65d2 +Author: Gabriele Giacone <1o5g4r8o@gmail.com>, Justus Winter <4winter@informatik.uni-hamburg.de> + +--- a/src/common/canonicalize.c ++++ b/src/common/canonicalize.c +@@ -32,6 +32,24 @@ + #include + #include + ++#ifndef PATH_MAX ++#define PATH_MAX 4096 ++#endif ++ ++/* ++ * Get the maximal number of symlinks to follow. ++ */ ++ ++static int maxsymlinks(void) ++{ ++ int v = sysconf(_SC_SYMLOOP_MAX); ++#ifdef MAXSYMLINKS ++ if (v == -1) ++ return MAXSYMLINKS; ++#endif ++ return v; ++} ++ + /* + * Return the canonical absolute name of file NAME. A canonical name does not + * contain any `.', `..' components nor any repeated path separators ('/') or +@@ -159,7 +177,7 @@ char *vde_realpath(const char *name, cha + { + size_t len; + +- if (++num_links > MAXSYMLINKS) ++ if (++num_links > maxsymlinks()) + { + errno = ELOOP; + goto abort; +--- a/include/vdeplugin.h ++++ b/include/vdeplugin.h +@@ -124,4 +124,8 @@ void qtime_csexit(); + unsigned int qtimer_add(time_t period,int times,void (*call)(),void *arg); + void qtimer_del(unsigned int n); + ++#ifndef PATH_MAX ++#define PATH_MAX 4096 ++#endif ++ + #endif +--- a/include/vde.h ++++ b/include/vde.h +@@ -24,4 +24,8 @@ + */ + #define VDE_PQ + ++#ifndef PATH_MAX ++#define PATH_MAX 4096 ++#endif ++ + #endif +--- a/src/vde_plug2tap.c ++++ b/src/vde_plug2tap.c +@@ -265,6 +265,7 @@ static ssize_t vde_plug2tap_recv(void *o + + int main(int argc, char **argv) + { ++#ifndef VDE_GNU + static char *sockname=NULL; + static char *tapname=NULL; + int daemonize=0; +@@ -417,4 +418,5 @@ int main(int argc, char **argv) + + } + return(0); ++#endif + } +--- a/include/config.h.in ++++ b/include/config.h.in +@@ -312,6 +312,9 @@ + /* If defined, this is a kFreeBSD system */ + #undef VDE_KFREEBSD + ++/* If defined, this is a Hurd system */ ++#undef VDE_GNU ++ + /* If defined, this is a Linux system */ + #undef VDE_LINUX + +--- a/configure.ac ++++ b/configure.ac +@@ -115,9 +115,12 @@ case "$build_os" in + freebsd*) + AC_DEFINE([VDE_FREEBSD], 1, [If defined, this is a FreeBSD system]) + ;; ++ gnu*) ++ AC_DEFINE([VDE_GNU], 1, [If defined, this is a Hurd system]) ++ ;; + *) +- AC_MSG_ERROR([Unsupported OS: $build_os. At the moment, only Linux, Darwin +-and FreeBSD are supported. Contributions are appreciated! :-)]) ++ AC_MSG_ERROR([Unsupported OS: $build_os. At the moment, only Linux, Darwin, ++FreeBSD and Hurd are supported. Contributions are appreciated! :-)]) + ;; + esac + --- vde2-2.3.2+r586.orig/debian/patches/compile_with_kfreebsd.patch +++ vde2-2.3.2+r586/debian/patches/compile_with_kfreebsd.patch @@ -0,0 +1,85 @@ +Index: vde2-2.3.2/src/vde_l3/vde_buff.h +=================================================================== +--- vde2-2.3.2.orig/src/vde_l3/vde_buff.h ++++ vde2-2.3.2/src/vde_l3/vde_buff.h +@@ -27,6 +27,7 @@ + #define PROTO_UDP 17 + + #if defined(VDE_FREEBSD) || defined(VDE_DARWIN) ++# ifndef VDE_KFREEBSD + struct iphdr + { + #if BYTE_ORDER == LITTLE_ENDIAN +@@ -47,6 +48,7 @@ struct iphdr + u_int32_t daddr; + /*The options start here. */ + }; ++# endif // VDE_KFREEBSD + #endif + + struct +Index: vde2-2.3.2/include/config.h.in +=================================================================== +--- vde2-2.3.2.orig/include/config.h.in ++++ vde2-2.3.2/include/config.h.in +@@ -303,9 +303,12 @@ + /* If defined, this is a Darwin system */ + #undef VDE_DARWIN + +-/* If defined, this is a FreeBSD system */ ++/* If defined, this is a FreeBSD/kFreeBSD system */ + #undef VDE_FREEBSD + ++/* If defined, this is a kFreeBSD system */ ++#undef VDE_KFREEBSD ++ + /* If defined, this is a Linux system */ + #undef VDE_LINUX + +Index: vde2-2.3.2/src/vde_pcapplug.c +=================================================================== +--- vde2-2.3.2.orig/src/vde_pcapplug.c ++++ vde2-2.3.2/src/vde_pcapplug.c +@@ -23,6 +23,10 @@ + #include + #include + #include ++#include ++#ifdef VDE_FREEBSD ++#include ++#endif + #include + #include + #include +@@ -35,7 +39,6 @@ + #include + #include + +-#include + #include + #include + #include +Index: vde2-2.3.2/configure.ac +=================================================================== +--- vde2-2.3.2.orig/configure.ac ++++ vde2-2.3.2/configure.ac +@@ -97,6 +97,10 @@ case "$build_os" in + AC_DEFINE([VDE_DARWIN], 1, [If defined, this is a Darwin system]) + darwin_gcc=yes + ;; ++ kfreebsd*) ++ AC_DEFINE([VDE_FREEBSD], 1, [If defined, this is a FreeBSD system]) ++ AC_DEFINE([VDE_KFREEBSD], 1, [If defined, this is a kFreeBSD system]) ++ ;; + freebsd*) + AC_DEFINE([VDE_FREEBSD], 1, [If defined, this is a FreeBSD system]) + ;; +@@ -162,7 +166,7 @@ configuration does work...]) + http://tuntaposx.sourceforge.net/]) + fi + ;; +- freebsd*) ++ kfreebsd*|freebsd*) + AC_CHECK_HEADER([net/if_tun.h], + [AC_DEFINE([HAVE_TUNTAP], 1, [If defined, tuntap support is compiled in])], + [warn_tuntap=yes]) --- vde2-2.3.2+r586.orig/debian/patches/fix_qtime_hash_gc_race_condition.patch +++ vde2-2.3.2+r586/debian/patches/fix_qtime_hash_gc_race_condition.patch @@ -0,0 +1,67 @@ +diff -ru vde2-2.3.2.orig/src/vde_switch/hash.c vde2-2.3.2/src/vde_switch/hash.c +--- vde2-2.3.2.orig/src/vde_switch/hash.c 2011-11-23 17:41:17.000000000 +0100 ++++ vde2-2.3.2/src/vde_switch/hash.c 2014-10-07 13:51:35.396596610 +0200 +@@ -49,8 +49,11 @@ + u_int64_t dst; + }; + ++static int delayed_hash_gc; + static struct hash_entry **h; + ++static void hash_gc(void *arg); // forward declaration ++ + static int calc_hash(u_int64_t src) + { + register int x = src * 0x030507090b0d1113LL; +@@ -89,6 +92,7 @@ + * port */ + int find_in_hash(unsigned char *dst,int vlan) + { ++ if (delayed_hash_gc) hash_gc(NULL); + struct hash_entry *e = find_entry(extmac(dst,vlan)); + if(e == NULL) return -1; + return(e->port); +@@ -102,6 +106,7 @@ + int k = calc_hash(esrc); + int oldport; + time_t now; ++ if (delayed_hash_gc) hash_gc(NULL); + for(e = h[k]; e && e->dst != esrc; e = e->next) + ; + if(e == NULL) { +@@ -267,9 +272,17 @@ + static void hash_gc(void *arg) + { + time_t t = qtime(); ++ delayed_hash_gc = 0; + for_all_hash(&gc, &t); + } + ++/* actual handler which is called every GC_INTERVAL seconds. only set a flag ++ to stay "thread-safe" */ ++static void hash_gc_flag(void *arg) ++{ ++ delayed_hash_gc++; ++} ++ + #define HASH_INIT(BIT) \ + ({ hash_bits=(BIT);\ + hash_mask=HASH_SIZE-1;\ +@@ -310,7 +323,7 @@ + { + qtimer_del(gc_timerno); + gc_interval=p; +- gc_timerno=qtimer_add(gc_interval,0,hash_gc,NULL); ++ gc_timerno=qtimer_add(gc_interval,0,hash_gc_flag,NULL); + return 0; + } + +@@ -410,7 +423,7 @@ + + gc_interval=GC_INTERVAL; + gc_expire=GC_EXPIRE; +- gc_timerno=qtimer_add(gc_interval,0,hash_gc,NULL); ++ gc_timerno=qtimer_add(gc_interval,0,hash_gc_flag,NULL); + ADDCL(cl); + #ifdef DEBUGOPT + ADDDBGCL(dl); --- vde2-2.3.2+r586.orig/debian/patches/fix_soname_version_info.patch +++ vde2-2.3.2+r586/debian/patches/fix_soname_version_info.patch @@ -0,0 +1,47 @@ +Index: vde2-2.3.2/src/lib/Makefile.am +=================================================================== +--- vde2-2.3.2.orig/src/lib/Makefile.am 2011-11-23 17:41:17.000000000 +0100 ++++ vde2-2.3.2/src/lib/Makefile.am 2012-01-16 15:49:37.166791413 +0100 +@@ -17,16 +17,16 @@ + # read before touching http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info + + libvdemgmt_la_LIBADD = $(LIBADD) +-libvdemgmt_la_LDFLAGS = $(AM_LDFLAGS) -version-number 0:0:1 -export-dynamic ++libvdemgmt_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:1:0 -export-dynamic + + libvdesnmp_la_LIBADD = $(LIBADD) $(top_builddir)/src/lib/libvdemgmt.la +-libvdesnmp_la_LDFLAGS = $(AM_LDFLAGS) -version-number 0:0:1 -export-dynamic ++libvdesnmp_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:1:0 -export-dynamic + + libvdeplug_la_LIBADD = $(LIBADD) +-libvdeplug_la_LDFLAGS = $(AM_LDFLAGS) -version-number 3:0:1 -export-dynamic ++libvdeplug_la_LDFLAGS = $(AM_LDFLAGS) -version-info 3:2:1 -export-dynamic + + libvdehist_la_LIBADD = $(LIBADD) +-libvdehist_la_LDFLAGS = $(AM_LDFLAGS) -version-number 0:0:1 -export-dynamic ++libvdehist_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:1:0 -export-dynamic + + if ENABLE_PYTHON + SUBDIRS += . python +Index: vde2-2.3.2/src/lib/Makefile.in +=================================================================== +--- vde2-2.3.2.orig/src/lib/Makefile.in 2011-11-23 17:42:07.000000000 +0100 ++++ vde2-2.3.2/src/lib/Makefile.in 2012-01-16 15:49:56.479132165 +0100 +@@ -320,13 +320,13 @@ + + # read before touching http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info + libvdemgmt_la_LIBADD = $(LIBADD) +-libvdemgmt_la_LDFLAGS = $(AM_LDFLAGS) -version-number 0:0:1 -export-dynamic ++libvdemgmt_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:1:0 -export-dynamic + libvdesnmp_la_LIBADD = $(LIBADD) $(top_builddir)/src/lib/libvdemgmt.la +-libvdesnmp_la_LDFLAGS = $(AM_LDFLAGS) -version-number 0:0:1 -export-dynamic ++libvdesnmp_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:1:0 -export-dynamic + libvdeplug_la_LIBADD = $(LIBADD) +-libvdeplug_la_LDFLAGS = $(AM_LDFLAGS) -version-number 3:0:1 -export-dynamic ++libvdeplug_la_LDFLAGS = $(AM_LDFLAGS) -version-info 3:0:1 -export-dynamic + libvdehist_la_LIBADD = $(LIBADD) +-libvdehist_la_LDFLAGS = $(AM_LDFLAGS) -version-number 0:0:1 -export-dynamic ++libvdehist_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:1:0 -export-dynamic + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = vdesnmp.pc vdemgmt.pc vdeplug.pc vdehist.pc + all: all-recursive --- vde2-2.3.2+r586.orig/debian/patches/libvdeplug_dyn_versioned_dlopen.patch +++ vde2-2.3.2+r586/debian/patches/libvdeplug_dyn_versioned_dlopen.patch @@ -0,0 +1,39 @@ +Index: vde2-2.3.2/include/libvdeplug_dyn.h +=================================================================== +--- vde2-2.3.2.orig/include/libvdeplug_dyn.h 2012-01-15 20:53:00.000000000 +0100 ++++ vde2-2.3.2/include/libvdeplug_dyn.h 2012-01-15 20:53:11.000000000 +0100 +@@ -57,6 +57,25 @@ + #include + #define LIBVDEPLUG_INTERFACE_VERSION 1 + ++/* ++ * Define the dlopen default filename as the versioned shared object name ++ * instead than the plain ".so" filename. This is needed on Debian as the ++ * unversioned symlink (e.g. "libvdeplug.so") is not included in the binary ++ * package but only in the development one. ++ * ++ * libvdeplug can work flawlessly without specifying the SONAME as the interface ++ * is meant to be always backwards-compatible; however, the Debian policy is ++ * against putting .so symlinks in the binary packages as in general is not safe ++ * to link or dlopen unversioned shared objects. ++ * ++ * If this header file is used to generate binaries meant to be used on other ++ * distributions, it could be safe to redefine LIBVDEPLUG_DLOPEN_FILENAME with ++ * the unversioned name. ++ */ ++#ifndef LIBVDEPLUG_DLOPEN_FILENAME ++#define LIBVDEPLUG_DLOPEN_FILENAME "libvdeplug.so.2" ++#endif ++ + struct vdeconn; + typedef struct vdeconn VDECONN; + +@@ -113,7 +132,7 @@ + typedef void (* VDESTREAM_CLOSE_T)(VDESTREAM *vdestream); + + #define libvdeplug_dynopen(x) ({ \ +- (x).dl_handle=dlopen("libvdeplug.so",RTLD_NOW); \ ++ (x).dl_handle=dlopen(LIBVDEPLUG_DLOPEN_FILENAME,RTLD_NOW); \ + if ((x).dl_handle) { \ + (x).vde_open_real=(VDE_OPEN_REAL_T) dlsym((x).dl_handle,"vde_open_real"); \ + (x).vde_recv=(VDE_RECV_T) dlsym((x).dl_handle,"vde_recv"); \ --- vde2-2.3.2+r586.orig/debian/patches/series +++ vde2-2.3.2+r586/debian/patches/series @@ -0,0 +1,7 @@ +libvdeplug_dyn_versioned_dlopen.patch +fix_soname_version_info.patch +compile_with_kfreebsd.patch +compile_with_hurd.patch +vdeterm_terminal_reset.patch +fix_qtime_hash_gc_race_condition.patch +vde_cryptcab-compile-against-openssl-1.1.0.patch --- vde2-2.3.2+r586.orig/debian/patches/vde_cryptcab-compile-against-openssl-1.1.0.patch +++ vde2-2.3.2+r586/debian/patches/vde_cryptcab-compile-against-openssl-1.1.0.patch @@ -0,0 +1,110 @@ +## Description: add some description +## Origin/Author: add some origin or author +## Bug: bug URL +From 5f2c4c7b67617991af65798a4d177ada90f7e463 Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior +Date: Fri, 2 Sep 2016 19:52:49 +0000 +Subject: [PATCH] vde_cryptcab: compile against openssl 1.1.0 + +Signed-off-by: Sebastian Andrzej Siewior +--- + src/vde_cryptcab/cryptcab.c | 30 +++++++++++++++++++----------- + 1 file changed, 19 insertions(+), 11 deletions(-) + +diff --git a/src/vde_cryptcab/cryptcab.c b/src/vde_cryptcab/cryptcab.c +index c5b4474..a2780f1 100644 +--- a/src/vde_cryptcab/cryptcab.c ++++ b/src/vde_cryptcab/cryptcab.c +@@ -22,7 +22,7 @@ static void Usage(char *programname) + exit(1); + } + +-static EVP_CIPHER_CTX ctx; ++static EVP_CIPHER_CTX *ctx; + static int ctx_initialized = 0; + static int encryption_disabled = 0; + static int nfd; +@@ -30,6 +30,10 @@ static unsigned long long mycounter=1; + static struct vde_open_args open_args={.port=0,.group=NULL,.mode=0700}; + static int verbose = 0; + ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++#define EVP_CIPHER_CTX_reset(x) EVP_CIPHER_CTX_cleanup(x) ++#endif ++ + void vc_printlog(int priority, const char *format, ...) + { + va_list arg; +@@ -105,19 +109,21 @@ int data_encrypt(unsigned char *src, unsigned char *dst, int len, struct peer *p + } + + if (!ctx_initialized) { +- EVP_CIPHER_CTX_init (&ctx); ++ ctx = EVP_CIPHER_CTX_new (); ++ if (!ctx) ++ return -1; + ctx_initialized = 1; + } + +- EVP_EncryptInit (&ctx, EVP_bf_cbc (), p->key, p->iv); +- if (EVP_EncryptUpdate (&ctx, dst, &olen, src, len) != 1) ++ EVP_EncryptInit (ctx, EVP_bf_cbc (), p->key, p->iv); ++ if (EVP_EncryptUpdate (ctx, dst, &olen, src, len) != 1) + { + fprintf (stderr,"error in encrypt update\n"); + olen = -1; + goto cleanup; + } + +- if (EVP_EncryptFinal (&ctx, dst + ulen, &tlen) != 1) ++ if (EVP_EncryptFinal (ctx, dst + ulen, &tlen) != 1) + { + fprintf (stderr,"error in encrypt final\n"); + olen = -1; +@@ -126,7 +132,7 @@ int data_encrypt(unsigned char *src, unsigned char *dst, int len, struct peer *p + olen += tlen; + + cleanup: +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_reset(ctx); + return olen; + } + +@@ -142,19 +148,21 @@ int data_decrypt(unsigned char *src, unsigned char *dst, int len, struct peer *p + } + + if (!ctx_initialized) { +- EVP_CIPHER_CTX_init (&ctx); ++ ctx = EVP_CIPHER_CTX_new (); ++ if (!ctx) ++ return -1; + ctx_initialized = 1; + } + +- EVP_DecryptInit (&ctx, EVP_bf_cbc (), p->key, p->iv); +- if (EVP_DecryptUpdate (&ctx, dst, &olen, src, ulen) != 1) ++ EVP_DecryptInit (ctx, EVP_bf_cbc (), p->key, p->iv); ++ if (EVP_DecryptUpdate (ctx, dst, &olen, src, ulen) != 1) + { + fprintf (stderr,"error in decrypt update\n"); + olen = -1; + goto cleanup; + } + +- if (EVP_DecryptFinal (&ctx, dst + ulen, &tlen) != 1) ++ if (EVP_DecryptFinal (ctx, dst + ulen, &tlen) != 1) + { + fprintf (stderr,"error in decrypt final, ulen = %d, tlen = %d\n", ulen, tlen); + olen = -1; +@@ -163,7 +171,7 @@ int data_decrypt(unsigned char *src, unsigned char *dst, int len, struct peer *p + olen += tlen; + + cleanup: +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_reset (ctx); + return olen; + } + +-- +2.9.3 + --- vde2-2.3.2+r586.orig/debian/patches/vdeterm_terminal_reset.patch +++ vde2-2.3.2+r586/debian/patches/vdeterm_terminal_reset.patch @@ -0,0 +1,31 @@ +Description: don't reset terminal too early +Author: Serge Hallyn +Forwarded: yes + +Index: vde2-2.3.2/src/vdeterm.c +=================================================================== +--- vde2-2.3.2.orig/src/vdeterm.c 2011-11-23 10:41:18.000000000 -0600 ++++ vde2-2.3.2/src/vdeterm.c 2012-07-24 17:25:52.293126588 -0500 +@@ -20,11 +20,13 @@ + + char *prompt; + static struct termios tiop; ++int termset = 0; + + static void cleanup(void) + { + fprintf(stderr,"\n"); +- tcsetattr(STDIN_FILENO,TCSAFLUSH,&tiop); ++ if (termset) ++ tcsetattr(STDIN_FILENO,TCSAFLUSH,&tiop); + } + + static void sig_handler(int sig) +@@ -135,6 +137,7 @@ + newtiop.c_lflag &= ~ICANON; + newtiop.c_lflag &= ~ECHO; + tcsetattr(STDIN_FILENO,TCSAFLUSH,&newtiop); ++ termset = 1; + flags = fcntl(fd, F_GETFL); + flags |= O_NONBLOCK; + fcntl(fd, F_SETFL, flags); --- vde2-2.3.2+r586.orig/debian/rules +++ vde2-2.3.2+r586/debian/rules @@ -0,0 +1,29 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/buildcore.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk +include /usr/share/cdbs/1/rules/autoreconf.mk + +DEB_CONFIGURE_EXTRA_FLAGS = --enable-experimental --disable-python + +# TUN/TAP is almost unsupported on kFreeBSD, so install the corresponding files +# only on Linux. +binary-install/vde2:: + if test "x`uname -s`" = "xLinux"; then \ + dh_install -pvde2 debian/tmp/usr/sbin/vde_tunctl; \ + dh_install -pvde2 debian/tmp/usr/lib/vde2/libvdetap.so; \ + dh_install -pvde2 debian/tmp/usr/lib/vde2/vdetap; \ + dh_installman -pvde2 debian/tmp/usr/share/man/man8/vde_tunctl.8; \ + dh_installman -pvde2 debian/tmp/usr/share/man/man1/vdetaplib.1; \ + fi + +binary-install/libvde-dev:: + if test "x`uname -o`" = "xGNU/Linux"; then \ + dh_install -plibvde-dev debian/tmp/usr/lib/vde2/libvdetap.a; \ + fi + +install/vde2:: + install -D -m 0755 debian/network/if-pre-up.d/vde2 debian/vde2/etc/network/if-pre-up.d/vde2 + install -D -m 0755 debian/network/if-post-down.d/vde2 debian/vde2/etc/network/if-post-down.d/vde2 --- vde2-2.3.2+r586.orig/debian/source/format +++ vde2-2.3.2+r586/debian/source/format @@ -0,0 +1 @@ +1.0 --- vde2-2.3.2+r586.orig/debian/vde2-cryptcab.install +++ vde2-2.3.2+r586/debian/vde2-cryptcab.install @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/*cryptcab* +debian/tmp/usr/share/man/man1/*cryptcab* --- vde2-2.3.2+r586.orig/debian/vde2.docs +++ vde2-2.3.2+r586/debian/vde2.docs @@ -0,0 +1 @@ +README --- vde2-2.3.2+r586.orig/debian/vde2.examples +++ vde2-2.3.2+r586/debian/vde2.examples @@ -0,0 +1,4 @@ +src/vde_switch/plugins/pdump.c +src/vde_switch/plugins/dump.c +include/vdeplugin.h +doc/vdecmd --- vde2-2.3.2+r586.orig/debian/vde2.install +++ vde2-2.3.2+r586/debian/vde2.install @@ -0,0 +1,35 @@ +debian/tmp/etc/vde2/vdecmd +debian/tmp/usr/bin/dpipe +debian/tmp/usr/bin/slirpvde +debian/tmp/usr/bin/unixcmd +debian/tmp/usr/bin/unixterm +debian/tmp/usr/bin/vde_autolink +debian/tmp/usr/bin/vde_l3 +debian/tmp/usr/bin/vde_over_ns +debian/tmp/usr/bin/vde_pcapplug +debian/tmp/usr/bin/vde_plug +debian/tmp/usr/bin/vde_plug2tap +debian/tmp/usr/bin/vdeq +debian/tmp/usr/bin/vde_switch +debian/tmp/usr/bin/vdeterm +debian/tmp/usr/bin/wirefilter +debian/tmp/usr/share/man/man1/dpipe.1 +debian/tmp/usr/share/man/man1/slirpvde.1 +debian/tmp/usr/share/man/man1/unixcmd.1 +debian/tmp/usr/share/man/man1/unixterm.1 +debian/tmp/usr/share/man/man1/vde_autolink.1 +debian/tmp/usr/share/man/man1/vde_l3.1 +debian/tmp/usr/share/man/man1/vde_over_ns.1 +debian/tmp/usr/share/man/man1/vde_pcapplug.1 +debian/tmp/usr/share/man/man1/vde_plug.1 +debian/tmp/usr/share/man/man1/vde_plug2tap.1 +debian/tmp/usr/share/man/man1/vdeq.1 +debian/tmp/usr/share/man/man1/vde_switch.1 +debian/tmp/usr/share/man/man1/vdeterm.1 +debian/tmp/usr/share/man/man1/wirefilter.1 +debian/tmp/usr/lib/vde2/plugins/dump.so +debian/tmp/usr/lib/vde2/plugins/iplog.so +debian/tmp/usr/lib/vde2/plugins/pdump.so +debian/tmp/usr/lib/vde2/vde_l3/bfifo.so +debian/tmp/usr/lib/vde2/vde_l3/pfifo.so +debian/tmp/usr/lib/vde2/vde_l3/tbf.so --- vde2-2.3.2+r586.orig/debian/vde2.postinst +++ vde2-2.3.2+r586/debian/vde2.postinst @@ -0,0 +1,25 @@ +#!/bin/sh + +set -e + +if [ "$1" = "configure" ]; then + if ! getent passwd vde2-net >/dev/null; then + adduser --quiet --system --group --no-create-home --home /var/run/vde2 vde2-net + fi + + if ! [ -d /var/run/vde2 ]; then + mkdir -p /var/run/vde2 + fi + + if ! dpkg-statoverride --list /var/run/vde2 >/dev/null; then + chown vde2-net:vde2-net /var/run/vde2 + chmod 2770 /var/run/vde2 + fi + + if [ ! -e /dev/.devfsd ] && [ ! -e /dev/net/tun ] && [ -x /dev/MAKEDEV ]; then + (cd /dev && ./MAKEDEV tun) + fi +fi + +#DEBHELPER# + --- vde2-2.3.2+r586.orig/debian/vde2.postrm +++ vde2-2.3.2+r586/debian/vde2.postrm @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +if [ "$1" = "purge" ] ; then + deluser --quiet vde2-net 2>/dev/null || true + delgroup --quiet vde2-net 2>/dev/null || true +fi + +#DEBHELPER# --- vde2-2.3.2+r586.orig/debian/watch +++ vde2-2.3.2+r586/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/vde/vde2-(.*)\.tar\.gz