Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjs <js-gajim@webkeks.org>2008-08-10 01:13:41 +0400
committerjs <js-gajim@webkeks.org>2008-08-10 01:13:41 +0400
commit0f41f0613a534d5e70ccb322ceda3c83e01f5b85 (patch)
treeb8d514909879750b32e59c772c1f27dd1bc9b603
parent3e0ed305a81d11b3ab671115b33fea2c3c0a10d4 (diff)
Revert r10159 as this breaks it completely. It's not possible to
disable E2E if for example the logging settings differ. Makes chatting with such contacts impossible.
-rw-r--r--src/chat_control.py17
-rwxr-xr-xsrc/gajim.py3
2 files changed, 10 insertions, 10 deletions
diff --git a/src/chat_control.py b/src/chat_control.py
index 8e65afe95..b31ec65fb 100644
--- a/src/chat_control.py
+++ b/src/chat_control.py
@@ -1153,6 +1153,7 @@ class ChatControl(ChatControlBase):
self.print_esession_details()
# Enable encryption if needed
+ self.no_autonegotiation = False
e2e_is_active = self.session and self.session.enable_encryption
self.gpg_is_active = False
gpg_pref = gajim.config.get_per('contacts', contact.jid,
@@ -2324,22 +2325,18 @@ class ChatControl(ChatControlBase):
self.account, 'autonegotiate_esessions') and \
gajim.config.get_per('contacts',
self.contact.jid, 'autonegotiate_esessions')
-
want_e2e = not e2e_is_active and not self.gpg_is_active \
and e2e_pref
- already_negotiating = bool(self.session and \
- self.session.status)
-
# XXX: Once we have fallback to disco, remove
# notexistant check
- can_e2e = gajim.HAVE_PYCRYPTO and gajim.capscache. \
- is_supported(self.contact, NS_ESESSION) and \
- not gajim.capscache.is_supported(self.contact,
- 'notexistant')
-
- if want_e2e and not already_negotiating and can_e2e:
+ if want_e2e and not self.no_autonegotiation \
+ and gajim.HAVE_PYCRYPTO \
+ and gajim.capscache.is_supported(self.contact,
+ NS_ESESSION) and not gajim.capscache.is_supported(
+ self.contact, 'notexistant'):
self.begin_e2e_negotiation()
+ self.no_autonegotiation = True
else:
self.send_chatstate('active', self.contact)
diff --git a/src/gajim.py b/src/gajim.py
index 73f76d7d1..dd9c73752 100755
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -816,6 +816,9 @@ class Interface:
for sess in conn.get_sessions(ji):
if (ji+'/'+resource) != str(sess.jid):
continue
+ ctrl = sess.control
+ if ctrl:
+ ctrl.no_autonegotiation = False
if sess.enable_encryption:
sess.terminate_e2e()
conn.delete_session(jid,