summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Beier <dontmind@freeshell.org>2018-07-08 17:56:23 +0200
committerChristian Beier <dontmind@freeshell.org>2018-07-08 17:56:50 +0200
commite775aec64e75d5b3e5580ab2f0a860efe9ce4d1b (patch)
tree66725f93b1d22ed171091304fead4a4780d4685a
parent3c05dd565e7c0253bcca437bf56ad41564c12650 (diff)
downloadlibtdevnc-e775aec6.tar.gz
libtdevnc-e775aec6.zip
build: decouple GnuTLS|OpenSSL detection from WebSockets support
-rw-r--r--CMakeLists.txt31
-rw-r--r--rfb/rfb.h5
2 files changed, 15 insertions, 21 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b9f3044..8097158 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -224,20 +224,6 @@ endif(LIBVNCSERVER_HAVE_SYS_UIO_H)
if(WITH_WEBSOCKETS AND LIBVNCSERVER_HAVE_CRYPTO)
set(LIBVNCSERVER_WITH_WEBSOCKETS 1)
- if(GNUTLS_FOUND)
- message(STATUS "Building websockets with GnuTLS")
- set(WEBSOCKET_LIBRARIES ${GNUTLS_LIBRARIES})
- set(WSSRCS ${LIBVNCSERVER_DIR}/rfbssl_gnutls)
- include_directories(${GNUTLS_INCLUDE_DIR})
- elseif(OPENSSL_FOUND)
- message(STATUS "Building websockets with OpenSSL")
- set(WEBSOCKET_LIBRARIES ${OPENSSL_LIBRARIES})
- set(WSSRCS ${LIBVNCSERVER_DIR}/rfbssl_openssl)
- else()
- message(STATUS "Building websockets without SSL")
- set(WEBSOCKET_LIBRARIES)
- set(WSSRCS ${LIBVNCSERVER_DIR}/rfbssl_none.c)
- endif()
endif(WITH_WEBSOCKETS AND LIBVNCSERVER_HAVE_CRYPTO)
if(WITH_GCRYPT AND LIBGCRYPT_LIBRARIES)
@@ -351,17 +337,30 @@ if(GNUTLS_FOUND)
${LIBVNCCLIENT_SOURCES}
${LIBVNCCLIENT_DIR}/tls_gnutls.c
)
+ set(LIBVNCSERVER_SOURCES
+ ${LIBVNCSERVER_SOURCES}
+ ${LIBVNCSERVER_DIR}/rfbssl_gnutls.c
+ )
+ include_directories(${GNUTLS_INCLUDE_DIR})
elseif(OPENSSL_FOUND)
set(LIBVNCCLIENT_SOURCES
${LIBVNCCLIENT_SOURCES}
${LIBVNCCLIENT_DIR}/tls_openssl.c
)
+ set(LIBVNCSERVER_SOURCES
+ ${LIBVNCSERVER_SOURCES}
+ ${LIBVNCSERVER_DIR}/rfbssl_openssl.c
+ )
include_directories(${OPENSSL_INCLUDE_DIR})
else()
set(LIBVNCCLIENT_SOURCES
${LIBVNCCLIENT_SOURCES}
${LIBVNCCLIENT_DIR}/tls_none.c
)
+ set(LIBVNCSERVER_SOURCES
+ ${LIBVNCSERVER_SOURCES}
+ ${LIBVNCSERVER_DIR}/rfbssl_none.c
+ )
endif()
if(LIBVNCSERVER_HAVE_SASL)
@@ -417,7 +416,6 @@ if(LIBVNCSERVER_WITH_WEBSOCKETS)
${LIBVNCSERVER_DIR}/ws_decode.c
${COMMON_DIR}/base64.c
${CRYPTO_SOURCES}
- ${WSSRCS}
)
endif(LIBVNCSERVER_WITH_WEBSOCKETS)
@@ -440,7 +438,8 @@ target_link_libraries(vncserver
${JPEG_LIBRARIES}
${PNG_LIBRARIES}
${CRYPTO_LIBRARIES}
- ${WEBSOCKET_LIBRARIES}
+ ${GNUTLS_LIBRARIES}
+ ${OPENSSL_LIBRARIES}
)
SET_TARGET_PROPERTIES(vncclient vncserver
diff --git a/rfb/rfb.h b/rfb/rfb.h
index 6401e78..3d6d31e 100644
--- a/rfb/rfb.h
+++ b/rfb/rfb.h
@@ -378,10 +378,8 @@ typedef struct _rfbScreenInfo
rfbDisplayFinishedHookPtr displayFinishedHook;
/** xvpHook is called to handle an xvp client message */
rfbXvpHookPtr xvpHook;
-#ifdef LIBVNCSERVER_WITH_WEBSOCKETS
char *sslkeyfile;
char *sslcertfile;
-#endif
int ipv6port; /**< The port to listen on when using IPv6. */
char* listen6Interface;
/* We have an additional IPv6 listen socket since there are systems that
@@ -690,12 +688,9 @@ typedef struct _rfbClientRec {
int turboQualityLevel; /* 1-100 scale */
#endif
#endif
-
-#ifdef LIBVNCSERVER_WITH_WEBSOCKETS
rfbSslCtx *sslctx;
wsCtx *wsctx;
char *wspath; /* Requests path component */
-#endif
} rfbClientRec, *rfbClientPtr;
/**