--- 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,311 @@ +vde2 (2.3.2+r586-7) unstable; urgency=medium + + * d/control: Fix Breaks and Replaces again (Closes: #971972) + + -- Andrea Capriotti Thu, 15 Oct 2020 22:08:26 +0200 + +vde2 (2.3.2+r586-6) unstable; urgency=medium + + * d/control: Fix missing Breaks and Replaces (Closes: #971972) + * d/control: Suggest qemu-system instead of qemu (Closes: #966255) + * d/control: Fix short description (Closes: #972002) + + -- Andrea Capriotti Tue, 13 Oct 2020 14:09:22 +0200 + +vde2 (2.3.2+r586-5) unstable; urgency=medium + + * d/copyright: Fix missing copyright attributions (Closes: #962492) + + -- Andrea Capriotti Fri, 17 Jul 2020 19:16:24 +0200 + +vde2 (2.3.2+r586-4) unstable; urgency=medium + + * Bump debhelper's compat level to 10. + * Bump Standards-Version to 4.4.1. + * Add Andrea Capriotti as Uploader. + * Add Vcs-Git and Vcs-Browser. + + -- Andrea Capriotti Sun, 29 Dec 2019 15:57:07 +0100 + +vde2 (2.3.2+r586-3) unstable; urgency=medium + + * Split binary packages for vdeplug4 migration. + vdeplug4 is going to provide a new codebase for vde_plug and dpipe, + a complete rewrite of vde_switch and wirefilter is ongoing. + The new tools are backwards compatible with vde2. + A splitting of the binary packages is needed so that the tools + can be upgraded one by one. Packages with the same name, higher + version, will override those provided by vde2. In the new codebase + each tool is provided by a different upstream repository. + More info on the new vde architecture: https://frama.link/-ckvuxxq + + -- Renzo Davoli Sat, 23 Nov 2019 10:50:59 +0100 + +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 @@ +10 --- vde2-2.3.2+r586.orig/debian/control +++ vde2-2.3.2+r586/debian/control @@ -0,0 +1,172 @@ +Source: vde2 +Section: net +Priority: optional +Maintainer: Debian VSquare Team +Uploaders: Ludovico Gardenghi , Guido Trotter , Filippo Giunchedi , Luca Bigliardi , Andrea Capriotti +Build-Depends: debhelper (>= 10), libssl-dev, libpcap-dev, cdbs, quilt +Homepage: http://vde.sourceforge.net +Vcs-Git: https://salsa.debian.org/virtualsquare-team/vde2.git +Vcs-Browser: https://salsa.debian.org/virtualsquare-team/vde2 +Standards-Version: 4.4.1 + +Package: vde2 +Section: net +Architecture: any +Depends: adduser, vdeplug, vde-wirefilter, vde-switch, ${shlibs:Depends}, ${misc:Depends} +Suggests: vde2-cryptcab, libpcap0.8, qemu-system +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 + . + 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: vde-switch +Section: net +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libvdeplug2 +Breaks: vde2 (<< 2.3.2+r586-3) +Replaces: vde2 (<< 2.3.2+r586-3) +Description: Virtual Distributed Ethernet. Virtual Switch command. + 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 vde_switch, the vde virtual switch + +Package: vdeplug +Section: net +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libvdeplug2 +Breaks: vde2 (<< 2.3.2+r586-3) +Replaces: vde2 (<< 2.3.2+r586-3) +Description: Virtual Distributed Ethernet. Plug command. + 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 vde_plug, the utility to connect switches. + +Package: vde-wirefilter +Section: net +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libvdeplug2 +Breaks: vde2 (<< 2.3.2+r586-3) +Replaces: vde2 (<< 2.3.2+r586-3) +Description: Virtual Distributed Ethernet. wirefilter command. + 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 wirefilter to emulate delays and packet loss on virtual + wires + +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,394 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: * +Copyright: 2003-2020 Renzo Davoli +License: GPL-2 + +Files: debian/* +Copyright: 2003-2020 Renzo Davoli + 2020 Andrea Capriotti +License: GPL-2+ + +Files: src/dpipe.c +Copyright: 2003 Renzo Davoli +License: GPL-1+ + +Files: src/unixcmd.c +Copyright: 2007 Renzo Davoli, Luca Bigliardi +License: GPL-2+ + +Files: src/vde_autolink.c + src/vde_pcapplug.c +Copyright: 2007,2008 Luca Bigliardi +License: GPL-2+ + +Files: src/vde_plug.c +Copyright: 2002 Renzo Davoli +License: GPL-1+ + +Files: src/unixterm.c + src/vde_plug2tap.c + src/wirefilter.c + src/vdetaplib/libvdetap.c + src/vdetaplib/test.c + src/vdetaplib/vdetap.c + src/vde_switch/bitarray.h + src/vdeterm.c + src/vde_switch/fstp.c + src/vde_switch/fstp.h + src/vde_switch/packetq.c + src/vde_switch/packetq.h + src/vde_switch/qtimer.c + src/vde_switch/plugins/iplog.c +Copyright: 2004-2006 Renzo Davoli +License: GPL-2 + +Files: src/vde_tunctl.c + src/vdeq.c + src/vde_switch/consmgmt.h + src/vde_switch/datasock.h + src/vde_switch/tuntap.h +Copyright: 2002-2003 Jeff Dike +License: GPL-1+ + +Files: src/vde_switch/consmgmt.c +Copyright: 2005,2006,2007 Renzo Davoli + 2004 Mattia Belletti + 2007 Ludovico Gardenghi, Filippo Giunchedi, Luca Bigliardi +License: GPL-2 + +Files: src/vde_switch/datasock.c +Copyright: 2005 Renzo Davoli + 2004 Mattia Belletti +License: GPL-2 + +Files: src/vde_switch/hash.c +Copyright: 2005 Renzo Davoli + 2002 Yon Uriarte and Jeff Dike +License: GPL-2 + +Files: src/vde_switch/port.c + src/vde_switch/hash.h + src/vde_switch/port.h + src/vde_switch/switch.h +Copyright: 2005 Renzo Davoli + 2002 Yon Uriarte and Jeff Dike +License: GPL-2 + +Files: src/vde_switch/sockutils.c + src/vde_switch/sockutils.h + src/vde_switch/tuntap.c + src/kvde_switch/datasock.c +Copyright: 2005 Renzo Davoli + 2004 Mattia Belletti +License: GPL-2 + +Files: src/vde_switch/vde_switch.c +Copyright: 2005 Renzo Davoli + 2001-2002 Jeff Dike +License: GPL-1+ + +Files: src/lib/libvdeplug.c + src/lib/libvdehist.c +Copyright: 2006-2011 Renzo Davoli +License: LGPL-2.1+ + +Files: src/lib/libvdemgmt.c +Copyright: 2007 Luca Bigliardi +License: GPL-2+ + +Files: src/lib/libvdesnmp.c +Copyright: 2007 Filippo Giunchedi +License: GPL-2+ + +Files: src/lib/python/VdePlug.py + src/lib/python/vdeplug_python.c +Copyright: 2010 Daniele Lacamera +License: LGPL-2.1 + +Files: src/kvde_switch/consmgmt.c +Copyright: 2005,2006,2007 Renzo Davoli + 2007 Ludovico Gardenghi, Filippo Giunchedi, Luca Bigliardi + 2004 Mattia Belletti +License: GPL-2 + +Files: src/kvde_switch/consmgmt.h + src/kvde_switch/datasock.h +Copyright: 2002 Jeff Dike +License: GPL-1+ + +Files: src/kvde_switch/kvde_switch.c +Copyright: 2005 Renzo Davoli + 2001, 2002 Jeff Dike + 2005 Ludovico Gardenghi +License: GPL-1+ + +Files: src/kvde_switch/sockutils.c +Copyright: 2005 Renzo Davoli + 2004 Mattia Belletti +License: GPL-2 + +Files: src/kvde_switch/sockutils.h +Copyright: 2005 Renzo Davoli + 2004 Mattia Belletti +License: GPL-2 + +Files: src/common/canonicalize.c +Copyright: 1996-2001, 2002 Free Software Foundation, Inc. + 2005-2006 Renzo Davoli + 2008 Ludovico Gardenghi +License: LGPL-2.1+ + +Files: src/common/cmdparse.c +Copyright: 2007 Renzo Davoli, Luca Bigliardi +License: GPL-2+ + +Files: src/common/open_memstream.c +Copyright: 2005 Richard Kettlewell +License: GPL-2+ + +Files: src/common/poll.c +Copyright: 2005 Ludovico Gardenghi +License: GPL-2 + +Files: src/slirpvde/*: +Copyright: 1982, 1986, 1988, 1990, 1992-1994, The Regents of the University of California. +License: BSD-3-clause + +Files: src/slirpvde/debug.h + src/slirpvde/if.c + src/slirpvde/if.h + src/slirpvde/main.h + src/slirpvde/mbuf.c + src/slirpvde/misc.c + src/slirpvde/misc.h + src/slirpvde/sbuf.c + src/slirpvde/sbuf.h + src/slirpvde/socket.c + src/slirpvde/socket.h +Copyright: 1995 Danny Gasparovski +License: BSD-3-clause + +Files: src/slirpvde/bootp.c +Copyright: 2004 Fabrice Bellard +License: Expat + +Files: src/slirpvde/slirp.c +Copyright: 2004-2008 Fabrice Bellard +License: Expat + +Files: src/slirpvde/slirpvde.c +Copyright: 2003-2007 Renzo Davoli + 2005 Ludovico Gardenghi +License: GPL-1+ + +Files: src/slirpvde/tcp2unix.c +Copyright: 2007 Renzo Davoli +License: GPL-2 + +Files: src/slirpvde/tcp2unix.h +Copyright: 2007 Renzo Davoli +License: GPL-2 + +Files: src/slirpvde/tftp.c +Copyright: 2004 Magnus Damm +License: Expat + +Files: src/vde_over_ns/* +Copyright: 2007 Daniele Lacamera + 2000 Florian Heinz and Julien Oster +License: GPL-2 + +Files: src/vde_l3/* +Copyright: 2007 Daniele Lacamera +License: GPL-2 + +Files: src/vde_vxlan/* +Copyright: 2014 Renzo Davoli, Alessandro Ghedini VirtualSquare +License: GPL-2+ + +Files: src/vde_cryptcab/* +Copyright: 2006-2008 Daniele Lacamera +License: GPL-2 + +Files: src/vde_router/* +Copyright: 2007-2011 Daniele Lacamera +License: GPL-2 + +Files: src/vde_router/rbtree.c +Copyright: 1999 Andrea Arcangeli + 2002 David Woodhouse +License: GPL-2+ + +Files: src/vde_router/rbtree.h +Copyright: 1999 Andrea Arcangeli +License: GPL-2+ + +Files: include/canonicalize.h +Copyright: 1996-2001, 2002 Free Software Foundation, Inc. + 2005-2006 Renzo Davoli + 2008 Ludovico Gardenghi +License: LGPL-2.1+ + +Files: include/libvdeplug.h + include/libvdeplug_dyn.h + include/libvdehist.h +Copyright: 2006,2007 Renzo Davoli +License: LGPL-2.1+ + +Files: include/cmdparse.h +Copyright: 2007 Renzo Davoli, Luca Bigliardi +License: GPL-2+ + +Files: include/libvdemgmt.h +Copyright: 2007 Luca Bigliardi +License: GPL-2+ + +Files: include/libvdesnmp.h +Copyright: 2007 Filippo Giunchedi +License: GPL-2+ + +Files: doc/bochs/eth_vde.cc +Copyright: 2003 Renzo Davoli +License: LGPL-2.1+ + +Files: doc/vdeqemu-HOWTO +Copyright: 2004 Jim Brown +License: GFDL-1.2+ + +License: BSD-3-clause + 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. 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. + +License: Expat + 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. + +License: GPL-1+ + Licensed under the GPL + . + On Debian systems, the full text of the GNU General Public + License version 2 can be found in the file + '/usr/share/common-licenses/GPL-1' + +License: GPL-2 + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2, as + published by the Free Software Foundation. + . + 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., 51 Franklin St, Fifth Floor, Boston,MA 02110-1301, USA. + . + On Debian systems, the full text of the GNU General Public + License version 2 can be found in the file + '/usr/share/common-licenses/GPL-2' + +License: GPL-2+ + 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., 51 Franklin St, Fifth Floor, Boston,MA 02110-1301, USA. + . + On Debian systems, the full text of the GNU General Public + License version 2 can be found in the file + '/usr/share/common-licenses/GPL-2' + +License: LGPL-2.1+ + 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.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 full text of the GNU General Public + License version 2 can be found in the file + '/usr/share/common-licenses/LGPL-2.1' + +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License version 2.1 as published by the Free Software Foundation. + . + 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 full text of the GNU General Public + License version 2 can be found in the file + '/usr/share/common-licenses/LGPL-2.1' + +License: GFDL-1.2+ + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is available at http://www.gnu.org/licenses/fdl.txt + . + On Debian systems, the full text of the GNU General Public + License version 2 can be found in the file + '/usr/share/common-licenses/GFDL-1.2' + --- vde2-2.3.2+r586.orig/debian/gbp.conf +++ vde2-2.3.2+r586/debian/gbp.conf @@ -0,0 +1,4 @@ +[DEFAULT] +upstream-branch=upstream +debian-branch=debian/sid +upstream-tag = upstream/%(version)s --- 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,96 @@ +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 @@ + { + 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 @@ + 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 @@ + + int main(int argc, char **argv) + { ++#ifndef VDE_GNU + static char *sockname=NULL; + static char *tapname=NULL; + int daemonize=0; +@@ -417,4 +418,5 @@ + + } + return(0); ++#endif + } +--- a/configure.ac ++++ b/configure.ac +@@ -115,9 +115,12 @@ + 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,61 @@ +--- a/src/vde_l3/vde_buff.h ++++ b/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 @@ + u_int32_t daddr; + /*The options start here. */ + }; ++# endif // VDE_KFREEBSD + #endif + + struct +--- a/src/vde_pcapplug.c ++++ b/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 +--- a/configure.ac ++++ b/configure.ac +@@ -108,6 +108,10 @@ + 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]) + ;; +@@ -192,7 +196,7 @@ + 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,66 @@ +--- a/src/vde_switch/hash.c ++++ b/src/vde_switch/hash.c +@@ -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) + { + src ^= src >> 33; +@@ -90,6 +93,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); +@@ -103,6 +107,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) { +@@ -268,9 +273,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;\ +@@ -311,7 +324,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; + } + +@@ -411,7 +424,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,23 @@ +--- a/src/lib/Makefile.am ++++ b/src/lib/Makefile.am +@@ -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 --- 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,37 @@ +--- a/include/libvdeplug_dyn.h ++++ b/include/libvdeplug_dyn.h +@@ -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,105 @@ +## 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(-) + +--- a/src/vde_cryptcab/cryptcab.c ++++ b/src/vde_cryptcab/cryptcab.c +@@ -22,7 +22,7 @@ + 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 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 @@ + } + + 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 @@ + olen += tlen; + + cleanup: +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_reset(ctx); + return olen; + } + +@@ -142,19 +148,21 @@ + } + + 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 @@ + olen += tlen; + + cleanup: +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_reset (ctx); + return olen; + } + --- 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,29 @@ +Description: don't reset terminal too early +Author: Serge Hallyn +Forwarded: yes + +--- a/src/vdeterm.c ++++ b/src/vdeterm.c +@@ -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/vde-switch.install +++ vde2-2.3.2+r586/debian/vde-switch.install @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/vde_switch +debian/tmp/usr/share/man/man1/vde_switch.1 --- vde2-2.3.2+r586.orig/debian/vde-wirefilter.install +++ vde2-2.3.2+r586/debian/vde-wirefilter.install @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/wirefilter +debian/tmp/usr/share/man/man1/wirefilter.1 --- 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,27 @@ +debian/tmp/etc/vde2/vdecmd +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_plug2tap +debian/tmp/usr/bin/vdeq +debian/tmp/usr/bin/vdeterm +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_plug2tap.1 +debian/tmp/usr/share/man/man1/vdeq.1 +debian/tmp/usr/share/man/man1/vdeterm.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/vdeplug.install +++ vde2-2.3.2+r586/debian/vdeplug.install @@ -0,0 +1,4 @@ +debian/tmp/usr/bin/dpipe +debian/tmp/usr/bin/vde_plug +debian/tmp/usr/share/man/man1/dpipe.1 +debian/tmp/usr/share/man/man1/vde_plug.1 --- 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