diff --git a/vde2-2.3.2-openssl-1.1.0.patch b/vde2-2.3.2-openssl-1.1.0.patch new file mode 100644 index 0000000..227312e --- /dev/null +++ b/vde2-2.3.2-openssl-1.1.0.patch @@ -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; + } + diff --git a/vde2.spec b/vde2.spec index 5767a4b..5fbf8e5 100644 --- a/vde2.spec +++ b/vde2.spec @@ -1,6 +1,6 @@ Name: vde2 Version: 2.3.2 -Release: 1mamba +Release: 2mamba Summary: An ethernet compliant virtual network that can be spawned over a set of physical computer over the Internet Group: Network/Routing Vendor: openmamba @@ -8,38 +8,57 @@ Distribution: openmamba Packager: Silvan Calarco URL: http://vde.sourceforge.net/ Source: http://downloads.sourceforge.net/project/vde/vde2/%{version}/vde2-%{version}.tar.gz +Patch0: vde2-2.3.2-openssl-1.1.0.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libopenssl-devel BuildRequires: libpcap-devel +BuildRequires: libpython3-devel ## AUTOBUILDREQ-END -BuildRoot: %{_tmppath}/%{name}-%{version}-root +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} %description VDE is an ethernet compliant virtual network that can be spawned over a set of physical computer over the Internet. VDE is part of virtualsquare project. -%package devel +%package -n lib%{name} +Summary: Shared libraries provided by %{name} +Group: System/Libraries + +%description -n lib%{name} +VDE is an ethernet compliant virtual network that can be spawned over a set of physical computer over the Internet. VDE is part of virtualsquare project. +This package contains the shared libraries provided by %{name}. + +%package -n lib%{name}-devel Summary: Devel package for %{name} Group: Development/Libraries -Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} +Provides: vde2-devel +Obsoletes: vde2-devel <= 2.3.2-1mamba -%description devel +%description -n lib%{name}-devel VDE is an ethernet compliant virtual network that can be spawned over a set of physical computer over the Internet. VDE is part of virtualsquare project. +This package contains static libraries and header files needed for development. -This package contains static libraries and header files need for development. +%debug_package %prep %setup -q +%patch0 -p1 %build -%configure +%configure \ + PYTHON=%{__python3} + %make -j1 %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %makeinstall +%post -n lib%{name} -p /sbin/ldconfig +%postun -n lib%{name} -p /sbin/ldconfig + %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" @@ -49,17 +68,21 @@ This package contains static libraries and header files need for development. %{_sysconfdir}/vde2/vdecmd %{_bindir}/* %{_sbindir}/vde_tunctl +%{_mandir}/man1/*.1* +%{_mandir}/man8/vde_tunctl.8* + +%files -n lib%{name} +%defattr(-,root,root) %{_libdir}/lib*.so.* -%{_libdir}/vde2 %{_libexecdir}/vdetap -%{python_sitearch}/VdePlug.py -%{python_sitearch}/vdeplug_python.la -%{python_sitearch}/vdeplug_python.so -%{_mandir}/man1/*.1.gz -%{_mandir}/man8/vde_tunctl.8.gz +%dir %{_libdir}/vde2 +%{_libdir}/vde2/* +%{python3_sitelib}/VdePlug.py +%{python3_sitelib}/vdeplug_python.la +%{python3_sitelib}/vdeplug_python.so %doc COPYING -%files devel +%files -n lib%{name}-devel %defattr(-,root,root) %dir %{_includedir} %{_includedir}/*.h @@ -70,6 +93,9 @@ This package contains static libraries and header files need for development. %doc README %changelog +* Fri May 07 2021 Silvan Calarco 2.3.2-2mamba +- rebuilt with python3 and openssl 1.1 patch + * Thu Jan 10 2013 Automatic Build System 2.3.2-1mamba - automatic version update by autodist