about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2020-10-09 09:41:34 +0200
committerGitHub <noreply@github.com>2020-10-09 09:41:34 +0200
commit315863575b817b2d90c8e6620c2ea78e70468d8d (patch)
tree568e3ed5445a41e845386c023c596d0af6a1d630
parentf12161f190e5203930aaf209079305f7f8b690d6 (diff)
parentf1b9bb49e1336cd16f063b756e222be2b064e08d (diff)
downloadprofani-tty-315863575b817b2d90c8e6620c2ea78e70468d8d.tar.gz
Merge pull request #1426 from profanity-im/cleanup/newlibs
Cleanup/newlibs
-rw-r--r--Dockerfile.tumbleweed1
-rw-r--r--configure.ac19
-rw-r--r--src/database.c10
-rw-r--r--src/xmpp/avatar.c2
-rw-r--r--src/xmpp/bookmark.c2
-rw-r--r--src/xmpp/connection.c8
-rw-r--r--src/xmpp/message.c11
-rw-r--r--src/xmpp/ox.c8
-rw-r--r--src/xmpp/stanza.c20
-rw-r--r--src/xmpp/stanza.h2
10 files changed, 19 insertions, 64 deletions
diff --git a/Dockerfile.tumbleweed b/Dockerfile.tumbleweed
index 0c58dfef..217476f3 100644
--- a/Dockerfile.tumbleweed
+++ b/Dockerfile.tumbleweed
@@ -21,6 +21,7 @@ RUN zypper --non-interactive in --no-recommends \
   libgcrypt-devel \
   libgpgme-devel \
   libmesode-devel \
+  libstrophe-devel \
   libmicrohttpd-devel \
   libnotify-devel \
   libotr-devel \
diff --git a/configure.ac b/configure.ac
index fb9fbbb6..2f92166e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,7 +82,8 @@ elif test "x$enable_python_plugins" != xno; then
         rm -f Python.framework
         ln -s $PYTHON_FRAMEWORK Python.framework ])
     AC_CHECK_PROG(PYTHON_CONFIG_EXISTS, python-config, yes, no)
-    if test "$PYTHON_CONFIG_EXISTS" = "yes"; then
+    AC_CHECK_PROG(PYTHON3_CONFIG_EXISTS, python3-config, yes, no)
+    if test "$PYTHON_CONFIG_EXISTS" = "yes" || test "$PYTHON3_CONFIG_EXISTS" = "yes"; then
         AX_PYTHON_DEVEL
         AM_CONDITIONAL([BUILD_PYTHON_API], [true])
         AC_DEFINE([HAVE_PYTHON], [1], [Python support])
@@ -131,19 +132,11 @@ AS_IF([test "x$PTHREAD_CC" != x], [ CC="$PTHREAD_CC" ])
 
 ### Check for libmesode, fall back to libstrophe
 ### TODO libmesode support will be removed in the future, rewrite this section
-PKG_CHECK_MODULES([libmesode], [libmesode >= 0.9.3],
+PKG_CHECK_MODULES([libmesode], [libmesode >= 0.10.0],
     [LIBS="$libmesode_LIBS $LIBS" CFLAGS="$CFLAGS $libmesode_CFLAGS" XMPP_LIB="libmesode" AC_DEFINE([HAVE_LIBMESODE], [1], [libmesode])],
-    [PKG_CHECK_MODULES([libstrophe], [libstrophe >= 0.9.3],
+    [PKG_CHECK_MODULES([libstrophe], [libstrophe >= 0.10.0],
         [LIBS="$libstrophe_LIBS $LIBS" CFLAGS="$CFLAGS $libstrophe_CFLAGS" XMPP_LIB="libstrophe" AC_DEFINE([HAVE_LIBSTROPHE], [1], [libstrophe])],
         [XMPP_LIB=""])])
-if test "x$XMPP_LIB" = x; then
-    PKG_CHECK_MODULES([libmesode], [libmesode >= 0.9.2],
-        [LIBS="$libmesode_LIBS $LIBS" CFLAGS="$CFLAGS $libmesode_CFLAGS" XMPP_LIB="libmesode" AC_DEFINE([HAVE_LIBMESODE], [1], [libmesode])],
-        [PKG_CHECK_MODULES([libstrophe], [libstrophe >= 0.9.2],
-            [LIBS="$libstrophe_LIBS $LIBS" CFLAGS="$CFLAGS $libstrophe_CFLAGS" XMPP_LIB="libstrophe" AC_DEFINE([HAVE_LIBSTROPHE], [1], [libstrophe])],
-            [AC_MSG_ERROR([libstrophe-0.9.2 or later is required for profanity])])])
-    AC_DEFINE([HAVE_LIBSTROPHE_LT_0_9_3], [1], [Old libstrophe is present])
-fi
 
 AC_MSG_CHECKING([whether ${XMPP_LIB} works])
 AC_LINK_IFELSE([AC_LANG_SOURCE([[
@@ -194,8 +187,8 @@ AS_IF([test "x$ncurses_cv_wget_wch" != xyes],
     [AC_MSG_ERROR([ncurses does not support wide characters])])
 
 ### Check for glib libraries
-PKG_CHECK_MODULES([glib], [glib-2.0 >= 2.56.0], [],
-    [AC_MSG_ERROR([glib 2.56.0 or higher is required for profanity])])
+PKG_CHECK_MODULES([glib], [glib-2.0 >= 2.62.0], [],
+    [AC_MSG_ERROR([glib 2.62.0 or higher is required for profanity])])
 PKG_CHECK_MODULES([gio], [gio-2.0], [],
     [AC_MSG_ERROR([libgio-2.0 from glib-2.0 is required for profanity])])
 
diff --git a/src/database.c b/src/database.c
index 8424b398..37fe5a03 100644
--- a/src/database.c
+++ b/src/database.c
@@ -316,15 +316,9 @@ _add_to_db(ProfMessage* message, char* type, const Jid* const from_jid, const Ji
     gchar* date_fmt;
 
     if (message->timestamp) {
-        // g_date_time_format_iso8601() is only availble from glib 2.62 on.
-        // To still support Debian buster lets use g_date_time_format() for now.
-        //date_fmt = g_date_time_format_iso8601(message->timestamp);
-        date_fmt = g_date_time_format(message->timestamp, "%FT%T%:::z");
+        date_fmt = g_date_time_format_iso8601(message->timestamp);
     } else {
-        // g_date_time_format_iso8601() is only availble from glib 2.62 on.
-        // To still support Debian buster lets use g_date_time_format() for now.
-        //date_fmt = g_date_time_format_iso8601(g_date_time_new_now_local());
-        date_fmt = g_date_time_format(g_date_time_new_now_local(), "%FT%T%:::z");
+        date_fmt = g_date_time_format_iso8601(g_date_time_new_now_local());
     }
 
     const char* enc = _get_message_enc_str(message->enc);
diff --git a/src/xmpp/avatar.c b/src/xmpp/avatar.c
index 97bd9e67..b6263a7f 100644
--- a/src/xmpp/avatar.c
+++ b/src/xmpp/avatar.c
@@ -210,7 +210,7 @@ _avatar_request_item_result_handler(xmpp_stanza_t* const stanza, void* const use
         return 1;
     }
 
-    xmpp_stanza_t* st_data = stanza_get_child_by_name_and_ns(item, "data", STANZA_NS_USER_AVATAR_DATA);
+    xmpp_stanza_t* st_data = xmpp_stanza_get_child_by_name_and_ns(item, "data", STANZA_NS_USER_AVATAR_DATA);
     if (!st_data) {
         return 1;
     }
diff --git a/src/xmpp/bookmark.c b/src/xmpp/bookmark.c
index a866354e..b603a71a 100644
--- a/src/xmpp/bookmark.c
+++ b/src/xmpp/bookmark.c
@@ -308,7 +308,7 @@ _bookmark_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
 
         // we save minimize, which is not standard, so that we don't remove it if it was set by gajim
         int minimize = 0;
-        xmpp_stanza_t* minimize_st = stanza_get_child_by_name_and_ns(child, STANZA_NAME_MINIMIZE, STANZA_NS_EXT_GAJIM_BOOKMARKS);
+        xmpp_stanza_t* minimize_st = xmpp_stanza_get_child_by_name_and_ns(child, STANZA_NAME_MINIMIZE, STANZA_NS_EXT_GAJIM_BOOKMARKS);
         if (minimize_st) {
             char* min_str = xmpp_stanza_get_text(minimize_st);
             if (strcmp(min_str, "true") == 0) {
diff --git a/src/xmpp/connection.c b/src/xmpp/connection.c
index ace28255..0bcab020 100644
--- a/src/xmpp/connection.c
+++ b/src/xmpp/connection.c
@@ -193,13 +193,7 @@ connection_connect(const char* const jid, const char* const passwd, const char*
     }
 
     if (auth_policy && (g_strcmp0(auth_policy, "legacy") == 0)) {
-#ifdef HAVE_LIBSTROPHE_LT_0_9_3
-        log_warning("Legacy authentication is requested, but it hasn't been "
-                    "built. Update libstrophe and rebuild Profanity.");
-        cons_show("Legacy authentication is requested, but it hasn't been built.");
-#else
         flags |= XMPP_CONN_FLAG_LEGACY_AUTH;
-#endif /* HAVE_LIBSTROPHE_LT_0_9_3 */
     }
 
     xmpp_conn_set_flags(conn.xmpp_conn, flags);
@@ -215,9 +209,7 @@ connection_connect(const char* const jid, const char* const passwd, const char*
         LOG_FLAG_IF_SET(XMPP_CONN_FLAG_TRUST_TLS);
         LOG_FLAG_IF_SET(XMPP_CONN_FLAG_DISABLE_TLS);
         LOG_FLAG_IF_SET(XMPP_CONN_FLAG_LEGACY_SSL);
-#ifndef HAVE_LIBSTROPHE_LT_0_9_3
         LOG_FLAG_IF_SET(XMPP_CONN_FLAG_LEGACY_AUTH);
-#endif /* HAVE_LIBSTROPHE_LT_0_9_3 */
 #undef LOG_FLAG_IF_SET
     }
 
diff --git a/src/xmpp/message.c b/src/xmpp/message.c
index 8e057e99..8e13039c 100644
--- a/src/xmpp/message.c
+++ b/src/xmpp/message.c
@@ -947,7 +947,7 @@ _handle_groupchat(xmpp_stanza_t* const stanza)
     const char* id = xmpp_stanza_get_id(stanza);
     char* originid = NULL;
 
-    xmpp_stanza_t* origin = stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_ORIGIN_ID, STANZA_NS_STABLE_ID);
+    xmpp_stanza_t* origin = xmpp_stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_ORIGIN_ID, STANZA_NS_STABLE_ID);
     if (origin) {
         originid = (char*)xmpp_stanza_get_attribute(origin, STANZA_ATTR_ID);
     }
@@ -1282,7 +1282,7 @@ _handle_chat(xmpp_stanza_t* const stanza, gboolean is_mam, gboolean is_carbon, c
         // live messages use XEP-0359 <stanza-id>
         // TODO: add to muc too
         char* stanzaid = NULL;
-        xmpp_stanza_t* stanzaidst = stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_STANZA_ID, STANZA_NS_STABLE_ID);
+        xmpp_stanza_t* stanzaidst = xmpp_stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_STANZA_ID, STANZA_NS_STABLE_ID);
         if (stanzaidst) {
             stanzaid = (char*)xmpp_stanza_get_attribute(stanzaidst, STANZA_ATTR_ID);
             if (stanzaid) {
@@ -1365,11 +1365,9 @@ _handle_ox_chat(xmpp_stanza_t* const stanza, ProfMessage* message, gboolean is_m
     message->enc = PROF_MSG_ENC_OX;
 
 #ifdef HAVE_LIBGPGME
-    xmpp_stanza_t* ox = stanza_get_child_by_name_and_ns(stanza, "openpgp", STANZA_NS_OPENPGP_0);
+    xmpp_stanza_t* ox = xmpp_stanza_get_child_by_name_and_ns(stanza, "openpgp", STANZA_NS_OPENPGP_0);
     message->plain = p_ox_gpg_decrypt(xmpp_stanza_get_text(ox));
 
-    // Implementation for libstrophe 0.10.
-    /*
     xmpp_stanza_t *x =  xmpp_stanza_new_from_string(connection_get_ctx(), message->plain);
     xmpp_stanza_t *p =  xmpp_stanza_get_child_by_name(x, "payload");
     xmpp_stanza_t *b =  xmpp_stanza_get_child_by_name(p, "body");
@@ -1378,7 +1376,6 @@ _handle_ox_chat(xmpp_stanza_t* const stanza, ProfMessage* message, gboolean is_m
         message->plain = xmpp_stanza_get_text(stanza);
     }
 	message->encrypted = xmpp_stanza_get_text(ox);
-    */
 
     if (message->plain == NULL) {
         message->plain = xmpp_stanza_get_text(stanza);
@@ -1390,7 +1387,7 @@ _handle_ox_chat(xmpp_stanza_t* const stanza, ProfMessage* message, gboolean is_m
 static gboolean
 _handle_mam(xmpp_stanza_t* const stanza)
 {
-    xmpp_stanza_t* result = stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_RESULT, STANZA_NS_MAM2);
+    xmpp_stanza_t* result = xmpp_stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_RESULT, STANZA_NS_MAM2);
     if (!result) {
         return FALSE;
     }
diff --git a/src/xmpp/ox.c b/src/xmpp/ox.c
index d98a0682..e8b579d4 100644
--- a/src/xmpp/ox.c
+++ b/src/xmpp/ox.c
@@ -269,7 +269,7 @@ _ox_metadata_result(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void*
         return FALSE;
     }
     // pubsub
-    xmpp_stanza_t* pubsub = stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_PUBSUB, XMPP_FEATURE_PUBSUB);
+    xmpp_stanza_t* pubsub = xmpp_stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_PUBSUB, XMPP_FEATURE_PUBSUB);
     if (!pubsub) {
         cons_show("OX: Error: No pubsub");
         return FALSE;
@@ -287,7 +287,7 @@ _ox_metadata_result(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void*
         return FALSE;
     }
 
-    xmpp_stanza_t* publickeyslist = stanza_get_child_by_name_and_ns(item, STANZA_NAME_PUBLIC_KEYS_LIST, STANZA_NS_OPENPGP_0);
+    xmpp_stanza_t* publickeyslist = xmpp_stanza_get_child_by_name_and_ns(item, STANZA_NAME_PUBLIC_KEYS_LIST, STANZA_NS_OPENPGP_0);
     if (!publickeyslist) {
         cons_show("OX: Error: No publickeyslist");
         return FALSE;
@@ -392,7 +392,7 @@ _ox_public_key_result(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void
         return FALSE;
     }
     // pubsub
-    xmpp_stanza_t* pubsub = stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_PUBSUB, XMPP_FEATURE_PUBSUB);
+    xmpp_stanza_t* pubsub = xmpp_stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_PUBSUB, XMPP_FEATURE_PUBSUB);
     if (!pubsub) {
         cons_show("Public Key import failed. Check log for details.");
         log_error("OX: Public key request response failed: No <pubsub/>");
@@ -413,7 +413,7 @@ _ox_public_key_result(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void
         return FALSE;
     }
 
-    xmpp_stanza_t* pubkey = stanza_get_child_by_name_and_ns(item, STANZA_NAME_PUPKEY, STANZA_NS_OPENPGP_0);
+    xmpp_stanza_t* pubkey = xmpp_stanza_get_child_by_name_and_ns(item, STANZA_NAME_PUPKEY, STANZA_NS_OPENPGP_0);
     if (!pubkey) {
         cons_show("Public Key import failed. Check log for details.");
         log_error("OX: Public key request response failed: No <pubkey/>");
diff --git a/src/xmpp/stanza.c b/src/xmpp/stanza.c
index 85fdd2c3..48c09953 100644
--- a/src/xmpp/stanza.c
+++ b/src/xmpp/stanza.c
@@ -2575,26 +2575,6 @@ _stanza_create_sha1_hash(char* str)
 }
 
 xmpp_stanza_t*
-stanza_get_child_by_name_and_ns(xmpp_stanza_t* const stanza, const char* const name, const char* const ns)
-{
-    xmpp_stanza_t* child;
-    const char* child_ns;
-    const char* child_name;
-
-    for (child = xmpp_stanza_get_children(stanza); child; child = xmpp_stanza_get_next(child)) {
-        child_name = xmpp_stanza_get_name(child);
-        if (child_name && strcmp(name, child_name) == 0) {
-            child_ns = xmpp_stanza_get_ns(child);
-            if (child_ns && strcmp(ns, child_ns) == 0) {
-                break;
-            }
-        }
-    }
-
-    return child;
-}
-
-xmpp_stanza_t*
 stanza_create_avatar_retrieve_data_request(xmpp_ctx_t* ctx, const char* stanza_id, const char* const item_id, const char* const jid)
 {
     xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, stanza_id);
diff --git a/src/xmpp/stanza.h b/src/xmpp/stanza.h
index 51d69873..2058f9a2 100644
--- a/src/xmpp/stanza.h
+++ b/src/xmpp/stanza.h
@@ -375,8 +375,6 @@ char* stanza_text_strdup(xmpp_stanza_t* stanza);
 XMPPCaps* stanza_parse_caps(xmpp_stanza_t* const stanza);
 void stanza_free_caps(XMPPCaps* caps);
 
-xmpp_stanza_t* stanza_get_child_by_name_and_ns(xmpp_stanza_t* const stanza, const char* const name, const char* const ns);
-
 xmpp_stanza_t* stanza_create_avatar_retrieve_data_request(xmpp_ctx_t* ctx, const char* stanza_id, const char* const item_id, const char* const jid);
 
 xmpp_stanza_t* stanza_create_mam_iq(xmpp_ctx_t* ctx, const char* const jid, const char* const startdate);