| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
GLib is discussing deprecating/removing it upstream [1] since it has
only limited uses. Next to that, it seems to bork stack traces here when
using ASAN (for which you also have to specify `G_SLICE=always-malloc`
too).
In other words, let's just get rid of using `GSLice` and call the
allocation APIs directly.
[1]: https://gitlab.gnome.org/GNOME/glib/-/issues/1079
|
|
|
|
|
|
|
|
|
|
| |
gck provided some APIs that made working with lists of `GObject`s
easier. GLib has for a long time added API that works well enough for
the same use case, like `g_list_copy_deep()`, `g_list_free_full()` and
more recently also `g_clear_list()`, so use those instead.
This commit also bumps the required GLib version to a more modern 2.64
(which is needed for the `g_clear_list()` API).
|
| |
|
|
|
|
| |
Set the GMutex directly in the structure.
|
|
|
|
|
|
|
| |
It is not necessary and makes it difficult to interact with GObject introspected
languages.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
|
| |
|
|
|
|
| |
Also remove the compatibility test and objects.
|
|
|
|
|
|
|
| |
This means that GckObjectCacheIface becomes GckObjectCacheInterface and
GCK_OBJECT_CACHE_GET_INTERFACE becomes GCK_OBJECT_CACHE_GET_IFACE.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gtk-doc has been slowly dying for the past few years. With gi-docgen we
have a clear successor in sight to replace the voodoo magic one needs to
get the whole documentation setup.
See the [gi-docgen tutorial] for more info on how the system works.
Since we're now only the C compiler (and GIR) parse the C code, that
means we can also get rid of all the special escapes for the # character
in PKCS#11.
[gi-docgen tutorial]: https://gnome.pages.gitlab.gnome.org/gi-docgen/tutorial.html
|
|
|
|
|
| |
Never return or expect arguments as paramter for gck_call_* functions,
instead use gck_call_get_arguments to interact with them when needed
|
|
|
|
|
| |
This is to mimic GTask more and so we can avoid using a temporary task
only for temporary storing an object pointer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GckCall uses its own implementation of threads pool to handle the async
calls, now that we've GTask this code can be simplified by reusing
GLib code.
I didn't want to change the API in this commit, even if private not to
mix changes together, so the functions still are used as they used to be
The main difference is that the async_pre and async_ready prepare a
GTask instance, while the async_go starts a thread using the gtask
function.
Callback functions needed to be adapted to the new GAsyncResult type.
Tests needed also some tuning as the underneath task holding a reference
to the source object might be finalized at later stage, when the
thread-related data is removed, as per this we may wait a bit to check
whether a source object gets finalized, this is due to GNOME/GLib#1346.
|
|
|
|
|
|
| |
This prevents some unnecessary string copies, resulting in less memory
used and some unnecessary performance overhead being removed. Well, a
little bit at least.
|
|
|
|
|
| |
It should be replaced with either `(optional)`, `(nullable)`, or in some
cases both.
|
|
|
|
|
| |
Use `G_ADD_PRIVATE()` (or the convenience macro
`G_DEFINE_TYPE_WITH_PRIVATE()`) instead.
|
|
|
|
|
|
|
| |
GTypes cannot be owned or unowned, so a (transfer) annotation makes no
sense. g-ir-scanner was warning about it.
https://bugzilla.gnome.org/show_bug.cgi?id=775685
|
|
|
|
|
|
| |
The return value should be a list of GckObject, rather than GckModule.
https://bugzilla.gnome.org/show_bug.cgi?id=763301
|
|
|
|
|
| |
Rather than using our own _gck_debug() and _gcr_debug()
wrappers.
|
| |
|
|
|
|
|
|
|
|
| |
This is more bindable than setting fields in the GckObjectCacheIface
struct directly.
Hide the old gck_enumerator_set_object_type() for scripting and
introspection using languages.
|
| |
|
|
|
|
|
|
| |
* This is happening with the opensc PKCS#11 driver.
https://bugzilla.gnome.org/show_bug.cgi?id=684359
|
|
|
|
|
|
| |
* Remove a bunch of #ifdefs for old glib versions prior
to 2.32.0.
* Already bumped glib dependency in a recent commit.
|
|
|
|
|
| |
* Clean up documentation and introspection warnings
* Separate GcrImportInteraction docs into own page
|
| |
|
|
|
|
|
|
|
| |
* And allow updating of the attributes, in particula adding
attributes that are discovered.
* Add a gck_object_cache_lookup() methods which load attributes
and then updates the cache if the object has a cache.
|
|
|
|
|
|
| |
* Allows us more flexibility in our API in the future
* Simplifies the common case of generating a set of attributes
and directly passing it to a gck function
|
|
|
|
|
|
|
|
| |
* Use GckBuilder to build a set of attributes, and then
GckAttributes is a immutable set of attributes.
* We reference count the memory used in attributes, so
as we copy and transfer the attributes without duplicating
values unnecessarily
|
|
|
|
|
|
| |
* Mainly g_mutex_new/g_mutex_free g_cond_new/g_cond_free
* Since we like to build with the last stable version of glib,
using #ifdef until these glib changes make it into a stable release.
|
|
|
|
| |
* Used for debugging and logging
|
|
|
|
|
|
|
| |
* Previously retrieved attributes only for first enumerator
iteration.
* Properly retrieve attributes for objects found, but not
yet attributes retrieved.
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* Add gck_session_enumerate_objects()
* This has several advantages such as retrieving attributes during
the enumeration, etc.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* Deprecate the GckModule signals which were used for password auth
* Fire deprecated GckModule signals from a compat GTlsInteraction
* Add some tests for this integration
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=655651
|
|
|
|
|
| |
* Also fix up Gcr debugging
* And add debugging to trust stuff.
|
| |
|
| |
|
|
|
|
|
| |
Add library-description and library-description and library-manufacturer
parts. And refactor to support parsing in different contexts better.
|
|
|
|
|
| |
Can now enumerate object over a list of slots, as well as
a list of modules.
|
|
|
|
|
| |
If C_FindObjects failed when used in a gck_enumerate_xxx()
and friends, then we would crash.
|
|
|
|
|
|
| |
Add concept of session options, which are different (but sometimes
related to) session PKCS#11 flags. The session options take the
place of module options, which were much harder to use appropriately.
|
| |
|
|
* PKCS#11 URI spec is not completely finalized yet.
* Removed old callback style enumeration and replaced with gio style.
|