Skip to content

Commit

Permalink
PuTTY 0.82 Release
Browse files Browse the repository at this point in the history
- Merged changes from PuTTY 0.82 branch. Some minor PuTTY CAC changes were necessary to support the merge.
- Built and signed binaries for 0.82.
  • Loading branch information
NoMoreFood committed Nov 29, 2024
1 parent ff006f7 commit 22079b4
Show file tree
Hide file tree
Showing 301 changed files with 22,000 additions and 9,206 deletions.
Binary file added binaries/arm/pageant.exe
Binary file not shown.
Binary file added binaries/arm/plink.exe
Binary file not shown.
Binary file added binaries/arm/pscp.exe
Binary file not shown.
Binary file added binaries/arm/psftp.exe
Binary file not shown.
Binary file added binaries/arm/pterm.exe
Binary file not shown.
Binary file added binaries/arm/putty.exe
Binary file not shown.
Binary file added binaries/arm/puttygen.exe
Binary file not shown.
Binary file added binaries/arm/puttyimp.exe
Binary file not shown.
Binary file added binaries/arm/puttytel.exe
Binary file not shown.
Binary file added binaries/arm64/pageant.exe
Binary file not shown.
Binary file added binaries/arm64/plink.exe
Binary file not shown.
Binary file added binaries/arm64/pscp.exe
Binary file not shown.
Binary file added binaries/arm64/psftp.exe
Binary file not shown.
Binary file added binaries/arm64/pterm.exe
Binary file not shown.
Binary file added binaries/arm64/putty.exe
Binary file not shown.
Binary file added binaries/arm64/puttygen.exe
Binary file not shown.
Binary file added binaries/arm64/puttyimp.exe
Binary file not shown.
Binary file added binaries/arm64/puttytel.exe
Binary file not shown.
Binary file removed binaries/puttycac-0.81-installer.msi
Binary file not shown.
Binary file removed binaries/puttycac-0.81.zip
Binary file not shown.
Binary file added binaries/puttycac-0.82-arm.msi
Binary file not shown.
Binary file added binaries/puttycac-0.82-arm.zip
Binary file not shown.
Binary file added binaries/puttycac-0.82-arm64.msi
Binary file not shown.
Binary file added binaries/puttycac-0.82-arm64.zip
Binary file not shown.
Binary file added binaries/puttycac-0.82-x64.msi
Binary file not shown.
Binary file added binaries/puttycac-0.82-x64.zip
Binary file not shown.
Binary file added binaries/puttycac-0.82-x86.msi
Binary file not shown.
Binary file added binaries/puttycac-0.82-x86.zip
Binary file not shown.
Binary file removed binaries/puttycac-64bit-0.81-installer.msi
Binary file not shown.
Binary file removed binaries/puttycac-64bit-0.81.zip
Binary file not shown.
198 changes: 132 additions & 66 deletions binaries/puttycac-hash.txt

Large diffs are not rendered by default.

Binary file modified binaries/x64/pageant.exe
Binary file not shown.
Binary file modified binaries/x64/plink.exe
Binary file not shown.
Binary file modified binaries/x64/pscp.exe
Binary file not shown.
Binary file modified binaries/x64/psftp.exe
Binary file not shown.
Binary file modified binaries/x64/pterm.exe
Binary file not shown.
Binary file modified binaries/x64/putty.exe
Binary file not shown.
Binary file modified binaries/x64/puttygen.exe
Binary file not shown.
Binary file modified binaries/x64/puttyimp.exe
Binary file not shown.
Binary file modified binaries/x64/puttytel.exe
Binary file not shown.
Binary file modified binaries/x86/pageant.exe
Binary file not shown.
Binary file modified binaries/x86/plink.exe
Binary file not shown.
Binary file modified binaries/x86/pscp.exe
Binary file not shown.
Binary file modified binaries/x86/psftp.exe
Binary file not shown.
Binary file modified binaries/x86/pterm.exe
Binary file not shown.
Binary file modified binaries/x86/putty.exe
Binary file not shown.
Binary file modified binaries/x86/puttygen.exe
Binary file not shown.
Binary file modified binaries/x86/puttyimp.exe
Binary file not shown.
Binary file modified binaries/x86/puttytel.exe
Binary file not shown.
5 changes: 4 additions & 1 deletion code/Buildscr
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ module putty
ifeq "$(RELEASE)" "" set Ndate $(!builddate)
ifneq "$(Ndate)" "" in . do echo $(Ndate) | perl -pe 's/(....)(..)(..)/$$1-$$2-$$3/' > date
ifneq "$(Ndate)" "" read Date date
set Epoch 18819 # update this at every release
set Epoch 19052 # update this at every release
ifneq "$(Ndate)" "" in . do echo $(Ndate) | perl -ne 'use Time::Local; /(....)(..)(..)/ and print timegm(0,0,0,$$3,$$2-1,$$1) / 86400 - $(Epoch)' > days
ifneq "$(Ndate)" "" read Days days

Expand Down Expand Up @@ -140,6 +140,9 @@ delegate -
in putty do cmake . -DCMAKE_C_COMPILER=clang -DCMAKE_C_FLAGS="-fsanitize=address -fsanitize=leak" -DSTRICT=ON
in putty do make -j$(nproc) VERBOSE=1
in putty do python3 test/cryptsuite.py
in putty do ./test_lineedit
in putty do ./test_terminal
in putty do ./test_conf
enddelegate

delegate -
Expand Down
37 changes: 33 additions & 4 deletions code/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ add_subdirectory(utils)
add_subdirectory(stubs)

add_library(logging OBJECT
logging.c)
logging.c utils/logeventf.c)

add_library(eventloop STATIC
callback.c timing.c)
Expand All @@ -39,7 +39,8 @@ add_library(crypto STATIC
add_subdirectory(crypto)

add_library(network STATIC
errsock.c logging.c x11disp.c
errsock.c x11disp.c
$<TARGET_OBJECTS:logging>
proxy/proxy.c
proxy/http.c
proxy/socks4.c
Expand All @@ -57,7 +58,7 @@ add_library(agent STATIC

add_library(guiterminal STATIC
terminal/terminal.c terminal/bidi.c
ldisc.c config.c dialog.c
ldisc.c terminal/lineedit.c config.c dialog.c
$<TARGET_OBJECTS:logging>)

add_library(noterminal STATIC
Expand Down Expand Up @@ -90,6 +91,11 @@ add_executable(test_decode_utf8
target_compile_definitions(test_decode_utf8 PRIVATE TEST)
target_link_libraries(test_decode_utf8 utils ${platform_libraries})

add_executable(test_unicode_norm
utils/unicode-norm.c)
target_compile_definitions(test_unicode_norm PRIVATE TEST)
target_link_libraries(test_unicode_norm utils ${platform_libraries})

add_executable(test_tree234
utils/tree234.c)
target_compile_definitions(test_tree234 PRIVATE TEST)
Expand All @@ -114,7 +120,8 @@ add_executable(bidi_test
target_link_libraries(bidi_test guiterminal utils ${platform_libraries})

add_executable(plink
${platform}/plink.c)
${platform}/plink.c
stubs/no-lineedit.c)
# Note: if we ever port Plink to a platform where we can't implement a
# serial backend, this be_list command will need to become platform-
# dependent, so that it only sets the SERIAL option on platforms where
Expand Down Expand Up @@ -154,8 +161,30 @@ target_link_libraries(psocks
eventloop console network utils
${platform_libraries})

add_executable(test_conf
test/test_conf.c
stubs/no-agent.c
stubs/no-callback.c
stubs/no-gss.c
stubs/no-ldisc.c
stubs/no-network.c
stubs/no-timing.c
proxy/noproxy.c # FIXME: move this to stubs
)
be_list(test_conf TestConf SSH SERIAL OTHERBACKENDS)
target_link_libraries(test_conf sshclient otherbackends settings network crypto utils ${platform_libraries})

foreach(subdir ${platform} ${extra_dirs})
add_subdirectory(${subdir})
endforeach()

# Nasty bodge: we'd like to run this command inside unix/CMakeLists,
# adding the 'charset' library to everything that links with utils.
# But that wasn't allowed until cmake 3.13 (see cmake policy CMP0073),
# and we still have a min cmake version less than that. So we do it
# here instead.
if(platform STREQUAL unix)
target_link_libraries(utils charset)
endif()

configure_file(cmake/cmake.h.in ${GENERATED_SOURCES_DIR}/cmake.h)
19 changes: 14 additions & 5 deletions code/README
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
This is the README for PuTTY, a free Windows and Unix Telnet and SSH
client.
PuTTY source code README
========================

This is the README for the source code of PuTTY, a free Windows and
Unix Telnet and SSH client.

PuTTY is built using CMake <https://cmake.org/>. To compile in the
simplest way (on any of Linux, Windows or Mac), run these commands in
the source directory:
simplest way (on any of Linux, Windows or Mac), the general method is
to run these commands in the source directory:

cmake .
cmake --build .

Then, to install in the simplest way on Linux or Mac:
These commands will expect to find a usable compile toolchain on your
path. So if you're building on Windows with MSVC, you'll need to make
sure that the MSVC compiler (cl.exe) is on your path, by running one
of the 'vcvars32.bat' setup scripts provided with the tools. Then the
cmake commands above should work.

To install in the simplest way on Linux or Mac:

cmake --build . --target install

Expand Down
1 change: 1 addition & 0 deletions code/cmake/cmake.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
#cmakedefine01 HAVE_BINARY_SETPGRP
#cmakedefine01 HAVE_PANGO_FONT_FAMILY_IS_MONOSPACE
#cmakedefine01 HAVE_PANGO_FONT_MAP_LIST_FAMILIES
#cmakedefine01 HAVE_G_APPLICATION_DEFAULT_FLAGS

#cmakedefine01 HAVE_AES_NI
#cmakedefine01 HAVE_SHA_NI
Expand Down
4 changes: 4 additions & 0 deletions code/cmake/gtk.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ if(GTK_FOUND)
${HAVE_PANGO_FONT_FAMILY_IS_MONOSPACE} PARENT_SCOPE)
set(HAVE_PANGO_FONT_MAP_LIST_FAMILIES
${HAVE_PANGO_FONT_MAP_LIST_FAMILIES} PARENT_SCOPE)
check_c_source_compiles("
#include <gtk/gtk.h>
int f = G_APPLICATION_DEFAULT_FLAGS;
int main(void) {}" HAVE_G_APPLICATION_DEFAULT_FLAGS)
endfunction()
pango_check_subscope()
endif()
10 changes: 10 additions & 0 deletions code/cmake/winegcc
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
# options that CMake gets wrong.

init=true
link=true
for arg in init "$@"; do
if $init; then
set --
Expand All @@ -21,9 +22,18 @@ for arg in init "$@"; do
# suffix.
-l*.lib) set -- "$@" "${arg%.lib}";;

# Options that mean we're not linking.
-E | -S | -c) link=false set -- "$@" "$arg";;

# Anything else, we leave unchanged.
*) set -- "$@" "$arg";;
esac
done

if $link; then
# winegcc requires this library for _wfopen
set -- "$@" -lucrtbase
fi

echo "$@" >&2
exec winegcc "$@"
5 changes: 3 additions & 2 deletions code/cmdgen.c
Original file line number Diff line number Diff line change
Expand Up @@ -718,10 +718,11 @@ int main(int argc, char **argv)

/*
* If run with at least one argument _but_ not the required
* ones, print the usage message and return failure.
* ones, fail with an error.
*/
if (!infile && keytype == NOKEYGEN) {
usage(true);
fprintf(stderr, "puttygen: expected an input key file name, "
"or -t for a type of key to generate\n");
RETURN(1);
}

Expand Down
Loading

0 comments on commit 22079b4

Please sign in to comment.