commit f61b94d12cb84a4929e19cde812f0a1423380b6a Author: Stef Walter Date: 2012-07-16 Some 'make distcheck' fixes daemon/dbus/tests/Makefile.am | 3 +++ daemon/dbus/tests/test-secret-signals.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) commit b6e5033c9936ddd29e6d1fb18826f86c1fdced4e Author: Stef Walter Date: 2012-07-16 Release version 3.5.4 * And fix various issues preventing 'make distcheck' NEWS | 10 ++++++++++ configure.ac | 2 +- daemon/dbus/tests/Makefile.am | 1 + pkcs11/secret-store/gkm-secret-fields.c | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) commit 8f894d33b164dc216f53c24c5deeb8d8913f7ea0 Author: Stef Walter Date: 2012-07-16 Match common old GnomeKeyringItemType schemas to xdg:schema attribute * Properly handle the case where no xdg:schema attribute is stored in the keyring, and the caller tries to search with schema names: - org.gnome.keyring.NetworkPassword - org.gnome.keyring.Note * This allows the above items stored by libgnome-keyring to be matched by libsecret. .gitignore | 1 + pkcs11/secret-store/gkm-secret-fields.c | 109 +++++----- pkcs11/secret-store/gkm-secret-fields.h | 6 + pkcs11/secret-store/gkm-secret-search.c | 59 +++++- pkcs11/secret-store/gkm-secret-search.h | 2 + pkcs11/secret-store/tests/Makefile.am | 4 +- pkcs11/secret-store/tests/files/schema1.keyring | Bin 0 -> 769 bytes pkcs11/secret-store/tests/files/schema2.keyring | Bin 0 -> 1005 bytes pkcs11/secret-store/tests/test-secret-fields.c | 4 +- pkcs11/secret-store/tests/test-secret-schema.c | 240 +++++++++++++++++++++++ 10 files changed, 369 insertions(+), 56 deletions(-) commit 9d5c86537af8940d26a573da82cafb69640438b2 Author: Stef Walter Date: 2012-07-16 Convert from EggBytes to GBytes * We were using EggBytes while GBytes was not yet in a stable glib release configure.ac | 2 +- egg/Makefile.am | 2 - egg/egg-armor.c | 20 +- egg/egg-armor.h | 8 +- egg/egg-asn1x.c | 184 ++++---- egg/egg-asn1x.h | 38 +- egg/egg-bytes.c | 454 -------------------- egg/egg-bytes.h | 102 ----- egg/egg-dn.c | 35 +- egg/egg-dn.h | 6 +- egg/egg-openssl.c | 13 +- egg/egg-openssl.h | 6 +- egg/egg-symkey.c | 64 +-- egg/egg-symkey.h | 6 +- egg/egg-testing.h | 4 +- egg/tests/test-asn1.c | 284 ++++++------ egg/tests/test-asn1x.c | 10 +- egg/tests/test-dn.c | 30 +- egg/tests/test-openssl.c | 36 +- pkcs11/gkm/gkm-attributes.c | 5 +- pkcs11/gkm/gkm-attributes.h | 4 +- pkcs11/gkm/gkm-certificate.c | 50 +-- pkcs11/gkm/gkm-certificate.h | 4 +- pkcs11/gkm/gkm-data-asn1.c | 12 +- pkcs11/gkm/gkm-data-der.c | 126 +++--- pkcs11/gkm/gkm-data-der.h | 59 ++- pkcs11/gkm/gkm-serializable.c | 4 +- pkcs11/gkm/gkm-serializable.h | 10 +- pkcs11/gkm/tests/test-certificate.c | 12 +- pkcs11/gkm/tests/test-data-asn1.c | 10 +- pkcs11/gkm/tests/test-data-der.c | 100 ++--- pkcs11/gnome2-store/gkm-gnome2-private-key.c | 16 +- pkcs11/gnome2-store/gkm-gnome2-public-key.c | 6 +- pkcs11/gnome2-store/gkm-gnome2-storage.c | 34 +- .../gnome2-store/tests/test-gnome2-private-key.c | 13 +- pkcs11/gnome2-store/tests/test-gnome2-storage.c | 6 +- pkcs11/roots-store/gkm-roots-module.c | 16 +- pkcs11/roots-store/gkm-roots-trust.c | 4 +- pkcs11/ssh-store/gkm-ssh-openssh.c | 24 +- pkcs11/ssh-store/gkm-ssh-openssh.h | 6 +- pkcs11/ssh-store/gkm-ssh-private-key.c | 10 +- pkcs11/ssh-store/tests/test-ssh-openssh.c | 6 +- pkcs11/xdg-store/gkm-xdg-module.c | 20 +- pkcs11/xdg-store/gkm-xdg-trust.c | 96 ++--- pkcs11/xdg-store/tests/dump-trust-file.c | 24 +- pkcs11/xdg-store/tests/frob-trust-file.c | 46 +- 46 files changed, 724 insertions(+), 1303 deletions(-) commit d31a26df7ce8d9c084b9c66fe00458683dde9864 Author: Stef Walter Date: 2012-06-28 gpg-agent: Encode passwords when --data was requested * Use URI encoding to return passwords when gnupg calls us with a --data argument. https://bugzilla.gnome.org/show_bug.cgi?id=678771 daemon/gpg-agent/gkd-gpg-agent-ops.c | 41 ++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) commit 63ea3bfaa8c15406790553c5cf7348d56e30f012 Author: Stef Walter Date: 2012-06-28 gpg-agent: Don't barf when retrieving password when not unlocked * Secret store returns CKR_USER_NOT_LOGGED_IN when password doesn't exist. Don't g_warning in that case daemon/gpg-agent/gkd-gpg-agent-ops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 66eef08df67047f70678764a223ae4d42a9708f3 Author: Stef Walter Date: 2012-06-28 dbus: Don't log into token if already logged in daemon/dbus/gkd-secret-service.c | 9 +++++++++ 1 file changed, 9 insertions(+) commit e276b7ac8ca7ce51b117fc4e963928886664a7e5 Author: Stef Walter Date: 2012-06-27 dbus: The Created and Modified properties are uint64 * Previously we had the Created and Modified properties be int64 dbus properties. However the Secret Service API says they should be uint64. * libgnome-keyring was updated in the 3.3.x cycle to support either the old or new type. * libsecret expects uint64. daemon/dbus/gkd-secret-property.c | 39 ++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 18 deletions(-) commit 398c356dbacb071bef5f91c5d1ed16d9083ecfb1 Author: Stef Walter Date: 2012-06-27 dbus: Expose the 'session' and 'login' keyrings as aliases * The Secret Service API supports the concept of aliases, so expose the 'session' and 'login' keyrings as aliases, so that callers can identify which keyrings have those special behaviors. daemon/dbus/gkd-secret-service.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) commit 8ce8788e850357a1467e6f18ca952248888da116 Author: Stef Walter Date: 2012-06-27 daemon: Emit secret service signals when collections/items change * Emit the Secret Service DBus API signals when collections/items change. * Also fire the PropertiesChanged signal appropriately .gitignore | 2 + daemon/dbus/gkd-secret-create.c | 6 +- daemon/dbus/gkd-secret-objects.c | 391 +++++++++++-- daemon/dbus/gkd-secret-objects.h | 19 + daemon/dbus/gkd-secret-service.c | 116 +++- daemon/dbus/gkd-secret-service.h | 6 + daemon/dbus/gkd-secret-unlock.c | 16 + daemon/dbus/tests/Makefile.am | 13 +- daemon/dbus/tests/files/test.keyring | Bin 0 -> 180 bytes daemon/dbus/tests/test-secret-signals.c | 916 +++++++++++++++++++++++++++++++ 10 files changed, 1432 insertions(+), 53 deletions(-) commit 8a1fd0725d1d5f4ab485d2203772fccb81c63364 Author: Stef Walter Date: 2012-06-27 daemon: Perform initialization in the main loop * So that we can handle signals during initialization daemon/gkd-main.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit e31a7b095517d2f3cabf17cb15f469214c48a0a7 Author: Stef Walter Date: 2012-06-27 egg: Add ability to run tests in a mainloop without a thread * Lets us do async stuff without the added complication of having another thread running the main loop. egg/egg-testing.c | 95 ++++++++++++++++++++++++++++++++++++++++++++++++----- egg/egg-testing.h | 4 +++ 2 files changed, 90 insertions(+), 9 deletions(-) commit e4f2dd1a5e37884c3eb1c93322c1b71b70daedac Author: Stef Walter Date: 2012-06-27 Quiet down messages during tests * Several of these are common messages, so move them to debug logs. daemon/gkd-capability.c | 3 ++- pkcs11/gkm/gkm-certificate.c | 6 ++++-- pkcs11/roots-store/gkm-roots-module.c | 4 +++- pkcs11/xdg-store/gkm-xdg-module.c | 4 +++- 4 files changed, 12 insertions(+), 5 deletions(-) commit 7643d9fd1ca726a2465833295df7f0504221e713 Author: Stef Walter Date: 2012-06-27 Use GNOME_KEYRING_TEST_PROMPTER to specify prompter name * Testing code can set GNOME_KEYRING_TEST_PROMPTER environment variable to change the prompter that is used for various prompts. daemon/dbus/gkd-secret-change.c | 4 ++++ daemon/dbus/gkd-secret-create.c | 4 ++++ pkcs11/wrap-layer/gkm-wrap-prompt.c | 25 ++++++++++++++++++++----- pkcs11/wrap-layer/gkm-wrap-prompt.h | 2 ++ 4 files changed, 30 insertions(+), 5 deletions(-) commit 09f5a69c00f5ef3e4928b6751ae8ebc86c3bfe2b Author: Stef Walter Date: 2012-06-27 egg: Add methods for creating scratch directory in tests * Add egg_tests_create_scratch_directory() and egg_tests_remove_scratch_directory() methods, and use them in tests. egg/Makefile.am | 1 + egg/egg-testing.c | 79 +++++++++++++++++++++++ egg/egg-testing.h | 7 +- pkcs11/gnome2-store/tests/test-gnome2-storage.c | 56 ++-------------- pkcs11/gnome2-store/tests/test-import.c | 22 +------ pkcs11/secret-store/tests/mock-secret-module.c | 31 ++------- pkcs11/xdg-store/tests/mock-xdg-module.c | 32 ++------- 7 files changed, 107 insertions(+), 121 deletions(-) commit 5e031c3f81caaf5d2ae7078af60954266ffaaa36 Author: Stef Walter Date: 2012-06-26 Remove support code for old glib versions * Remove a bunch of #ifdefs for old glib versions prior to 2.32.0. * Already bumped glib dependency in a recent commit. daemon/gpg-agent/gkd-gpg-agent.c | 14 --------- daemon/ssh-agent/gkd-ssh-agent.c | 14 --------- egg/egg-libgcrypt.c | 8 ----- egg/egg-testing.c | 58 ----------------------------------- pkcs11/gkm/gkm-timer.c | 27 ---------------- pkcs11/gkm/gkm-util.c | 4 --- pkcs11/rpc-layer/gkm-rpc-dispatch.c | 4 --- 7 files changed, 129 deletions(-) commit 3b12a96aa41af835a651c6a62def94472346969d Author: Stef Walter Date: 2012-06-25 secret-store: Support the xdg:schema attribute correctly * libsecret uses that attribute to store the 'schema' describing the other attributes. * The old way of having a special 'Type' dbus argument, or CKA_G_SCHEMA pkcs#11 attribute is deprecated ... to be more inline with the Secret Service spec. daemon/dbus/gkd-secret-property.c | 2 + pkcs11/secret-store/gkm-secret-fields.c | 72 ++++++++++++-------- pkcs11/secret-store/gkm-secret-fields.h | 6 +- pkcs11/secret-store/gkm-secret-item.c | 12 ++-- pkcs11/secret-store/gkm-secret-search.c | 4 +- pkcs11/secret-store/tests/test-secret-fields.c | 86 +++++++++++++++++++++--- 6 files changed, 138 insertions(+), 44 deletions(-)