On Tue, Apr 06, 2021 at 02:46:04PM -0700, Khem Raj wrote: > > > On 4/6/21 2:30 PM, Martin Jansa wrote: > > Thanks for fixing this, unfortunatelly it isn't backwards compatible > > with glib-2.0-1.66.7 currently in oe-core master and hardknott and now > > fails with: > > | ../../../pidgin-sipe-1.25.0/src/purple/../api/sipe-common.h:56:19: > > error: conflicting types for 'g_memdup' > > | 56 | #define g_memdup2 g_memdup > > | | ^~~~~~~~ > > > > Can we revert this from meta-oe master branch and re-apply it once 1.68 > > version hits oe-core/master possibly only for honister? > > > > one point of the fix was to keep it working with older releases, I just > realized that the build I did on AB did not really build with master but > with master-next. anyway now you have it reproduced can you try reversing > the define to > > #define g_memdup g_memdup2 > > > and see if that helps ?
It doesn't. with this swap: http://errors.yoctoproject.org/Errors/Details/575673/ without: http://errors.yoctoproject.org/Errors/Details/575672/ I'm sending slightly simpler fix. Thanks > > > Thanks > > > > > > On Mon, Apr 5, 2021 at 8:41 PM Khem Raj <raj.k...@gmail.com > > <mailto:raj.k...@gmail.com>> wrote: > > > > Signed-off-by: Khem Raj <raj.k...@gmail.com <mailto:raj.k...@gmail.com>> > > Cc: Martin Jansa <martin.ja...@gmail.com > > <mailto:martin.ja...@gmail.com>> > > --- > > .../0001-Migrate-to-use-g_memdup2.patch | 192 ++++++++++++++++++ > > .../pidgin/pidgin-sipe_1.25.0.bb <http://pidgin-sipe_1.25.0.bb> > > | 1 + > > 2 files changed, 193 insertions(+) > > create mode 100644 > > > > meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch > > > > diff --git > > > > a/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch > > > > b/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch > > new file mode 100644 > > index 0000000000..4f5c0bd1f6 > > --- /dev/null > > +++ > > > > b/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch > > @@ -0,0 +1,192 @@ > > +From 40799bb28a9e299055eec00092694ea2e408c431 Mon Sep 17 00:00:00 2001 > > +From: Khem Raj <raj.k...@gmail.com <mailto:raj.k...@gmail.com>> > > +Date: Mon, 5 Apr 2021 11:36:50 -0700 > > +Subject: [PATCH] Migrate to use g_memdup2 > > + > > +g_memdup has been deprecated for long and latest glib-2.0 2.68+ has > > +turned it int an error to use old function. Add a fall back to > > +older versions of GLib, fall back to g_memdup with a #define > > + > > +Upstream-Status: Pending > > +Signed-off-by: Khem Raj <raj.k...@gmail.com > > <mailto:raj.k...@gmail.com>> > > +--- > > + configure.ac <http://configure.ac> | 3 +++ > > + src/api/sipe-common.h | 5 +++++ > > + src/core/sip-sec-gssapi.c | 4 ++-- > > + src/core/sip-sec-ntlm.c | 12 ++++++------ > > + src/core/sip-sec-tls-dsk.c | 4 ++-- > > + src/core/sipe-media.c | 2 +- > > + src/core/sipe-tls-tester.c | 2 +- > > + src/core/sipe-tls.c | 4 ++-- > > + src/telepathy/telepathy-protocol.c | 2 +- > > + 9 files changed, 23 insertions(+), 15 deletions(-) > > + > > +diff --git a/configure.ac <http://configure.ac> b/configure.ac > > <http://configure.ac> > > +index 2481153..efe01b4 100644 > > +--- a/configure.ac <http://configure.ac> > > ++++ b/configure.ac <http://configure.ac> > > +@@ -327,6 +327,9 @@ AM_CONDITIONAL(SIPE_OPENSSL, [test > > "x$enable_openssl" != xno]) > > + dnl check for libxml2 > > + PKG_CHECK_MODULES(LIBXML2, [libxml-2.0]) > > + > > ++# dnl check for g_memdup2 in glib-2.0 > > ++AC_CHECK_LIB(glib-2.0, g_memdup2, [GLIB_CFLAGS="$GLIB_CFLAGS > > -DHAVE_G_MEMDUP2=1"]) > > ++ > > + dnl assumption check: sizof(uuid_t) must be 16 (see uuid.c) > > + AC_MSG_CHECKING([that sizeof(uuid_t) is 16]) > > + ac_save_CFLAGS="$CFLAGS" > > +diff --git a/src/api/sipe-common.h b/src/api/sipe-common.h > > +index c964f15..e114fdc 100644 > > +--- a/src/api/sipe-common.h > > ++++ b/src/api/sipe-common.h > > +@@ -51,3 +51,8 @@ > > + #ifdef _MSC_VER > > + typedef long ssize_t; > > + #endif > > ++ > > ++#ifndef HAVE_G_MEMDUP2 > > ++#define g_memdup2 g_memdup > > ++#endif > > ++ > > +diff --git a/src/core/sip-sec-gssapi.c b/src/core/sip-sec-gssapi.c > > +index 873080f..4c63868 100644 > > +--- a/src/core/sip-sec-gssapi.c > > ++++ b/src/core/sip-sec-gssapi.c > > +@@ -602,7 +602,7 @@ sip_sec_init_sec_context__gssapi(SipSecContext > > context, > > + > > + out_buff->length = output_token.length; > > + if (out_buff->length) > > +- out_buff->value = g_memdup(output_token.value, > > output_token.length); > > ++ out_buff->value = g_memdup2(output_token.value, > > output_token.length); > > + else > > + /* Special case: empty token */ > > + out_buff->value = (guint8 *) g_strdup(""); > > +@@ -653,7 +653,7 @@ sip_sec_make_signature__gssapi(SipSecContext > > context, > > + return FALSE; > > + } else { > > + signature->length = output_token.length; > > +- signature->value = g_memdup(output_token.value, > > ++ signature->value = g_memdup2(output_token.value, > > + output_token.length); > > + gss_release_buffer(&minor, &output_token); > > + return TRUE; > > +diff --git a/src/core/sip-sec-ntlm.c b/src/core/sip-sec-ntlm.c > > +index 2e2354f..1fa4daa 100644 > > +--- a/src/core/sip-sec-ntlm.c > > ++++ b/src/core/sip-sec-ntlm.c > > +@@ -951,7 +951,7 @@ sip_sec_ntlm_parse_challenge(SipSecBuffer in_buff, > > + > > + /* server challenge (nonce) */ > > + if (server_challenge) { > > +- *server_challenge = g_memdup(cmsg->nonce, 8); > > ++ *server_challenge = g_memdup2(cmsg->nonce, 8); > > + } > > + > > + /* flags */ > > +@@ -984,7 +984,7 @@ sip_sec_ntlm_parse_challenge(SipSecBuffer in_buff, > > + *target_info_len = len; > > + } > > + if (target_info) { > > +- *target_info = g_memdup(content, len); > > ++ *target_info = g_memdup2(content, len); > > + } > > + } > > + } > > +@@ -1117,13 +1117,13 @@ sip_sec_ntlm_gen_authenticate(guchar > > **client_sign_key, > > + Set ServerSigningKey to > > SIGNKEY(ExportedSessionKey, "Server") > > + */ > > + SIGNKEY(exported_session_key, TRUE, key); > > +- *client_sign_key = g_memdup(key, 16); > > ++ *client_sign_key = g_memdup2(key, 16); > > + SIGNKEY(exported_session_key, FALSE, key); > > +- *server_sign_key = g_memdup(key, 16); > > ++ *server_sign_key = g_memdup2(key, 16); > > + SEALKEY(neg_flags, exported_session_key, TRUE, key); > > +- *client_seal_key = g_memdup(key, 16); > > ++ *client_seal_key = g_memdup2(key, 16); > > + SEALKEY(neg_flags, exported_session_key, FALSE, key); > > +- *server_seal_key = g_memdup(key, 16); > > ++ *server_seal_key = g_memdup2(key, 16); > > + } > > + > > + /* @TODO: */ > > +diff --git a/src/core/sip-sec-tls-dsk.c b/src/core/sip-sec-tls-dsk.c > > +index 70433ea..2d3f2db 100644 > > +--- a/src/core/sip-sec-tls-dsk.c > > ++++ b/src/core/sip-sec-tls-dsk.c > > +@@ -88,9 +88,9 @@ sip_sec_init_sec_context__tls_dsk(SipSecContext > > context, > > + /* copy key pair */ > > + ctx->algorithm = state->algorithm; > > + ctx->key_length = state->key_length; > > +- ctx->client_key = g_memdup(state->client_key, > > ++ ctx->client_key = g_memdup2(state->client_key, > > + state->key_length); > > +- ctx->server_key = g_memdup(state->server_key, > > ++ ctx->server_key = g_memdup2(state->server_key, > > + state->key_length); > > + > > + /* extract certicate expiration time */ > > +diff --git a/src/core/sipe-media.c b/src/core/sipe-media.c > > +index e9c4b8a..936e31c 100644 > > +--- a/src/core/sipe-media.c > > ++++ b/src/core/sipe-media.c > > +@@ -578,7 +578,7 @@ media_stream_to_sdpmedia(struct > > sipe_media_call_private *call_private, > > + // Set our key if encryption is enabled. > > + if (stream_private->encryption_key && > > + encryption_policy != SIPE_ENCRYPTION_POLICY_REJECTED) { > > +- sdpmedia->encryption_key = > > g_memdup(stream_private->encryption_key, > > ++ sdpmedia->encryption_key = > > g_memdup2(stream_private->encryption_key, > > + SIPE_SRTP_KEY_LEN); > > + sdpmedia->encryption_key_id = > > stream_private->encryption_key_id; > > + } > > +diff --git a/src/core/sipe-tls-tester.c b/src/core/sipe-tls-tester.c > > +index e80d715..5fbb5f8 100644 > > +--- a/src/core/sipe-tls-tester.c > > ++++ b/src/core/sipe-tls-tester.c > > +@@ -155,7 +155,7 @@ static guchar *read_tls_record(int fd, > > + printf("received %d bytes from server\n", result); > > + record = g_new0(struct record, 1); > > + record->length = result; > > +- record->msg = g_memdup(buffer, result); > > ++ record->msg = g_memdup2(buffer, result); > > + length += result; > > + fragments = g_slist_append(fragments, record); > > + } > > +diff --git a/src/core/sipe-tls.c b/src/core/sipe-tls.c > > +index b0235d5..020aedb 100644 > > +--- a/src/core/sipe-tls.c > > ++++ b/src/core/sipe-tls.c > > +@@ -427,7 +427,7 @@ static guchar > > *sipe_tls_prf(SIPE_UNUSED_PARAMETER struct tls_internal_state *sta > > + gsize half = (secret_length + 1) / 2; > > + gsize newseed_length = label_length + seed_length; > > + /* secret: used as S1; secret2: last half of original secret > > (S2) */ > > +- guchar *secret2 = g_memdup(secret + secret_length - half, half); > > ++ guchar *secret2 = g_memdup2(secret + secret_length - half, > > half); > > + guchar *newseed = g_malloc(newseed_length); > > + guchar *md5, *dest; > > + guchar *sha1, *src; > > +@@ -1525,7 +1525,7 @@ static struct tls_compiled_message > > *tls_client_key_exchange(struct tls_internal_ > > + > > + /* found all the required fields */ > > + state->server_random.length = server_random->length; > > +- state->server_random.buffer = g_memdup(server_random->data, > > ++ state->server_random.buffer = g_memdup2(server_random->data, > > + server_random->length); > > + tls_calculate_secrets(state); > > + > > +diff --git a/src/telepathy/telepathy-protocol.c > > b/src/telepathy/telepathy-protocol.c > > +index f6e5337..1dde579 100644 > > +--- a/src/telepathy/telepathy-protocol.c > > ++++ b/src/telepathy/telepathy-protocol.c > > +@@ -237,7 +237,7 @@ static void > > get_connection_details(SIPE_UNUSED_PARAMETER TpBaseProtocol *self, > > + SIPE_TYPE_SEARCH_MANAGER, > > + G_TYPE_INVALID > > + }; > > +- *channel_managers = g_memdup(types, sizeof(types)); > > ++ *channel_managers = g_memdup2(types, sizeof(types)); > > + } > > + if (icon_name) > > + *icon_name = g_strdup("im-" SIPE_TELEPATHY_DOMAIN); > > +-- > > +2.31.1 > > + > > diff --git a/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb > > <http://pidgin-sipe_1.25.0.bb> > > b/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb > > <http://pidgin-sipe_1.25.0.bb> > > index f6b4c7cee1..5a96bec90a 100644 > > --- a/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb > > <http://pidgin-sipe_1.25.0.bb> > > +++ b/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb > > <http://pidgin-sipe_1.25.0.bb> > > @@ -11,6 +11,7 @@ SRC_URI = > > "${SOURCEFORGE_MIRROR}/sipe/pidgin-sipe-${PV}.tar.xz \ > > file://0001-sipe-consider-64bit-time_t-when-printing.patch \ > > file://0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch \ > > file://0001-configure-Do-not-add-native-paths-to-pkgconfig-searc.patch \ > > + file://0001-Migrate-to-use-g_memdup2.patch \ > > " > > > > SRC_URI[md5sum] = "0e742f021dc8c3f17435aea05c3e0314" > > -- 2.31.1 > >
signature.asc
Description: PGP signature
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#90592): https://lists.openembedded.org/g/openembedded-devel/message/90592 Mute This Topic: https://lists.openembedded.org/mt/81871814/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-