Stef Walter [Thu, 17 Nov 2011 14:26:55 +0000 (15:26 +0100)]
Add valgrind memory checking and fix up errors
* This is especially necessary after migrating to EggBytes
since it's reference counted and an easy sourc of memory leaks
* Remove threading from testing framework, as gcr isn't threadsafe
in all parts.
* Fix bugs discovered in memory checking.
* Fix up some of the testing stuff.
Stef Walter [Wed, 16 Nov 2011 07:38:44 +0000 (08:38 +0100)]
gcr: Use GBytes immutable ref counted byte buffers
* Copy from glib patch to EggBytes
* This allows us to reliably build up ASN.1 structures from different
sources, and is needed for the certificate request work.
https://bugzilla.gnome.org/show_bug.cgi?id=663291
Stef Walter [Tue, 15 Nov 2011 17:09:48 +0000 (18:09 +0100)]
gck: Make gck_attributes_unref take a pointer
* So it can be used as a GDestroyNotify
Stef Walter [Tue, 15 Nov 2011 17:02:15 +0000 (18:02 +0100)]
gcr: Add missing symbols to gcr.symbols
Stef Walter [Tue, 15 Nov 2011 17:01:41 +0000 (18:01 +0100)]
gck: Fix problem where gck_slot_open_session_async() leaked objects
* Held a reference to the session and result, which kept the module
Stef Walter [Tue, 15 Nov 2011 17:01:17 +0000 (18:01 +0100)]
Ignore editor backup files
Stef Walter [Mon, 14 Nov 2011 10:26:37 +0000 (11:26 +0100)]
gck: Fix regression in gck_slot_open_session_finish
* The first argument is a slot, but we directly called
g_async_initable_new_async, and therefore a GckSession
was erroneously expected.
Stef Walter [Sun, 13 Nov 2011 07:35:37 +0000 (08:35 +0100)]
Fix problem where test sources were being ignored by git.
* And add test-filter-collection.c
Stef Walter [Wed, 9 Nov 2011 16:19:45 +0000 (17:19 +0100)]
gcr: Allow changing the collection on a GcrCollectionModel
* Make the collection property writable any time
* Add gcr_collection_model_set_collection() function
* Try to be smart about adding/removing objects that are in
the intersection of the old/new collections
Stef Walter [Wed, 9 Nov 2011 16:10:35 +0000 (17:10 +0100)]
gcr: Add tree and list mode for GcrCollectionModel
* Way for callers to turn off the nesting behavior of GcrCollectionModel
* Specify GCR_COLLECTION_MODEL_LIST at startup.
* No stable software yet uses GcrCollectionModel, so changing API.
Stef Walter [Wed, 9 Nov 2011 16:00:04 +0000 (17:00 +0100)]
gck: Fix annotations for array and out params in GckSession
Stef Walter [Wed, 9 Nov 2011 15:46:19 +0000 (16:46 +0100)]
gck: Allow generating key without getting out key objects
* Allow public_key and private_key locations to be null in
gck_session_generate_key_pair(), -gck_session_generate_key_pair_full()
and gck_session_generate_key_pair_finish()
Stef Walter [Wed, 9 Nov 2011 12:57:20 +0000 (13:57 +0100)]
gcr: Add GcrFilterCollection
* Adds a new collection type, which wraps another collection and
filters out certain objects
Stef Walter [Mon, 7 Nov 2011 13:16:38 +0000 (14:16 +0100)]
gck: fix symbols file
Colin Walters [Thu, 3 Nov 2011 17:44:33 +0000 (13:44 -0400)]
autogen.sh: Make executable
Colin Walters [Thu, 3 Nov 2011 17:35:29 +0000 (13:35 -0400)]
build: Don't reference uninstalled gck
The --include-uninstalled argument is sufficent; we shouldn't
redundantly pass gck as a package or include.
Stef Walter [Thu, 3 Nov 2011 13:34:46 +0000 (14:34 +0100)]
gck: gck_attribute_get_string() should not return a NULL string
* Fix bug where a NULL string would be returned if the attribute
was found but was invalid.
Stef Walter [Thu, 3 Nov 2011 13:32:31 +0000 (14:32 +0100)]
gck: Add gck_attribute_hash and cleanup for use in hash table
* Add gck_attribute_hash() so GckAttribute can be used as a
hash table key.
* Change gck_attribute_free() and gck_attribute_equal() to use
pointers so they can be used as GEqualFunc and GDestroyNotify
without casting
Stef Walter [Wed, 2 Nov 2011 13:10:43 +0000 (14:10 +0100)]
gck: Chaining of enumerators
* Add functions gck_enumerator_get_chained() and
gck_enumerator_set_chained()
* Chaining enumerator returns results from the chained enumerator
after all results have been retrieved from the former.
Stef Walter [Wed, 2 Nov 2011 13:07:41 +0000 (14:07 +0100)]
gck: Allow enumerating objects on a session
* Add gck_session_enumerate_objects()
* This has several advantages such as retrieving attributes during
the enumeration, etc.
Stef Walter [Wed, 2 Nov 2011 08:10:44 +0000 (09:10 +0100)]
gck: Fix documentation
Stef Walter [Wed, 2 Nov 2011 07:53:20 +0000 (08:53 +0100)]
gck: GTlsInteraction is set on sessions, not slots
* At least for now. We can figure out how to have a global interaction
handler later.
* interactions often are specific to windows which are bound to sessions
rather than being a global deal so we need to have this level of
granularity.
Stef Walter [Wed, 2 Nov 2011 07:23:24 +0000 (08:23 +0100)]
gck: Remove unneeded variable in gck_session_from_handle()
Stef Walter [Wed, 2 Nov 2011 07:22:47 +0000 (08:22 +0100)]
gck: Don't try and discard handle for session that was not opened
Stef Walter [Tue, 1 Nov 2011 16:42:26 +0000 (17:42 +0100)]
gck: Add methods for opening and logging in that accept interactions
* Make GckSession GInitable and GAsyncInitable
* With convenience functions gck_session_open and
gck_session_open_async
* Also add gck_session_login_interactive and
gck_session_login_interactive_async
Stef Walter [Mon, 31 Oct 2011 09:01:15 +0000 (10:01 +0100)]
Ignore coverage file types for git inclusion
Travis Reiter [Tue, 1 Nov 2011 13:27:55 +0000 (14:27 +0100)]
gcr: Fix build, link against glib
https://bugzilla.gnome.org/show_bug.cgi?id=662647
Stef Walter [Sun, 30 Oct 2011 19:45:11 +0000 (20:45 +0100)]
gcr: Fix gobject-introspection build ... again
https://bugzilla.gnome.org/show_bug.cgi?id=662648
Stef Walter [Sat, 29 Oct 2011 19:34:21 +0000 (21:34 +0200)]
Remove g_thread_init() calls.
* g_type_init() initializes threads since 2.24 and is no longer needed
since 2.32
Stef Walter [Fri, 28 Oct 2011 18:31:54 +0000 (20:31 +0200)]
gcr: Remove redefinition of GcrRenderer typedef
Stef Walter [Fri, 28 Oct 2011 12:59:41 +0000 (14:59 +0200)]
gck: Remove duplicate typedef of GckObjectAttributes
Stef Walter [Wed, 26 Oct 2011 19:03:46 +0000 (21:03 +0200)]
Bump version number
Stef Walter [Wed, 26 Oct 2011 18:49:53 +0000 (20:49 +0200)]
Release version 3.3.1.1
Stef Walter [Wed, 26 Oct 2011 18:06:49 +0000 (20:06 +0200)]
gcr: Fix building of introspection dependencies
* Was failing to find glib.h
Stef Walter [Wed, 26 Oct 2011 16:59:41 +0000 (18:59 +0200)]
gcr: Don't include main headers in individual components
* Just include what we need, this helps keep rebuild times down
and makes interdependencies clear.
Stef Walter [Mon, 24 Oct 2011 06:38:34 +0000 (08:38 +0200)]
Bump version number
Stef Walter [Mon, 24 Oct 2011 06:20:59 +0000 (08:20 +0200)]
Release version 3.3.1
Stef Walter [Wed, 19 Oct 2011 10:13:03 +0000 (12:13 +0200)]
gcr: Add function to get the elements of a union collection
Stef Walter [Mon, 17 Oct 2011 16:05:12 +0000 (18:05 +0200)]
Add gnupg, and cleanup icon rendering
* key and key-pair icons get rendered like the rest
* Add simple gnupg icon based on gnupg logo.
Gabor Kelemen [Sun, 16 Oct 2011 20:33:44 +0000 (22:33 +0200)]
Include gi18n-lib.h in library sources instead of gi18n.h
https://bugzilla.gnome.org/show_bug.cgi?id=661929
Stef Walter [Thu, 13 Oct 2011 11:37:21 +0000 (13:37 +0200)]
gcr: Fix up docs and symbols
Stef Walter [Thu, 13 Oct 2011 11:33:49 +0000 (13:33 +0200)]
gcr: Add password icon
Stef Walter [Thu, 13 Oct 2011 07:50:24 +0000 (09:50 +0200)]
gcr: Function to emit notify on GcrCertificate props for data change
Stef Walter [Wed, 12 Oct 2011 11:17:25 +0000 (13:17 +0200)]
gck: Add gck_slot_enumerate_objects() function
Stef Walter [Wed, 12 Oct 2011 10:29:41 +0000 (12:29 +0200)]
gck: Documentation fix up
Stef Walter [Wed, 12 Oct 2011 09:18:05 +0000 (11:18 +0200)]
gck: Enumerator can now retrieve object attributes
* New interface called GckObjectAttributes. Callers derive from
GckObject, implement GckObjectAttributes and set fields in the
iface to denote which attributes are interested in.
* Caller passes type of derived object to gck_enumerator_set_object_type()
and then enumerator will retrieve attributes set in iface, and return
objects of that type
* GckObjectAttributes has attributes property.
Stef Walter [Tue, 11 Oct 2011 09:55:54 +0000 (11:55 +0200)]
gck: Fix build issue on i686 where sizeof (gsize) != sizeof (CK_ULONG)
Stef Walter [Tue, 11 Oct 2011 09:55:37 +0000 (11:55 +0200)]
gcr: Fix documentation build by linking to right library
Stef Walter [Fri, 7 Oct 2011 15:46:11 +0000 (17:46 +0200)]
gck: Add gck_session_find_handles() and friends
Allows callers to create their own objects for PKCS#11
objects.
Stef Walter [Thu, 6 Oct 2011 11:28:00 +0000 (13:28 +0200)]
Update glib dependency for 2.30.0
* We need it for GTlsInteraction
Stef Walter [Thu, 6 Oct 2011 11:16:22 +0000 (13:16 +0200)]
Fix problem with doap file syntax
Stef Walter [Thu, 6 Oct 2011 08:59:50 +0000 (10:59 +0200)]
Split the GCR and GCK libraries out of gnome-keyring
Commits prior to this commit will not build. To build
old releases of Gcr or Gck you should use the gnome-keyring
git module.
This module currently depends on: gtk+ >= 3.0, glib >= 2.28.0,
p11-kit >= 0.6, libgcrypt >= 1.2.2
Additionally it requires asn1Parser for building.
Stef Walter [Wed, 5 Oct 2011 09:56:11 +0000 (11:56 +0200)]
gcr: Make spinner on GcrImportButton actually spin
Stef Walter [Wed, 5 Oct 2011 09:55:55 +0000 (11:55 +0200)]
gcr: Fix build issues with gcr-icons.h header
Stef Walter [Wed, 5 Oct 2011 09:03:18 +0000 (11:03 +0200)]
gcr: Properly get labels from the parser into the importer
* Pull in the labels seen by the parser, but not in the attributes
* Fix issues supplementing when no login is required
Stef Walter [Wed, 5 Oct 2011 09:02:44 +0000 (11:02 +0200)]
gcr: Parse required attributes out of certificates
* PKCS#11 requires the CKA_SUBJECT, CKA_ISSUER and
CKA_SERIAL_NUMBER in new certificate objects, so we parse
them in the parser.
Stef Walter [Wed, 5 Oct 2011 09:00:58 +0000 (11:00 +0200)]
gcr: Use the home directory for the NSS icon
Stef Walter [Wed, 5 Oct 2011 08:26:54 +0000 (10:26 +0200)]
gcr: Stop gcr-viewer process correctly when Close is clicked
Stef Walter [Wed, 5 Oct 2011 08:17:34 +0000 (10:17 +0200)]
gcr: Rework how we get supplemental information for the import
Stef Walter [Wed, 5 Oct 2011 07:14:14 +0000 (09:14 +0200)]
gcr: Fix PKCS#11 importer attribute cleanup before import
* Add proper CKA_ID, CKA_DECRYPT, CKA_SIGN, CKA_SIGN_RECOVER
CKA_UNWRAP, CKA_SENSITIVE, and CKA_PRIVATE attributes
* Create pairs of keys and certificates, and import those
first
Stef Walter [Wed, 5 Oct 2011 07:07:15 +0000 (09:07 +0200)]
gcr: Complete and make gcr_fingerprint_xxx functions public
* These functions create consistent key fingerpints for
public, private and certificates.
Stef Walter [Tue, 4 Oct 2011 16:15:37 +0000 (18:15 +0200)]
egg: Fix parsing of unsigned integers in DER
* When the unsigned integer had a high bit set, we would store/parse
it incorrectly. We have to force these numbers to be unsigned so
we prefix/strip an extra zero byte on the front.
* Also make accessing raw and usg numbers in DER not have to copy
the value, since these are often sensitive.
Stef Walter [Tue, 4 Oct 2011 14:42:48 +0000 (16:42 +0200)]
gcr: Import keys first when importing via PKCS#11
* This is what some smartcards seem to require, an easy enough fix
so just work around this problem.
Stef Walter [Tue, 4 Oct 2011 14:42:28 +0000 (16:42 +0200)]
gck: Include CKK_XXX values in debug output correctly
Stef Walter [Tue, 4 Oct 2011 10:55:21 +0000 (12:55 +0200)]
gcr: Complete the PKCS#11 import dialog
* Add GcrImportInteraction interface which importers
* Hookup between non-GUI importers and import interaction
isn't yet completely thought out.
Stef Walter [Tue, 4 Oct 2011 10:47:07 +0000 (12:47 +0200)]
gck: Add support for setting attributes in an array
* Either change the attribute to the new value, or add an
attribute if one doesn't exist.
Stef Walter [Mon, 3 Oct 2011 11:23:39 +0000 (13:23 +0200)]
gck: Integrate GTlsInteraction into libgck
* Deprecate the GckModule signals which were used for password auth
* Fire deprecated GckModule signals from a compat GTlsInteraction
* Add some tests for this integration
Stef Walter [Sat, 1 Oct 2011 11:27:03 +0000 (13:27 +0200)]
gcr: Check that secret exchanged data has correct protocol prefix
* This is for future backward compatibility, so when we have more
than one protocol, we can be sure we can identify the old one.
Stef Walter [Sat, 1 Oct 2011 11:17:17 +0000 (13:17 +0200)]
gcr: Documentation fixes for secret exchange commits
Stef Walter [Sat, 1 Oct 2011 11:07:38 +0000 (13:07 +0200)]
ui: Use GcrSecretExchange for passing passwords to/from prompt
* And integrate this with our credential stuff inside of the
dbus secret service prompts
* Fix a bug in GcrSecretService if key already derived, and data
is received.
Stef Walter [Sat, 1 Oct 2011 10:20:07 +0000 (12:20 +0200)]
gcr: More work on the GcrSecretExchange
* Expose the concept of which protocol is being used although
currently only one is supported.
* Add virtual method hooks so all crypto stuff can be swapped
out with other implementations.
* Build, documentation and test fixes
https://bugzilla.gnome.org/show_bug.cgi?id=656955
Stef Walter [Tue, 23 Aug 2011 07:56:02 +0000 (09:56 +0200)]
gcr: Add documentation for GcrSecretExchange
https://bugzilla.gnome.org/show_bug.cgi?id=656955
Stef Walter [Sat, 20 Aug 2011 20:50:42 +0000 (22:50 +0200)]
gcr: Refactor GcrSecretExchange
* Use the GcrSecretExchange object on both sides.
* Allow exchange of multiple secrets, and in both directions.
* Add tests
Stef Walter [Wed, 10 Aug 2011 08:58:37 +0000 (10:58 +0200)]
gcr: Implement GcrSecretExchange
* Class which allows exchanging secrets over an unsecure or logged
channel.
* Does *NOT* protect against active attacks like MITM.
https://bugzilla.gnome.org/show_bug.cgi?id=656955
Stef Walter [Sat, 1 Oct 2011 09:56:20 +0000 (11:56 +0200)]
gcr: More documentation fixes
Stef Walter [Sat, 1 Oct 2011 09:55:31 +0000 (11:55 +0200)]
Fix up exported symbols for recent changes
* Including one symbol removal, but since this was added during
this unstable cycle, no problem changing it.
Stef Walter [Fri, 30 Sep 2011 07:50:39 +0000 (09:50 +0200)]
gck: Fix more argument types
* and mark up introspection annotations on some more arrays
Stef Walter [Thu, 29 Sep 2011 14:28:10 +0000 (16:28 +0200)]
gck: More introspection tweaks, checking for parameters which allow none
Stef Walter [Thu, 29 Sep 2011 13:31:00 +0000 (15:31 +0200)]
gcr: Annotate which types are being returned
* If the C function is returning a base type, then annotate
what derived type is actually being returned.
Stef Walter [Thu, 29 Sep 2011 13:29:11 +0000 (15:29 +0200)]
gcr: Add gcr_viewer_widget_get_parser()
* This property returns the parser currently in use by the viewer widget
Stef Walter [Thu, 29 Sep 2011 13:26:36 +0000 (15:26 +0200)]
gck: Fix precondition in gck_object_from_handles
Stef Walter [Thu, 29 Sep 2011 13:03:39 +0000 (15:03 +0200)]
gcr: More introspection and documentation cleanup
* Tag proper transfer on return values
* Use guchar * for arrays of bytes
Stef Walter [Thu, 29 Sep 2011 13:02:46 +0000 (15:02 +0200)]
gck: More introspection and documentation cleanup
* In particular, use guchar * for arrays of bytes.
Stef Walter [Thu, 29 Sep 2011 11:06:13 +0000 (13:06 +0200)]
gck: Fix if _gck_debug was not called _gck_debugging doesn't work
* Initialize debugging in both _gck_debug and _gck_debugging
Stef Walter [Thu, 29 Sep 2011 10:49:17 +0000 (12:49 +0200)]
gck: Documentation, introspection, and header fixes
Stef Walter [Thu, 29 Sep 2011 08:07:06 +0000 (10:07 +0200)]
gck: Work around g-ir-scanner syntax problem
* Separate typedef from structure declaration.
Stef Walter [Thu, 29 Sep 2011 08:06:41 +0000 (10:06 +0200)]
Gck: GckAttribute value field is a byte array
Stef Walter [Thu, 29 Sep 2011 08:02:16 +0000 (10:02 +0200)]
gck: Gck introspection doesn't depend on gtk
Stef Walter [Wed, 28 Sep 2011 12:26:14 +0000 (14:26 +0200)]
gcr: Complete introspection annotations for gcr library
https://bugzilla.gnome.org/show_bug.cgi?id=655651
Stef Walter [Wed, 28 Sep 2011 12:24:43 +0000 (14:24 +0200)]
gck: Fix introspection warnings and complete introspection annotations
https://bugzilla.gnome.org/show_bug.cgi?id=655651
Evan Nemerson [Sat, 30 Jul 2011 19:32:59 +0000 (12:32 -0700)]
gcr: mark many fields as private
Evan Nemerson [Sat, 30 Jul 2011 19:31:49 +0000 (12:31 -0700)]
gcr: add GObject introspection support
https://bugzilla.gnome.org/show_bug.cgi?id=655651
Stef Walter [Tue, 27 Sep 2011 15:40:12 +0000 (17:40 +0200)]
gcr: Fix logic in GcrImportButton when unlocking is going on (again)
Stef Walter [Tue, 27 Sep 2011 17:25:39 +0000 (19:25 +0200)]
gcr: More deprecation tweaking so we can build on FC16
Stef Walter [Tue, 27 Sep 2011 15:32:48 +0000 (17:32 +0200)]
gcr: Fix logic in GcrImportButton when unlocking is going on
* Don't show the spinner when no importers are ready even though
initializing
Stef Walter [Tue, 27 Sep 2011 15:32:02 +0000 (17:32 +0200)]
gcr: Fix problem with unlock prompt
* Signal handling of the authenticate was in the wrong order.
Stef Walter [Tue, 27 Sep 2011 15:12:02 +0000 (17:12 +0200)]
gcr: Fix documentation, abi, and translation issues
Stef Walter [Tue, 27 Sep 2011 14:47:37 +0000 (16:47 +0200)]
gcr: Fix invalid memory access in _gcr_record_set_base64
Stef Walter [Tue, 27 Sep 2011 13:53:35 +0000 (15:53 +0200)]
gcr: Use correct icon in the PKCS#11 importer
Stef Walter [Tue, 27 Sep 2011 13:48:39 +0000 (15:48 +0200)]
gcr: Refactor GcrParser and delay listing of importers
* PKCS#11 takes a long time to initialize with certain smart cards
(several seconds). So we can't block the UI.
* Expose the PKCS#11 initialization functions publicly.
* Refactor GcrParser so that the current parsed item can be held
around until later in the form of a GcrParsed structure.
* Queue parsed items in GcrImportButton until PKCS#11 is initialized.