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

dev.gajim.org/gajim/gajim-plugins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/gotr
diff options
context:
space:
mode:
authorKjell Braden <afflux.gajim@pentabarf.de>2012-10-13 23:22:57 +0400
committerKjell Braden <afflux.gajim@pentabarf.de>2012-10-13 23:22:57 +0400
commit54f9be6b79ca87f88b9f41ab43eb2594f017f916 (patch)
treef66b268c6f531aacfd68a4b6cbe788ac4bb94870 /gotr
parent9e92cbda0b06e56ab060316cdd4505b8c2d20614 (diff)
gotr: fix license headers, fix html processing
Diffstat (limited to 'gotr')
-rw-r--r--gotr/otrmodule.py18
-rw-r--r--gotr/potr/__init__.py2
-rw-r--r--gotr/potr/compatcrypto/__init__.py7
-rw-r--r--gotr/potr/compatcrypto/common.py2
-rw-r--r--gotr/potr/compatcrypto/pycrypto.py2
-rw-r--r--gotr/potr/context.py14
-rw-r--r--gotr/potr/crypt.py2
-rw-r--r--gotr/potr/proto.py2
-rw-r--r--gotr/potr/utils.py2
9 files changed, 30 insertions, 21 deletions
diff --git a/gotr/otrmodule.py b/gotr/otrmodule.py
index 4d6d35a..1199d7f 100644
--- a/gotr/otrmodule.py
+++ b/gotr/otrmodule.py
@@ -54,7 +54,6 @@ ended_tip = 'The private chat session to this contact has <i>ended</i>'
inactive_tip = 'Communication to this contact is currently ' \
'<i>unencrypted</i>'
-import cgi
import logging
import os
import pickle
@@ -70,13 +69,13 @@ from message_control import TYPE_CHAT, MessageControl
from plugins.helpers import log_calls, log
from plugins.plugin import GajimPluginException
-from HTMLParser import HTMLParser
-from htmlentitydefs import name2codepoint
-
import ui
sys.path.insert(0, os.path.dirname(ui.__file__))
+from HTMLParser import HTMLParser
+from htmlentitydefs import name2codepoint
+
HAS_CRYPTO = True
try:
import Crypto
@@ -597,7 +596,7 @@ class OtrPlugin(GajimPlugin):
if event.resource:
fjid += '/' + event.resource
- message = event.xhtml or cgi.escape(event.message)
+ message = event.xhtml or escape(event.message)
try:
newmsg = self.us[event.account].getContext(fjid).sendMessage(
@@ -642,5 +641,14 @@ class HTMLStripper(HTMLParser):
if data.startswith('CDATA['):
self.data += data[6:]
+def escape(s):
+ '''Replace special characters "&", "<" and ">" to HTML-safe sequences.
+ If the optional flag quote is true, the quotation mark character (")
+ is also translated.'''
+ s = s.replace("&", "&amp;") # Must be done first!
+ s = s.replace("<", "&lt;")
+ s = s.replace(">", "&gt;")
+ return s
+
## TODO:
## - disconnect ctxs on disconnect
diff --git a/gotr/potr/__init__.py b/gotr/potr/__init__.py
index be3037a..965aed2 100644
--- a/gotr/potr/__init__.py
+++ b/gotr/potr/__init__.py
@@ -5,7 +5,7 @@
# python-potr is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
+# any later version.
#
# python-potr is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gotr/potr/compatcrypto/__init__.py b/gotr/potr/compatcrypto/__init__.py
index f245194..e0f82d0 100644
--- a/gotr/potr/compatcrypto/__init__.py
+++ b/gotr/potr/compatcrypto/__init__.py
@@ -5,7 +5,7 @@
# python-potr is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
+# any later version.
#
# python-potr is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,7 +18,4 @@
from potr.compatcrypto.common import *
-try:
- from potr.compatcrypto.pycrypto import *
-except ImportError:
- from potr.compatcrypto.pure import *
+from potr.compatcrypto.pycrypto import *
diff --git a/gotr/potr/compatcrypto/common.py b/gotr/potr/compatcrypto/common.py
index c24b193..5d6af40 100644
--- a/gotr/potr/compatcrypto/common.py
+++ b/gotr/potr/compatcrypto/common.py
@@ -5,7 +5,7 @@
# python-potr is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
+# any later version.
#
# python-potr is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gotr/potr/compatcrypto/pycrypto.py b/gotr/potr/compatcrypto/pycrypto.py
index ff508b4..dd93295 100644
--- a/gotr/potr/compatcrypto/pycrypto.py
+++ b/gotr/potr/compatcrypto/pycrypto.py
@@ -5,7 +5,7 @@
# python-potr is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
+# any later version.
#
# python-potr is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gotr/potr/context.py b/gotr/potr/context.py
index cd44de2..aa99f3a 100644
--- a/gotr/potr/context.py
+++ b/gotr/potr/context.py
@@ -5,7 +5,7 @@
# python-potr is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
+# any later version.
#
# python-potr is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -167,7 +167,7 @@ class Context(object):
IGN = None, []
if not self.policyOtrEnabled():
- return (messageData, [])
+ raise NotOTRMessage(messageData)
message = self.parse(messageData)
@@ -196,7 +196,7 @@ class Context(object):
# but we don't want plaintexts
raise UnencryptedMessage(message.msg)
- return (message.msg, [])
+ raise NotOTRMessage(message.msg)
return IGN
@@ -234,7 +234,7 @@ class Context(object):
if isinstance(message, proto.Error):
raise ErrorReceived(message)
- raise NotOTRMessage(message)
+ raise NotOTRMessage(messageData)
def sendInternal(self, msg, tlvs=[], appdata=None):
self.sendMessage(FRAGMENT_SEND_ALL, msg, tlvs=tlvs, appdata=appdata,
@@ -302,7 +302,7 @@ class Context(object):
self.setState(STATE_ENCRYPTED)
def sendFragmented(self, msg, policy=FRAGMENT_SEND_ALL, appdata=None):
- mms = self.user.maxMessageSize
+ mms = self.maxMessageSize(appdata)
msgLen = len(msg)
if mms != 0 and len(msg) > mms:
fms = mms - 19
@@ -433,6 +433,10 @@ class Context(object):
return message
+ def maxMessageSize(self, appdata=None):
+ """Return the max message size for this context."""
+ return self.user.maxMessageSize
+
class Account(object):
contextclass = Context
def __init__(self, name, protocol, maxMessageSize, privkey=None):
diff --git a/gotr/potr/crypt.py b/gotr/potr/crypt.py
index 6999fb1..ad5d663 100644
--- a/gotr/potr/crypt.py
+++ b/gotr/potr/crypt.py
@@ -5,7 +5,7 @@
# python-potr is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
+# any later version.
#
# python-potr is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gotr/potr/proto.py b/gotr/potr/proto.py
index 23a3c55..745a53d 100644
--- a/gotr/potr/proto.py
+++ b/gotr/potr/proto.py
@@ -5,7 +5,7 @@
# python-potr is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
+# any later version.
#
# python-potr is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gotr/potr/utils.py b/gotr/potr/utils.py
index ab883c1..2bedf55 100644
--- a/gotr/potr/utils.py
+++ b/gotr/potr/utils.py
@@ -5,7 +5,7 @@
# python-potr is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
+# any later version.
#
# python-potr is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of