diff --git a/security/gnome-ssh-askpass/Makefile b/security/gnome-ssh-askpass/Makefile index 96ac9d47d684..db57acae9d62 100644 --- a/security/gnome-ssh-askpass/Makefile +++ b/security/gnome-ssh-askpass/Makefile @@ -1,34 +1,35 @@ PORTNAME= gnome-ssh-askpass -PORTVERSION= 8.0p1 +PORTVERSION= 8.2p1 CATEGORIES= security gnome MASTER_SITES= OPENBSD/OpenSSH/portable/ DISTNAME= openssh-${PORTVERSION} MAINTAINER= bofh@FreeBSD.org COMMENT= Graphical SSH askpass utility for Gnome2 WWW= http://www.openssh.com/ #LICENSE= BSD2,BSD3,MIT,public domain,BSD-Style,BEER-WARE,"any purpose with notice intact",ISC-Style #LICENSE_FILE= ${WRKSRC}/LICENCE DEPRECATED= Uses deprecated gtk2 library EXPIRATION_DATE= 2024-12-31 LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libharfbuzz.so:print/harfbuzz WRKSRC= ${WRKDIR}/openssh-${PORTVERSION} BUILD_WRKSRC= ${WRKSRC}/contrib ALL_TARGET= gnome-ssh-askpass2 PLIST_FILES= bin/gnome-ssh-askpass2 USES= gnome pkgconfig USE_GNOME= cairo gdkpixbuf2 gtk20 +USE_XORG= x11 CFLAGS+= -lpthread do-install: ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/gnome-ssh-askpass2 \ ${STAGEDIR}${PREFIX}/bin .include diff --git a/security/gnome-ssh-askpass/distinfo b/security/gnome-ssh-askpass/distinfo index 3f3d0c9d8ecb..84ecea44197b 100644 --- a/security/gnome-ssh-askpass/distinfo +++ b/security/gnome-ssh-askpass/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1712490451 -SHA256 (openssh-8.0p1.tar.gz) = bd943879e69498e8031eb6b7f44d08cdc37d59a7ab689aa0b437320c3481fd68 -SIZE (openssh-8.0p1.tar.gz) = 1597697 +TIMESTAMP = 1712763424 +SHA256 (openssh-8.2p1.tar.gz) = 43925151e6cf6cee1450190c0e9af4dc36b41c12737619edff8bcebdff64e671 +SIZE (openssh-8.2p1.tar.gz) = 1701197 diff --git a/security/gnome-ssh-askpass/files/patch-contrib_gnome-ssh-askpass2.c b/security/gnome-ssh-askpass/files/patch-contrib_gnome-ssh-askpass2.c index 5dc0d45704db..03063378a484 100644 --- a/security/gnome-ssh-askpass/files/patch-contrib_gnome-ssh-askpass2.c +++ b/security/gnome-ssh-askpass/files/patch-contrib_gnome-ssh-askpass2.c @@ -1,85 +1,61 @@ ---- contrib/gnome-ssh-askpass2.c.orig 2016-12-19 04:59:41 UTC +--- contrib/gnome-ssh-askpass2.c.orig 2020-02-14 00:40:54 UTC +++ contrib/gnome-ssh-askpass2.c -@@ -86,12 +86,13 @@ passphrase_dialog(char *message) +@@ -90,13 +90,14 @@ passphrase_dialog(char *message, int prompt_type) { const char *failed; char *passphrase, *local; - int result, grab_tries, grab_server, grab_pointer; + int result, grab_tries, grab_server, grab_pointer, grab_keyboard; + int buttons, default_response; GtkWidget *parent_window, *dialog, *entry; GdkGrabStatus status; grab_server = (getenv("GNOME_SSH_ASKPASS_GRAB_SERVER") != NULL); grab_pointer = (getenv("GNOME_SSH_ASKPASS_GRAB_POINTER") != NULL); -+ grab_keyboard = (getenv("GNOME_SSH_ASKPASS_GRAB_KEYBOARD") != NULL); ++ grab_keyboard = (getenv("GNOME_SSH_ASKPASS_GRAB_KEYBOARD") != NULL); grab_tries = 0; /* Create an invisible parent window so that GtkDialog doesn't -@@ -139,18 +140,20 @@ passphrase_dialog(char *message) +@@ -156,18 +157,20 @@ passphrase_dialog(char *message, int prompt_type) } } } - for(;;) { - status = gdk_keyboard_grab( - gtk_widget_get_window(GTK_WIDGET(dialog)), FALSE, - GDK_CURRENT_TIME); - if (status == GDK_GRAB_SUCCESS) - break; - usleep(GRAB_WAIT * 1000); - if (++grab_tries > GRAB_TRIES) { - failed = "keyboard"; - goto nograbkb; - } - } + if (grab_keyboard) { + for(;;) { + status = gdk_keyboard_grab( + gtk_widget_get_window(GTK_WIDGET(dialog)), FALSE, + GDK_CURRENT_TIME); + if (status == GDK_GRAB_SUCCESS) + break; + usleep(GRAB_WAIT * 1000); + if (++grab_tries > GRAB_TRIES) { + failed = "keyboard"; + goto nograbkb; + } + } + } if (grab_server) { gdk_x11_grab_server(); } -@@ -162,7 +165,8 @@ passphrase_dialog(char *message) +@@ -179,7 +182,8 @@ passphrase_dialog(char *message, int prompt_type) XUngrabServer(gdk_x11_get_default_xdisplay()); if (grab_pointer) gdk_pointer_ungrab(GDK_CURRENT_TIME); - gdk_keyboard_ungrab(GDK_CURRENT_TIME); + if (grab_keyboard) + gdk_keyboard_ungrab(GDK_CURRENT_TIME); gdk_flush(); /* Report passphrase if user selected OK */ -@@ -178,13 +182,13 @@ passphrase_dialog(char *message) - puts(passphrase); - } - } -- -+ - /* Zero passphrase in memory */ - memset(passphrase, '\b', strlen(passphrase)); - gtk_entry_set_text(GTK_ENTRY(entry), passphrase); - memset(passphrase, '\0', strlen(passphrase)); - g_free(passphrase); -- -+ - gtk_widget_destroy(dialog); - return (result == GTK_RESPONSE_OK ? 0 : -1); - -@@ -197,7 +201,7 @@ passphrase_dialog(char *message) - if (grab_server) - XUngrabServer(gdk_x11_get_default_xdisplay()); - gtk_widget_destroy(dialog); -- -+ - report_failed_grab(parent_window, failed); - - return (-1);