diff options
Diffstat (limited to 'libssh')
-rw-r--r-- | libssh/gzip.c | 18 | ||||
-rw-r--r-- | libssh/kex.c | 4 | ||||
-rw-r--r-- | libssh/misc.c | 29 | ||||
-rw-r--r-- | libssh/packet.c | 12 |
4 files changed, 41 insertions, 22 deletions
diff --git a/libssh/gzip.c b/libssh/gzip.c index 0af45f1f..74de6f8a 100644 --- a/libssh/gzip.c +++ b/libssh/gzip.c @@ -19,17 +19,16 @@ You should have received a copy of the GNU Lesser General Public License along with the SSH Library; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "config.h" #include "libssh/priv.h" -#ifdef HAVE_LIBZ -#undef NO_GZIP -#else -#define NO_GZIP -#endif -#ifndef NO_GZIP +#if defined(HAVE_LIBZ) && defined(WITH_LIBZ) + #include <zlib.h> #include <string.h> #include <stdlib.h> + #define BLOCKSIZE 4092 static z_stream *initcompress(SSH_SESSION *session,int level){ @@ -42,7 +41,7 @@ static z_stream *initcompress(SSH_SESSION *session,int level){ return stream; } -BUFFER *gzip_compress(SSH_SESSION *session,BUFFER *source,int level){ +static BUFFER *gzip_compress(SSH_SESSION *session,BUFFER *source,int level){ BUFFER *dest; static unsigned char out_buf[BLOCKSIZE]; void *in_ptr=buffer_get(source); @@ -96,7 +95,7 @@ static z_stream *initdecompress(SSH_SESSION *session){ return stream; } -BUFFER *gzip_decompress(SSH_SESSION *session,BUFFER *source){ +static BUFFER *gzip_decompress(SSH_SESSION *session,BUFFER *source){ BUFFER *dest; static unsigned char out_buf[BLOCKSIZE]; void *in_ptr=buffer_get_rest(source); @@ -138,4 +137,5 @@ int decompress_buffer(SSH_SESSION *session,BUFFER *buf){ return 0; } -#endif /* NO_GZIP */ +#endif /* HAVE_LIBZ && WITH_LIBZ */ + diff --git a/libssh/kex.c b/libssh/kex.c index a2d93403..3e448673 100644 --- a/libssh/kex.c +++ b/libssh/kex.c @@ -22,6 +22,8 @@ MA 02111-1307, USA. */ #include <string.h> #include <stdlib.h> #include <stdio.h> + +#include "config.h" #include "libssh/priv.h" #include "libssh/ssh2.h" #include "libssh/ssh1.h" @@ -44,7 +46,7 @@ MA 02111-1307, USA. */ #define DES "3des-cbc" #endif -#ifdef HAVE_LIBZ +#if defined(HAVE_LIBZ) && defined(WITH_LIBZ) #define ZLIB "none,zlib" #else #define ZLIB "none" diff --git a/libssh/misc.c b/libssh/misc.c index a6d85413..f58fbf47 100644 --- a/libssh/misc.c +++ b/libssh/misc.c @@ -29,6 +29,8 @@ MA 02111-1307, USA. */ #include <stdlib.h> #include <sys/types.h> +#include "config.h" + #ifdef _WIN32 #define _WIN32_IE 0x0400 //SHGetSpecialFolderPath #include <shlobj.h> @@ -39,6 +41,24 @@ MA 02111-1307, USA. */ #include "libssh/priv.h" +#ifdef HAVE_LIBGCRYPT +#define GCRYPT_STRING "/gnutls" +#else +#define GCRYPT_STRING "" +#endif + +#ifdef HAVE_LIBCRYPTO +#define CRYPTO_STRING "/openssl" +#else +#define CRYPTO_STRING "" +#endif + +#if defined(HAVE_LIBZ) && defined(WITH_LIBZ) +#define LIBZ_STRING "/zlib" +#else +#define LIBZ_STRING "" +#endif + /** \defgroup ssh_misc SSH Misc * \brief Misc functions */ @@ -116,13 +136,8 @@ u64 ntohll(u64 a){ */ const char *ssh_version(int req_version) { if (req_version <= LIBSSH_VERSION_INT) { -#ifdef HAVE_LIBGCRYPT - return SSH_STRINGIFY(LIBSSH_VERSION) "/gnutls/zlib"; -#elif defined HAVE_LIBCRYPTO - return SSH_STRINGIFY(LIBSSH_VERSION) "/openssl/zlib"; -#else - return SSH_STRINGIFY(LIBSSH_VERSION); -#endif + return SSH_STRINGIFY(LIBSSH_VERSION) GCRYPT_STRING CRYPTO_STRING + LIBZ_STRING; } return NULL; diff --git a/libssh/packet.c b/libssh/packet.c index aca1255d..6c96a56f 100644 --- a/libssh/packet.c +++ b/libssh/packet.c @@ -24,10 +24,12 @@ MA 02111-1307, USA. */ #include <stdio.h> #include <unistd.h> #include <string.h> +#include <errno.h> + +#include "config.h" #include "libssh/priv.h" #include "libssh/ssh2.h" #include "libssh/ssh1.h" -#include <errno.h> #include "libssh/crypto.h" /* XXX include selected mac size */ @@ -139,7 +141,7 @@ static int packet_read2(SSH_SESSION *session){ ssh_log(session, SSH_LOG_RARE, "After padding, %d bytes left in buffer", buffer_get_rest_len(session->in_buffer)); -#ifdef HAVE_LIBZ +#if defined(HAVE_LIBZ) && defined(WITH_LIBZ) if(session->current_crypto && session->current_crypto->do_compress_in){ ssh_log(session, SSH_LOG_RARE, "Decompressing in_buffer ..."); decompress_buffer(session,session->in_buffer); @@ -247,7 +249,7 @@ static int packet_read1(SSH_SESSION *session){ buffer_pass_bytes(session->in_buffer,padding); /*pass the padding*/ ssh_log(session,SSH_LOG_PACKET,"the packet is valid"); /* will do that later -#ifdef HAVE_LIBZ +#if defined(HAVE_LIBZ) && defined(WITH_LIBZ) if(session->current_crypto && session->current_crypto->do_compress_in){ decompress_buffer(session,session->in_buffer); } @@ -326,7 +328,7 @@ static int packet_send2(SSH_SESSION *session){ enter_function(); ssh_log(session, SSH_LOG_RARE, "Writing on the wire a packet having %u bytes before", currentlen); -#ifdef HAVE_LIBZ +#if defined(HAVE_LIBZ) && defined(WITH_LIBZ) if(session->current_crypto && session->current_crypto->do_compress_out){ ssh_log(session, SSH_LOG_RARE, "Compressing in_buffer ..."); compress_buffer(session,session->out_buffer); @@ -369,7 +371,7 @@ static int packet_send1(SSH_SESSION *session){ enter_function(); ssh_log(session,SSH_LOG_PACKET,"Sending a %d bytes long packet",currentlen); /* -#ifdef HAVE_LIBZ +#if defined(HAVE_LIBZ) && defined(WITH_LIBZ) if(session->current_crypto && session->current_crypto->do_compress_out){ compress_buffer(session,session->out_buffer); currentlen=buffer_get_len(session->out_buffer); |