mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
net-vpn/vtun: Port to EAPI 7
Closes: https://bugs.gentoo.org/708372 Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr> Signed-off-by: David Seifert <soap@gentoo.org>
This commit is contained in:
committed by
David Seifert
parent
27562468d1
commit
fe3fa62844
@@ -1,5 +1,5 @@
|
||||
--- Makefile.in.orig 2012-06-11 23:31:11.416075337 +0400
|
||||
+++ Makefile.in 2012-06-11 23:31:21.247324839 +0400
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -86,9 +86,7 @@
|
||||
|
||||
install_config:
|
||||
|
||||
49
net-vpn/vtun/files/vtun-3.0.3-C99-inline.patch
Normal file
49
net-vpn/vtun/files/vtun-3.0.3-C99-inline.patch
Normal file
@@ -0,0 +1,49 @@
|
||||
--- a/lfd_shaper.c
|
||||
+++ b/lfd_shaper.c
|
||||
@@ -69,7 +69,7 @@ int shaper_counter(int len, char *in, char **out)
|
||||
}
|
||||
|
||||
/* Convert tv struct to milisec */
|
||||
-unsigned long inline tv2ms(struct timeval tv)
|
||||
+unsigned long tv2ms(struct timeval tv)
|
||||
{
|
||||
register unsigned long ms = (tv.tv_sec * 1000)+(tv.tv_usec / 1000);
|
||||
return ms ? ms : 1;
|
||||
--- a/linkfd.c
|
||||
+++ b/linkfd.c
|
||||
@@ -105,7 +105,7 @@ int lfd_free_mod(void)
|
||||
}
|
||||
|
||||
/* Run modules down (from head to tail) */
|
||||
-inline int lfd_run_down(int len, char *in, char **out)
|
||||
+int lfd_run_down(int len, char *in, char **out)
|
||||
{
|
||||
register struct lfd_mod *mod;
|
||||
|
||||
@@ -119,7 +119,7 @@ inline int lfd_run_down(int len, char *in, char **out)
|
||||
}
|
||||
|
||||
/* Run modules up (from tail to head) */
|
||||
-inline int lfd_run_up(int len, char *in, char **out)
|
||||
+int lfd_run_up(int len, char *in, char **out)
|
||||
{
|
||||
register struct lfd_mod *mod;
|
||||
|
||||
@@ -133,7 +133,7 @@ inline int lfd_run_up(int len, char *in, char **out)
|
||||
}
|
||||
|
||||
/* Check if modules are accepting the data(down) */
|
||||
-inline int lfd_check_down(void)
|
||||
+int lfd_check_down(void)
|
||||
{
|
||||
register struct lfd_mod *mod;
|
||||
int err = 1;
|
||||
@@ -145,7 +145,7 @@ inline int lfd_check_down(void)
|
||||
}
|
||||
|
||||
/* Check if modules are accepting the data(up) */
|
||||
-inline int lfd_check_up(void)
|
||||
+int lfd_check_up(void)
|
||||
{
|
||||
register struct lfd_mod *mod;
|
||||
int err = 1;
|
||||
25
net-vpn/vtun/files/vtun-3.0.3-fno-common.patch
Normal file
25
net-vpn/vtun/files/vtun-3.0.3-fno-common.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
https://bugs.gentoo.org/708372
|
||||
--- a/auth.c
|
||||
+++ b/auth.c
|
||||
@@ -70,7 +70,7 @@ void gen_chal(char *buf)
|
||||
void encrypt_chal(char *chal, char *pwd)
|
||||
{
|
||||
register int i;
|
||||
- BF_KEY key;
|
||||
+ extern BF_KEY key;
|
||||
|
||||
BF_set_key(&key, 16, MD5(pwd,strlen(pwd),NULL));
|
||||
|
||||
--- a/lfd_encrypt.c
|
||||
+++ b/lfd_encrypt.c
|
||||
@@ -64,8 +64,8 @@
|
||||
#define ENC_BUF_SIZE VTUN_FRAME_SIZE + 128
|
||||
#define ENC_KEY_SIZE 16
|
||||
|
||||
-BF_KEY key;
|
||||
-char * enc_buf;
|
||||
+extern BF_KEY key;
|
||||
+extern char * enc_buf;
|
||||
char * dec_buf;
|
||||
|
||||
#define CIPHER_INIT 0
|
||||
@@ -1,7 +1,5 @@
|
||||
Index: vtun-3.0.3/cfg_file.y
|
||||
===================================================================
|
||||
--- vtun-3.0.3.orig/cfg_file.y
|
||||
+++ vtun-3.0.3/cfg_file.y
|
||||
--- a/cfg_file.y
|
||||
+++ b/cfg_file.y
|
||||
@@ -624,7 +624,7 @@ int clear_nat_hack_client(void *d, void
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
--- a/lfd_encrypt.c 2008-01-07 23:35:32.000000000 +0100
|
||||
+++ b/lfd_encrypt.c 2010-09-18 04:53:31.000000000 +0200
|
||||
--- a/lfd_encrypt.c
|
||||
+++ b/lfd_encrypt.c
|
||||
@@ -44,6 +44,7 @@
|
||||
#include <strings.h>
|
||||
#include <string.h>
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
#include "vtun.h"
|
||||
#include "linkfd.h"
|
||||
--- a/lib.c 2008-01-07 23:35:40.000000000 +0100
|
||||
+++ b/lib.c 2010-09-18 04:52:51.000000000 +0200
|
||||
--- a/lib.c
|
||||
+++ b/lib.c
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <sys/wait.h>
|
||||
#include <syslog.h>
|
||||
@@ -18,8 +18,8 @@
|
||||
|
||||
#include "vtun.h"
|
||||
#include "linkfd.h"
|
||||
--- a/lib.h 2008-01-07 23:35:41.000000000 +0100
|
||||
+++ b/lib.h 2010-09-18 04:56:50.000000000 +0200
|
||||
--- a/lib.h
|
||||
+++ b/lib.h
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
@@ -28,8 +28,8 @@
|
||||
|
||||
#ifdef HAVE_LIBUTIL_H
|
||||
#include <libutil.h>
|
||||
--- a/vtun.h 2008-01-07 23:36:07.000000000 +0100
|
||||
+++ b/vtun.h 2010-09-18 04:56:08.000000000 +0200
|
||||
--- a/vtun.h
|
||||
+++ b/vtun.h
|
||||
@@ -232,5 +232,9 @@
|
||||
int read_config(char *file);
|
||||
struct vtun_host * find_host(char *host);
|
||||
@@ -40,8 +40,8 @@
|
||||
+int recv_ib_mesg(int *len, char **in);
|
||||
|
||||
#endif
|
||||
--- a/lock.c 2008-01-07 23:35:50.000000000 +0100
|
||||
+++ b/lock.c 2010-09-18 05:01:21.000000000 +0200
|
||||
--- a/lock.c
|
||||
+++ b/lock.c
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
@@ -50,8 +50,8 @@
|
||||
|
||||
#include "vtun.h"
|
||||
#include "linkfd.h"
|
||||
--- a/lfd_shaper.c 2008-01-07 23:35:36.000000000 +0100
|
||||
+++ b/lfd_shaper.c 2010-09-18 05:07:12.000000000 +0200
|
||||
--- a/lfd_shaper.c
|
||||
+++ b/lfd_shaper.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
@@ -1,229 +1,229 @@
|
||||
--- vtun-3.0.3/lfd_encrypt.c.orig 2019-02-25 18:43:39.310480427 -0500
|
||||
+++ vtun-3.0.3/lfd_encrypt.c 2019-02-25 18:55:26.956441285 -0500
|
||||
@@ -96,11 +96,11 @@
|
||||
char * pkey;
|
||||
char * iv_buf;
|
||||
|
||||
-EVP_CIPHER_CTX ctx_enc; /* encrypt */
|
||||
-EVP_CIPHER_CTX ctx_dec; /* decrypt */
|
||||
+EVP_CIPHER_CTX *ctx_enc; /* encrypt */
|
||||
+EVP_CIPHER_CTX *ctx_dec; /* decrypt */
|
||||
|
||||
-EVP_CIPHER_CTX ctx_enc_ecb; /* sideband ecb encrypt */
|
||||
-EVP_CIPHER_CTX ctx_dec_ecb; /* sideband ecb decrypt */
|
||||
+EVP_CIPHER_CTX *ctx_enc_ecb; /* sideband ecb encrypt */
|
||||
+EVP_CIPHER_CTX *ctx_dec_ecb; /* sideband ecb decrypt */
|
||||
|
||||
int prep_key(char **key, int size, struct vtun_host *host)
|
||||
{
|
||||
@@ -152,6 +152,11 @@
|
||||
EVP_CIPHER_CTX *pctx_enc;
|
||||
EVP_CIPHER_CTX *pctx_dec;
|
||||
|
||||
+ ctx_enc = EVP_CIPHER_CTX_new();
|
||||
+ ctx_dec = EVP_CIPHER_CTX_new();
|
||||
+ ctx_enc_ecb = EVP_CIPHER_CTX_new();
|
||||
+ ctx_dec_ecb = EVP_CIPHER_CTX_new();
|
||||
+
|
||||
enc_init_first_time = 1;
|
||||
dec_init_first_time = 1;
|
||||
|
||||
@@ -178,15 +183,15 @@
|
||||
keysize = 32;
|
||||
sb_init = 1;
|
||||
cipher_type = EVP_aes_256_ecb();
|
||||
- pctx_enc = &ctx_enc_ecb;
|
||||
- pctx_dec = &ctx_dec_ecb;
|
||||
+ pctx_enc = ctx_enc_ecb;
|
||||
+ pctx_dec = ctx_dec_ecb;
|
||||
break;
|
||||
|
||||
case VTUN_ENC_AES256ECB:
|
||||
blocksize = 16;
|
||||
keysize = 32;
|
||||
- pctx_enc = &ctx_enc;
|
||||
- pctx_dec = &ctx_dec;
|
||||
+ pctx_enc = ctx_enc;
|
||||
+ pctx_dec = ctx_dec;
|
||||
cipher_type = EVP_aes_256_ecb();
|
||||
strcpy(cipher_name,"AES-256-ECB");
|
||||
break;
|
||||
@@ -197,14 +202,14 @@
|
||||
keysize = 16;
|
||||
sb_init=1;
|
||||
cipher_type = EVP_aes_128_ecb();
|
||||
- pctx_enc = &ctx_enc_ecb;
|
||||
- pctx_dec = &ctx_dec_ecb;
|
||||
+ pctx_enc = ctx_enc_ecb;
|
||||
+ pctx_dec = ctx_dec_ecb;
|
||||
break;
|
||||
case VTUN_ENC_AES128ECB:
|
||||
blocksize = 16;
|
||||
keysize = 16;
|
||||
- pctx_enc = &ctx_enc;
|
||||
- pctx_dec = &ctx_dec;
|
||||
+ pctx_enc = ctx_enc;
|
||||
+ pctx_dec = ctx_dec;
|
||||
cipher_type = EVP_aes_128_ecb();
|
||||
strcpy(cipher_name,"AES-128-ECB");
|
||||
break;
|
||||
@@ -217,16 +222,16 @@
|
||||
var_key = 1;
|
||||
sb_init = 1;
|
||||
cipher_type = EVP_bf_ecb();
|
||||
- pctx_enc = &ctx_enc_ecb;
|
||||
- pctx_dec = &ctx_dec_ecb;
|
||||
+ pctx_enc = ctx_enc_ecb;
|
||||
+ pctx_dec = ctx_dec_ecb;
|
||||
break;
|
||||
|
||||
case VTUN_ENC_BF256ECB:
|
||||
blocksize = 8;
|
||||
keysize = 32;
|
||||
var_key = 1;
|
||||
- pctx_enc = &ctx_enc;
|
||||
- pctx_dec = &ctx_dec;
|
||||
+ pctx_enc = ctx_enc;
|
||||
+ pctx_dec = ctx_dec;
|
||||
cipher_type = EVP_bf_ecb();
|
||||
strcpy(cipher_name,"Blowfish-256-ECB");
|
||||
break;
|
||||
@@ -239,16 +244,16 @@
|
||||
var_key = 1;
|
||||
sb_init = 1;
|
||||
cipher_type = EVP_bf_ecb();
|
||||
- pctx_enc = &ctx_enc_ecb;
|
||||
- pctx_dec = &ctx_dec_ecb;
|
||||
+ pctx_enc = ctx_enc_ecb;
|
||||
+ pctx_dec = ctx_dec_ecb;
|
||||
break;
|
||||
case VTUN_ENC_BF128ECB: /* blowfish 128 ecb is the default */
|
||||
default:
|
||||
blocksize = 8;
|
||||
keysize = 16;
|
||||
var_key = 1;
|
||||
- pctx_enc = &ctx_enc;
|
||||
- pctx_dec = &ctx_dec;
|
||||
+ pctx_enc = ctx_enc;
|
||||
+ pctx_dec = ctx_dec;
|
||||
cipher_type = EVP_bf_ecb();
|
||||
strcpy(cipher_name,"Blowfish-128-ECB");
|
||||
break;
|
||||
@@ -290,10 +295,10 @@
|
||||
lfd_free(enc_buf); enc_buf = NULL;
|
||||
lfd_free(dec_buf); dec_buf = NULL;
|
||||
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_enc);
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_dec);
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_enc_ecb);
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_dec_ecb);
|
||||
+ EVP_CIPHER_CTX_free(ctx_enc);
|
||||
+ EVP_CIPHER_CTX_free(ctx_dec);
|
||||
+ EVP_CIPHER_CTX_free(ctx_enc_ecb);
|
||||
+ EVP_CIPHER_CTX_free(ctx_dec_ecb);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -319,7 +324,7 @@
|
||||
outlen=len+pad;
|
||||
if (pad == blocksize)
|
||||
RAND_bytes(in_ptr+len, blocksize-1);
|
||||
- EVP_EncryptUpdate(&ctx_enc, out_ptr, &outlen, in_ptr, len+pad);
|
||||
+ EVP_EncryptUpdate(ctx_enc, out_ptr, &outlen, in_ptr, len+pad);
|
||||
*out = enc_buf;
|
||||
|
||||
sequence_num++;
|
||||
@@ -339,7 +344,7 @@
|
||||
|
||||
outlen=len;
|
||||
if (!len) return 0;
|
||||
- EVP_DecryptUpdate(&ctx_dec, out_ptr, &outlen, in_ptr, len);
|
||||
+ EVP_DecryptUpdate(ctx_dec, out_ptr, &outlen, in_ptr, len);
|
||||
recv_ib_mesg(&outlen, &out_ptr);
|
||||
if (!outlen) return 0;
|
||||
tmp_ptr = out_ptr + outlen; tmp_ptr--;
|
||||
@@ -427,13 +432,13 @@
|
||||
break;
|
||||
} /* switch(cipher) */
|
||||
|
||||
- EVP_CIPHER_CTX_init(&ctx_enc);
|
||||
- EVP_EncryptInit_ex(&ctx_enc, cipher_type, NULL, NULL, NULL);
|
||||
+ EVP_CIPHER_CTX_init(ctx_enc);
|
||||
+ EVP_EncryptInit_ex(ctx_enc, cipher_type, NULL, NULL, NULL);
|
||||
if (var_key)
|
||||
- EVP_CIPHER_CTX_set_key_length(&ctx_enc, keysize);
|
||||
- EVP_EncryptInit_ex(&ctx_enc, NULL, NULL, pkey, NULL);
|
||||
- EVP_EncryptInit_ex(&ctx_enc, NULL, NULL, NULL, iv);
|
||||
- EVP_CIPHER_CTX_set_padding(&ctx_enc, 0);
|
||||
+ EVP_CIPHER_CTX_set_key_length(ctx_enc, keysize);
|
||||
+ EVP_EncryptInit_ex(ctx_enc, NULL, NULL, pkey, NULL);
|
||||
+ EVP_EncryptInit_ex(ctx_enc, NULL, NULL, NULL, iv);
|
||||
+ EVP_CIPHER_CTX_set_padding(ctx_enc, 0);
|
||||
if (enc_init_first_time)
|
||||
{
|
||||
sprintf(tmpstr,"%s encryption initialized", cipher_name);
|
||||
@@ -517,13 +522,13 @@
|
||||
break;
|
||||
} /* switch(cipher) */
|
||||
|
||||
- EVP_CIPHER_CTX_init(&ctx_dec);
|
||||
- EVP_DecryptInit_ex(&ctx_dec, cipher_type, NULL, NULL, NULL);
|
||||
+ EVP_CIPHER_CTX_init(ctx_dec);
|
||||
+ EVP_DecryptInit_ex(ctx_dec, cipher_type, NULL, NULL, NULL);
|
||||
if (var_key)
|
||||
- EVP_CIPHER_CTX_set_key_length(&ctx_dec, keysize);
|
||||
- EVP_DecryptInit_ex(&ctx_dec, NULL, NULL, pkey, NULL);
|
||||
- EVP_DecryptInit_ex(&ctx_dec, NULL, NULL, NULL, iv);
|
||||
- EVP_CIPHER_CTX_set_padding(&ctx_dec, 0);
|
||||
+ EVP_CIPHER_CTX_set_key_length(ctx_dec, keysize);
|
||||
+ EVP_DecryptInit_ex(ctx_dec, NULL, NULL, pkey, NULL);
|
||||
+ EVP_DecryptInit_ex(ctx_dec, NULL, NULL, NULL, iv);
|
||||
+ EVP_CIPHER_CTX_set_padding(ctx_dec, 0);
|
||||
if (dec_init_first_time)
|
||||
{
|
||||
sprintf(tmpstr,"%s decryption initialized", cipher_name);
|
||||
@@ -555,7 +560,7 @@
|
||||
|
||||
in_ptr = in - blocksize*2;
|
||||
outlen = blocksize*2;
|
||||
- EVP_EncryptUpdate(&ctx_enc_ecb, in_ptr,
|
||||
+ EVP_EncryptUpdate(ctx_enc_ecb, in_ptr,
|
||||
&outlen, in_ptr, blocksize*2);
|
||||
*out = in_ptr;
|
||||
len = outlen;
|
||||
@@ -582,7 +587,7 @@
|
||||
in_ptr = in;
|
||||
iv = malloc(blocksize);
|
||||
outlen = blocksize*2;
|
||||
- EVP_DecryptUpdate(&ctx_dec_ecb, in_ptr, &outlen, in_ptr, blocksize*2);
|
||||
+ EVP_DecryptUpdate(ctx_dec_ecb, in_ptr, &outlen, in_ptr, blocksize*2);
|
||||
|
||||
if ( !strncmp(in_ptr, "ivec", 4) )
|
||||
{
|
||||
@@ -625,7 +630,7 @@
|
||||
if (cipher_enc_state != CIPHER_INIT)
|
||||
{
|
||||
cipher_enc_state = CIPHER_INIT;
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_enc);
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx_enc);
|
||||
#ifdef LFD_ENCRYPT_DEBUG
|
||||
vtun_syslog(LOG_INFO,
|
||||
"Forcing local encryptor re-init");
|
||||
@@ -706,7 +711,7 @@
|
||||
if (cipher_enc_state != CIPHER_INIT)
|
||||
{
|
||||
cipher_enc_state = CIPHER_INIT;
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_enc);
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx_enc);
|
||||
}
|
||||
#ifdef LFD_ENCRYPT_DEBUG
|
||||
vtun_syslog(LOG_INFO, "Remote requests encryptor re-init");
|
||||
@@ -720,7 +725,7 @@
|
||||
cipher_enc_state != CIPHER_REQ_INIT &&
|
||||
cipher_enc_state != CIPHER_INIT)
|
||||
{
|
||||
- EVP_CIPHER_CTX_cleanup (&ctx_dec);
|
||||
+ EVP_CIPHER_CTX_cleanup (ctx_dec);
|
||||
cipher_dec_state = CIPHER_INIT;
|
||||
cipher_enc_state = CIPHER_REQ_INIT;
|
||||
}
|
||||
--- a/lfd_encrypt.c
|
||||
+++ b/lfd_encrypt.c
|
||||
@@ -96,11 +96,11 @@ unsigned long sequence_num;
|
||||
char * pkey;
|
||||
char * iv_buf;
|
||||
|
||||
-EVP_CIPHER_CTX ctx_enc; /* encrypt */
|
||||
-EVP_CIPHER_CTX ctx_dec; /* decrypt */
|
||||
+EVP_CIPHER_CTX *ctx_enc; /* encrypt */
|
||||
+EVP_CIPHER_CTX *ctx_dec; /* decrypt */
|
||||
|
||||
-EVP_CIPHER_CTX ctx_enc_ecb; /* sideband ecb encrypt */
|
||||
-EVP_CIPHER_CTX ctx_dec_ecb; /* sideband ecb decrypt */
|
||||
+EVP_CIPHER_CTX *ctx_enc_ecb; /* sideband ecb encrypt */
|
||||
+EVP_CIPHER_CTX *ctx_dec_ecb; /* sideband ecb decrypt */
|
||||
|
||||
int prep_key(char **key, int size, struct vtun_host *host)
|
||||
{
|
||||
@@ -151,6 +151,11 @@ int alloc_encrypt(struct vtun_host *host)
|
||||
char cipher_name[32];
|
||||
EVP_CIPHER_CTX *pctx_enc;
|
||||
EVP_CIPHER_CTX *pctx_dec;
|
||||
+
|
||||
+ ctx_enc = EVP_CIPHER_CTX_new();
|
||||
+ ctx_dec = EVP_CIPHER_CTX_new();
|
||||
+ ctx_enc_ecb = EVP_CIPHER_CTX_new();
|
||||
+ ctx_dec_ecb = EVP_CIPHER_CTX_new();
|
||||
|
||||
enc_init_first_time = 1;
|
||||
dec_init_first_time = 1;
|
||||
@@ -178,15 +183,15 @@ int alloc_encrypt(struct vtun_host *host)
|
||||
keysize = 32;
|
||||
sb_init = 1;
|
||||
cipher_type = EVP_aes_256_ecb();
|
||||
- pctx_enc = &ctx_enc_ecb;
|
||||
- pctx_dec = &ctx_dec_ecb;
|
||||
+ pctx_enc = ctx_enc_ecb;
|
||||
+ pctx_dec = ctx_dec_ecb;
|
||||
break;
|
||||
|
||||
case VTUN_ENC_AES256ECB:
|
||||
blocksize = 16;
|
||||
keysize = 32;
|
||||
- pctx_enc = &ctx_enc;
|
||||
- pctx_dec = &ctx_dec;
|
||||
+ pctx_enc = ctx_enc;
|
||||
+ pctx_dec = ctx_dec;
|
||||
cipher_type = EVP_aes_256_ecb();
|
||||
strcpy(cipher_name,"AES-256-ECB");
|
||||
break;
|
||||
@@ -197,14 +202,14 @@ int alloc_encrypt(struct vtun_host *host)
|
||||
keysize = 16;
|
||||
sb_init=1;
|
||||
cipher_type = EVP_aes_128_ecb();
|
||||
- pctx_enc = &ctx_enc_ecb;
|
||||
- pctx_dec = &ctx_dec_ecb;
|
||||
+ pctx_enc = ctx_enc_ecb;
|
||||
+ pctx_dec = ctx_dec_ecb;
|
||||
break;
|
||||
case VTUN_ENC_AES128ECB:
|
||||
blocksize = 16;
|
||||
keysize = 16;
|
||||
- pctx_enc = &ctx_enc;
|
||||
- pctx_dec = &ctx_dec;
|
||||
+ pctx_enc = ctx_enc;
|
||||
+ pctx_dec = ctx_dec;
|
||||
cipher_type = EVP_aes_128_ecb();
|
||||
strcpy(cipher_name,"AES-128-ECB");
|
||||
break;
|
||||
@@ -217,16 +222,16 @@ int alloc_encrypt(struct vtun_host *host)
|
||||
var_key = 1;
|
||||
sb_init = 1;
|
||||
cipher_type = EVP_bf_ecb();
|
||||
- pctx_enc = &ctx_enc_ecb;
|
||||
- pctx_dec = &ctx_dec_ecb;
|
||||
+ pctx_enc = ctx_enc_ecb;
|
||||
+ pctx_dec = ctx_dec_ecb;
|
||||
break;
|
||||
|
||||
case VTUN_ENC_BF256ECB:
|
||||
blocksize = 8;
|
||||
keysize = 32;
|
||||
var_key = 1;
|
||||
- pctx_enc = &ctx_enc;
|
||||
- pctx_dec = &ctx_dec;
|
||||
+ pctx_enc = ctx_enc;
|
||||
+ pctx_dec = ctx_dec;
|
||||
cipher_type = EVP_bf_ecb();
|
||||
strcpy(cipher_name,"Blowfish-256-ECB");
|
||||
break;
|
||||
@@ -239,16 +244,16 @@ int alloc_encrypt(struct vtun_host *host)
|
||||
var_key = 1;
|
||||
sb_init = 1;
|
||||
cipher_type = EVP_bf_ecb();
|
||||
- pctx_enc = &ctx_enc_ecb;
|
||||
- pctx_dec = &ctx_dec_ecb;
|
||||
+ pctx_enc = ctx_enc_ecb;
|
||||
+ pctx_dec = ctx_dec_ecb;
|
||||
break;
|
||||
case VTUN_ENC_BF128ECB: /* blowfish 128 ecb is the default */
|
||||
default:
|
||||
blocksize = 8;
|
||||
keysize = 16;
|
||||
var_key = 1;
|
||||
- pctx_enc = &ctx_enc;
|
||||
- pctx_dec = &ctx_dec;
|
||||
+ pctx_enc = ctx_enc;
|
||||
+ pctx_dec = ctx_dec;
|
||||
cipher_type = EVP_bf_ecb();
|
||||
strcpy(cipher_name,"Blowfish-128-ECB");
|
||||
break;
|
||||
@@ -290,10 +295,10 @@ int free_encrypt()
|
||||
lfd_free(enc_buf); enc_buf = NULL;
|
||||
lfd_free(dec_buf); dec_buf = NULL;
|
||||
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_enc);
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_dec);
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_enc_ecb);
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_dec_ecb);
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx_enc);
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx_dec);
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx_enc_ecb);
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx_dec_ecb);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -319,7 +324,7 @@ int encrypt_buf(int len, char *in, char **out)
|
||||
outlen=len+pad;
|
||||
if (pad == blocksize)
|
||||
RAND_bytes(in_ptr+len, blocksize-1);
|
||||
- EVP_EncryptUpdate(&ctx_enc, out_ptr, &outlen, in_ptr, len+pad);
|
||||
+ EVP_EncryptUpdate(&ctx_enc, out_ptr, outlen, in_ptr, len+pad);
|
||||
*out = enc_buf;
|
||||
|
||||
sequence_num++;
|
||||
@@ -339,7 +344,7 @@ int decrypt_buf(int len, char *in, char **out)
|
||||
|
||||
outlen=len;
|
||||
if (!len) return 0;
|
||||
- EVP_DecryptUpdate(&ctx_dec, out_ptr, &outlen, in_ptr, len);
|
||||
+ EVP_DecryptUpdate(ctx_dec, out_ptr, &outlen, in_ptr, len);
|
||||
recv_ib_mesg(&outlen, &out_ptr);
|
||||
if (!outlen) return 0;
|
||||
tmp_ptr = out_ptr + outlen; tmp_ptr--;
|
||||
@@ -427,13 +432,13 @@ int cipher_enc_init(char * iv)
|
||||
break;
|
||||
} /* switch(cipher) */
|
||||
|
||||
- EVP_CIPHER_CTX_init(&ctx_enc);
|
||||
- EVP_EncryptInit_ex(&ctx_enc, cipher_type, NULL, NULL, NULL);
|
||||
+ EVP_CIPHER_CTX_init(ctx_enc);
|
||||
+ EVP_EncryptInit_ex(ctx_enc, cipher_type, NULL, NULL, NULL);
|
||||
if (var_key)
|
||||
- EVP_CIPHER_CTX_set_key_length(&ctx_enc, keysize);
|
||||
- EVP_EncryptInit_ex(&ctx_enc, NULL, NULL, pkey, NULL);
|
||||
- EVP_EncryptInit_ex(&ctx_enc, NULL, NULL, NULL, iv);
|
||||
- EVP_CIPHER_CTX_set_padding(&ctx_enc, 0);
|
||||
+ EVP_CIPHER_CTX_set_key_length(ctx_enc, keysize);
|
||||
+ EVP_EncryptInit_ex(ctx_enc, NULL, NULL, pkey, NULL);
|
||||
+ EVP_EncryptInit_ex(ctx_enc, NULL, NULL, NULL, iv);
|
||||
+ EVP_CIPHER_CTX_set_padding(ctx_enc, 0);
|
||||
if (enc_init_first_time)
|
||||
{
|
||||
sprintf(tmpstr,"%s encryption initialized", cipher_name);
|
||||
@@ -517,13 +522,13 @@ int cipher_dec_init(char * iv)
|
||||
break;
|
||||
} /* switch(cipher) */
|
||||
|
||||
- EVP_CIPHER_CTX_init(&ctx_dec);
|
||||
- EVP_DecryptInit_ex(&ctx_dec, cipher_type, NULL, NULL, NULL);
|
||||
+ EVP_CIPHER_CTX_init(ctx_dec);
|
||||
+ EVP_DecryptInit_ex(ctx_dec, cipher_type, NULL, NULL, NULL);
|
||||
if (var_key)
|
||||
- EVP_CIPHER_CTX_set_key_length(&ctx_dec, keysize);
|
||||
- EVP_DecryptInit_ex(&ctx_dec, NULL, NULL, pkey, NULL);
|
||||
- EVP_DecryptInit_ex(&ctx_dec, NULL, NULL, NULL, iv);
|
||||
- EVP_CIPHER_CTX_set_padding(&ctx_dec, 0);
|
||||
+ EVP_CIPHER_CTX_set_key_length(ctx_dec, keysize);
|
||||
+ EVP_DecryptInit_ex(ctx_dec, NULL, NULL, pkey, NULL);
|
||||
+ EVP_DecryptInit_ex(ctx_dec, NULL, NULL, NULL, iv);
|
||||
+ EVP_CIPHER_CTX_set_padding(ctx_dec, 0);
|
||||
if (dec_init_first_time)
|
||||
{
|
||||
sprintf(tmpstr,"%s decryption initialized", cipher_name);
|
||||
@@ -555,7 +560,7 @@ int send_msg(int len, char *in, char **out)
|
||||
|
||||
in_ptr = in - blocksize*2;
|
||||
outlen = blocksize*2;
|
||||
- EVP_EncryptUpdate(&ctx_enc_ecb, in_ptr,
|
||||
+ EVP_EncryptUpdate(ctx_enc_ecb, in_ptr,
|
||||
&outlen, in_ptr, blocksize*2);
|
||||
*out = in_ptr;
|
||||
len = outlen;
|
||||
@@ -582,7 +587,7 @@ int recv_msg(int len, char *in, char **out)
|
||||
in_ptr = in;
|
||||
iv = malloc(blocksize);
|
||||
outlen = blocksize*2;
|
||||
- EVP_DecryptUpdate(&ctx_dec_ecb, in_ptr, &outlen, in_ptr, blocksize*2);
|
||||
+ EVP_DecryptUpdate(ctx_dec_ecb, in_ptr, &outlen, in_ptr, blocksize*2);
|
||||
|
||||
if ( !strncmp(in_ptr, "ivec", 4) )
|
||||
{
|
||||
@@ -625,7 +630,7 @@ int recv_msg(int len, char *in, char **out)
|
||||
if (cipher_enc_state != CIPHER_INIT)
|
||||
{
|
||||
cipher_enc_state = CIPHER_INIT;
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_enc);
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx_enc);
|
||||
#ifdef LFD_ENCRYPT_DEBUG
|
||||
vtun_syslog(LOG_INFO,
|
||||
"Forcing local encryptor re-init");
|
||||
@@ -706,7 +711,7 @@ int recv_ib_mesg(int *len, char **in)
|
||||
if (cipher_enc_state != CIPHER_INIT)
|
||||
{
|
||||
cipher_enc_state = CIPHER_INIT;
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx_enc);
|
||||
+ EVP_CIPHER_CTX_cleanup(ctx_enc);
|
||||
}
|
||||
#ifdef LFD_ENCRYPT_DEBUG
|
||||
vtun_syslog(LOG_INFO, "Remote requests encryptor re-init");
|
||||
@@ -720,7 +725,7 @@ int recv_ib_mesg(int *len, char **in)
|
||||
cipher_enc_state != CIPHER_REQ_INIT &&
|
||||
cipher_enc_state != CIPHER_INIT)
|
||||
{
|
||||
- EVP_CIPHER_CTX_cleanup (&ctx_dec);
|
||||
+ EVP_CIPHER_CTX_cleanup (ctx_dec);
|
||||
cipher_dec_state = CIPHER_INIT;
|
||||
cipher_enc_state = CIPHER_REQ_INIT;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=7
|
||||
|
||||
inherit linux-info
|
||||
|
||||
@@ -14,32 +14,33 @@ SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ppc ~sparc x86"
|
||||
IUSE="lzo socks5 ssl zlib"
|
||||
|
||||
RDEPEND="ssl? ( dev-libs/openssl:0 )
|
||||
RDEPEND="
|
||||
lzo? ( dev-libs/lzo:2 )
|
||||
zlib? ( sys-libs/zlib )
|
||||
socks5? ( net-proxy/dante )"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/bison"
|
||||
|
||||
DOCS="ChangeLog Credits FAQ README README.Setup README.Shaper TODO"
|
||||
socks5? ( net-proxy/dante )
|
||||
ssl? ( dev-libs/openssl:0= )
|
||||
zlib? ( sys-libs/zlib )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="sys-devel/bison"
|
||||
|
||||
DOCS=( ChangeLog Credits FAQ README README.Setup README.Shaper TODO )
|
||||
CONFIG_CHECK="~TUN"
|
||||
|
||||
src_prepare() {
|
||||
sed -i Makefile.in \
|
||||
-e '/^LDFLAGS/s|=|+=|g' \
|
||||
|| die "sed Makefile"
|
||||
eapply "${FILESDIR}"/${P}-includes.patch
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-includes.patch
|
||||
# remove unneeded checking for /etc/vtund.conf
|
||||
eapply -p0 "${FILESDIR}"/${PN}-3.0.2-remove-config-presence-check.patch
|
||||
"${FILESDIR}"/${PN}-3.0.2-remove-config-presence-check.patch
|
||||
# GCC 5 compatibility, patch from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778164
|
||||
eapply "${FILESDIR}"/${P}-gcc5.patch
|
||||
"${FILESDIR}"/${P}-gcc5.patch
|
||||
# openssl 1.1 compatibility, bug 674280
|
||||
eapply -l "${FILESDIR}"/${PN}-libssl-1.1.patch
|
||||
# portage takes care about striping binaries itself
|
||||
sed -i 's:$(BIN_DIR)/strip $(DESTDIR)$(SBIN_DIR)/vtund::' Makefile.in || die
|
||||
"${FILESDIR}"/${PN}-libssl-1.1.patch
|
||||
"${FILESDIR}"/${P}-fno-common.patch
|
||||
"${FILESDIR}"/${P}-C99-inline.patch
|
||||
)
|
||||
|
||||
eapply_user
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e '/^LDFLAGS/s|=|+=|g' Makefile.in || die
|
||||
sed -i 's:$(BIN_DIR)/strip $(DESTDIR)$(SBIN_DIR)/vtund::' Makefile.in || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
@@ -54,6 +55,7 @@ src_configure() {
|
||||
src_install() {
|
||||
default
|
||||
newinitd "${FILESDIR}"/vtun.rc vtun
|
||||
insinto etc
|
||||
insinto /etc
|
||||
doins "${FILESDIR}"/vtund-start.conf
|
||||
rm -r "${ED}"/var || die
|
||||
}
|
||||
Reference in New Issue
Block a user