mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Merge pull request #1426 from profanity-im/cleanup/newlibs
Cleanup/newlibs
This commit is contained in:
commit
315863575b
@ -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 \
|
||||
|
19
configure.ac
19
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])])
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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/>");
|
||||
|
@ -2574,26 +2574,6 @@ _stanza_create_sha1_hash(char* str)
|
||||
return b64;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user