diff options
author | James Booth <boothj5@gmail.com> | 2016-08-18 00:29:33 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2016-08-18 00:29:33 +0100 |
commit | 71dcb2e427ec3e7e15f2131f18d64b84fc6230f8 (patch) | |
tree | 15cd74ed0c6051ab944fd786ab7538e22643d1f8 | |
parent | 4de570b1ee34bad2e7565df6a426e497485a5708 (diff) | |
download | profani-tty-71dcb2e427ec3e7e15f2131f18d64b84fc6230f8.tar.gz |
Only include lastactivity feature in disco responses when enabled
-rw-r--r-- | src/command/cmd_funcs.c | 6 | ||||
-rw-r--r-- | src/xmpp/capabilities.c | 5 | ||||
-rw-r--r-- | src/xmpp/xmpp.h | 1 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index ede549b4..16f25abd 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -4524,6 +4524,12 @@ cmd_lastactivity(ProfWin *window, const char *const command, gchar **args) { if ((g_strcmp0(args[0], "on") == 0) || (g_strcmp0(args[0], "off") == 0)) { _cmd_set_boolean_preference(args[0], command, "Last activity", PREF_LASTACTIVITY); + if (g_strcmp0(args[0], "on") == 0) { + caps_add_feature(XMPP_FEATURE_LASTACTIVITY); + } + if (g_strcmp0(args[0], "off") == 0) { + caps_remove_feature(XMPP_FEATURE_LASTACTIVITY); + } return TRUE; } diff --git a/src/xmpp/capabilities.c b/src/xmpp/capabilities.c index 17d60e36..6ca3a29e 100644 --- a/src/xmpp/capabilities.c +++ b/src/xmpp/capabilities.c @@ -105,8 +105,9 @@ caps_init(void) if (prefs_get_boolean(PREF_RECEIPTS_SEND)) { g_hash_table_add(prof_features, strdup(STANZA_NS_RECEIPTS)); } - g_hash_table_add(prof_features, strdup(STANZA_NS_LASTACTIVITY)); - + if (prefs_get_boolean(PREF_LASTACTIVITY)) { + g_hash_table_add(prof_features, strdup(STANZA_NS_LASTACTIVITY)); + } my_sha1 = NULL; } diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h index 821abfd6..80245b2d 100644 --- a/src/xmpp/xmpp.h +++ b/src/xmpp/xmpp.h @@ -57,6 +57,7 @@ #define XMPP_FEATURE_BLOCKING "urn:xmpp:blocking" #define XMPP_FEATURE_RECEIPTS "urn:xmpp:receipts" +#define XMPP_FEATURE_LASTACTIVITY "jabber:iq:last" typedef enum { JABBER_CONNECTING, |