After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 679867 - Use libgcr-base instead of libgnome-keyring for secure memory
Use libgcr-base instead of libgnome-keyring for secure memory
Status: RESOLVED FIXED
Product: libgdata
Classification: Platform
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: libgdata-maint
libgdata-maint
Depends on:
Blocks: 679893
 
 
Reported: 2012-07-13 15:03 UTC by Stef Walter
Modified: 2012-07-17 20:19 UTC
See Also:
GNOME target: 3.6
GNOME version: ---


Attachments
Migrate away from libgnome-keyring (2.80 KB, patch)
2012-07-13 15:03 UTC, Stef Walter
accepted-commit_now Details | Review
Use gcr instead of libgnome-keyring for secure memory (2.88 KB, patch)
2012-07-17 16:48 UTC, Stef Walter
committed Details | Review

Description Stef Walter 2012-07-13 15:03:22 UTC
Created attachment 218733 [details] [review]
Migrate away from libgnome-keyring

In the future (probably after GNOME 3.8) libgnome-keyring will be a deprecated library. The attached patch ports the secure memory functionality of libgdata to use the libgcr-base library instead.

I haven't tested the patch, as I'm not familiar with how to trigger the various code paths and logic.
Comment 1 Olav Vitters 2012-07-13 20:42:17 UTC
Per r-t: Targetting GNOME 3.6
Comment 2 Philip Withnall 2012-07-13 22:06:35 UTC
Review of attachment 218733 [details] [review]:

Looks fine to me, assuming the semantics of the functions are the same as they were before. Please commit to master. :-)
Comment 3 Stef Walter 2012-07-17 16:48:41 UTC
Created attachment 219037 [details] [review]
Use gcr instead of libgnome-keyring for secure memory

* libgnome-keyring will be deprecated in the future
Comment 4 Stef Walter 2012-07-17 16:50:05 UTC
The tests fail for me (before and after this patch). So someone else should probably commit this.

(/data/projects/libgdata/gdata/tests/.libs/lt-youtube:23602): libgdata-DEBUG: < X-GUploader-UploadID: AEnB2UqXd3epbSJutbEvd1PRiXszmjxO_sNaOlMs36-2V7x8lN_6xTGx-hgkhUT4vMQW3QQH28l9ie5B8Iu41r3iz3lBc9qdhw
(/data/projects/libgdata/gdata/tests/.libs/lt-youtube:23602): libgdata-DEBUG: < Date: Tue, 17 Jul 2012 16:49:35 GMT
(/data/projects/libgdata/gdata/tests/.libs/lt-youtube:23602): libgdata-DEBUG: < Pragma: no-cache
(/data/projects/libgdata/gdata/tests/.libs/lt-youtube:23602): libgdata-DEBUG: < Expires: Fri, 01 Jan 1990 00:00:00 GMT
(/data/projects/libgdata/gdata/tests/.libs/lt-youtube:23602): libgdata-DEBUG: < Cache-control: no-cache, no-store, must-revalidate
(/data/projects/libgdata/gdata/tests/.libs/lt-youtube:23602): libgdata-DEBUG: < Content-Length: 15
(/data/projects/libgdata/gdata/tests/.libs/lt-youtube:23602): libgdata-DEBUG: < 
(/data/projects/libgdata/gdata/tests/.libs/lt-youtube:23602): libgdata-DEBUG: < Invalid Request
(/data/projects/libgdata/gdata/tests/.libs/lt-youtube:23602): libgdata-DEBUG:   
/dev/null:1: parser error : Start tag expected, '<' not found
Invalid Request
^
**
libgdata:ERROR:youtube.c:482:test_upload_async_cb: assertion failed (error == NULL): Stream has outstanding operation (g-io-error-quark, 20)
FAIL
GTester: last random seed: R02Se54c9ca459b3da82e7685013b599bbf9
/bin/sh: line 1: 23577 Terminated              gtester --verbose general youtube calendar contacts picasaweb documents memory perf streams authorization client-login-authorizer oauth1-authorizer
make[2]: *** [test] Error 143
make[2]: Leaving directory `/data/projects/libgdata/gdata/tests'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/data/projects/libgdata/gdata/tests'
make: *** [check-recursive] Error 1

Also see: bug #680111
Comment 5 Philip Withnall 2012-07-17 20:18:46 UTC
(In reply to comment #4)
> The tests fail for me (before and after this patch). So someone else should
> probably commit this.

The libgdata tests are a trap. They’re fairly broken at the moment because they try and query the Google APIs directly…which keep getting subtly changed and broken by Google. libgdata hasn’t managed to keep up. There’s also the fact that the weak consistency model Google use means the tests sometimes (non-deterministically) fail due to receiving stale data from the servers.

I’ve committed the patch with some minor additional documentation changes. Thanks!

commit 935e69fe86b51508cb22860a5db96aa1989c58ca
Author: Stef Walter <stefw@gnome.org>
Date:   Tue Jul 17 21:16:11 2012 +0100

    core: Use gcr instead of libgnome-keyring for secure memory
    
    * libgnome-keyring will be deprecated in the future
    
    Closes: https://bugzilla.gnome.org/show_bug.cgi?id=679867

 README                                |    2 +-
 configure.ac                          |    4 ++--
 docs/reference/gdata-overview.xml     |    4 ++--
 gdata/gdata-client-login-authorizer.c |    4 ++--
 gdata/gdata-service.c                 |    9 +++++----
 5 files changed, 12 insertions(+), 11 deletions(-)