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 /gcr | |
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).
Diffstat (limited to 'gcr')
-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 |
10 files changed, 24 insertions, 46 deletions
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; |