From 0b641af92df99055b95d8507dc92a0bef63ed53e Mon Sep 17 00:00:00 2001 From: "Grygoriy Fuchedzhy (gry)" Date: Wed, 26 Aug 2009 00:49:43 +0000 Subject: net-mail/checkgmail: Fixed login procedure for checkgmail-1.13 svn path=/sunrise/; revision=9119 --- net-mail/checkgmail/ChangeLog | 5 +++ net-mail/checkgmail/Manifest | 5 ++- net-mail/checkgmail/checkgmail-1.13-r1.ebuild | 36 +++++++++++++++++ net-mail/checkgmail/checkgmail-1.13.ebuild | 34 ---------------- .../files/gmail-login-procedure-fix.patch | 47 ++++++++++++++++++++++ 5 files changed, 91 insertions(+), 36 deletions(-) create mode 100644 net-mail/checkgmail/checkgmail-1.13-r1.ebuild delete mode 100644 net-mail/checkgmail/checkgmail-1.13.ebuild create mode 100644 net-mail/checkgmail/files/gmail-login-procedure-fix.patch (limited to 'net-mail') diff --git a/net-mail/checkgmail/ChangeLog b/net-mail/checkgmail/ChangeLog index bd8b76cd6..62b922306 100644 --- a/net-mail/checkgmail/ChangeLog +++ b/net-mail/checkgmail/ChangeLog @@ -2,6 +2,11 @@ # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 26 Aug 2009; Grygoriy Fuchedzhy (gry) + -checkgmail-1.13.ebuild, +checkgmail-1.13-r1.ebuild, + +files/gmail-login-procedure-fix.patch: + Fixed login procedure for checkgmail-1.13 + 16 Mar 2009; Nick Fortino (nfortino) checkgmail-1.13.ebuild: Update ebuild to use EAPI 2. Thanks to Cristian Ruppert and Thomas Sachau diff --git a/net-mail/checkgmail/Manifest b/net-mail/checkgmail/Manifest index 1262579c1..4c03ca01a 100644 --- a/net-mail/checkgmail/Manifest +++ b/net-mail/checkgmail/Manifest @@ -1,4 +1,5 @@ +AUX gmail-login-procedure-fix.patch 2366 RMD160 bc338296771e1e7a81af6a2af3432dbdaeae50fc SHA1 5d78f9001574a7360c4a4175de67d6604b337253 SHA256 c91c1006494e58b1feefa5f74824f7ebdd4094ace516460fd97c4c9b131fc528 DIST checkgmail-1.13.tar.bz2 58388 RMD160 f3a89ca6cde0499a70e14e91e988e20f0064d911 SHA1 d4b928838746975608803a79c258872b0dc8ccf9 SHA256 af191b34fd70748b050cdd233d3153e0cc5a334a72fc9a46519bbbecdb295e5d -EBUILD checkgmail-1.13.ebuild 807 RMD160 46ef398fff6a2abdc675609cfdc4d826677d350a SHA1 41e7756ae0ea2b17ffd48a59e8d8d2a1ed7135fc SHA256 4b4ea72f42b4b2443a5acfc973b613f692968a5d697b9184770795b910aa9054 -MISC ChangeLog 1234 RMD160 df6aac9b9a2ba1e915fe75f399dcd37962890756 SHA1 5a4d85160ba62cbf78d10eaff2446c0e0c17e9f0 SHA256 79188f51a509b09fa3a76b909af043ad72778377e2933f6464e7ad32f7320d3d +EBUILD checkgmail-1.13-r1.ebuild 878 RMD160 12c144e969a0db35c8094f0599339ae9d3d6d4c6 SHA1 b96de82ed4e09149e1734c561f9c2dd1a1c52251 SHA256 73563574c60690be7c1ef59fcdd179685d62a863164a883f1a55c415d08d429e +MISC ChangeLog 1447 RMD160 3c9c728bc010e237f1be0e5d167cc642bc61dd33 SHA1 95005196ca8077e96b1ea4d2720904d409c8af8a SHA256 23ecb8dfbab37a1167038a737282e389c6abaf6e5e12a0deeca5e7b34d3cbcba MISC metadata.xml 360 RMD160 6f4fd23e788f691588791d7e2b726fe59f86420a SHA1 6166a60c03586fe2773a26b568d611230b0c0f6d SHA256 6367f0aa6816883df52d1e5295013da9d263cdb385310ccef4d83771323dcb6a diff --git a/net-mail/checkgmail/checkgmail-1.13-r1.ebuild b/net-mail/checkgmail/checkgmail-1.13-r1.ebuild new file mode 100644 index 000000000..2f16a818e --- /dev/null +++ b/net-mail/checkgmail/checkgmail-1.13-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils + +DESCRIPTION="a Gmail Notifier for Linux" +HOMEPAGE="http://checkgmail.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="clickurl savepwd" + +RDEPEND="dev-lang/perl[ithreads] + dev-perl/gtk2-perl + dev-perl/gtk2-trayicon + dev-perl/libwww-perl + dev-perl/Crypt-SSLeay + dev-perl/XML-Simple + clickurl? ( dev-perl/Gtk2-Sexy ) + savepwd? ( dev-perl/Crypt-Simple )" + +src_prepare() { + # This patch combines changes from svn revisions r30, r33 and r36 + epatch "${FILESDIR}"/gmail-login-procedure-fix.patch +} + +src_install() { + dobin checkgmail || die "dobin failed" + dodoc ChangeLog Readme todo || die "dodoc failed" + doman man/checkgmail.1.gz || die "doman failed" +} diff --git a/net-mail/checkgmail/checkgmail-1.13.ebuild b/net-mail/checkgmail/checkgmail-1.13.ebuild deleted file mode 100644 index 0320470fb..000000000 --- a/net-mail/checkgmail/checkgmail-1.13.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -inherit eutils - -DESCRIPTION="a Gmail Notifier for Linux" -HOMEPAGE="http://checkgmail.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="clickurl savepwd" - -DEPEND="dev-lang/perl[ithreads] - >=dev-perl/gtk2-perl-1.100 - >=dev-perl/gtk2-trayicon-0.03 - >=dev-perl/libwww-perl-5.800 - >=dev-perl/Crypt-SSLeay-0.49 - >=dev-perl/XML-Simple-2.12 - >=x11-libs/gtk+-2.6 - clickurl? ( >=x11-libs/libsexy-0.1.11 - >=dev-perl/Gtk2-Sexy-0.02 ) - savepwd? ( >=dev-perl/Crypt-Simple-0.06 )" -RDEPEND="${DEPEND}" - -src_install() { - dobin checkgmail || die "dobin failed" - dodoc ChangeLog Readme todo - doman man/checkgmail.1.gz -} diff --git a/net-mail/checkgmail/files/gmail-login-procedure-fix.patch b/net-mail/checkgmail/files/gmail-login-procedure-fix.patch new file mode 100644 index 000000000..e1ef97892 --- /dev/null +++ b/net-mail/checkgmail/files/gmail-login-procedure-fix.patch @@ -0,0 +1,47 @@ +diff -dupr checkgmail-1.13.orig/checkgmail checkgmail-1.13/checkgmail +--- checkgmail-1.13.orig/checkgmail 2009-08-25 23:48:18.615575505 +0200 ++++ checkgmail-1.13/checkgmail 2009-08-26 00:13:05.535569237 +0200 +@@ -682,6 +682,7 @@ sub http_check { + + # set up the useragent .... + $ua = LWP::UserAgent->new(); ++ $ua->requests_redirectable (['GET', 'HEAD', 'POST']); + + # set time-out - defaults to 90 seconds or $delay, whichever is shorter + $ua->timeout($delay/1000<90 ? $delay/1000 : 90); +@@ -716,14 +717,21 @@ sub http_check { + unless ($hosted) { + # Normal Gmail login action ... + $error = http_get("https://www.google.com/accounts/ServiceLoginAuth?ltmpl=yj_wsad<mplcache=2&continue=https%3A%2F%2Fmail.google.com%2Fmail%3F&service=mail&rm=false<mpl=yj_wsad&Email=$URI_user&Passwd=$URI_passwd&rmShown=1&null=Sign+in", "LOGIN"); +- # $cookie_jar->scan(\&scan_at); ++ ++ $cookie_jar->scan(\&scan_at); ++ unless ($error || !$gmail_sid || !$gmail_gausr) { ++ $error = http_get("https://mail.google.com/mail/?pli=1&auth=$gmail_sid&gausr=$gmail_gausr", 'LOGIN'); ++ } ++ + # $error = http_get("https://mail.google.com/mail?nsr=0&auth=$gmail_sid&gausr=$gmail_gausr", "LOGIN"); + + } else { + # hosted domains work differently ... + # First we POST a login +- $error = http_get("https://www.google.com/a/$hosted/LoginAction|at=null&continue=http%3A%2F%2Fmail.google.com%2Fa%2F$hosted&service=mail&userName=$URI_user&password=$URI_passwd", "POST"); +- ++ # $error = http_get("https://www.google.com/a/$hosted/LoginAction|at=null&continue=http%3A%2F%2Fmail.google.com%2Fa%2F$hosted&service=mail&userName=$URI_user&password=$URI_passwd", "POST"); ++ # thanks to Olinto Neto for this fix for hosted domains: ++ $error = http_get("https://www.google.com/a/$hosted/LoginAction2|at=null&continue=http%3A%2F%2Fmail.google.com%2Fa%2F$hosted&service=mail&Email=$URI_user&Passwd=$URI_passwd", "POST"); ++ + # Then we grab the HID ("Hosted ID"?) cookie + $cookie_jar->scan(\&scan_at); + +@@ -840,8 +848,10 @@ sub http_get { + if ($http =~ m/location\.replace\("(.*)"\)/) { + my $new_addr = $1; + $new_addr =~ s/\\u003d/=/g; ++ $new_addr =~ s/\\x3d/=/g; + $new_addr =~ s/\\075/=/g; + $new_addr =~ s/\\46/&/g; ++ $new_addr =~ s/\\x26/&/g; + $new_addr =~ s/\\75/=/g; + return unless $new_addr =~ m/^http/i; + -- cgit v1.2.3-18-g5258