Add --disable-zlib configure option
This commit is contained in:
		
							parent
							
								
									eeb505af36
								
							
						
					
					
						commit
						ddb8cb0779
					
				
					 2 changed files with 46 additions and 28 deletions
				
			
		
							
								
								
									
										53
									
								
								m4/zlib.m4
									
										
									
									
									
								
							
							
						
						
									
										53
									
								
								m4/zlib.m4
									
										
									
									
									
								
							|  | @ -2,32 +2,37 @@ dnl Check to find the zlib headers/libraries | |||
| 
 | ||||
| AC_DEFUN([tinc_ZLIB], | ||||
| [ | ||||
|   AC_ARG_WITH(zlib, | ||||
|     AS_HELP_STRING([--with-zlib=DIR], [zlib base directory, or:]), | ||||
|     [zlib="$withval" | ||||
|      CPPFLAGS="$CPPFLAGS -I$withval/include" | ||||
|      LDFLAGS="$LDFLAGS -L$withval/lib"] | ||||
|   ) | ||||
|   AC_ARG_ENABLE([zlib], | ||||
|     AS_HELP_STRING([--disable-zlib], [disable zlib compression support])) | ||||
|   AS_IF([test "x$enable_zlib" != "xno"], [ | ||||
|   AC_DEFINE(HAVE_ZLIB, 1, [have zlib compression support]) | ||||
|     AC_ARG_WITH(zlib, | ||||
|       AS_HELP_STRING([--with-zlib=DIR], [zlib base directory, or:]), | ||||
|       [zlib="$withval" | ||||
|        CPPFLAGS="$CPPFLAGS -I$withval/include" | ||||
|        LDFLAGS="$LDFLAGS -L$withval/lib"] | ||||
|     ) | ||||
| 
 | ||||
|   AC_ARG_WITH(zlib-include, | ||||
|     AS_HELP_STRING([--with-zlib-include=DIR], [zlib headers directory]), | ||||
|     [zlib_include="$withval" | ||||
|      CPPFLAGS="$CPPFLAGS -I$withval"] | ||||
|   ) | ||||
|     AC_ARG_WITH(zlib-include, | ||||
|       AS_HELP_STRING([--with-zlib-include=DIR], [zlib headers directory]), | ||||
|       [zlib_include="$withval" | ||||
|        CPPFLAGS="$CPPFLAGS -I$withval"] | ||||
|     ) | ||||
| 
 | ||||
|   AC_ARG_WITH(zlib-lib, | ||||
|     AS_HELP_STRING([--with-zlib-lib=DIR], [zlib library directory]), | ||||
|     [zlib_lib="$withval" | ||||
|      LDFLAGS="$LDFLAGS -L$withval"] | ||||
|   ) | ||||
|     AC_ARG_WITH(zlib-lib, | ||||
|       AS_HELP_STRING([--with-zlib-lib=DIR], [zlib library directory]), | ||||
|       [zlib_lib="$withval" | ||||
|        LDFLAGS="$LDFLAGS -L$withval"] | ||||
|     ) | ||||
| 
 | ||||
|   AC_CHECK_HEADERS(zlib.h, | ||||
|     [], | ||||
|     [AC_MSG_ERROR("zlib header files not found."); break] | ||||
|   ) | ||||
|     AC_CHECK_HEADERS(zlib.h, | ||||
|       [], | ||||
|       [AC_MSG_ERROR("zlib header files not found."); break] | ||||
|     ) | ||||
| 
 | ||||
|   AC_CHECK_LIB(z, compress2, | ||||
|     [LIBS="$LIBS -lz"], | ||||
|     [AC_MSG_ERROR("zlib libraries not found.")] | ||||
|   ) | ||||
|     AC_CHECK_LIB(z, compress2, | ||||
|       [LIBS="$LIBS -lz"], | ||||
|       [AC_MSG_ERROR("zlib libraries not found.")] | ||||
|     ) | ||||
|   ]) | ||||
| ]) | ||||
|  |  | |||
|  | @ -26,7 +26,9 @@ | |||
| #include <openssl/pem.h> | ||||
| #include <openssl/hmac.h> | ||||
| 
 | ||||
| #ifdef HAVE_ZLIB | ||||
| #include <zlib.h> | ||||
| #endif | ||||
| 
 | ||||
| #ifdef HAVE_LZO | ||||
| #include LZO1X_H | ||||
|  | @ -152,7 +154,10 @@ 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) { | ||||
| 	if(level == 10) { | ||||
| 	if(level == 0) { | ||||
| 		memcpy(dest, source, len); | ||||
| 		return len; | ||||
| 	} else if(level == 10) { | ||||
| #ifdef HAVE_LZO | ||||
| 		lzo_uint lzolen = MAXSIZE; | ||||
| 		lzo1x_1_compress(source, len, dest, &lzolen, lzo_wrkmem); | ||||
|  | @ -161,10 +166,12 @@ static length_t compress_packet(uint8_t *dest, const uint8_t *source, length_t l | |||
| 		return -1; | ||||
| #endif | ||||
| 	} else if(level < 10) { | ||||
| #ifdef HAVE_ZLIB | ||||
| 		unsigned long destlen = MAXSIZE; | ||||
| 		if(compress2(dest, &destlen, source, len, level) == Z_OK) | ||||
| 			return destlen; | ||||
| 		else | ||||
| #endif | ||||
| 			return -1; | ||||
| 	} else { | ||||
| #ifdef HAVE_LZO | ||||
|  | @ -180,7 +187,10 @@ 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) { | ||||
| 	if(level > 9) { | ||||
| 	if(level == 0) { | ||||
| 		memcpy(dest, source, len); | ||||
| 		return len; | ||||
| 	} else if(level > 9) { | ||||
| #ifdef HAVE_LZO | ||||
| 		lzo_uint lzolen = MAXSIZE; | ||||
| 		if(lzo1x_decompress_safe(source, len, dest, &lzolen, NULL) == LZO_E_OK) | ||||
|  | @ -188,14 +198,17 @@ static length_t uncompress_packet(uint8_t *dest, const uint8_t *source, length_t | |||
| 		else | ||||
| #endif | ||||
| 			return -1; | ||||
| 	} else { | ||||
| 	} | ||||
| #ifdef HAVE_ZLIB | ||||
| 	else { | ||||
| 		unsigned long destlen = MAXSIZE; | ||||
| 		if(uncompress(dest, &destlen, source, len) == Z_OK) | ||||
| 			return destlen; | ||||
| 		else | ||||
| 			return -1; | ||||
| 	} | ||||
| 	 | ||||
| #endif | ||||
| 
 | ||||
| 	return -1; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue