summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/default_config.cfg6
-rw-r--r--doc/en/configure.txt6
-rw-r--r--src/connection.py5
3 files changed, 17 insertions, 0 deletions
diff --git a/data/default_config.cfg b/data/default_config.cfg
index 5232eb06..dc5cc4d6 100644
--- a/data/default_config.cfg
+++ b/data/default_config.cfg
@@ -19,6 +19,12 @@ certificate =
# the same certificate.
ignore_certificate = false
+# The interval to send a whitespace keepalive to the server
+# 300 should be fine, except for specific services, in that case, change the
+# value to the services default.
+whitespace_interval = 300
+
+
# Path to the certificate authenticating the Authority
# A server may have several certificates, but if it uses a CA, it will often
# keep the same for obvious reasons, so this is a good option if your server
diff --git a/doc/en/configure.txt b/doc/en/configure.txt
index b8ea04cb..b6fe41bf 100644
--- a/doc/en/configure.txt
+++ b/doc/en/configure.txt
@@ -67,6 +67,12 @@ section of this documentation.
affected by _ignore_certificate_ and boths checks may be active at the same
time.
+*whitespace_interval*:: 300
+
+ Interval of the whitespace keepalive sending to the server.
+ 300 should be fine, but change it if some services have a stricter policy
+ on client inactivity.
+
*resource*:: [empty]
the resource you will use
diff --git a/src/connection.py b/src/connection.py
index 0e92755f..6ffa1cf7 100644
--- a/src/connection.py
+++ b/src/connection.py
@@ -45,6 +45,11 @@ class Connection(sleekxmpp.ClientXMPP):
self.auto_reconnect = True if config.get('auto_reconnect', 'false').lower() in ('true', '1') else False
self.auto_authorize = None
self.ca_certs = config.get('ca_cert_path', '') or None
+ interval = config.get('whitespace_interval', '300')
+ if interval.isnumeric():
+ self.whitespace_keepalive_interval = int(interval)
+ else:
+ self.whitespace_keepalive_interval = 300
self.register_plugin('xep_0030')
self.register_plugin('xep_0004')
self.register_plugin('xep_0045')