1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Merge pull request #1360 from profanity-im/legacy-auth

Make legacy auth optional
This commit is contained in:
Michael Vetter 2020-06-11 08:54:05 +02:00 committed by GitHub
commit be0b5bb2d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 1 deletions

View File

@ -129,11 +129,20 @@ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
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],
[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],
[LIBS="$libstrophe_LIBS $LIBS" CFLAGS="$CFLAGS $libstrophe_CFLAGS" XMPP_LIB="libstrophe" AC_DEFINE([HAVE_LIBSTROPHE], [1], [libstrophe])],
[AC_MSG_ERROR([Neither libmesode or libstrophe in version >= 0.9.3 found, either is required for profanity])])])
[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([[

View File

@ -59,6 +59,7 @@
#include "xmpp/connection.h"
#include "xmpp/session.h"
#include "xmpp/iq.h"
#include "ui/ui.h"
typedef struct prof_conn_t {
xmpp_log_t *xmpp_log;
@ -191,7 +192,13 @@ 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);
@ -204,7 +211,9 @@ 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
}