diff options
author | Niels De Graef <nielsdegraef@gmail.com> | 2022-07-17 21:09:55 +0200 |
---|---|---|
committer | Niels De Graef <nielsdegraef@gmail.com> | 2022-07-17 21:09:55 +0200 |
commit | 683c081a3ecfebc4e1ed356c81d67a5bc878c778 (patch) | |
tree | cbc98175421f8befb4e7729ec8af4413ea153487 | |
parent | 7ea633f385545e46a329e42d535abb23991c6bd5 (diff) | |
download | gcr-683c081a3ecfebc4e1ed356c81d67a5bc878c778.tar.gz |
Drop Gck list API
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).
-rw-r--r-- | gck/gck-enumerator.c | 18 | ||||
-rw-r--r-- | gck/gck-misc.c | 52 | ||||
-rw-r--r-- | gck/gck-module.c | 2 | ||||
-rw-r--r-- | gck/gck-modules.c | 18 | ||||
-rw-r--r-- | gck/gck-object.c | 3 | ||||
-rw-r--r-- | gck/gck.h | 8 | ||||
-rw-r--r-- | gck/test-gck-crypto.c | 6 | ||||
-rw-r--r-- | gck/test-gck-enumerator.c | 20 | ||||
-rw-r--r-- | gck/test-gck-modules.c | 11 | ||||
-rw-r--r-- | gck/test-gck-object.c | 8 | ||||
-rw-r--r-- | gck/test-gck-session.c | 2 | ||||
-rw-r--r-- | gck/test-gck-slot.c | 8 | ||||
-rw-r--r-- | gcr/frob-certificate-request.c | 2 | ||||
-rw-r--r-- | gcr/gcr-importer.c | 2 | ||||
-rw-r--r-- | gcr/gcr-library.c | 19 | ||||
-rw-r--r-- | gcr/gcr-pkcs11-certificate.c | 2 | ||||
-rw-r--r-- | gcr/gcr-pkcs11-importer.c | 23 | ||||
-rw-r--r-- | gcr/gcr-subject-public-key.c | 2 | ||||
-rw-r--r-- | gcr/gcr-trust.c | 14 | ||||
-rw-r--r-- | gcr/test-certificate-chain.c | 2 | ||||
-rw-r--r-- | gcr/test-pkcs11-certificate.c | 2 | ||||
-rw-r--r-- | gcr/test-trust.c | 2 | ||||
-rw-r--r-- | meson.build | 2 |
23 files changed, 68 insertions, 160 deletions
diff --git a/gck/gck-enumerator.c b/gck/gck-enumerator.c index 97599ce..7a72663 100644 --- a/gck/gck-enumerator.c +++ b/gck/gck-enumerator.c @@ -188,9 +188,7 @@ cleanup_state (GckEnumeratorState *args) args->results = NULL; } - gck_list_unref_free (args->modules); - args->modules = NULL; - + g_clear_list (&args->modules, g_object_unref); g_clear_object (&args->interaction); if (args->object_class) @@ -306,9 +304,7 @@ state_slots (GckEnumeratorState *args, gboolean forward) /* slots state to modules state */ } else { - - gck_list_unref_free (args->slots); - args->slots = NULL; + g_clear_list (&args->slots, g_object_unref); return state_modules; } } @@ -698,7 +694,7 @@ _gck_enumerator_new_for_modules (GList *modules, state->session_options = session_options; - state->modules = gck_list_ref_copy (modules); + state->modules = g_list_copy_deep (modules, (GCopyFunc) g_object_ref, NULL); state->slots = NULL; state->handler = state_modules; state->match = uri_data; @@ -720,7 +716,7 @@ _gck_enumerator_new_for_slots (GList *slots, state->session_options = session_options; - state->slots = gck_list_ref_copy (slots); + state->slots = g_list_copy_deep (slots, (GCopyFunc) g_object_ref, NULL); state->modules = NULL; state->handler = state_slots; state->match = uri_data; @@ -1214,8 +1210,7 @@ gck_enumerator_next (GckEnumerator *self, * %NULL is also returned if the function fails. Use the @error to determine * whether a failure occurred or not. * - * Returns: (transfer full) (element-type Gck.Object): A list of objects, which - * should be freed using gck_list_unref_free(). + * Returns: (transfer full) (element-type Gck.Object): A list of `Gck.Object`s */ GList * gck_enumerator_next_n (GckEnumerator *self, @@ -1309,8 +1304,7 @@ gck_enumerator_next_async (GckEnumerator *self, gint max_objects, GCancellable * * %NULL is also returned if the function fails. Use the @error to determine * whether a failure occurred or not. * - * Returns: (element-type Gck.Object) (transfer full): The list of objects, which - * should be freed with gck_list_unref_free() + * Returns: (transfer full) (element-type Gck.Object): A list of `Gck.Object`s */ GList* gck_enumerator_next_finish (GckEnumerator *self, GAsyncResult *result, GError **error) diff --git a/gck/gck-misc.c b/gck/gck-misc.c index ef8a19b..132dd7f 100644 --- a/gck/gck-misc.c +++ b/gck/gck-misc.c @@ -241,58 +241,6 @@ _gck_rv_from_error (GError *error, return catch_all_code; } -GType -gck_list_get_boxed_type (void) -{ - static GType type = 0; - if (!type) - type = g_boxed_type_register_static ("GckList", - (GBoxedCopyFunc)gck_list_ref_copy, - (GBoxedFreeFunc)gck_list_unref_free); - return type; - -} - -/** - * gck_list_unref_free: (skip) - * @reflist: (element-type GObject.Object): list of Gobject reference counted pointers - * - * Free a list of GObject based pointers. All objects in the list - * will be unreffed and then the list itself will be freed. - **/ -void -gck_list_unref_free (GList *reflist) -{ - GList *l; - for (l = reflist; l; l = g_list_next (l)) { - g_return_if_fail (G_IS_OBJECT (l->data)); - g_object_unref (l->data); - } - g_list_free (reflist); -} - -/** - * gck_list_ref_copy: (skip) - * @reflist: (element-type GObject.Object): list of GObject reference counted - * objects - * - * Copy a list of GObject based pointers. All objects - * in the list will be reffed and the list will be copied. - * - * Return value: (transfer full) (element-type GObject.Object): the copied and - * reffed list, when done, free it with gck_list_unref_free () - **/ -GList * -gck_list_ref_copy (GList *reflist) -{ - GList *l, *copy = g_list_copy (reflist); - for (l = copy; l; l = g_list_next (l)) { - g_return_val_if_fail (G_IS_OBJECT (l->data), NULL); - g_object_ref (l->data); - } - return copy; -} - /** * gck_string_from_chars: (skip) * @data: The character data to turn into a null terminated string. diff --git a/gck/gck-module.c b/gck/gck-module.c index 6f85f33..4129db3 100644 --- a/gck/gck-module.c +++ b/gck/gck-module.c @@ -549,7 +549,7 @@ gck_module_get_info (GckModule *self) * Get the GckSlot objects for a given module. * * Return value: (element-type Gck.Slot) (transfer full): The possibly empty - * list of slots. Release this with gck_list_unref_free(). + * list of slots. */ GList* gck_module_get_slots (GckModule *self, gboolean token_present) diff --git a/gck/gck-modules.c b/gck/gck-modules.c index 71a6ed9..19b957a 100644 --- a/gck/gck-modules.c +++ b/gck/gck-modules.c @@ -74,7 +74,7 @@ static void free_initialize_registered (InitializeRegistered *args) { g_clear_error (&args->error); - gck_list_unref_free (args->results); + g_clear_list (&args->results, g_object_unref); g_free (args); } @@ -86,7 +86,7 @@ free_initialize_registered (InitializeRegistered *args) * Load and initialize all the registered modules. * * Returns: (transfer full) (element-type Gck.Module): A newly allocated list - * of #GckModule objects, which should be released with gck_list_unref_free(). + * of #GckModule objects. */ GList* gck_modules_initialize_registered (GCancellable *cancellable, @@ -170,7 +170,7 @@ gck_modules_initialize_registered_finish (GAsyncResult *result, * Get a list of slots for across all of the modules. * * Returns: (transfer full) (element-type Gck.Slot): A list of #GckSlot - * objects, which should be freed with gck_list_unref_free(). + * objects. */ GList* gck_modules_get_slots (GList *modules, gboolean token_present) @@ -258,7 +258,7 @@ tokens_for_uri (GList *modules, gck_token_info_free (token_info); } } - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); } } @@ -290,7 +290,7 @@ gck_modules_token_for_uri (GList *modules, results = tokens_for_uri (modules, uri, TRUE, error); if (results) slot = g_object_ref (results->data); - gck_list_unref_free (results); + g_clear_list (&results, g_object_unref); return slot; } @@ -304,8 +304,7 @@ gck_modules_token_for_uri (GList *modules, * Lookup a token that matches the URI. * * Returns: (transfer full) (element-type Gck.Slot): A list of newly allocated - * #GckSlot objects. Use gck_list_unref_free() to release the list once you're - * done with it. + * #GckSlot objects. */ GList * gck_modules_tokens_for_uri (GList *modules, @@ -366,9 +365,8 @@ gck_modules_object_for_uri (GList *modules, * This call can block. Use [func@modules_enumerate_uri] for a non-blocking * version. * - * Returns: (transfer full) (element-type Gck.Object): A list of #GckObject which - * should be released with gck_list_unref_free(), or %NULL if no matching object - * was found. + * Returns: (transfer full) (element-type Gck.Object): A (possibly empty) list + * of `Gck.Object`s. */ GList* gck_modules_objects_for_uri (GList *modules, diff --git a/gck/gck-object.c b/gck/gck-object.c index da07bf8..de8bd88 100644 --- a/gck/gck-object.c +++ b/gck/gck-object.c @@ -228,8 +228,7 @@ gck_object_from_handle (GckSession *session, * contiguous CK_OBJECT_HANDLE handles in an array. * * Returns: (transfer full) (element-type Gck.Object): The list of #GckObject - * objects. You should use gck_list_unref_free() when done with this - * list. + * objects. **/ GList * gck_objects_from_handle_array (GckSession *session, @@ -58,14 +58,6 @@ typedef enum { GQuark gck_error_quark (void) G_GNUC_CONST; -#define GCK_TYPE_LIST (gck_list_get_boxed_type ()) - -GType gck_list_get_boxed_type (void) G_GNUC_CONST; - -GList* gck_list_ref_copy (GList *reflist); - -void gck_list_unref_free (GList *reflist); - const gchar* gck_message_from_rv (gulong rv); gboolean gck_string_to_chars (guchar *data, diff --git a/gck/test-gck-crypto.c b/gck/test-gck-crypto.c index 2bc535c..f9651eb 100644 --- a/gck/test-gck-crypto.c +++ b/gck/test-gck-crypto.c @@ -84,7 +84,7 @@ setup (Test *test, gconstpointer unused) g_object_add_weak_pointer (G_OBJECT (test->session_with_auth), (gpointer *)&test->session_with_auth); g_object_unref (slot); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); } static void @@ -145,7 +145,7 @@ find_key (GckSession *session, CK_ATTRIBUTE_TYPE method, CK_MECHANISM_TYPE mech) break; } - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); return object; } @@ -164,7 +164,7 @@ find_key_with_value (GckSession *session, const gchar *value) g_assert_nonnull (objects); object = g_object_ref (objects->data); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); return object; } diff --git a/gck/test-gck-enumerator.c b/gck/test-gck-enumerator.c index 4776ce5..205b3e3 100644 --- a/gck/test-gck-enumerator.c +++ b/gck/test-gck-enumerator.c @@ -59,7 +59,7 @@ setup (Test *test, gconstpointer unused) static void teardown (Test *test, gconstpointer unused) { - gck_list_unref_free (test->modules); + g_clear_list (&test->modules, g_object_unref); g_object_unref (test->module); egg_test_wait_for_gtask_thread (test->module); @@ -95,7 +95,7 @@ test_create_slots (Test *test, gconstpointer unused) en = _gck_enumerator_new_for_slots (slots, 0, uri_data); g_assert_true (GCK_IS_ENUMERATOR (en)); g_object_unref (en); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); } static void @@ -136,7 +136,7 @@ test_next_slots (Test *test, gconstpointer unused) g_object_unref (obj); g_object_unref (en); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); } static void @@ -184,7 +184,7 @@ test_next_n (Test *test, gconstpointer unused) for (l = objects; l; l = g_list_next (l)) g_assert_true (GCK_IS_OBJECT (l->data)); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); g_object_unref (en); } @@ -220,7 +220,7 @@ test_next_async (Test *test, gconstpointer unused) g_assert_true (GCK_IS_OBJECT (l->data)); g_object_unref (result); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); g_object_unref (en); } @@ -255,7 +255,7 @@ test_enumerate_session (Test *test, g_object_unref (obj); g_object_unref (en); g_object_unref (session); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); } static void @@ -278,7 +278,7 @@ test_attribute_match (Test *test, gconstpointer unused) g_assert_cmpint (g_list_length (objects), ==, 1); g_assert_true (GCK_IS_OBJECT (objects->data)); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); g_object_unref (en); } @@ -338,7 +338,7 @@ test_token_match (Test *test, gconstpointer unused) g_assert_cmpint (g_list_length (objects), ==, 0); g_assert_no_error (error); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); g_object_unref (en); } @@ -484,7 +484,7 @@ test_attribute_get (Test *test, g_assert_nonnull (mock->attrs); } - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); g_object_unref (en); } @@ -553,7 +553,7 @@ test_chained (Test *test, g_assert_no_error (error); g_assert_cmpint (g_list_length (objects), ==, 5); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); g_object_unref (one); } diff --git a/gck/test-gck-modules.c b/gck/test-gck-modules.c index 96928da..92c3928 100644 --- a/gck/test-gck-modules.c +++ b/gck/test-gck-modules.c @@ -57,8 +57,7 @@ setup (Test *test, gconstpointer unused) static void teardown (Test *test, gconstpointer unused) { - gck_list_unref_free (test->modules); - test->modules = NULL; + g_clear_list (&test->modules, g_object_unref); } static void @@ -81,7 +80,7 @@ test_enumerate_objects (Test *test, gconstpointer unused) g_assert_cmpint (g_list_length (objects), ==, 1); g_assert_true (GCK_IS_OBJECT (objects->data)); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); g_object_unref (en); } @@ -166,7 +165,7 @@ test_objects_for_uri (Test *test, gconstpointer unused) g_assert_no_error (error); g_assert_cmpint (g_list_length (objects), ==, 5); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); } static void @@ -184,8 +183,8 @@ test_enumerate_uri (Test *test, gconstpointer unused) g_assert_cmpint (g_list_length (objects), ==, 5); g_assert_no_error (error); - g_object_unref (en); - gck_list_unref_free (objects); + g_clear_object (&en); + g_clear_list (&objects, g_object_unref); } int diff --git a/gck/test-gck-object.c b/gck/test-gck-object.c index d75f970..7b23f12 100644 --- a/gck/test-gck-object.c +++ b/gck/test-gck-object.c @@ -58,7 +58,7 @@ setup (Test *test, gconstpointer unused) test->slot = GCK_SLOT (slots->data); g_object_ref (test->slot); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); test->session = gck_slot_open_session (test->slot, 0, NULL, NULL, &err); g_assert_no_error (err); @@ -385,7 +385,7 @@ test_find_objects (Test *test, gconstpointer unused) gck_attributes_unref (attributes); g_assert_no_error (err); g_assert_cmpuint (g_list_length (objects), ==, 1); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); /* Full, All */ attributes = gck_builder_end (&builder); @@ -393,7 +393,7 @@ test_find_objects (Test *test, gconstpointer unused) gck_attributes_unref (attributes); g_assert_no_error (err); g_assert_cmpuint (g_list_length (objects), >, 1); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); /* Async, None */ gck_builder_add_string (&builder, CKA_LABEL, "blah blah"); @@ -406,7 +406,7 @@ test_find_objects (Test *test, gconstpointer unused) objects = gck_session_find_objects_finish (test->session, result, &err); g_object_unref (result); g_assert_null (objects); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); } int diff --git a/gck/test-gck-session.c b/gck/test-gck-session.c index 055a92d..862a926 100644 --- a/gck/test-gck-session.c +++ b/gck/test-gck-session.c @@ -58,7 +58,7 @@ setup (Test *test, gconstpointer unused) test->slot = GCK_SLOT (slots->data); g_object_ref (test->slot); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); g_object_add_weak_pointer (G_OBJECT (test->slot), (gpointer *)&test->slot); test->session = gck_slot_open_session (test->slot, 0, NULL, NULL, &err); diff --git a/gck/test-gck-slot.c b/gck/test-gck-slot.c index d03f319..e9260df 100644 --- a/gck/test-gck-slot.c +++ b/gck/test-gck-slot.c @@ -53,7 +53,7 @@ setup (Test *test, gconstpointer unused) test->slot = GCK_SLOT (slots->data); g_object_ref (test->slot); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); } @@ -69,7 +69,7 @@ test_slot_info (Test *test, gconstpointer unused) { GckSlotInfo *info; GckTokenInfo *token; - GList *slots, *l; + GList *slots; slots = gck_module_get_slots (test->module, FALSE); g_assert_cmpint (2, ==, g_list_length (slots)); @@ -79,7 +79,7 @@ test_slot_info (Test *test, gconstpointer unused) g_assert_true (GCK_IS_SLOT (slots->next->data)); g_assert_null (slots->next->next); - for (l = slots; l; l = g_list_next (l)) { + for (GList *l = slots; l; l = g_list_next (l)) { info = gck_slot_get_info (GCK_SLOT (l->data)); g_assert_nonnull (info); @@ -121,7 +121,7 @@ test_slot_info (Test *test, gconstpointer unused) gck_slot_info_free (info); } - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); } static void diff --git a/gcr/frob-certificate-request.c b/gcr/frob-certificate-request.c index 459f391..ae5b904 100644 --- a/gcr/frob-certificate-request.c +++ b/gcr/frob-certificate-request.c @@ -48,7 +48,7 @@ load_key_for_uri (const gchar *uri) modules = gcr_pkcs11_get_modules (); enumerator = gck_modules_enumerate_uri (modules, uri, GCK_SESSION_LOGIN_USER | GCK_SESSION_READ_ONLY, &error); - gck_list_unref_free (modules); + g_clear_list (&modules, g_object_unref); interaction = console_interaction_new (); gck_enumerator_set_interaction (enumerator, interaction); diff --git a/gcr/gcr-importer.c b/gcr/gcr-importer.c index 4cacece..f731ffa 100644 --- a/gcr/gcr-importer.c +++ b/gcr/gcr-importer.c @@ -295,7 +295,7 @@ gcr_importer_queue_for_parsed (GcrImporter *importer, * will not be queued on that importer. * * Returns: (transfer full) (element-type Gcr.Importer): a new set of importers - * that queued the item, which should be freed with gck_list_unref_free() + * that queued the item. */ GList * gcr_importer_queue_and_filter_for_parsed (GList *importers, diff --git a/gcr/gcr-library.c b/gcr/gcr-library.c index efc4b4a..15c486d 100644 --- a/gcr/gcr-library.c +++ b/gcr/gcr-library.c @@ -103,8 +103,7 @@ _gcr_uninitialize_library (void) { G_LOCK (modules); - gck_list_unref_free (all_modules); - all_modules = NULL; + g_clear_list (&all_modules, g_object_unref); initialized_modules = FALSE; G_UNLOCK (modules); @@ -209,7 +208,7 @@ on_initialize_registered (GObject *object, } G_UNLOCK (modules); - gck_list_unref_free (results); + g_clear_list (&results, g_object_unref); g_debug ("completed initialize of registered modules"); g_task_return_boolean (task, TRUE); @@ -308,7 +307,7 @@ gcr_pkcs11_initialize (GCancellable *cancellable, g_propagate_error (error, err); } - gck_list_unref_free (results); + g_clear_list (&results, g_object_unref); return (err == NULL); } @@ -321,8 +320,6 @@ gcr_pkcs11_initialize (GCancellable *cancellable, * An empty list of modules will be returned if [func@pkcs11_set_modules], * or [func@pkcs11_initialize] has not yet run. * - * When done with the list, free it with gck_list_unref_free(). - * * Returns: (transfer full) (element-type Gck.Module): a newly allocated list * of #GckModule objects */ @@ -333,7 +330,7 @@ gcr_pkcs11_get_modules (void) g_debug ("pkcs11 not yet initialized"); else if (!all_modules) g_debug ("no modules loaded"); - return gck_list_ref_copy (all_modules); + return g_list_copy_deep (all_modules, (GCopyFunc) g_object_ref, NULL); } /** @@ -350,13 +347,11 @@ gcr_pkcs11_get_modules (void) void gcr_pkcs11_set_modules (GList *modules) { - GList *l; - - for (l = modules; l; l = g_list_next (l)) + for (GList *l = modules; l; l = g_list_next (l)) g_return_if_fail (GCK_IS_MODULE (l->data)); - modules = gck_list_ref_copy (modules); - gck_list_unref_free (all_modules); + modules = g_list_copy_deep (modules, (GCopyFunc) g_object_ref, NULL); + g_clear_list (&all_modules, g_object_unref); all_modules = modules; initialized_modules = TRUE; } diff --git a/gcr/gcr-pkcs11-certificate.c b/gcr/gcr-pkcs11-certificate.c index 8c19dca..f5f798b 100644 --- a/gcr/gcr-pkcs11-certificate.c +++ b/gcr/gcr-pkcs11-certificate.c @@ -94,7 +94,7 @@ perform_lookup_certificate (GckAttributes *search, modules = gcr_pkcs11_get_modules (); en = gck_modules_enumerate_objects (modules, search, 0); - gck_list_unref_free (modules); + g_clear_list (&modules, g_object_unref); object = gck_enumerator_next (en, cancellable, error); g_object_unref (en); diff --git a/gcr/gcr-pkcs11-importer.c b/gcr/gcr-pkcs11-importer.c index e65e95f..7844af5 100644 --- a/gcr/gcr-pkcs11-importer.c +++ b/gcr/gcr-pkcs11-importer.c @@ -43,7 +43,6 @@ enum { PROP_LABEL, PROP_INTERACTION, PROP_SLOT, - PROP_IMPORTED, PROP_QUEUED, PROP_URI }; @@ -544,8 +543,7 @@ _gcr_pkcs11_importer_dispose (GObject *obj) { GcrPkcs11Importer *self = GCR_PKCS11_IMPORTER (obj); - gck_list_unref_free (self->objects); - self->objects = NULL; + g_clear_list (&self->objects, g_object_unref); g_clear_object (&self->session); g_clear_object (&self->interaction); @@ -633,9 +631,6 @@ _gcr_pkcs11_importer_get_property (GObject *obj, case PROP_SLOT: g_value_set_object (value, _gcr_pkcs11_importer_get_slot (self)); break; - case PROP_IMPORTED: - g_value_take_boxed (value, _gcr_pkcs11_importer_get_imported (self)); - break; case PROP_QUEUED: g_value_set_pointer (value, _gcr_pkcs11_importer_get_queued (self)); break; @@ -671,11 +666,6 @@ _gcr_pkcs11_importer_class_init (GcrPkcs11ImporterClass *klass) GCK_TYPE_SLOT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); - g_object_class_install_property (gobject_class, PROP_IMPORTED, - g_param_spec_boxed ("imported", "Imported", "Imported objects", - GCK_TYPE_LIST, - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); - g_object_class_install_property (gobject_class, PROP_QUEUED, g_param_spec_pointer ("queued", "Queued", "Queued attributes", G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); @@ -698,7 +688,7 @@ list_all_slots (void) modules = gcr_pkcs11_get_modules (); results = gck_modules_get_slots (modules, TRUE); - gck_list_unref_free (modules); + g_clear_list (&modules, g_object_unref); return results; } @@ -776,7 +766,7 @@ _gcr_pkcs11_importer_create_for_parsed (GcrParsed *parsed) gck_token_info_free (token_info); } - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); return g_list_reverse (results); } @@ -863,13 +853,6 @@ _gcr_pkcs11_importer_get_slot (GcrPkcs11Importer *self) } GList * -_gcr_pkcs11_importer_get_imported (GcrPkcs11Importer *self) -{ - g_return_val_if_fail (GCR_IS_PKCS11_IMPORTER (self), NULL); - return g_list_copy (self->objects); -} - -GList * _gcr_pkcs11_importer_get_queued (GcrPkcs11Importer *self) { g_return_val_if_fail (GCR_IS_PKCS11_IMPORTER (self), NULL); diff --git a/gcr/gcr-subject-public-key.c b/gcr/gcr-subject-public-key.c index 1a3f383..9ae79f7 100644 --- a/gcr/gcr-subject-public-key.c +++ b/gcr/gcr-subject-public-key.c @@ -221,7 +221,7 @@ lookup_public_key (GckObject *object, return NULL; result = g_object_ref (objects->data); - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); return result; } diff --git a/gcr/gcr-trust.c b/gcr/gcr-trust.c index 9fae5b5..d5c8ec5 100644 --- a/gcr/gcr-trust.c +++ b/gcr/gcr-trust.c @@ -112,7 +112,7 @@ perform_is_certificate_pinned (GckAttributes *search, g_debug ("searching for pinned certificate in %d slots", g_list_length (slots)); en = gck_slots_enumerate_objects (slots, search, 0); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); object = gck_enumerator_next (en, cancellable, error); g_object_unref (en); @@ -277,7 +277,7 @@ perform_add_pinned_certificate (GckAttributes *search, slots = gcr_pkcs11_get_trust_lookup_slots (); en = gck_slots_enumerate_objects (slots, search, CKF_RW_SESSION); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); object = gck_enumerator_next (en, cancellable, &lerr); g_object_unref (en); @@ -481,7 +481,7 @@ perform_remove_pinned_certificate (GckAttributes *attrs, slots = gcr_pkcs11_get_trust_lookup_slots (); en = gck_slots_enumerate_objects (slots, attrs, CKF_RW_SESSION); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); /* We need an error below */ if (error && !*error) @@ -502,12 +502,12 @@ perform_remove_pinned_certificate (GckAttributes *attrs, continue; } - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); return FALSE; } } - gck_list_unref_free (objects); + g_clear_list (&objects, g_object_unref); return TRUE; } @@ -659,7 +659,7 @@ perform_is_certificate_anchored (GckAttributes *attrs, g_debug ("searching for certificate anchor in %d slots", g_list_length (slots)); en = gck_slots_enumerate_objects (slots, attrs, 0); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); object = gck_enumerator_next (en, cancellable, error); g_object_unref (en); @@ -820,7 +820,7 @@ perform_is_certificate_distrusted (GckAttributes *attrs, g_debug ("searching for certificate distrust assertion in %d slots", g_list_length (slots)); en = gck_slots_enumerate_objects (slots, attrs, 0); - gck_list_unref_free (slots); + g_clear_list (&slots, g_object_unref); object = gck_enumerator_next (en, cancellable, error); g_object_unref (en); diff --git a/gcr/test-certificate-chain.c b/gcr/test-certificate-chain.c index 1b5ebf0..e3ddb9e 100644 --- a/gcr/test-certificate-chain.c +++ b/gcr/test-certificate-chain.c @@ -161,7 +161,7 @@ setup (Test *test, gconstpointer unused) uris[1] = NULL; gcr_pkcs11_set_trust_lookup_uris (uris); gcr_pkcs11_set_trust_store_uri (GCK_MOCK_SLOT_ONE_URI); - gck_list_unref_free (modules); + g_clear_list (&modules, g_object_unref); /* A self-signed certificate */ if (!g_file_get_contents (SRCDIR "/gcr/fixtures/der-certificate.crt", &contents, &n_contents, NULL)) diff --git a/gcr/test-pkcs11-certificate.c b/gcr/test-pkcs11-certificate.c index 1b11b7a..fab1b45 100644 --- a/gcr/test-pkcs11-certificate.c +++ b/gcr/test-pkcs11-certificate.c @@ -79,7 +79,7 @@ setup (Test *test, gconstpointer unused) module = gck_module_new (&test->funcs); modules = g_list_prepend (modules, module); gcr_pkcs11_set_modules (modules); - gck_list_unref_free (modules); + g_clear_list (&modules, g_object_unref); bytes = g_bytes_new_static (test->cert_data, test->n_cert_data); asn = egg_asn1x_create_and_decode (pkix_asn1_tab, "Certificate", bytes); diff --git a/gcr/test-trust.c b/gcr/test-trust.c index 4646612..b002149 100644 --- a/gcr/test-trust.c +++ b/gcr/test-trust.c @@ -71,7 +71,7 @@ setup (Test *test, gconstpointer unused) module = gck_module_new (&test->funcs); modules = g_list_prepend (modules, module); gcr_pkcs11_set_modules (modules); - gck_list_unref_free (modules); + g_clear_list (&modules, g_object_unref); uris[0] = GCK_MOCK_SLOT_ONE_URI; uris[1] = NULL; diff --git a/meson.build b/meson.build index 4c2a728..1c6db2a 100644 --- a/meson.build +++ b/meson.build @@ -41,7 +41,7 @@ gcr_gtk3_basename = 'gcr-@0@-gtk3'.format(gcr_api_version) gcr_gtk4_basename = 'gcr-@0@-gtk4'.format(gcr_api_version) # Dependencies -min_glib_version = '2.44' +min_glib_version = '2.64' glib_dep = dependency('glib-2.0', version: '>=' + min_glib_version) gmodule_dep = dependency('gmodule-no-export-2.0', version: '>=' + min_glib_version) gthread_dep = dependency('gthread-2.0', version: '>=' + min_glib_version) |