* add vde2
This commit is contained in:
parent
6d2420541d
commit
c7bf4ffe30
53
vde2/PKGBUILD
Normal file
53
vde2/PKGBUILD
Normal file
@ -0,0 +1,53 @@
|
||||
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
|
||||
# Contributor: Sergej Pupykin
|
||||
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
|
||||
pkgname=vde2
|
||||
pkgver=2.3.2
|
||||
pkgrel=11
|
||||
pkgdesc="Virtual Distributed Ethernet for emulators like qemu"
|
||||
url="https://sourceforge.net/projects/vde/"
|
||||
license=("GPL" "LGPL" "CUSTOM")
|
||||
arch=(x86_64 powerpc64le)
|
||||
depends=('bash' 'libpcap' 'openssl')
|
||||
makedepends=('python')
|
||||
source=(https://downloads.sourceforge.net/vde/$pkgname-$pkgver.tar.bz2
|
||||
vde_cryptcab-compile-against-openssl-1.1.0.patch
|
||||
dhcpd.conf.sample
|
||||
iptables.rules.sample
|
||||
vde-config.sample
|
||||
vde-connection.sample)
|
||||
install=vde2.install
|
||||
options=(!makeflags)
|
||||
sha256sums=('cbea9b7e03097f87a6b5e98b07890d2275848f1fe4b9fcda77b8994148bc9542'
|
||||
'110370a5f48f1e241d43f8bb5e3ea6d2ca7d2c1949e1cf672d03bfc897f2e11f'
|
||||
'da0e2766dc63069da929c28126831ad5fdddcc4a04105a21217d78832c7ca1bc'
|
||||
'99076d7466cd99673dbe91ef83865187e7868177959b38e125df63eea957f83e'
|
||||
'5727c215646333c37b26388146cd3e6b3814b88d60d54051d7da99e00c0aef87'
|
||||
'5139110ed6d5d1174bf12971512dac5196d9d07df46dd393d7b1cd083118fe9b')
|
||||
|
||||
prepare() {
|
||||
cd $pkgname-$pkgver
|
||||
patch -Np1 -i ../vde_cryptcab-compile-against-openssl-1.1.0.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
./configure --build=$CHOST \
|
||||
--prefix=/usr \
|
||||
--sbindir=/usr/bin \
|
||||
--sysconfdir=/etc \
|
||||
--libexecdir=/usr/lib/vde2 \
|
||||
--enable-experimental
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
make prefix=$pkgdir/usr sysconfdir=$pkgdir/etc sbindir=$pkgdir/usr/bin libexecdir=$pkgdir/usr/lib/vde2 install
|
||||
install -D -m 644 ../vde-config.sample $pkgdir/etc/vde/vde-config.sample
|
||||
install -D -m 644 ../vde-connection.sample $pkgdir/etc/vde/vde-connection.sample
|
||||
install -D -m 644 ../dhcpd.conf.sample $pkgdir/usr/share/vde2/dhcpd.conf.sample
|
||||
install -D -m 644 ../iptables.rules.sample $pkgdir/usr/share/vde2/iptables.rules.sample
|
||||
# install slirp license
|
||||
install -D -m 644 COPYING.slirpvde $pkgdir/usr/share/licenses/vde2/COPYING.slirpvde
|
||||
}
|
12
vde2/dhcpd.conf.sample
Normal file
12
vde2/dhcpd.conf.sample
Normal file
@ -0,0 +1,12 @@
|
||||
ddns-update-style none;
|
||||
|
||||
subnet 192.168.254.0 netmask 255.255.255.0 {
|
||||
range 192.168.254.1 192.168.254.253;
|
||||
option routers 192.168.254.254;
|
||||
option domain-name "virtual.example.com";
|
||||
# find your DNS servers from /etc/resolv.conf
|
||||
# otherwise only pure IP addresses will work
|
||||
option domain-name-servers 192.168.254.254;
|
||||
option broadcast-address 192.168.254.255;
|
||||
default-lease-time 86400;
|
||||
}
|
5
vde2/iptables.rules.sample
Normal file
5
vde2/iptables.rules.sample
Normal file
@ -0,0 +1,5 @@
|
||||
*filter
|
||||
-A INPUT -i tun -j ACCEPT
|
||||
-A FORWARD -s 192.168.254.0/255.255.255.0 -j ACCEPT
|
||||
*nat
|
||||
-A POSTROUTING -s 192.168.254.0/24 -j MASQUERADE
|
35
vde2/vde-config.sample
Normal file
35
vde2/vde-config.sample
Normal file
@ -0,0 +1,35 @@
|
||||
# Set options vde_switch program
|
||||
# To activate this vde profile add it to /etc/conf.d/vde
|
||||
|
||||
# Global options
|
||||
VDE_NUMPORTS="32" # Number of ports (default 32)
|
||||
VDE_HUB="no" # [yes|no] Make the switch act as a hub
|
||||
VDE_FSTP="no" # [yes|no] Activate the fast spanning tree protocol
|
||||
VDE_MAC="" # Set the Switch MAC address
|
||||
VDE_PRIORITY="" # Set the priority for FST (MAC extension)
|
||||
VDE_HASHSIZE="" # Hash table size
|
||||
|
||||
# Options from datasock module
|
||||
VDE_SOCK="/var/run/vde/sample.sock" # control directory pathname
|
||||
VDE_SOCK_MODE="660" # Standard access mode for comm sockets (octal)
|
||||
VDE_SOCK_GROUP="root" # Group owner for comm sockets
|
||||
|
||||
# Options from consmgmt module
|
||||
VDE_MANAGEMENT_SOCK="/var/run/vde/sample.mgmt" # path of the management UNIX socket
|
||||
VDE_MANAGEMENT_SOCK_MODE="660" # management UNIX socket access mode (octal)
|
||||
|
||||
# Other options to parse to vde_switch
|
||||
VDE_OPTIONS=""
|
||||
|
||||
# VDE with internet support
|
||||
# You can use either tuntap method or slirpvde method.
|
||||
|
||||
# Options from tuntap module
|
||||
VDE_TAP="" # Enable routing through TAP tap interface (comma separated array eg.:"tap0,tap1").
|
||||
|
||||
# slirpvde daemon support
|
||||
SLIRP="no" # [yes|no] enable/disable SLIRP daemon support
|
||||
SLIRP_DHCP="no" # [yes|no] turn on the DHCP server for the network autoconfiguration of all the units connected to the VDE
|
||||
SLIRP_NETWORK="" # specify the network address (default 10.0.2.0)
|
||||
# other options to parse to slirpvde
|
||||
SLIRP_OPTIONS=""
|
6
vde2/vde-connection.sample
Normal file
6
vde2/vde-connection.sample
Normal file
@ -0,0 +1,6 @@
|
||||
# You can add vde switch connections below
|
||||
# just without the # at the beginning:
|
||||
# vde_plug /var/run/vde/sample.sock = vde_plug /var/run/vde/sample2.sock
|
||||
# or if hosts are different use this syntax:
|
||||
# vde_plug /var/run/vde/sample.sock = ssh host2 vde_plug /var/run/vde/sample.sock
|
||||
|
9
vde2/vde2.install
Normal file
9
vde2/vde2.install
Normal file
@ -0,0 +1,9 @@
|
||||
post_install() {
|
||||
echo "vde config files should be placed in /etc/vde, sample files are provided."
|
||||
echo "iptables and dhcpd sample files have been installed to '/usr/share/vde2'."
|
||||
echo "Merge those examples, if needed to the according config files."
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install $1
|
||||
}
|
92
vde2/vde_cryptcab-compile-against-openssl-1.1.0.patch
Normal file
92
vde2/vde_cryptcab-compile-against-openssl-1.1.0.patch
Normal file
@ -0,0 +1,92 @@
|
||||
--- a/src/vde_cryptcab/cryptcab.c 2011-11-23 16:41:17.000000000 +0000
|
||||
+++ b/src/vde_cryptcab/cryptcab.c 2017-03-20 22:54:20.452975075 +0000
|
||||
@@ -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;
|
||||
@@ -103,19 +107,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 + olen, &tlen) != 1)
|
||||
+ if (EVP_EncryptFinal (ctx, dst + olen, &tlen) != 1)
|
||||
{
|
||||
fprintf (stderr,"error in encrypt final\n");
|
||||
olen = -1;
|
||||
@@ -124,7 +130,7 @@
|
||||
olen += tlen;
|
||||
|
||||
cleanup:
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+ EVP_CIPHER_CTX_reset(ctx);
|
||||
return olen;
|
||||
}
|
||||
|
||||
@@ -138,19 +144,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, len) != 1)
|
||||
+ EVP_DecryptInit (ctx, EVP_bf_cbc (), p->key, p->iv);
|
||||
+ if (EVP_DecryptUpdate (ctx, dst, &olen, src, len) != 1)
|
||||
{
|
||||
fprintf (stderr,"error in decrypt update\n");
|
||||
olen = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
- if (EVP_DecryptFinal (&ctx, dst + olen, &tlen) != 1)
|
||||
+ if (EVP_DecryptFinal (ctx, dst + olen, &tlen) != 1)
|
||||
{
|
||||
fprintf (stderr,"error in decrypt final\n");
|
||||
olen = -1;
|
||||
@@ -159,7 +167,7 @@
|
||||
olen += tlen;
|
||||
|
||||
cleanup:
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+ EVP_CIPHER_CTX_reset (ctx);
|
||||
return olen;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user