Commit Graph

763 Commits

Author SHA1 Message Date
Milan Crha
523fe32b65 secret-file-backend: Fix use-after-free in flatpak
The on_portal_retrieve_secret() can connect a GCancellable, but it
doesn't disconnect from it (only when the cancellable is cancelled),
which means when the cancellable is cancelled later, when the GTask
is gone, the callback is called with already freed data.
2020-03-19 09:24:52 +01:00
Daiki Ueno
eb4f967e9f Release 0.20.2 2020-03-11 06:53:56 +01:00
Daiki Ueno
741867c361 Merge branch 'wip/nielsdg/no-g-message' into 'master'
Prefer g_info() over g_message()

Closes #40

See merge request GNOME/libsecret!48
2020-03-11 05:43:19 +00:00
Niels De Graef
af389ad6f8 Prefer g_info() over g_message()
Libraries shouldn't really use `g_message()` as it will show up in
consumer application outputs. Let's use `g_info()` instead.

Fixes https://gitlab.gnome.org/GNOME/libsecret/issues/40
2020-03-11 05:35:33 +00:00
Daiki Ueno
ba462746e8 Merge branch 'wip/nielsdg/fix-docs' into 'master'
docs: Make sure to set install: true

See merge request GNOME/libsecret!46
2020-03-10 14:28:29 +00:00
Niels De Graef
f256f5ada6 docs: Make sure to set install: true 2020-03-10 14:17:59 +00:00
Daiki Ueno
80ca3087d9 Merge branch 'wip/nielsdg/dont-specify-library-type' into 'master'
meson: Don't specify shared_library()

See merge request GNOME/libsecret!47
2020-03-10 13:43:12 +00:00
Niels De Graef
692e7244be meson: Don't specify shared_library()
Some people might want to statically link to libsecret, so use the more
general `library()` target to build libsecret.
2020-03-10 13:36:33 +00:00
Daiki Ueno
22ecc2caa0 Merge branch 'wip/dueno/gvariant-endianness' into 'master'
secret-file-collection: force little-endian in GVariant

Closes #42

See merge request GNOME/libsecret!49
2020-03-10 13:30:06 +00:00
Daiki Ueno
a54f5011fc secret-file-collection: force little-endian in GVariant
As the GVariant serialization format does not record the original
endianness of integer values, we need to ensure that it doesn't change
between write and load.
2020-03-10 13:20:31 +00:00
Daiki Ueno
9adf321442 Merge branch 'wip/dueno/gitlab-ci-fixes' into 'master'
.gitlab-ci.yml: install diffutils

See merge request GNOME/libsecret!50
2020-03-10 13:20:07 +00:00
Daiki Ueno
01930d5123 .gitlab-ci.yml: install diffutils 2020-03-10 14:05:44 +01:00
Daiki Ueno
225554076a .gitlab-ci.yml: include meson-logs in artifacts 2020-03-10 13:53:44 +01:00
Daiki Ueno
e4428dd29f Release 0.20.1 2020-01-27 13:41:01 +01:00
Daiki Ueno
00fae821ea meson: Bump version to 0.20.0
Fixes #37.
2020-01-22 10:59:29 +01:00
Daiki Ueno
d4e1f09716 Merge branch 'wip/dueno/build-fixes' into 'master'
Fix build issues after 0.20.0 release

Closes #36 and #35

See merge request GNOME/libsecret!45
2020-01-14 09:36:14 +00:00
Daiki Ueno
e6881d4ff1 build: Suppress compiler warning if compiled with G_DISABLE_ASSERT
This is similar to 0be63575ff but for
test-file-collection.c.

Fixes #36.
2020-01-14 10:13:16 +01:00
Daiki Ueno
cf21ad50b6 secret-file-collection: Rename internal functions to avoid conflicts
As encrypt() is a standard POSIX function, its declaration had
conflict with our own.  Let's be more verbose about naming of the
internal crypto functions.

Fixes #35.
2020-01-14 10:09:29 +01:00
Daiki Ueno
3939b03f39 Release 0.20.0 2020-01-13 14:31:47 +01:00
Daiki Ueno
f1451c348a tool: Fix TAP output of test-secret-tool.sh 2020-01-13 14:30:46 +01:00
Daiki Ueno
53748c29eb build: Include test-secret-tool.sh in distribution 2020-01-13 14:30:46 +01:00
Daiki Ueno
7a6d4b9bc1 build: Require gettext 0.19.8 or newer, not the exactly that version 2020-01-13 14:30:46 +01:00
Daiki Ueno
a27f85f1ee Merge branch 'wip/nielsdg/gtask-secret-item' into 'master'
item: Port to GTask

See merge request GNOME/libsecret!43
2020-01-13 13:29:48 +00:00
Niels De Graef
abb4448ca7 item: Port to GTask
`GSimpleAsyncResult` is deprecated in favor of `GTask`.
2020-01-13 13:21:31 +00:00
Umarzuki Bin Mochlis Moktar
2241ced065 Add Malay translation 2020-01-08 16:59:15 +00:00
Daiki Ueno
06d803c478 meson: Point to the base directory of header files in pkgconfig
Fixes commit 22d11f8b22
2019-10-15 10:33:28 +02:00
Daiki Ueno
8a01e3e282 Merge branch 'wip/dueno/meson-libgcrypt' into 'master'
meson: Use "Requires" instead of "Requires.private" in pkgconfig

Closes #33

See merge request GNOME/libsecret!42
2019-10-14 16:10:47 +00:00
Daiki Ueno
fb7368f9fe meson: Use "Requires" instead of "Requires.private" in pkgconfig
Also drop libgcrypt dependency for now.
2019-10-14 18:00:39 +02:00
Daiki Ueno
d9e43600dc Merge branch 'abderrahim/pkg-config-include' into 'master'
meson: add include directory to the generated pkg-config file

See merge request GNOME/libsecret!41
2019-10-14 15:26:14 +00:00
Abderrahim Kitouni
22d11f8b22 meson: add include directory to the generated pkg-config file
Fixes 300ddc702e
2019-10-14 10:14:45 +01:00
Daiki Ueno
a6530135eb Merge branch 'wip/dueno/local-file' into 'master'
secret-backend: Add local-storage backend

See merge request GNOME/libsecret!6
2019-10-13 06:31:41 +00:00
Daiki Ueno
a278adc208 secret-backend: Check if portal is available
Before decising to use the file backend, check if the necessary portal
interface is available on the D-Bus.

Suggested by Patrick Griffis.
2019-10-13 06:21:38 +00:00
Daiki Ueno
8f886f0797 secret-file-backend: Retrieve master password from flatpak portal 2019-10-13 06:21:38 +00:00
Daiki Ueno
f2b7f6d505 secret-tool: Add tests using file backend 2019-10-13 06:21:38 +00:00
Daiki Ueno
8e4317235e autotools: Generate secret-tool executable in tool/
This makes it consistent with meson build.
2019-10-13 06:21:38 +00:00
Daiki Ueno
2d642b5b7d secret-file-backend: New backend for storing secrets in file
This adds a new backend based on locally stored file.
2019-10-13 06:21:38 +00:00
Daiki Ueno
9cfad7c621 egg-testing: Sync with gnome-keyring 2019-10-13 06:21:37 +00:00
Daiki Ueno
29cc14153d Merge branch 'master' into 'master'
libsecret.pc: add Libs.private field for libgcrypt

See merge request GNOME/libsecret!38
2019-10-12 17:08:43 +00:00
Fabrice Fontaine
93b7043b5f libsecret.pc: add Libs.private field for libgcrypt
When libgcrypt is available, libsecret links with it. When dynamic
linking is used, there is no problem: libsecret.so has a NEEDED
pointing to libgcrypt, so linking an application with -lsecret works
fine. However, when doing static linking, you must specify the entire
chain of libraries, otherwise you get unresolved symbols errors, such
as:

host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libsecret-1.a(libsecret_1_la-secret-session.o): In function `request_open_session_aes':
build/libsecret-0.18.3/libsecret/secret-session.c:99: undefined reference to `gcry_mpi_release'
build/libsecret-0.18.3/libsecret/secret-session.c:101: undefined reference to `gcry_mpi_aprint'
build/libsecret-0.18.3/libsecret/secret-session.c:107: undefined reference to `gcry_free'

In order to solve this, we simply need to indicate in the Libs.private
field of the .pc file that we depend on libgcrypt.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Retrieved from:
https://git.buildroot.net/buildroot/tree/package/libsecret/0001-libsecret.pc-add-Libs.private-field-for-libgcrypt.patch]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-10-12 16:16:11 +00:00
Daiki Ueno
79e89b2cb2 Merge branch 'wip/dueno/meson-pkgconfig' into 'master'
meson: Use pkgconfig module instead of substitution

See merge request GNOME/libsecret!40
2019-10-12 15:31:23 +00:00
Daiki Ueno
300ddc702e meson: Use pkgconfig module instead of substitution 2019-10-12 02:46:06 +02:00
Daiki Ueno
1b1a7d1e48 meson: Simplify libgcrypt detection
Meson has native support for the libgcrypt-config program if pkgconfig
file is not provided.
2019-10-11 14:33:14 +02:00
Daiki Ueno
4b6d735b82 Merge branch 'wip/dueno/backend' into 'master'
secret-backend: New interface to represent password storage backend

See merge request GNOME/libsecret!34
2019-10-08 08:20:05 +00:00
Rico Tzschichholz
a6317352e8 build: Properly expose backend vfuncs to vapi 2019-10-08 07:55:55 +00:00
Daiki Ueno
060061905a secret-password: Add necessary gir annotations 2019-10-08 07:55:55 +00:00
Daiki Ueno
49e6e0cf60 secret-password: Port to SecretBackend interface 2019-10-08 07:55:55 +00:00
Daiki Ueno
b37d2b8d20 secret-backend: Add a way to uncache singleton instance
This is ugly, but necessary to handle instance uncaching in
SecretBackend when the backend instance is gone.
2019-10-08 07:55:55 +00:00
Daiki Ueno
71a19a95ae secret-service: Implement SecretBackendInterface 2019-10-08 07:55:55 +00:00
Daiki Ueno
a0d10597ee secret-backend: New interface to represent password storage backend
This interface provides a separation between the
frontend (secret_password*) and the backend (SecretService).  That
makes it easier to replace SecretService with a custom backend
implementation.
2019-10-08 07:55:55 +00:00
Daiki Ueno
e6456698ec secret-service: Move parent property setting to constructor
This makes it possible to instantiate a SecretService instance
directly through g_initable_new() or g_async_initable_new_async().
2019-10-08 07:55:55 +00:00