[akonadi-google/f17] Parsing token page failed (kde#301240)

Rex Dieter rdieter at fedoraproject.org
Wed Jun 20 16:20:30 UTC 2012


commit 053c2d0057d9b69463ae9d871a17e1d2283570cd
Author: Rex Dieter <rdieter at fedoraproject.org>
Date:   Wed Jun 20 11:23:36 2012 -0500

    Parsing token page failed (kde#301240)

 akonadi-google-auth_token.patch |   25 +++++++++++++++++++++++++
 akonadi-google.spec             |   19 ++++++++++++++-----
 2 files changed, 39 insertions(+), 5 deletions(-)
---
diff --git a/akonadi-google-auth_token.patch b/akonadi-google-auth_token.patch
new file mode 100644
index 0000000..313f684
--- /dev/null
+++ b/akonadi-google-auth_token.patch
@@ -0,0 +1,25 @@
+diff -up akonadi-google/libkgoogle/authdialog.cpp.auth_token akonadi-google/libkgoogle/authdialog.cpp
+--- akonadi-google/libkgoogle/authdialog.cpp.auth_token	2012-04-27 08:19:17.000000000 -0500
++++ akonadi-google/libkgoogle/authdialog.cpp	2012-06-20 11:19:59.436455525 -0500
+@@ -102,13 +102,18 @@ void AuthDialog::webviewFinished()
+     }
+ 
+     if (url.host() == "accounts.google.com" && url.path() == "/o/oauth2/approval") {
+-        QWebElement el = m_webiew->page()->mainFrame()->findFirstElement("textarea");
+-        if (el.isNull()) {
++        QString title = webview->title();
++        QString token;
++
++        if (title.startsWith(QLatin1String("success"), Qt::CaseInsensitive)) {
++            int pos = title.indexOf(QLatin1String("code="));
++            /* Skip the 'code=' string as well */
++            token = title.mid (pos + 5);
++        } else {
+             emitError(KGoogle::AuthError, i18n("Parsing token page failed."));
+             return;
+         }
+ 
+-        QString token = el.toInnerXml();
+         if (token.isEmpty()) {
+             emitError(KGoogle::AuthError, i18n("Failed to obtain token."));
+             return;
diff --git a/akonadi-google.spec b/akonadi-google.spec
index cd299ef..268a8dc 100644
--- a/akonadi-google.spec
+++ b/akonadi-google.spec
@@ -1,6 +1,6 @@
 Name:		akonadi-google
 Version:	0.3.1
-Release:	1%{?dist}
+Release:	2%{?dist}
 Summary:	Akonadi Resources for accessing Google services
 
 License:	GPLv3
@@ -16,6 +16,10 @@ URL:		http://projects.kde.org/akonadi-google
 #	master
 Source0:	akonadi-google-0.3.1.tar.gz
 
+## backported upstream patches
+# https://projects.kde.org/projects/kdereview/libkgoogle/repository/revisions/5c92e2fb5ced528a20fd1d8723fd7a8d7ba686a3
+Patch100: akonadi-google-auth_token.patch
+
 BuildRequires:	cmake 
 BuildRequires:	qt-devel 
 BuildRequires:	kdepimlibs-devel 
@@ -24,7 +28,7 @@ BuildRequires:	akonadi-devel
 BuildRequires:	qjson-devel
 BuildRequires:	libxslt-devel
 
-Requires:	libkgoogle = %{version}-%{release}
+Requires:	libkgoogle%{?_isa} = %{version}-%{release}
 Requires:	%{name}-calendar = %{version}-%{release}
 Requires:	%{name}-contacts = %{version}-%{release}
 
@@ -44,13 +48,13 @@ Group: System Environment/Libraries
 %package -n libkgoogle-devel
 Summary: Development files for %{name}
 Group: Development/Libraries
-Requires: libkgoogle = %{version}-%{release}
+Requires: libkgoogle%{?_isa} = %{version}-%{release}
 %description -n libkgoogle-devel
 Libraries and header files for developing applications that use %{name}.
 
 %package calendar
 Summary: Akonadi resource for Google Calendar and Tasks
-Requires: libkgoogle = %{version}-%{release}
+Requires: libkgoogle%{?_isa} = %{version}-%{release}
 Obsoletes: akonadi-google-tasks < 0.3
 Provides: akonadi-google-tasks = %{version}-%{release}
 %description calendar
@@ -58,13 +62,15 @@ Provides: akonadi-google-tasks = %{version}-%{release}
 
 %package contacts
 Summary: Akonadi resource for Google Contacts
-Requires: libkgoogle = %{version}-%{release}
+Requires: libkgoogle%{?_isa} = %{version}-%{release}
 %description contacts
 %{summary}.
 
 %prep
 %setup -q -n %{name}
 
+%patch100 -p1 -b .auth_token
+
 %build
 mkdir -p %{_target_platform}
 pushd %{_target_platform}
@@ -104,6 +110,9 @@ make install/fast DESTDIR=%{buildroot} -C %{_target_platform}
 %{_datadir}/akonadi/agents/googlecontactsresource.desktop
 
 %changelog
+* Wed Jun 20 2012 Rex Dieter <rdieter at fedoraproject.org> 0.3.1-2
+- Parsing token page failed (kde#301240)
+
 * Mon Apr 30 2012 Mario Santagiuliana <fedora at marionline.it> 0.3.1-1
 - New version 0.3.1
 


More information about the scm-commits mailing list