diff --git a/security/gnome-ssh-askpass/Makefile b/security/gnome-ssh-askpass/Makefile index c120c43ef63c..5bfc92d92d09 100644 --- a/security/gnome-ssh-askpass/Makefile +++ b/security/gnome-ssh-askpass/Makefile @@ -1,32 +1,32 @@ PORTNAME= gnome-ssh-askpass -PORTVERSION= 7.3p1 +PORTVERSION= 7.4p1 CATEGORIES= security gnome MASTER_SITES= OPENBSD/OpenSSH/portable/ DISTNAME= openssh-${PORTVERSION} MAINTAINER= bofh@FreeBSD.org COMMENT= Graphical SSH askpass utility for Gnome2 #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= 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 gtk20 +USE_GNOME= cairo gdkpixbuf2 gtk20 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 af794a95d571..8b653097f6bc 100644 --- a/security/gnome-ssh-askpass/distinfo +++ b/security/gnome-ssh-askpass/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1712235662 -SHA256 (openssh-7.3p1.tar.gz) = 3ffb989a6dcaa69594c3b550d4855a5a2e1718ccdde7f5e36387b424220fbecc -SIZE (openssh-7.3p1.tar.gz) = 1522617 +TIMESTAMP = 1712343952 +SHA256 (openssh-7.4p1.tar.gz) = 1b1fc4a14e2024293181924ed24872e6f2e06293f3e8926a376b8aec481f19d1 +SIZE (openssh-7.4p1.tar.gz) = 1511780 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 281d2981379d..5dc0d45704db 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,58 +1,85 @@ ---- contrib/gnome-ssh-askpass2.c.orig 2009-11-18 06:51:59 UTC +--- contrib/gnome-ssh-askpass2.c.orig 2016-12-19 04:59:41 UTC +++ contrib/gnome-ssh-askpass2.c -@@ -88,12 +88,13 @@ passphrase_dialog(char *message) +@@ -86,12 +86,13 @@ passphrase_dialog(char *message) { const char *failed; char *passphrase, *local; - int result, grab_tries, grab_server, grab_pointer; + int result, grab_tries, grab_server, grab_pointer, grab_keyboard; - GtkWidget *dialog, *entry; + 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; - dialog = gtk_message_dialog_new(NULL, 0, -@@ -138,17 +139,21 @@ passphrase_dialog(char *message) + /* Create an invisible parent window so that GtkDialog doesn't +@@ -139,18 +140,20 @@ passphrase_dialog(char *message) } } } - for(;;) { -- status = gdk_keyboard_grab((GTK_WIDGET(dialog))->window, -- FALSE, GDK_CURRENT_TIME); +- 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(dialog))->window, -+ 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(); } -@@ -160,7 +165,8 @@ passphrase_dialog(char *message) - XUngrabServer(GDK_DISPLAY()); +@@ -162,7 +165,8 @@ passphrase_dialog(char *message) + 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);