summaryrefslogtreecommitdiff
path: root/coherence/gnome-online-accounts-coherence
diff options
context:
space:
mode:
Diffstat (limited to 'coherence/gnome-online-accounts-coherence')
-rw-r--r--coherence/gnome-online-accounts-coherence/PKGBUILD53
-rw-r--r--coherence/gnome-online-accounts-coherence/gnome-online-accounts.install12
-rw-r--r--coherence/gnome-online-accounts-coherence/imap-smtp.patch20
-rw-r--r--coherence/gnome-online-accounts-coherence/smtp-auth-plain.patch88
4 files changed, 173 insertions, 0 deletions
diff --git a/coherence/gnome-online-accounts-coherence/PKGBUILD b/coherence/gnome-online-accounts-coherence/PKGBUILD
new file mode 100644
index 000000000..4f1809e83
--- /dev/null
+++ b/coherence/gnome-online-accounts-coherence/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id$
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=gnome-online-accounts
+pkgname=gnome-online-accounts-coherence
+pkgver=3.8.2
+pkgrel=2
+pkgdesc="GNOME service to access online accounts, without support for nonfree, unsafe and dangerous for privacy protocols"
+arch=(i686 x86_64 mips64el)
+url="http://www.gnome.org"
+license=('GPL')
+depends=('webkitgtk3' 'json-glib' 'libnotify' 'rest' 'hicolor-icon-theme' 'libsecret')
+makedepends=('intltool' 'libxslt' 'gobject-introspection' 'docbook-xsl')
+provides=("$_pkgname=$pkgver")
+conflicts=$_pkgname
+replaces=$_pkgname
+options=(!libtool)
+install=$_pkgname.install
+source=(http://download.gnome.org/sources/$_pkgname/${pkgver:0:3}/$_pkgname-$pkgver.tar.xz
+ imap-smtp.patch
+ smtp-auth-plain.patch)
+sha256sums=('12611a002043c8acc29e9800ec009e3e19736bdb6237d246e848d7c7909fe826'
+ '2b413d1f401647bd143b7dc6dd4b6d6660ff47ef9a11ccbc691b7c13de5cba69'
+ 'e7250be7c078053345699250433b7164751d3e457155bd35508c7d1660f459be')
+
+prepare() {
+ cd $_pkgname-$pkgver
+ # Upstream 3.8 branch
+ patch -Np1 -i ../imap-smtp.patch
+ patch -Np1 -i ../smtp-auth-plain.patch
+}
+
+build() {
+ cd $_pkgname-$pkgver
+ ./configure --prefix=/usr --libexec=/usr/lib/gnome-online-accounts \
+ --disable-google \
+ --disable-owncloud \
+ --disable-facebook \
+ --disable-windows-live \
+ --disable-exchange \
+ --disable-flickr \
+ --enable-imap-smtp \
+ --disable-kerberos
+ make
+}
+
+package() {
+ cd $_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/coherence/gnome-online-accounts-coherence/gnome-online-accounts.install b/coherence/gnome-online-accounts-coherence/gnome-online-accounts.install
new file mode 100644
index 000000000..ae4eb5fa7
--- /dev/null
+++ b/coherence/gnome-online-accounts-coherence/gnome-online-accounts.install
@@ -0,0 +1,12 @@
+post_install () {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
diff --git a/coherence/gnome-online-accounts-coherence/imap-smtp.patch b/coherence/gnome-online-accounts-coherence/imap-smtp.patch
new file mode 100644
index 000000000..7213c8d1e
--- /dev/null
+++ b/coherence/gnome-online-accounts-coherence/imap-smtp.patch
@@ -0,0 +1,20 @@
+From 034da0871ad78629f9d0df618be494dbb19157e4 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir@gnome.org>
+Date: Tue, 18 Jun 2013 10:35:42 +0000
+Subject: imap-smtp: Prevent error messages from expanding the dialog
+
+---
+diff --git a/src/goabackend/goaimapsmtpprovider.c b/src/goabackend/goaimapsmtpprovider.c
+index d10a9d8..841327d 100644
+--- a/src/goabackend/goaimapsmtpprovider.c
++++ b/src/goabackend/goaimapsmtpprovider.c
+@@ -669,6 +669,7 @@ create_account_details_ui (GoaProvider *provider,
+
+ data->cluebar_label = gtk_label_new ("");
+ gtk_label_set_line_wrap (GTK_LABEL (data->cluebar_label), TRUE);
++ gtk_label_set_max_width_chars (GTK_LABEL (data->cluebar_label), 36);
+ gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (data->cluebar))),
+ data->cluebar_label);
+
+--
+cgit v0.9.2
diff --git a/coherence/gnome-online-accounts-coherence/smtp-auth-plain.patch b/coherence/gnome-online-accounts-coherence/smtp-auth-plain.patch
new file mode 100644
index 000000000..c6782d0f6
--- /dev/null
+++ b/coherence/gnome-online-accounts-coherence/smtp-auth-plain.patch
@@ -0,0 +1,88 @@
+From 2210bf547dc35adacbc95c0dcf4abe75a73a8368 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir@gnome.org>
+Date: Tue, 18 Jun 2013 15:27:55 +0000
+Subject: smtp-auth-plain: Handle multiline SMTP greetings
+
+Fixes: https://bugzilla.gnome.org/702263
+---
+diff --git a/src/goabackend/goasmtpauthplain.c b/src/goabackend/goasmtpauthplain.c
+index bb783bd..77324cf 100644
+--- a/src/goabackend/goasmtpauthplain.c
++++ b/src/goabackend/goasmtpauthplain.c
+@@ -167,6 +167,40 @@ smtp_auth_plain_check_454 (const gchar *response, GError **error)
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
++static gboolean
++smtp_auth_plain_check_greeting (GDataInputStream *input, GCancellable *cancellable, GError **error)
++{
++ gboolean ret;
++ gchar *response;
++
++ response = NULL;
++ ret = FALSE;
++
++ greeting_again:
++ response = g_data_input_stream_read_line (input, NULL, cancellable, error);
++ if (response == NULL)
++ goto out;
++ g_debug ("< %s", response);
++ if (smtp_auth_plain_check_421 (response, error))
++ goto out;
++ if (smtp_auth_plain_check_not_220 (response, error))
++ goto out;
++
++ if (response[3] == '-')
++ {
++ g_clear_pointer (&response, g_free);
++ goto greeting_again;
++ }
++
++ ret = TRUE;
++
++ out:
++ g_free (response);
++ return ret;
++}
++
++/* ---------------------------------------------------------------------------------------------------- */
++
+ static gchar *
+ smtp_auth_plain_get_domain (GoaSmtpAuthPlain *auth,
+ GError **error)
+@@ -563,15 +597,8 @@ goa_smtp_auth_plain_run_sync (GoaMailAuth *_auth,
+
+ if (!auth->greeting_absent)
+ {
+- response = g_data_input_stream_read_line (input, NULL, cancellable, error);
+- if (response == NULL)
+- goto out;
+- g_debug ("< %s", response);
+- if (smtp_auth_plain_check_421 (response, error))
++ if (!smtp_auth_plain_check_greeting (input, cancellable, error))
+ goto out;
+- if (smtp_auth_plain_check_not_220 (response, error))
+- goto out;
+- g_clear_pointer (&response, g_free);
+ }
+
+ /* Send EHLO */
+@@ -685,15 +712,8 @@ goa_smtp_auth_plain_starttls_sync (GoaMailAuth *_auth,
+
+ /* Check the greeting */
+
+- response = g_data_input_stream_read_line (input, NULL, cancellable, error);
+- if (response == NULL)
+- goto out;
+- g_debug ("< %s", response);
+- if (smtp_auth_plain_check_421 (response, error))
++ if (!smtp_auth_plain_check_greeting (input, cancellable, error))
+ goto out;
+- if (smtp_auth_plain_check_not_220 (response, error))
+- goto out;
+- g_clear_pointer (&response, g_free);
+
+ /* Send EHLO */
+
+--
+cgit v0.9.2