git: 8b46420daada - main - security/putty: upgrade to pre-release 0.78~pre20220916.e1b73f0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 18 Sep 2022 11:35:09 UTC
The branch main has been updated by mandree: URL: https://cgit.FreeBSD.org/ports/commit/?id=8b46420daadaf0c374278ab9e11e9eba069e834a commit 8b46420daadaf0c374278ab9e11e9eba069e834a Author: Matthias Andree <mandree@FreeBSD.org> AuthorDate: 2022-09-16 22:04:43 +0000 Commit: Matthias Andree <mandree@FreeBSD.org> CommitDate: 2022-09-18 11:35:04 +0000 security/putty: upgrade to pre-release 0.78~pre20220916.e1b73f0 ChangeLog: https://lists.tartarus.org/pipermail/putty-announce/2022/000034.html Please test this thoroughly and if you happen to have a Kerberos- or GSSAPI-enabled SSH server, please give the maintainer feedback whether GSSAPI works for you and which GSSAPI library you have installed. --- security/putty/Makefile | 29 +++++++----- security/putty/distinfo | 6 +-- security/putty/files/patch-krb5cfg | 95 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 14 deletions(-) diff --git a/security/putty/Makefile b/security/putty/Makefile index 39c9b76a6fbe..77ec0c8b7e7c 100644 --- a/security/putty/Makefile +++ b/security/putty/Makefile @@ -1,8 +1,9 @@ PORTNAME= putty -PORTVERSION= 0.77 +DISTVERSION= 0.78~pre20220916.e1b73f0 CATEGORIES= security -MASTER_SITES= http://the.earth.li/~sgtatham/putty/${PORTVERSION}/ \ - ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-latest/ +#MASTER_SITES= http://the.earth.li/~sgtatham/putty/${PORTVERSION}/ \ +# ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-latest/ +MASTER_SITES= https://tartarus.org/~simon/putty-prerel-snapshots/ MAINTAINER= mandree@FreeBSD.org COMMENT= Secure shell and telnet client including xterm emulator @@ -31,9 +32,12 @@ PLIST_FILES= bin/plink \ OPTIONS_DEFINE= GTK3 OPTIONS_DEFAULT= GSSAPI_NONE GTK3 OPTIONS_SINGLE= GSSAPI_SELECT -OPTIONS_SINGLE_GSSAPI_SELECT= GSSAPI_MIT \ - GSSAPI_DYNAMIC \ - GSSAPI_NONE +OPTIONS_SINGLE_GSSAPI_SELECT= GSSAPI_DYNAMIC GSSAPI_NONE +#OPTIONS_SINGLE_GSSAPI_SELECT= GSSAPI_BASE \ +# GSSAPI_DYNAMIC \ +# GSSAPI_HEIMDAL \ +# GSSAPI_MIT \ +# GSSAPI_NONE GSSAPI_DYNAMIC_DESC= EXPERIMENTAL dynamic runtime load of GSS libs .include <bsd.port.options.mk> @@ -75,19 +79,22 @@ CMAKE_ARGS+= -DCMAKE_DISABLE_FIND_PACKAGE_X11:BOOL=TRUE .if ${PORT_OPTIONS:MGSSAPI_HEIMDAL} # does not compile currently -BROKEN= GSSAPI_HEIMDAL does not compile as of putty 0.77 +BROKEN= GSSAPI_HEIMDAL does not compile as of putty 0.77 and 0.78~pre20220916.e1b73f0 USES+= gssapi:heimdal,flags CMAKE_ARGS+= -DPUTTY_GSSAPI:STRING=STATIC +.elif ${PORT_OPTIONS:MGSSAPI_BASE} +BROKEN= GSSAPI_BASE does not work as of putty 0.77 and 0.78~pre20220916.e1b73f0 +USES+= gssapi:base,flags +CMAKE_ARGS+= -DPUTTY_GSSAPI:STRING=STATIC .elif ${PORT_OPTIONS:MGSSAPI_MIT} +BROKEN= GSSAPI_MIT does not work as of putty 0.77 and 0.78~pre20220916.e1b73f0 USES+= gssapi:mit,flags CMAKE_ARGS+= -DPUTTY_GSSAPI:STRING=STATIC .elif ${PORT_OPTIONS:MGSSAPI_DYNAMIC} CMAKE_ARGS+= -DPUTTY_GSSAPI:STRING=DYNAMIC +USES+= gssapi:base,flags .else -# XXX FIXME buglet in putty 0.77: PUTTY_GSSAPI=OFF -# does not appear to get NO_GSSAPI into .build/CMakeFiles/cmake.h, -# so we shove it down explicitly: -CMAKE_ARGS+= -DPUTTY_GSSAPI:STRING=OFF -DNO_GSSAPI=ON +CMAKE_ARGS+= -DPUTTY_GSSAPI:STRING=OFF .endif post-patch: diff --git a/security/putty/distinfo b/security/putty/distinfo index 0aa2ce19786d..c372db49ff29 100644 --- a/security/putty/distinfo +++ b/security/putty/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1653681200 -SHA256 (putty-0.77.tar.gz) = 419a76f45238fd45f2c76b42438993056e74fa78374f136052aaa843085beae5 -SIZE (putty-0.77.tar.gz) = 2619481 +TIMESTAMP = 1663360961 +SHA256 (putty-0.78~pre20220916.e1b73f0.tar.gz) = 73d14697ea397f9eb4c6e5e127ef33a15a499947c129e502b3a55a40ce19388d +SIZE (putty-0.78~pre20220916.e1b73f0.tar.gz) = 2810612 diff --git a/security/putty/files/patch-krb5cfg b/security/putty/files/patch-krb5cfg new file mode 100644 index 000000000000..c0e700a9c1a3 --- /dev/null +++ b/security/putty/files/patch-krb5cfg @@ -0,0 +1,95 @@ +From 1992df5d7a1ea0636a62facbdb74d32cb4d5b50d Mon Sep 17 00:00:00 2001 +From: Simon Tatham <anakin@pobox.com> +Date: Wed, 1 Jun 2022 10:48:14 +0100 +Subject: [PATCH] First attempt at supporting krb5-config. + +--- + cmake/platforms/unix.cmake | 63 +++++++++++++++++++++++++++++++++++++- + 1 file changed, 62 insertions(+), 1 deletion(-) + +diff --git ./cmake/platforms/unix.cmake ./cmake/platforms/unix.cmake +index 291d1e64..95339f22 100644 +--- ./cmake/platforms/unix.cmake~ ++++ ./cmake/platforms/unix.cmake +@@ -108,16 +108,77 @@ if(PUTTY_GSSAPI STREQUAL DYNAMIC) + endif() + + if(PUTTY_GSSAPI STREQUAL STATIC) ++ set(KRB5_CFLAGS) ++ set(KRB5_LDFLAGS) ++ ++ # First try using pkg-config + find_package(PkgConfig) + pkg_check_modules(KRB5 krb5-gssapi) ++ ++ # Failing that, try the dedicated krb5-config ++ if(NOT KRB5_FOUND) ++ find_program(KRB5_CONFIG krb5-config) ++ if(KRB5_CONFIG) ++ execute_process(COMMAND ${KRB5_CONFIG} --cflags gssapi ++ OUTPUT_VARIABLE krb5_config_cflags ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ RESULT_VARIABLE krb5_config_cflags_result) ++ execute_process(COMMAND ${KRB5_CONFIG} --libs gssapi ++ OUTPUT_VARIABLE krb5_config_libs ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ RESULT_VARIABLE krb5_config_libs_result) ++ ++ if(krb5_config_cflags_result EQUAL 0 AND krb5_config_libs_result EQUAL 0) ++ set(KRB5_INCLUDE_DIRS) ++ set(KRB5_LIBRARY_DIRS) ++ set(KRB5_LIBRARIES) ++ ++ # We can safely put krb5-config's cflags directly into cmake's ++ # cflags, without bothering to extract the include directories. ++ set(KRB5_CFLAGS ${krb5_config_cflags}) ++ ++ # But krb5-config --libs isn't so simple. It will actually ++ # deliver a mix of libraries and other linker options. We have ++ # to separate them for cmake purposes, because if we pass the ++ # whole lot to add_link_options then they'll appear too early ++ # in the command line (so that by the time our own code refers ++ # to GSSAPI functions it'll be too late to search these ++ # libraries for them), and if we pass the whole lot to ++ # link_libraries then it'll get confused about options that ++ # aren't libraries. ++ separate_arguments(krb5_config_libs NATIVE_COMMAND ++ ${krb5_config_libs}) ++ foreach(opt ${krb5_config_libs}) ++ string(REGEX MATCH "^-l" ok ${opt}) ++ if(ok) ++ list(APPEND KRB5_LIBRARIES ${opt}) ++ continue() ++ endif() ++ string(REGEX MATCH "^-L" ok ${opt}) ++ if(ok) ++ string(REGEX REPLACE "^-L" "" optval ${opt}) ++ list(APPEND KRB5_LIBRARY_DIRS ${optval}) ++ continue() ++ endif() ++ list(APPEND KRB5_LDFLAGS ${opt}) ++ endforeach() ++ ++ message(STATUS "Found Kerberos via krb5-config") ++ set(KRB5_FOUND YES) ++ endif() ++ endif() ++ endif() ++ + if(KRB5_FOUND) + include_directories(${KRB5_INCLUDE_DIRS}) + link_directories(${KRB5_LIBRARY_DIRS}) + link_libraries(${KRB5_LIBRARIES}) ++ add_compile_options(${KRB5_CFLAGS}) ++ add_link_options(${KRB5_LDFLAGS}) + set(STATIC_GSSAPI ON) + else() + message(WARNING +- "Could not find krb5 via pkg-config -- \ ++ "Could not find krb5 via pkg-config or krb5-config -- \ + cannot provide static GSSAPI support") + set(NO_GSSAPI ON) + endif() +-- +2.34.1 +