From 4f16bee889014ff5c4253ceb6ef766b017bdfb9b Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 20 Jan 2020 18:25:09 +0100 Subject: libsecret: upgrade 0.19.1 -> 0.20.0 Add a backported patch to fix musl builds. (From OE-Core rev: d28f0d41949143cf130e7f73aa8421711dd13914) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...-collection-Rename-internal-functions-to-.patch | 144 +++++++++++++++++++++ meta/recipes-gnome/libsecret/libsecret_0.19.1.bb | 27 ---- meta/recipes-gnome/libsecret/libsecret_0.20.0.bb | 28 ++++ 3 files changed, 172 insertions(+), 27 deletions(-) create mode 100644 meta/recipes-gnome/libsecret/libsecret/0001-secret-file-collection-Rename-internal-functions-to-.patch delete mode 100644 meta/recipes-gnome/libsecret/libsecret_0.19.1.bb create mode 100644 meta/recipes-gnome/libsecret/libsecret_0.20.0.bb (limited to 'meta/recipes-gnome') diff --git a/meta/recipes-gnome/libsecret/libsecret/0001-secret-file-collection-Rename-internal-functions-to-.patch b/meta/recipes-gnome/libsecret/libsecret/0001-secret-file-collection-Rename-internal-functions-to-.patch new file mode 100644 index 0000000000..269c12b010 --- /dev/null +++ b/meta/recipes-gnome/libsecret/libsecret/0001-secret-file-collection-Rename-internal-functions-to-.patch @@ -0,0 +1,144 @@ +From 59bcb169c4777bb3b1a50fee2ae20e4e8574b749 Mon Sep 17 00:00:00 2001 +From: Daiki Ueno +Date: Tue, 14 Jan 2020 10:09:29 +0100 +Subject: [PATCH] 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. + +Upstream-Status: Backport [https://github.com/GNOME/libsecret/commit/cf21ad50b62f7c8e4b22ef374f0a73290a99bdb8] +Signed-off-by: Alexander Kanavin +--- + libsecret/secret-file-collection.c | 38 +++++++++++++++--------------- + 1 file changed, 19 insertions(+), 19 deletions(-) + +diff --git a/libsecret/secret-file-collection.c b/libsecret/secret-file-collection.c +index 79863ea..8ffb542 100644 +--- a/libsecret/secret-file-collection.c ++++ b/libsecret/secret-file-collection.c +@@ -68,7 +68,7 @@ enum { + }; + + static gboolean +-derive (SecretFileCollection *self) ++do_derive_key (SecretFileCollection *self) + { + const gchar *password; + gsize n_password; +@@ -93,9 +93,9 @@ derive (SecretFileCollection *self) + } + + static gboolean +-calculate_mac (SecretFileCollection *self, +- const guint8 *value, gsize n_value, +- guint8 *buffer) ++do_calculate_mac (SecretFileCollection *self, ++ const guint8 *value, gsize n_value, ++ guint8 *buffer) + { + gcry_mac_hd_t hd; + gcry_error_t gcry; +@@ -130,9 +130,9 @@ calculate_mac (SecretFileCollection *self, + } + + static gboolean +-decrypt (SecretFileCollection *self, +- guint8 *data, +- gsize n_data) ++do_decrypt (SecretFileCollection *self, ++ guint8 *data, ++ gsize n_data) + { + gcry_cipher_hd_t hd; + gcry_error_t gcry; +@@ -164,9 +164,9 @@ decrypt (SecretFileCollection *self, + } + + static gboolean +-encrypt (SecretFileCollection *self, +- guint8 *data, +- gsize n_data) ++do_encrypt (SecretFileCollection *self, ++ guint8 *data, ++ gsize n_data) + { + gcry_cipher_hd_t hd; + gcry_error_t gcry; +@@ -311,7 +311,7 @@ on_load_contents (GObject *source_object, + self->modified = g_date_time_new_now_utc (); + self->usage_count = 0; + +- if (!derive (self)) { ++ if (!do_derive_key (self)) { + g_task_return_new_error (task, + SECRET_ERROR, + SECRET_ERROR_PROTOCOL, +@@ -375,7 +375,7 @@ on_load_contents (GObject *source_object, + g_assert (n_data == salt_size); + + self->salt = g_bytes_new (data, n_data); +- if (!derive (self)) { ++ if (!do_derive_key (self)) { + g_task_return_new_error (task, + SECRET_ERROR, + SECRET_ERROR_PROTOCOL, +@@ -442,7 +442,7 @@ hash_attributes (SecretFileCollection *self, + GVariant *variant; + + value = g_hash_table_lookup (attributes, l->data); +- if (!calculate_mac (self, (guint8 *)value, strlen (value), buffer)) { ++ if (!do_calculate_mac (self, (guint8 *)value, strlen (value), buffer)) { + g_list_free (keys); + return NULL; + } +@@ -485,7 +485,7 @@ hashed_attributes_match (SecretFileCollection *self, + return FALSE; + } + +- if (!calculate_mac (self, value, strlen ((char *)value), buffer)) { ++ if (!do_calculate_mac (self, value, strlen ((char *)value), buffer)) { + g_variant_unref (hashed_attribute); + return FALSE; + } +@@ -584,7 +584,7 @@ secret_file_collection_replace (SecretFileCollection *self, + g_variant_store (serialized_item, data); + g_variant_unref (serialized_item); + memset (data + n_data, n_padded - n_data, n_padded - n_data); +- if (!encrypt (self, data, n_padded)) { ++ if (!do_encrypt (self, data, n_padded)) { + egg_secure_free (data); + g_set_error (error, + SECRET_ERROR, +@@ -593,8 +593,8 @@ secret_file_collection_replace (SecretFileCollection *self, + return FALSE; + } + +- if (!calculate_mac (self, data, n_padded + IV_SIZE, +- data + n_padded + IV_SIZE)) { ++ if (!do_calculate_mac (self, data, n_padded + IV_SIZE, ++ data + n_padded + IV_SIZE)) { + egg_secure_free (data); + g_set_error (error, + SECRET_ERROR, +@@ -681,7 +681,7 @@ _secret_file_item_decrypt (GVariant *encrypted, + } + n_padded -= IV_SIZE + MAC_SIZE; + +- if (!calculate_mac (collection, data, n_padded + IV_SIZE, mac)) { ++ if (!do_calculate_mac (collection, data, n_padded + IV_SIZE, mac)) { + egg_secure_free (data); + g_set_error (error, + SECRET_ERROR, +@@ -699,7 +699,7 @@ _secret_file_item_decrypt (GVariant *encrypted, + return FALSE; + } + +- if (!decrypt (collection, data, n_padded)) { ++ if (!do_decrypt (collection, data, n_padded)) { + egg_secure_free (data); + g_set_error (error, + SECRET_ERROR, diff --git a/meta/recipes-gnome/libsecret/libsecret_0.19.1.bb b/meta/recipes-gnome/libsecret/libsecret_0.19.1.bb deleted file mode 100644 index 3da2a4acac..0000000000 --- a/meta/recipes-gnome/libsecret/libsecret_0.19.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets" -DESCRIPTION = "A GObject-based library for accessing the Secret Service API of \ -the freedesktop.org project, a cross-desktop effort to access passwords, \ -tokens and other types of secrets. libsecret provides a convenient wrapper \ -for these methods so consumers do not have to call the low-level DBus methods." -LICENSE = "LGPLv2.1" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/libsecret/issues" -LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6" - -inherit gnomebase gtk-doc vala gobject-introspection manpages - -DEPENDS += "glib-2.0 libgcrypt gettext-native" - -PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" - -SRC_URI[archive.md5sum] = "ea673119c00570d6434f8fd3636f1eb8" -SRC_URI[archive.sha256sum] = "8583e10179456ae2c83075d95455f156dc08db6278b32bf4bd61819335a30e3a" - -# http://errors.yoctoproject.org/Errors/Details/20228/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes -do_configure_prepend() { - rm -f ${S}/build/m4/vapigen.m4 -} diff --git a/meta/recipes-gnome/libsecret/libsecret_0.20.0.bb b/meta/recipes-gnome/libsecret/libsecret_0.20.0.bb new file mode 100644 index 0000000000..aa3dfab581 --- /dev/null +++ b/meta/recipes-gnome/libsecret/libsecret_0.20.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets" +DESCRIPTION = "A GObject-based library for accessing the Secret Service API of \ +the freedesktop.org project, a cross-desktop effort to access passwords, \ +tokens and other types of secrets. libsecret provides a convenient wrapper \ +for these methods so consumers do not have to call the low-level DBus methods." +LICENSE = "LGPLv2.1" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/libsecret/issues" +LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6" + +inherit gnomebase gtk-doc vala gobject-introspection manpages + +DEPENDS += "glib-2.0 libgcrypt gettext-native" + +PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" + +SRC_URI += " file://0001-secret-file-collection-Rename-internal-functions-to-.patch" +SRC_URI[archive.md5sum] = "335750caeed47f50496b3b0e6a1875ff" +SRC_URI[archive.sha256sum] = "f1187370b453106af878e30c284a121ba0c513da8bb4170b329d66e250bdae43" + +# http://errors.yoctoproject.org/Errors/Details/20228/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" + +# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes +do_configure_prepend() { + rm -f ${S}/build/m4/vapigen.m4 +} -- cgit v1.2.3-54-g00ecf