summaryrefslogtreecommitdiff
path: root/extra/gnome-online-accounts/drop-google-password-interface-2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/gnome-online-accounts/drop-google-password-interface-2.patch')
-rw-r--r--extra/gnome-online-accounts/drop-google-password-interface-2.patch74
1 files changed, 74 insertions, 0 deletions
diff --git a/extra/gnome-online-accounts/drop-google-password-interface-2.patch b/extra/gnome-online-accounts/drop-google-password-interface-2.patch
new file mode 100644
index 000000000..9aa1ce28e
--- /dev/null
+++ b/extra/gnome-online-accounts/drop-google-password-interface-2.patch
@@ -0,0 +1,74 @@
+From a0fd4cd595bd0fe6eb4015ea9050170319b16546 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir@gnome.org>
+Date: Wed, 19 Jun 2013 15:04:38 +0000
+Subject: google: Export CalDAV and CardDAV endpoints
+
+According to:
+https://developers.google.com/google-apps/calendar/caldav/v2/guide/
+https://developers.google.com/google-apps/carddav/
+
+See: https://bugzilla.gnome.org/show_bug.cgi?id=686804
+ https://bugzilla.gnome.org/show_bug.cgi?id=688364
+---
+(limited to 'src/goabackend/goagoogleprovider.c')
+
+diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c
+index 79f5f73..740c08e 100644
+--- a/src/goabackend/goagoogleprovider.c
++++ b/src/goabackend/goagoogleprovider.c
+@@ -385,6 +385,7 @@ build_object (GoaProvider *provider,
+ gboolean contacts_enabled;
+ gboolean chat_enabled;
+ gboolean documents_enabled;
++ const gchar *email_address;
+
+ account = NULL;
+ mail = NULL;
+@@ -419,6 +420,7 @@ build_object (GoaProvider *provider,
+ }
+
+ account = goa_object_get_account (GOA_OBJECT (object));
++ email_address = goa_account_get_identity (account);
+
+ /* Email */
+ mail = goa_object_get_mail (GOA_OBJECT (object));
+@@ -427,8 +429,6 @@ build_object (GoaProvider *provider,
+ {
+ if (mail == NULL)
+ {
+- const gchar *email_address;
+- email_address = goa_account_get_identity (account);
+ mail = goa_mail_skeleton_new ();
+ g_object_set (G_OBJECT (mail),
+ "email-address", email_address,
+@@ -457,8 +457,19 @@ build_object (GoaProvider *provider,
+ {
+ if (calendar == NULL)
+ {
++ gchar *uri_caldav;
++
++ uri_caldav = g_strconcat ("https://apidata.googleusercontent.com/caldav/v2/",
++ email_address,
++ "/user",
++ NULL);
++
+ calendar = goa_calendar_skeleton_new ();
++ g_object_set (G_OBJECT (calendar),
++ "uri", uri_caldav,
++ NULL);
+ goa_object_skeleton_set_calendar (object, calendar);
++ g_free (uri_caldav);
+ }
+ }
+ else
+@@ -475,6 +486,9 @@ build_object (GoaProvider *provider,
+ if (contacts == NULL)
+ {
+ contacts = goa_contacts_skeleton_new ();
++ g_object_set (G_OBJECT (contacts),
++ "uri", "https://www.googleapis.com/.well-known/carddav",
++ NULL);
+ goa_object_skeleton_set_contacts (object, contacts);
+ }
+ }
+