Skip to content

Commit

Permalink
Update qtssh's putty to version 0.78. (#18452)
Browse files Browse the repository at this point in the history
Remove qtssh build support for unix.
  • Loading branch information
biagas authored Jan 31, 2023
1 parent 8c55c66 commit 32e0cc3
Show file tree
Hide file tree
Showing 491 changed files with 102,935 additions and 92,094 deletions.
2 changes: 2 additions & 0 deletions src/bin/visit.c
Original file line number Diff line number Diff line change
Expand Up @@ -1463,6 +1463,8 @@ GetVisItEnvironment(stringVector &env, bool addPluginVars, bool &usingdev,
qpath+=string("\\qtssh.exe");
sprintf(tmp, "VISITSSH=%s", qpath.c_str());
env.push_back(tmp);
sprintf(tmp, "VISITSSHARGS=-no-antispoof");
env.push_back(tmp);
if (!errmsg.empty())
{
errmsg += "Using VisIt's qtssh.";
Expand Down
1 change: 1 addition & 0 deletions src/resources/help/en_US/relnotes3.3.2.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<li>Fixed a bug where "atan2" did not show up in the list of expressions in the Expressions window.</li>
<li>Fixed a bug with the Mili reader where variables that were only defined on a portion of the nodes weren't being placed on the correct nodes.</li>
<li>Fixed the default attributes repr() behavior in the CLI to again print attribute details. This was unintended change introduced with Python 3 support.</li>
<li>VisIt's internal ssh (qtssh) was updated with latest putty version (0.78) to fix client-server connection issues from Windows.</li>
</ul>

<a name="Enhancements"></a>
Expand Down
264 changes: 110 additions & 154 deletions src/tools/third_party/qtssh/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,168 +25,124 @@
# Kevin Griffin, Tue Jan 17 10:29:26 PST 2017
# Upgraded source code to version 0.67
#
# Kathleen Biagas, Tue Jan 24, 2023
# Upgraded source code to version 0.78.
# Utilize putty's native CMake build system with modifications
# to only build our qtssh version of plink and necessary libs.
#
#****************************************************************************

# All of the platform independent plink sources.
set(PLINK_CORE_SOURCES
be_all_s.c
callback.c
cmdline.c
conf.c
cproxy.c
ldisc.c
logging.c
misc.c
noterm.c
pgssapi.c
pinger.c
portfwd.c
proxy.c
raw.c
rlogin.c
settings.c
ssh.c
sshaes.c
ssharcf.c
sshblowf.c
sshbn.c
sshcrc.c
sshcrcda.c
sshdes.c
sshdh.c
sshdss.c
sshgssc.c
sshmd5.c
sshpubk.c
sshrand.c
sshrsa.c
sshsh256.c
sshsh512.c
sshsha.c
sshshare.c
sshzlib.c
telnet.c
timing.c
tree234.c
version.c
wildcard.c
x11fwd.c
)

# All of the windows specific plink sources.
set(PLINK_WINDOWS_SOURCES
errsock.c
windows/plink.rc
windows/putty.ico
windows/wincapi.c
windows/wincons.c
windows/windefs.c
windows/wingss.c
windows/winhandl.c
windows/winhsock.c
windows/winmisc.c
windows/winnet.c
windows/winnoise.c
windows/winnojmp.c
windows/winnpc.c
windows/winnps.c
windows/winpgntc.c
windows/winproxy.c
windows/winsecur.c
windows/winser.c
windows/winshare.c
windows/winstore.c
windows/wintime.c
windows/winx11.c
)

# All of the unix specific plink sources.
set(PLINK_UNIX_SOURCES
time.c
unix/ux_x11.c
unix/uxagentc.c
unix/uxcons.c
unix/uxgss.c
unix/uxmisc.c
unix/uxnet.c
unix/uxnoise.c
unix/uxpeer.c
unix/uxproxy.c
unix/uxsel.c
unix/uxser.c
unix/uxshare.c
unix/uxsignal.c
unix/uxstore.c
)

if(WIN32)
set(PLINK_SOURCES ${PLINK_CORE_SOURCES} ${PLINK_WINDOWS_SOURCES})
else()
set(PLINK_SOURCES ${PLINK_CORE_SOURCES} ${PLINK_UNIX_SOURCES})
endif()

set(QTSSH_SOURCES
qtssh.cpp
${VISIT_SOURCE_DIR}/viewer/main/ui/VisItChangeUsernameWindow.C
${VISIT_SOURCE_DIR}/viewer/main/ui/VisItPasswordWindow.C
)

if(WIN32)
list(APPEND QTSSH_SOURCES qtsshmain.c)
else()
list(APPEND QTSSH_SOURCES uxqtsshmain.c)
endif()

# The subset of the sources that have Q_OBJECT in their header.
set(QTSSH_MOC_SOURCES
${VISIT_SOURCE_DIR}/viewer/main/ui/VisItChangeUsernameWindow.h
${VISIT_SOURCE_DIR}/viewer/main/ui/VisItPasswordWindow.h
)
qt_wrap_cpp(qtssh QTSSH_SOURCES ${QTSSH_MOC_SOURCES})

include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${VISIT_BINARY_DIR}/include
project(putty)

include(cmake/setup.cmake)

add_compile_definitions(HAVE_CMAKE_H)

add_library(utils STATIC)
target_include_directories(utils PRIVATE
terminal
${putty_SOURCE_DIR}
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
VISIT_TOOLS_ADD_FOLDER(qtssh utils)
add_subdirectory(utils)
add_subdirectory(stubs)

add_library(logging OBJECT logging.c)
target_include_directories(logging PRIVATE
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
VISIT_TOOLS_ADD_FOLDER(qtssh logging)

add_library(eventloop STATIC callback.c timing.c)
target_include_directories(eventloop PRIVATE
${putty_SOURCE_DIR}
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
VISIT_TOOLS_ADD_FOLDER(qtssh eventloop)

add_library(console STATIC clicons.c console.c)
target_include_directories(console PRIVATE
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
VISIT_TOOLS_ADD_FOLDER(qtssh console)

add_library(settings STATIC cmdline.c settings.c)
target_include_directories(settings PRIVATE
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
VISIT_TOOLS_ADD_FOLDER(qtssh settings)

add_library(crypto STATIC proxy/cproxy.c proxy/sshproxy.c)
target_include_directories(crypto PRIVATE
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
add_subdirectory(crypto)
VISIT_TOOLS_ADD_FOLDER(qtssh crypto)

add_library(network STATIC
errsock.c logging.c x11disp.c
proxy/proxy.c
proxy/http.c
proxy/socks4.c
proxy/socks5.c
proxy/telnet.c
proxy/local.c
proxy/interactor.c)
target_include_directories(network PRIVATE
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
VISIT_TOOLS_ADD_FOLDER(qtssh network)

add_library(noterminal STATIC stubs/no-term.c ldisc.c)
target_include_directories(noterminal PRIVATE
terminal
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
VISIT_TOOLS_ADD_FOLDER(qtssh noterminal)

add_library(all-backends OBJECT pinger.c)
target_include_directories(all-backends PRIVATE
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
VISIT_TOOLS_ADD_FOLDER(qtssh all-backends)

add_subdirectory(ssh)

add_library(otherbackends STATIC
$<TARGET_OBJECTS:all-backends>
$<TARGET_OBJECTS:logging>)
target_include_directories(otherbackends PRIVATE
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})
add_subdirectory(otherbackends)
VISIT_TOOLS_ADD_FOLDER(qtssh otherbackends)

add_executable(qtssh
${platform}/qtsshmain.c qtssh.cpp
${VISIT_SOURCE_DIR}/viewer/main/ui/VisItChangeUsernameWindow.C
${VISIT_SOURCE_DIR}/viewer/main/ui/VisItPasswordWindow.C)
set_target_properties(qtssh PROPERTIES AUTOMOC ON)
be_list(qtssh QTSSH SSH SERIAL OTHERBACKENDS)
target_link_libraries(qtssh
eventloop noterminal console sshclient otherbackends settings network crypto
utils ${platform_libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY})

target_include_directories(qtssh PRIVATE
${VISIT_SOURCE_DIR}/viewer/main/ui
${VISIT_COMMON_INCLUDES}
)

if(WIN32)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/windows)
else()
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/charset
${CMAKE_CURRENT_SOURCE_DIR}/unix
)
endif()

link_directories(${CMAKE_LIBRARY_OUTPUT_DIRECTORY})

if(WIN32)
add_definitions(-DSECURITY_WIN32)
endif()

set(RELEVANT_QT_LIBS
${QT_QTGUI_LIBRARY}
${QT_QTCORE_LIBRARY}
)
${putty_SOURCE_DIR}/${platform}
${GENERATED_SOURCES_DIR})

if(VISIT_STATIC)
MAC_NIB_INSTALL(qtssh)
set(RELEVANT_QT_LIBS
${RELEVANT_QT_LIBS}
${QT_QTCORE_LIB_DEPENDENCIES}
${QT_QTGUI_LIB_DEPENDENCIES}
)
endif()

add_executable(qtssh ${QTSSH_SOURCES} ${PLINK_SOURCES})
target_link_libraries(qtssh ${RELEVANT_QT_LIBS})
if(NOT WIN32)
target_link_libraries(qtssh dl)
target_link_libraries(qtssh ${QT_QTCORE_LIB_DEPENDENCIES}
${QT_QTGUI_LIB_DEPENDENCIES})
endif()

VISIT_INSTALL_TARGETS(qtssh)
VISIT_TOOLS_ADD_FOLDER(qtssh)
VISIT_TOOLS_ADD_FOLDER(qtssh qtssh)

add_subdirectory(windows)

configure_file(cmake/cmake.h.in ${GENERATED_SOURCES_DIR}/cmake.h)

Loading

0 comments on commit 32e0cc3

Please sign in to comment.