From 224d807bf88ec53e99fa8b127e05179699979e83 Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: Nov 06 2013 22:19:37 +0000 Subject: import gnome-online-accounts-3.8.5-2.el7.src.rpm --- diff --git a/.gnome-online-accounts.metadata b/.gnome-online-accounts.metadata new file mode 100644 index 0000000..6cba1c5 --- /dev/null +++ b/.gnome-online-accounts.metadata @@ -0,0 +1 @@ +ae9dd4d40004083089650f9571af61c9e9e17ace SOURCES/gnome-online-accounts-3.8.5.tar.xz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/fix-kerberos-crash.patch b/SOURCES/fix-kerberos-crash.patch new file mode 100644 index 0000000..f2b7177 --- /dev/null +++ b/SOURCES/fix-kerberos-crash.patch @@ -0,0 +1,144 @@ +From 097aa719985923fd551c2c68a63ebca3609031ca Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Wed, 6 Nov 2013 16:58:43 -0500 +Subject: [PATCH] kerberos: don't crash if keyring credentials disappear + +It's possible to make gnome-online-accounts crash by: + +1) creating a kerberos account in control-center +2) deleting the stored credentials from gnome keyring using seahorse +3) running kdestroy in the terminal to make the sign in button show up +in the control-center panel +4) clicking sign in + +This is because the provider makes the assumption that there will always +be stored credentials when signing in interactively, which is incorrect +in the above scenario (because of step 2). + +This commit hardens the get_ticket_sync function against credentials +disappearing. + +https://bugzilla.gnome.org/show_bug.cgi?id=711572 +--- + src/goabackend/goakerberosprovider.c | 24 ++++++++++++++---------- + 1 file changed, 14 insertions(+), 10 deletions(-) + +diff --git a/src/goabackend/goakerberosprovider.c b/src/goabackend/goakerberosprovider.c +index e795856..fbe0364 100644 +--- a/src/goabackend/goakerberosprovider.c ++++ b/src/goabackend/goakerberosprovider.c +@@ -668,97 +668,101 @@ look_up_identity (GoaKerberosProvider *self, + operation_result); + } + + static void + on_account_signed_in (GoaProvider *provider, + GAsyncResult *result, + SignInRequest *request) + { + if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), + &request->error)) + { + g_main_loop_quit (request->loop); + return; + } + + g_main_loop_quit (request->loop); + } + + static gboolean + get_ticket_sync (GoaKerberosProvider *self, + GoaObject *object, + gboolean is_interactive, + GCancellable *cancellable, + GError **error) + { + GVariant *credentials; + GError *lookup_error; + GoaAccount *account; + const char *identifier; + const char *password; +- gboolean has_password; + SignInRequest request; + gboolean ret; + + ret = FALSE; + + account = goa_object_peek_account (object); + identifier = goa_account_get_identity (account); + password = NULL; + + lookup_error = NULL; + credentials = goa_utils_lookup_credentials_sync (GOA_PROVIDER (self), + object, + cancellable, + &lookup_error); + + if (credentials == NULL && !is_interactive) + { + if (lookup_error != NULL) + g_propagate_error (error, lookup_error); + else + g_set_error (error, + GOA_ERROR, + GOA_ERROR_NOT_AUTHORIZED, + _("Could not find saved credentials for principal `%s' in keyring"), identifier); + goto out; + } +- +- has_password = g_variant_lookup (credentials, "password", "&s", &password); +- if (!has_password && !is_interactive) ++ else if (credentials != NULL) + { +- g_set_error (error, +- GOA_ERROR, +- GOA_ERROR_NOT_AUTHORIZED, +- _("Did not find password for principal `%s' in credentials"), +- identifier); +- goto out; ++ gboolean has_password; ++ ++ has_password = g_variant_lookup (credentials, "password", "&s", &password); ++ ++ if (!has_password && !is_interactive) ++ { ++ g_set_error (error, ++ GOA_ERROR, ++ GOA_ERROR_NOT_AUTHORIZED, ++ _("Did not find password for principal `%s' in credentials"), ++ identifier); ++ goto out; ++ } + } + + memset (&request, 0, sizeof (SignInRequest)); + request.loop = g_main_loop_new (g_main_context_get_thread_default (), FALSE); + request.error = NULL; + + sign_in_identity (self, + identifier, + password, + cancellable, + (GAsyncReadyCallback) + on_account_signed_in, + &request); + + g_main_loop_run (request.loop); + g_main_loop_unref (request.loop); + + if (request.error != NULL) + { + g_propagate_error (error, request.error); + goto out; + } + + ret = TRUE; + out: + if (credentials != NULL) + g_variant_unref (credentials); + + return ret; + } +-- +1.8.3.1 + diff --git a/SPECS/gnome-online-accounts.spec b/SPECS/gnome-online-accounts.spec new file mode 100644 index 0000000..2d8687d --- /dev/null +++ b/SPECS/gnome-online-accounts.spec @@ -0,0 +1,248 @@ +Name: gnome-online-accounts +Version: 3.8.5 +Release: 2%{?dist} +Summary: Provide online accounts information + +Group: System Environment/Libraries +License: LGPLv2+ +URL: https://live.gnome.org/GnomeOnlineAccounts +Source0: http://download.gnome.org/sources/gnome-online-accounts/3.8/%{name}-%{version}.tar.xz + +BuildRequires: gcr-devel +BuildRequires: glib2-devel >= 2.35 +BuildRequires: gtk3-devel >= 3.5.1 +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc +BuildRequires: intltool +BuildRequires: krb5-devel +BuildRequires: webkitgtk3-devel +BuildRequires: json-glib-devel +BuildRequires: libsecret-devel >= 0.7 +BuildRequires: libsoup-devel >= 2.41 +BuildRequires: rest-devel +BuildRequires: libxml2-devel + +Requires: realmd +Patch0: fix-kerberos-crash.patch + +%description +gnome-online-accounts provides interfaces so applications and +libraries in GNOME can access the user's online accounts. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: pkgconfig +Requires: gobject-introspection-devel + +%description devel +The gnome-online-accounts-devel package contains libraries and header +files for developing applications that use gnome-online-accounts. + +%prep +%setup -q +%patch0 -p1 -b .fix-kerberos-crash + +%build +%configure \ + --disable-static \ + --enable-gtk-doc \ + --enable-exchange \ + --enable-facebook \ + --enable-google \ + --enable-imap-smtp \ + --enable-kerberos \ + --enable-owncloud \ + --enable-windows-live +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT +rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la $RPM_BUILD_ROOT/%{_libdir}/control-center-1/panels/*.la + +%find_lang %{name} + +%post +/sbin/ldconfig +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun +/sbin/ldconfig +if [ $1 -eq 0 ] ; then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + +%files -f %{name}.lang +%doc NEWS COPYING +%{_libdir}/girepository-1.0/Goa-1.0.typelib +%{_libdir}/libgoa-1.0.so.0 +%{_libdir}/libgoa-1.0.so.0.0.0 +%{_libdir}/libgoa-backend-1.0.so.0 +%{_libdir}/libgoa-backend-1.0.so.0.0.0 +%{_prefix}/libexec/goa-daemon +%{_datadir}/dbus-1/services/org.gnome.OnlineAccounts.service +%{_datadir}/icons/hicolor/*/apps/goa-*.png +%{_datadir}/man/man8/goa-daemon.8.gz +%{_datadir}/%{name}/goawebview.css + +%files devel +%{_includedir}/goa-1.0/ +%{_libdir}/libgoa-1.0.so +%{_libdir}/libgoa-backend-1.0.so +%{_datadir}/gir-1.0/Goa-1.0.gir +%{_libdir}/pkgconfig/goa-1.0.pc +%{_libdir}/pkgconfig/goa-backend-1.0.pc +%{_datadir}/gtk-doc/html/goa/ + +%dir %{_libdir}/goa-1.0 +%{_libdir}/goa-1.0/include + +%changelog +* Wed Nov 06 2013 Ray Strode 3.8.5-2 +- Fix kerberos crash when user manually erases stored credentials with seahorse + Resolves: #1027413 + +* Wed Nov 06 2013 Debarshi Ray - 3.8.5-1 +- Update to 3.8.5 + +* Fri Nov 01 2013 Debarshi Ray - 3.8.4.1-2 +- Support libkrb5's new kernel keyring based credentials cache (Red Hat #991184) + +* Tue Oct 08 2013 Debarshi Ray - 3.8.4.1-1 +- Update to 3.8.4.1 + +* Fri Aug 30 2013 Debarshi Ray - 3.8.3-1 +- Update to 3.8.3 + +* Tue Jul 2 2013 Matthias Clasen - 3.8.2-2 +- Rebuild with newer gtk-doc to fix multilib issue + +* Mon May 13 2013 Matthias Clasen - 3.8.2-1 +- Update to 3.8.2 + +* Mon Apr 15 2013 Richard Hughes - 3.8.1-1 +- Update to 3.8.1 + +* Tue Mar 26 2013 Debarshi Ray - 3.8.0-1 +- Update to 3.8.0 + +* Wed Mar 20 2013 Richard Hughes - 3.7.92-1 +- Update to 3.7.92 + +* Tue Mar 05 2013 Debarshi Ray - 3.7.91-1 +- Update to 3.7.91 + +* Tue Feb 26 2013 Debarshi Ray - 3.7.90-2 +- Enable IMAP / SMTP + +* Fri Feb 22 2013 Kalev Lember - 3.7.90-1 +- Update to 3.7.90 + +* Wed Feb 06 2013 Debarshi Ray - 3.7.5-1 +- Update to 3.7.5 + +* Wed Feb 06 2013 Kalev Lember - 3.7.4-2 +- Rebuilt for libgcr soname bump + +* Mon Jan 14 2013 Debarshi Ray - 3.7.4-1 +- Update to 3.7.4 + +* Thu Jan 03 2013 Debarshi Ray - 3.7.3-1 +- Update to 3.7.3 + +* Sun Nov 18 2012 Debarshi Ray - 3.7.2-1 +- Update to 3.7.2 + +* Tue Oct 23 2012 Debarshi Ray - 3.7.1-1 +- Update to 3.7.1 + +* Mon Oct 15 2012 Debarshi Ray - 3.6.1-1 +- Update to 3.6.1 + +* Tue Sep 25 2012 Matthias Clasen - 3.6.0-1 +- Update to 3.6.0 + +* Mon Sep 17 2012 Debarshi Ray - 3.5.92-1 +- Update to 3.5.92 + +* Tue Sep 04 2012 Debarshi Ray - 3.5.91-1 +- Update to 3.5.91 + +* Tue Aug 21 2012 Debarshi Ray - 3.5.90-1 +- Update to 3.5.90 + +* Tue Aug 07 2012 Richard Hughes - 3.5.5-1 +- Update to 3.5.5 + +* Fri Jul 27 2012 Fedora Release Engineering - 3.5.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jul 16 2012 Debarshi Ray - 3.5.4-1 +- Update to 3.5.4 + +* Mon Jun 25 2012 Debarshi Ray - 3.5.3-1 +- Update to 3.5.3 + +* Tue Jun 05 2012 Debarshi Ray - 3.5.2-1 +- Update to 3.5.2 + +* Wed May 02 2012 Debarshi Ray - 3.5.1-1 +- Update to 3.5.1 + +* Tue Apr 17 2012 Richard Hughes - 3.4.1-1 +- Update to 3.4.1 + +* Mon Mar 26 2012 Debarshi Ray - 3.4.0-1 +- Update to 3.4.0 + +* Wed Mar 21 2012 Debarshi Ray - 3.3.92.1-1 +- Update to 3.3.92.1 + +* Tue Mar 20 2012 Debarshi Ray - 3.3.92-1 +- Update to 3.3.92 + +* Fri Jan 13 2012 Fedora Release Engineering - 3.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Dec 19 2011 Brian Pepple - 3.3.0-2 +- Enable Windows Live provider. + +* Mon Dec 19 2011 Brian Pepple - 3.3.0-1 +- Update to 3.3.0. +- Update source url. + +* Wed Oct 26 2011 Fedora Release Engineering - 3.2.1-2 +- Rebuilt for glibc bug#747377 + +* Tue Oct 18 2011 Matthias Clasen - 3.2.1-1 +- Update to 3.2.1 + +* Wed Sep 28 2011 Ray - 3.2.0.1-1 +- Update to 3.2.0.1 + +* Mon Sep 26 2011 Ray - 3.2.0-1 +- Update to 3.2.0 + +* Tue Sep 20 2011 Matthias Clasen - 3.1.91-1 +- Update to 3.1.91 + +* Tue Aug 30 2011 Matthias Clasen - 3.1.90-1 +- Update to 3.1.90 + +* Fri Jul 01 2011 Bastien Nocera 3.1.1-1 +- Update to 3.1.1 + +* Tue Jun 14 2011 Bastien Nocera 3.1.0-3 +- Add more necessary patches + +* Tue Jun 14 2011 Bastien Nocera 3.1.0-2 +- Update with review comments from Peter Robinson + +* Mon Jun 13 2011 Bastien Nocera 3.1.0-1 +- First version +