Date: Wed, 18 Jul 2012 22:56:35 +0000 (UTC) From: Alberto Villa <avilla@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r301131 - in head/databases/akonadi-google: . files Message-ID: <201207182256.q6IMuZiO019440@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: avilla Date: Wed Jul 18 22:56:35 2012 New Revision: 301131 URL: http://svn.freebsd.org/changeset/ports/301131 Log: - Backport fix to an authentication bug which makes it impossible to authenticate to Google services. - Bump PORTREVISION. Submitted by: Mina R Waheeb <mina at kemetex.com> via mailing list Added: head/databases/akonadi-google/files/ head/databases/akonadi-google/files/patch-git_a5ab37f (contents, props changed) Modified: head/databases/akonadi-google/Makefile (contents, props changed) Modified: head/databases/akonadi-google/Makefile ============================================================================== --- head/databases/akonadi-google/Makefile Wed Jul 18 21:39:17 2012 (r301130) +++ head/databases/akonadi-google/Makefile Wed Jul 18 22:56:35 2012 (r301131) @@ -7,7 +7,7 @@ PORTNAME= akonadi-google PORTVERSION= 0.3.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= databases kde MASTER_SITES= http://www.progdan.cz/wp-content/uploads/ DISTNAME= ${PORTNAME}-${PORTVERSION} Added: head/databases/akonadi-google/files/patch-git_a5ab37f ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/akonadi-google/files/patch-git_a5ab37f Wed Jul 18 22:56:35 2012 (r301131) @@ -0,0 +1,40 @@ +commit a5ab37f15f39217cf631f8d61b2ea21305b81490 +Author: Dan Vrátil <dan@progdan.cz> +Date: Wed Jun 6 00:36:46 2012 +0200 + + Parse OAuth code from page title instead of body + + The OAuth code used for obtaining access tokens is provided + in webpage <title> as a string. The title is guaranteed not to change + syntax, while the body of the page, from which we were parsing the token + before, can change anytime, which breaks the authentication process. + + BUG: 301240 + FIXED-IN: 0.4.1 + +diff --git a/libkgapi/ui/authwidget_p.cpp b/libkgapi/ui/authwidget_p.cpp +index 57d914c..55e77cb 100644 +--- ./libkgoogle/authdialog.cpp ++++ ./libkgoogle/authdialog.cpp +@@ -147,13 +147,18 @@ void AuthWidgetPrivate::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 = m_webiew->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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207182256.q6IMuZiO019440>