From 0c5e9d14879ccc3c513f640fd8df972ebf9e3ae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 14 Aug 2019 11:49:34 +0200 Subject: New d/p/0110-fix_GoogleAuthenticator.patch --- debian/changelog | 8 ++ debian/patches/0110-fix_GoogleAuthenticator.patch | 135 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 144 insertions(+) create mode 100644 debian/patches/0110-fix_GoogleAuthenticator.patch diff --git a/debian/changelog b/debian/changelog index b8ea9e7..32f3586 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +shotwell (0.30.4-2) UNRELEASED; urgency=medium + + * Fix GoogleAuthenticator erorr handling (Closes: #934723): + - New debian/patches/0110-fix_GoogleAuthenticator.patch cherry-picked + from upstream. + + -- Jörg Frings-Fürst Wed, 14 Aug 2019 11:33:04 +0200 + shotwell (0.30.4-1) unstable; urgency=medium * New upstream release. diff --git a/debian/patches/0110-fix_GoogleAuthenticator.patch b/debian/patches/0110-fix_GoogleAuthenticator.patch new file mode 100644 index 0000000..2ea4155 --- /dev/null +++ b/debian/patches/0110-fix_GoogleAuthenticator.patch @@ -0,0 +1,135 @@ +Description: Fix GoogleAuthenticator +Author: Jörg Frings-Fürst +Origin: upstream, https://gitlab.gnome.org/GNOME/shotwell/commit/db18c371984b80ead9daf4e0ae2058469d2f5524.diff +Bug: https://gitlab.gnome.org/GNOME/shotwell/issues/158 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=934723 +Forwarded: not-needed +Last-Update: 2019-08-14 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala +=================================================================== +--- trunk.orig/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala ++++ trunk/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala +@@ -54,6 +54,12 @@ namespace Publishing.Authenticator.Shotw + } + + public override void on_page_load() { ++ if (this.load_error != null) { ++ this.error(); ++ ++ return; ++ } ++ + var uri = new Soup.URI(get_view().get_uri()); + if (uri.scheme == "shotwell-auth" && this.auth_code == null) { + var form_data = Soup.Form.decode (uri.query); +@@ -77,6 +83,8 @@ namespace Publishing.Authenticator.Shotw + } + + internal class Flickr : Publishing.Authenticator.Shotwell.OAuth1.Authenticator { ++ private WebAuthenticationPane pane; ++ + public Flickr(Spit.Publishing.PluginHost host) { + base(API_KEY, API_SECRET, host); + } +@@ -185,13 +193,17 @@ namespace Publishing.Authenticator.Shotw + } + + private void do_web_authentication(string token) { +- var pane = new WebAuthenticationPane(token); ++ pane = new WebAuthenticationPane(token); + host.install_dialog_pane(pane); + pane.authorized.connect(this.do_verify_pin); + pane.error.connect(this.on_web_login_error); + } + + private void on_web_login_error() { ++ if (pane.load_error != null) { ++ host.post_error(pane.load_error); ++ return; ++ } + host.post_error(new Spit.Publishing.PublishingError.PROTOCOL_ERROR(_("Flickr authorization failed"))); + } + +Index: trunk/plugins/authenticator/shotwell/GoogleAuthenticator.vala +=================================================================== +--- trunk.orig/plugins/authenticator/shotwell/GoogleAuthenticator.vala ++++ trunk/plugins/authenticator/shotwell/GoogleAuthenticator.vala +@@ -21,6 +21,12 @@ namespace Publishing.Authenticator.Shotw + } + + public override void on_page_load() { ++ if (this.load_error != null) { ++ this.error (); ++ ++ return; ++ } ++ + var uri = new Soup.URI(get_view().get_uri()); + if (uri.scheme == REVERSE_CLIENT_ID && this.auth_code == null) { + var form_data = Soup.Form.decode (uri.query); +@@ -173,6 +179,7 @@ namespace Publishing.Authenticator.Shotw + + web_auth_pane = new WebAuthenticationPane(user_authorization_url); + web_auth_pane.authorized.connect(on_web_auth_pane_authorized); ++ web_auth_pane.error.connect(on_web_auth_pane_error); + + host.install_dialog_pane(web_auth_pane); + } +@@ -185,6 +192,10 @@ namespace Publishing.Authenticator.Shotw + do_get_access_tokens(auth_code); + } + ++ private void on_web_auth_pane_error() { ++ host.post_error(web_auth_pane.load_error); ++ } ++ + private void do_get_access_tokens(string auth_code) { + debug("ACTION: exchanging authorization code for access & refresh tokens"); + +Index: trunk/plugins/common/WebAuthenticationPane.vala +=================================================================== +--- trunk.orig/plugins/common/WebAuthenticationPane.vala ++++ trunk/plugins/common/WebAuthenticationPane.vala +@@ -12,6 +12,7 @@ namespace Shotwell.Plugins.Common { + } + + public string login_uri { owned get; construct; } ++ public Error load_error { get; private set; default = null; } + + private WebKit.WebView webview; + +@@ -22,6 +23,7 @@ namespace Shotwell.Plugins.Common { + this.webview.get_settings ().enable_plugins = false; + + this.webview.load_changed.connect (this.on_page_load_changed); ++ this.webview.load_failed.connect (this.on_page_load_failed); + this.webview.context_menu.connect ( () => { return false; }); + } + +@@ -29,11 +31,24 @@ namespace Shotwell.Plugins.Common { + + protected void set_cursor (Gdk.CursorType type) { + var window = webview.get_window (); ++ if (window == null) ++ return; ++ + var display = window.get_display (); ++ if (display == null) ++ return; ++ + var cursor = new Gdk.Cursor.for_display (display, type); + window.set_cursor (cursor); + } + ++ private bool on_page_load_failed (WebKit.LoadEvent load_event, string uri, Error error) { ++ critical ("Failed to load uri %s: %s", uri, error.message); ++ this.load_error = error; ++ ++ return false; ++ } ++ + private void on_page_load_changed (WebKit.LoadEvent load_event) { + switch (load_event) { + case WebKit.LoadEvent.STARTED: diff --git a/debian/patches/series b/debian/patches/series index f52cd58..a710ad9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -11,3 +11,4 @@ #0515-Fix_background_color_drawing.patch #505-fix-viewer-desktop-file.patch 0105-gitversion.patch +0110-fix_GoogleAuthenticator.patch -- cgit v1.2.3 From b55471ee1bea95cb50be7576dce835310d1812de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 14 Aug 2019 12:02:11 +0200 Subject: d/changelog: Change distribution to unstable, Change date and time --- debian/changelog | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 32f3586..3af7755 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -shotwell (0.30.4-2) UNRELEASED; urgency=medium +shotwell (0.30.4-2) unstable; urgency=medium - * Fix GoogleAuthenticator erorr handling (Closes: #934723): + * Fix GoogleAuthenticator error handling (Closes: #934723): - New debian/patches/0110-fix_GoogleAuthenticator.patch cherry-picked from upstream. - -- Jörg Frings-Fürst Wed, 14 Aug 2019 11:33:04 +0200 + -- Jörg Frings-Fürst Wed, 14 Aug 2019 12:00:37 +0200 shotwell (0.30.4-1) unstable; urgency=medium -- cgit v1.2.3