Add --disable-lzo configure option
This commit is contained in:
		
							parent
							
								
									f7b2a2ea43
								
							
						
					
					
						commit
						eeb505af36
					
				
					 3 changed files with 57 additions and 33 deletions
				
			
		|  | @ -2,6 +2,10 @@ dnl Check to find the lzo headers/libraries | ||||||
| 
 | 
 | ||||||
| AC_DEFUN([tinc_LZO], | AC_DEFUN([tinc_LZO], | ||||||
| [ | [ | ||||||
|  |   AC_ARG_ENABLE([lzo], | ||||||
|  |     AS_HELP_STRING([--disable-lzo], [disable lzo compression support])) | ||||||
|  |   AS_IF([test "x$enable_lzo" != "xno"], [ | ||||||
|  |     AC_DEFINE(HAVE_LZO, 1, [enable lzo compression support]) | ||||||
|     AC_ARG_WITH(lzo, |     AC_ARG_WITH(lzo, | ||||||
|       AS_HELP_STRING([--with-lzo=DIR], [lzo base directory, or:]), |       AS_HELP_STRING([--with-lzo=DIR], [lzo base directory, or:]), | ||||||
|       [lzo="$withval" |       [lzo="$withval" | ||||||
|  | @ -40,3 +44,4 @@ AC_DEFUN([tinc_LZO], | ||||||
|       )] |       )] | ||||||
|     ) |     ) | ||||||
|   ]) |   ]) | ||||||
|  | ]) | ||||||
|  |  | ||||||
|  | @ -27,7 +27,10 @@ | ||||||
| #include <openssl/hmac.h> | #include <openssl/hmac.h> | ||||||
| 
 | 
 | ||||||
| #include <zlib.h> | #include <zlib.h> | ||||||
|  | 
 | ||||||
|  | #ifdef HAVE_LZO | ||||||
| #include LZO1X_H | #include LZO1X_H | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| #include "avl_tree.h" | #include "avl_tree.h" | ||||||
| #include "conf.h" | #include "conf.h" | ||||||
|  | @ -48,7 +51,9 @@ | ||||||
| 
 | 
 | ||||||
| int keylifetime = 0; | int keylifetime = 0; | ||||||
| int keyexpires = 0; | int keyexpires = 0; | ||||||
|  | #ifdef HAVE_LZO | ||||||
| static char lzo_wrkmem[LZO1X_999_MEM_COMPRESS > LZO1X_1_MEM_COMPRESS ? LZO1X_999_MEM_COMPRESS : LZO1X_1_MEM_COMPRESS]; | static char lzo_wrkmem[LZO1X_999_MEM_COMPRESS > LZO1X_1_MEM_COMPRESS ? LZO1X_999_MEM_COMPRESS : LZO1X_1_MEM_COMPRESS]; | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| static void send_udppacket(node_t *, vpn_packet_t *); | static void send_udppacket(node_t *, vpn_packet_t *); | ||||||
| 
 | 
 | ||||||
|  | @ -148,9 +153,13 @@ void mtu_probe_h(node_t *n, vpn_packet_t *packet, length_t len) { | ||||||
| 
 | 
 | ||||||
| static length_t compress_packet(uint8_t *dest, const uint8_t *source, length_t len, int level) { | static length_t compress_packet(uint8_t *dest, const uint8_t *source, length_t len, int level) { | ||||||
| 	if(level == 10) { | 	if(level == 10) { | ||||||
|  | #ifdef HAVE_LZO | ||||||
| 		lzo_uint lzolen = MAXSIZE; | 		lzo_uint lzolen = MAXSIZE; | ||||||
| 		lzo1x_1_compress(source, len, dest, &lzolen, lzo_wrkmem); | 		lzo1x_1_compress(source, len, dest, &lzolen, lzo_wrkmem); | ||||||
| 		return lzolen; | 		return lzolen; | ||||||
|  | #else | ||||||
|  | 		return -1; | ||||||
|  | #endif | ||||||
| 	} else if(level < 10) { | 	} else if(level < 10) { | ||||||
| 		unsigned long destlen = MAXSIZE; | 		unsigned long destlen = MAXSIZE; | ||||||
| 		if(compress2(dest, &destlen, source, len, level) == Z_OK) | 		if(compress2(dest, &destlen, source, len, level) == Z_OK) | ||||||
|  | @ -158,9 +167,13 @@ static length_t compress_packet(uint8_t *dest, const uint8_t *source, length_t l | ||||||
| 		else | 		else | ||||||
| 			return -1; | 			return -1; | ||||||
| 	} else { | 	} else { | ||||||
|  | #ifdef HAVE_LZO | ||||||
| 		lzo_uint lzolen = MAXSIZE; | 		lzo_uint lzolen = MAXSIZE; | ||||||
| 		lzo1x_999_compress(source, len, dest, &lzolen, lzo_wrkmem); | 		lzo1x_999_compress(source, len, dest, &lzolen, lzo_wrkmem); | ||||||
| 		return lzolen; | 		return lzolen; | ||||||
|  | #else | ||||||
|  | 		return -1; | ||||||
|  | #endif | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	return -1; | 	return -1; | ||||||
|  | @ -168,10 +181,12 @@ static length_t compress_packet(uint8_t *dest, const uint8_t *source, length_t l | ||||||
| 
 | 
 | ||||||
| static length_t uncompress_packet(uint8_t *dest, const uint8_t *source, length_t len, int level) { | static length_t uncompress_packet(uint8_t *dest, const uint8_t *source, length_t len, int level) { | ||||||
| 	if(level > 9) { | 	if(level > 9) { | ||||||
|  | #ifdef HAVE_LZO | ||||||
| 		lzo_uint lzolen = MAXSIZE; | 		lzo_uint lzolen = MAXSIZE; | ||||||
| 		if(lzo1x_decompress_safe(source, len, dest, &lzolen, NULL) == LZO_E_OK) | 		if(lzo1x_decompress_safe(source, len, dest, &lzolen, NULL) == LZO_E_OK) | ||||||
| 			return lzolen; | 			return lzolen; | ||||||
| 		else | 		else | ||||||
|  | #endif | ||||||
| 			return -1; | 			return -1; | ||||||
| 	} else { | 	} else { | ||||||
| 		unsigned long destlen = MAXSIZE; | 		unsigned long destlen = MAXSIZE; | ||||||
|  |  | ||||||
|  | @ -37,7 +37,9 @@ | ||||||
| #include <openssl/evp.h> | #include <openssl/evp.h> | ||||||
| #include <openssl/engine.h> | #include <openssl/engine.h> | ||||||
| 
 | 
 | ||||||
|  | #ifdef HAVE_LZO | ||||||
| #include LZO1X_H | #include LZO1X_H | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| #ifndef HAVE_MINGW | #ifndef HAVE_MINGW | ||||||
| #include <pwd.h> | #include <pwd.h> | ||||||
|  | @ -540,10 +542,12 @@ int main(int argc, char **argv) { | ||||||
| 	if(!read_server_config()) | 	if(!read_server_config()) | ||||||
| 		return 1; | 		return 1; | ||||||
| 
 | 
 | ||||||
|  | #ifdef HAVE_LZO | ||||||
| 	if(lzo_init() != LZO_E_OK) { | 	if(lzo_init() != LZO_E_OK) { | ||||||
| 		logger(LOG_ERR, "Error initializing LZO compressor!"); | 		logger(LOG_ERR, "Error initializing LZO compressor!"); | ||||||
| 		return 1; | 		return 1; | ||||||
| 	} | 	} | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| #ifdef HAVE_MINGW | #ifdef HAVE_MINGW | ||||||
| 	if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) { | 	if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue