adds experimental support for SSH tunneling to the Java client. Has not been tested with large desktop sizes yet. CMakeLists.txt needs some rework.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4882 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt
index eb391e3..d00bedb 100644
--- a/java/CMakeLists.txt
+++ b/java/CMakeLists.txt
@@ -5,7 +5,7 @@
find_package(Java)
-set(DEFAULT_JAVACFLAGS "-source 1.5 -target 1.5 -Xlint:all,-serial,-cast")
+set(DEFAULT_JAVACFLAGS "-source 1.5 -target 1.5 -Xlint:all,-serial,-cast,-unchecked,-fallthrough,-dep-ann")
set(JAVACFLAGS ${DEFAULT_JAVACFLAGS} CACHE STRING
"Java compiler flags (Default: ${DEFAULT_JAVACFLAGS})")
message(STATUS "Java compiler flags = ${JAVACFLAGS}")
@@ -27,7 +27,7 @@
F8Menu
OptionsDialogCallback
PasswdDialog
- PixelBufferImage
+ PlatformPixelBuffer
OptionsDialog
ServerDialog
UserPrefs
@@ -41,17 +41,69 @@
${CMAKE_CURRENT_BINARY_DIR}/${CLASSPATH}/${class}.class)
endforeach()
+set(JSCH_CLASSNAMES
+ DH
+ DHG1
+ DHG14
+ DHGEX
+ JSch
+ Session
+ UserAuth
+ UserAuthKeyboardInteractive
+ UserAuthPassword
+ UserAuthPublicKey
+ UserAuthNone
+ jce/AES128CBC
+ jce/AES192CTR
+ jce/ARCFOUR128
+ jce/BlowfishCBC
+ jce/HMACMD5
+ jce/KeyPairGenDSA
+ jce/Random
+ jce/SignatureRSA
+ jce/AES128CTR
+ jce/AES256CBC
+ jce/ARCFOUR256
+ jce/DH
+ jce/HMACSHA196
+ jce/KeyPairGenRSA
+ jce/SHA1
+ jce/TripleDESCBC
+ jce/AES192CBC
+ jce/AES256CTR
+ jce/ARCFOUR
+ jce/HMACMD596
+ jce/HMACSHA1
+ jce/MD5
+ jce/SignatureDSA
+ jce/TripleDESCTR
+ jcraft/Compression
+ jcraft/HMAC
+ jcraft/HMACMD596
+ jcraft/HMACMD5
+ jcraft/HMACSHA196
+ jcraft/HMACSHA1)
+set(JSCH_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jsch)
+foreach(class ${JSCH_CLASSNAMES})
+ set(JAVA_SOURCES ${JAVA_SOURCES} ${JSCH_SRCDIR}/${class}.java)
+ set(JAVA_CLASSES_FULL ${JAVA_CLASSES_FULL}
+ ${CMAKE_CURRENT_BINARY_DIR}/com/jcraft/jsch/${class}.class)
+endforeach()
+
file(GLOB DEPEND_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/com/tigervnc/rfb/*.java
${CMAKE_CURRENT_SOURCE_DIR}/com/tigervnc/rdr/*.java
${CMAKE_CURRENT_SOURCE_DIR}/com/tigervnc/network/*.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jsch/*.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jsch/jcraft/*.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jsch/jgss/*.java
${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jzlib/*.java)
string(REGEX REPLACE " " ";" JAVACFLAGS "${JAVACFLAGS}")
add_custom_command(OUTPUT ${JAVA_CLASSES_FULL}
DEPENDS ${JAVA_SOURCES} ${DEPEND_SOURCES}
COMMAND ${JAVA_COMPILE}
- ARGS ${JAVACFLAGS} -cp ${CMAKE_CURRENT_SOURCE_DIR}
+ ARGS ${JAVACFLAGS} -sourcepath ${CMAKE_CURRENT_SOURCE_DIR}
-d ${CMAKE_CURRENT_BINARY_DIR} ${JAVA_SOURCES})
configure_file(${CLASSPATH}/timestamp.in ${CLASSPATH}/timestamp)
@@ -84,6 +136,9 @@
com/tigervnc/rdr/*.class
com/tigervnc/network/*.class
com/jcraft/jzlib/*.class
+ com/jcraft/jsch/jcraft/*.class
+ com/jcraft/jsch/jce/*.class
+ com/jcraft/jsch/*.class
com/tigervnc/vncviewer/tigervnc.png
com/tigervnc/vncviewer/tigervnc.ico
COMMAND ${CMAKE_COMMAND}