mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-23 09:10:43 +00:00
- 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
This commit is contained in:
parent
0292b43240
commit
2419ec8a67
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=301131
@ -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}
|
||||
|
40
databases/akonadi-google/files/patch-git_a5ab37f
Normal file
40
databases/akonadi-google/files/patch-git_a5ab37f
Normal file
@ -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;
|
Loading…
Reference in New Issue
Block a user