summaryrefslogtreecommitdiff
path: root/gcr
Commit message (Collapse)AuthorAgeFilesLines
* Use GDateTime instead of GDateNiels De Graef2022-07-073-40/+20
| | | | ... and remove some functions that still use `time_t`
* certificate: rename properties to match gettersnielsdg/certificate-props-renameNiels De Graef2022-07-061-28/+28
| | | | | This fixes some heuristics that GIR uses when matching the getters, properties and setters.
* gcr: Drop GcrColumnNiels De Graef2022-06-278-199/+0
| | | | | These were just used for display treeviews. We're not really interested in putting that kind of stuff inside gcr itself, so just remove it.
* gcr: Rename gcr-ssh-askpassNiels De Graef2022-06-273-14/+12
| | | | | `gcr-ssh-askpass` is provided by both gcr3 and gcr4, so add our version number so we can parallel install both.
* Drop custom icons in gcrNiels De Graef2022-06-2716-832/+1
| | | | | | | | | | | Icons are problematic to provide within gcr, as different DEs that are using it, have different expectations what such an icon should look like: one wants it to be colorful, another wants it to be monochrome, yet another wants everything skeumorphic etc. Let's not deal with this in gcr4 and drop any icons. If applications want to provide an icon, they can do that themselves much better then we ever can.
* gcr: Remove gcr-prompter based D-Bus servicesnielsdg/remove-dbus-servicesNiels De Graef2022-06-263-23/+0
| | | | | | `gcr-prompter` got removed in the gcr4 migration, so keeping these doesn't make sense in any case. If we decide to bring back `gcr-prompter`, we can still revert this commit too.
* meson: Install DBus services in the correct prefixNiels De Graef2022-06-131-1/+1
| | | | | | | We should use the pkg-config variable of the `dbus-1` package to check where we should install our D-Bus services, but we also need to make sure we don't pollute anything outside of $prefix, so make sure to get that case as well.
* Replace g_memdup with g_memdup2Niels De Graef2022-06-135-7/+7
|
* Remove symbols filesNiels De Graef2022-06-061-265/+0
| | | | They're unused and outdated.
* Add lookup of trust assertions for distrusted certscert-distrustedNiels De Graef2022-06-063-0/+290
| | | | | | | | | | There is one notable type of trust assertions that is not implemented in gcr: those where `CK_X_ASSERTION_TYPE` equals `CKT_X_DISTRUSTED_CERTIFICATE`. This is actually also something needed by Seahorse, as that is showing the infamous "null" certificates due to distrusted certificates being present on the machine, but not having any DER data stored with them.
* secure-memory: Fix odr-violation by using a private settertintou/fix-ciCorentin Noël2022-06-051-6/+5
|
* gcr: Add nullable and out annotations in GcrCertificateCorentin Noël2022-04-302-28/+34
| | | | | Add nullable to returned strings and out for the size. Always make sure that the size has been set to 0 when returning a NULL string.
* build: Make building the Vala bindings optionalMarvin Schmidt2022-04-291-12/+14
|
* gck: Remove floating capabilities to GckAttributesCorentin Noël2022-04-099-25/+29
| | | | | | | It is not necessary and makes it difficult to interact with GObject introspected languages. Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
* gck: use the right namespace for GckUriData methodsCorentin Noël2022-04-091-2/+2
|
* gck: Remove authenticate_slot/object from GckModuleCorentin Noël2022-04-091-1/+1
| | | | Also remove the compatibility test and objects.
* gcr: Update the inclusion guard to not mention gcr-baseCorentin Noël2022-04-0934-122/+98
| | | | Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
* gck-object-cache: Use G_DECLARE_INTERFACE to define the interfaceCorentin Noël2022-04-091-2/+2
| | | | | | | 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>
* gcr-importer: Use G_DECLARE_INTERFACE to define the interfaceCorentin Noël2022-04-094-27/+18
| | | | | | | This means that GcrImporterIface becomes GcrImporterInterface and GCR_IMPORTER_GET_INTERFACE becomes GCR_IMPORTER_GET_IFACE. Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
* gcr-import-interaction: Use G_DECLARE_INTERFACE to define the interfaceCorentin Noël2022-04-092-27/+13
| | | | | | | | This means that GcrImportInteractionIface becomes GcrImportInteractionInterface and GCR_IMPORT_INTERACTION_GET_INTERFACE becomes GCR_IMPORT_INTERACTION_GET_IFACE. Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
* gcr-comparable: Use G_DECLARE_INTERFACE to define the interfaceCorentin Noël2022-04-094-17/+9
| | | | | | | This means that GcrComparableIface becomes GcrComparableInterface and GCR_COMPARABLE_GET_INTERFACE becomes GCR_COMPARABLE_GET_IFACE. Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
* gcr-prompt: Use G_DECLARE_INTERFACE to define the interfaceCorentin Noël2022-04-095-31/+22
| | | | | | | This means that GcrPromptIface becomes GcrPromptInterface and GCR_PROMPT_GET_INTERFACE becomes GCR_PROMPT_GET_IFACE. Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
* gcr: Remove deprecated methodsCorentin Noël2022-04-095-189/+0
| | | | Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
* gcr: Remove the GcrCollection interfaceCorentin Noël2022-04-0918-2917/+1
| | | | | | There is now the GListModel interface in GLib that should be used for this. Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
* gcr-simple-certificate: Use a GBytes internallyCorentin Noël2022-04-091-17/+6
| | | | Makes the code simpler.
* gcr: Add gcr-fingerprint.h file in gcr.hCorentin Noël2022-04-091-0/+1
| | | | It has been forgotten.
* gck: Remove deprecated headerCorentin Noël2022-04-091-1/+1
|
* gcr: Remove gcr-base-3 and make gcr-3 independent of GTKCorentin Noël2022-04-0928-144/+101
| | | | Also remove the post-install symlinks
* meson: Declare libversion variables and consistently use itCorentin Noël2022-04-081-6/+7
| | | | | | Do not rely on major_version to manually create the library names. Make sure to be consistent and use a single variable for all the library names and folder mentions.
* meson: Use the library object to declare pkgconfig dependency chainCorentin Noël2022-04-081-1/+1
| | | | Allows to always use the right dependency name.
* gcr: fix build with newest gi-docgenmcatanzaro/ifaceMichael Catanzaro2022-04-041-1/+1
| | | | | | WARNING: Invalid fragment for 'Gcr.Prompt': it should be iface The interface for implementing [class@Prompt]. ^~~~~~~~~~~~~~
* meson: Fix unknown kw argument in gnome.generate_girJakub Jirutka2022-01-121-1/+0
| | | | | | | | | | | | This argument has been removed in Meson 0.61.0: gck/meson.build:130:2: ERROR: gnome.generate_gir got unknown keyword arguments "packages" https://github.com/mesonbuild/meson/commit/f8fc5cb860465718fe7c79a1bf1fe00659f138de: > The packages argument to gnome.generate_gir was allowed, but never did anything, so stop passing it. Fixes #89
* certifiate-request: Remove (constructor) annotationNiels De Graef2021-11-161-2/+2
| | | | | | | This got added in the gi-docgen port. While it's technically correct, it's an API break for GIR-based bindings (notably, the Vala bindings are already suffering from build issues). As such, remove it again for API compatibility purposes.
* gcr: Add G_SPAWN_CLOEXEC_PIPES flag to all the g_spawn commandsCorentin Noël2021-11-123-4/+4
| | | | Allows to avoid races in recent GLib version.
* docs: Port from gtk-doc to gi-docgenNiels De Graef2021-11-1024-514/+222
| | | | | | | | | | | | | | 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
* Unbreak build without systemd.Antoine Jacoutot2021-10-241-1/+1
| | | | | This fixes the check for WITH_SYSTEMD and prevents a fatal error: 'systemd/sd-daemon.h' file not found when building with systemd disabled.
* test-certificate-chain: Wait for objects being released by GTask'sMarco Trevisan (Treviño)2021-09-111-5/+35
| | | | | | | | | | | | | | | As per switching to GTask we are facing GNOME/glib#1346 in various places, including the certificate tests, as we were checking whether the mock certificates were finalized in the same thread in which we created them. This may not always happen right now because GTask may release the last reference of it later than we do. So, to force this to happen let's wait until we're owing last reference and only at that point we actually release it, so that we can be sure that the objects are finalized on tear-down. Fixes: https://gitlab.gnome.org/GNOME/gcr/-/issues/84
* Drop "volatile" for g_once_init_enter locationsbugfix/drop-volatileNiels De Graef2021-05-027-7/+7
| | | | | | | This fixes a few (fatal in gcc 11) warnings, breaking the CI. For the original discussion on why this change is needed, see https://gitlab.gnome.org/GNOME/glib/-/issues/600
* gcr/meson.build: fix one parallel build failureChangqing Li2021-05-021-0/+1
| | | | | | | | | | | | | | ui/gcr-live-search.c includes gcr/gcr-marshal.h. Because missing dependency, following error occurred intermittently during doing parallel build: -o ui/libgcr-ui-3.so.1.0.0.p/gcr-live-search.c.o -c ../gcr-3.38.1/ui/gcr-live-search.c ../gcr-3.38.1/ui/gcr-live-search.c:32:10: fatal error: gcr/gcr-marshal.h: No such file or directory 32 | #include "gcr/gcr-marshal.h" | ^~~~~~~~~~~~~~~~~~~ compilation terminated. Signed-off-by: Changqing Li <changqing.li@windriver.com>
* gcr-ssh-agent: Wire up systemd activationDaiki Ueno2021-03-274-23/+96
|
* gcr: Port ssh-agent tests from gnome-keyringDaiki Ueno2021-03-2730-5/+2163
| | | | | | | This copies most of the tests and fixtures from gnome-keyring, exercising ssh-agent functionality. Currently test-gkd-ssh-agent-interaction has not been ported yet, because the new implementation interacts with secret-service.
* gcr-ssh-agent: Port from gnome-keyringDaiki Ueno2021-03-2713-0/+2116
| | | | | | This port the ssh-agent support provided as a sub-daemon in gnome-keyring, as a standalone binary, so that it can easily be managed through systemd.
* gcr/key-mechanism: Port to GTaskwip/nielsdg/gcr-key-mechanisms-gtaskNiels De Graef2021-02-051-26/+29
|
* gck-call: Simplify the code by using GTask based implementationMarco Trevisan (Treviño)2021-01-191-0/+1
| | | | | | | | | | | | | | | | | | | | 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.
* Remove Autotools buildNiels De Graef2021-01-162-437/+0
| | | | | We have a modern, saner build system in place with Meson, so let's drop autotools before releasing the next version of gcr.
* gcr, ui: Use NULL for "simple" signalsNiels De Graef2021-01-163-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Apart from being less code, this actually gives us a nice performance improvement. Up until a few years ago, if you pass `NULL` as the marshaller for a signal, GLib would fall back to `g_cclosure_marshal_generic` which uses libffi to pack/unpack its arguments. One could avoid this by specifying a more specific marshaller which would then be used to immediately pack and unpack into GValues with the correct type. Lately however, as a way of optimizing signal emission (which can be quite expensive), GLib added a possibility to set a va_marshaller, which skips the unnecessary GValue packing and unpacking and just uses a valist variant. Since the performance difference is big enough, if the marshaller argument is NULL, `g_signal_new()` will now check for the simple marshallers (return type NONE and a single argument) and set both the generic and the valist marshaller. In other words, less code for us with bigger optimizations. In case you also want va_marshallers for more complex signals, you can use `g_signal_set_va_marshaller()`.
* gcr: mock-prompter: Stop using GParameterNiels De Graef2021-01-161-15/+20
| | | | | | It's been deprecated for some time now and just gives us an extra load of compiler warnings, so just define a little `MockProperty` struct with the same layout.
* Create a workaround for tests and GTaskwip/nielsdg/fix-tests-with-racy-gtaskNiels De Graef2021-01-151-6/+9
| | | | | | | | | | It's possible that a GTask that has been called with `g_task_run_in_thread()` still has a reference held by that thread after the `_finish()` function has been called. This is a little problematic for tests that check for the final reference, so use this as a workaround instead. See https://gitlab.gnome.org/GNOME/glib/-/issues/1346 for more info
* prompt: Support transient_for in WaylandNiels De Graef2021-01-131-0/+4
| | | | | | | | | GDK provides an interface to the _xdg-foreign_ protocol extension, which exactly allows to export a handle that another window can use to set itself transient to. Also bump the minmal GTK version to 3.22, since that is the version that adds the necessary methods to do this in GDK.
* gcr-console-interaction: Port to GTaskNiels De Graef2021-01-121-26/+29
|