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
> > 

Attachment: 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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to