summaryrefslogtreecommitdiff
blob: 046c72c0ca2d1feac152aa80e44ff315b355b4f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
From 285392b27db7cb01b0566b4bda3920e6559b75e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Philipp=20H=C3=B6rist?= <forenjunkie@chello.at>
Date: Fri, 26 May 2017 23:10:05 +0200
Subject: [PATCH] Add config option to activate XEP-0146 commands

Some of the Commands have security implications, thats why we disable them per default
Fixes #8378
---
 src/common/commands.py | 7 ++++---
 src/common/config.py   | 1 +
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/common/commands.py b/src/common/commands.py
index 40d700710..46d6947f8 100644
--- a/src/common/commands.py
+++ b/src/common/commands.py
@@ -345,9 +345,10 @@ class ConnectionCommands:
     def __init__(self):
         # a list of all commands exposed: node -> command class
         self.__commands = {}
-        for cmdobj in (ChangeStatusCommand, ForwardMessagesCommand,
-        LeaveGroupchatsCommand, FwdMsgThenDisconnectCommand):
-            self.__commands[cmdobj.commandnode] = cmdobj
+        if gajim.config.get('remote_commands'):
+            for cmdobj in (ChangeStatusCommand, ForwardMessagesCommand,
+            LeaveGroupchatsCommand, FwdMsgThenDisconnectCommand):
+                self.__commands[cmdobj.commandnode] = cmdobj
 
         # a list of sessions; keys are tuples (jid, sessionid, node)
         self.__sessions = {}
diff --git a/src/common/config.py b/src/common/config.py
index 3884d9e1d..7c1313fc4 100644
--- a/src/common/config.py
+++ b/src/common/config.py
@@ -313,6 +313,7 @@ class Config:
             'ignore_incoming_attention': [opt_bool, False, _('If True, Gajim will ignore incoming attention requestd ("wizz").')],
             'remember_opened_chat_controls': [ opt_bool, True, _('If enabled, Gajim will reopen chat windows that were opened last time Gajim was closed.')],
             'positive_184_ack': [ opt_bool, False, _('If enabled, Gajim will show an icon to show that sent message has been received by your contact')],
+            'remote_commands': [opt_bool, False, _('If True, Gajim will execute XEP-0146 Commands.')],
     }, {})
 
     __options_per_key = {
-- 
2.12.2