diff options
author | Kjell Braden <afflux.gajim@pentabarf.de> | 2012-10-13 23:22:57 +0400 |
---|---|---|
committer | Kjell Braden <afflux.gajim@pentabarf.de> | 2012-10-13 23:22:57 +0400 |
commit | 54f9be6b79ca87f88b9f41ab43eb2594f017f916 (patch) | |
tree | f66b268c6f531aacfd68a4b6cbe788ac4bb94870 /gotr | |
parent | 9e92cbda0b06e56ab060316cdd4505b8c2d20614 (diff) |
gotr: fix license headers, fix html processing
Diffstat (limited to 'gotr')
-rw-r--r-- | gotr/otrmodule.py | 18 | ||||
-rw-r--r-- | gotr/potr/__init__.py | 2 | ||||
-rw-r--r-- | gotr/potr/compatcrypto/__init__.py | 7 | ||||
-rw-r--r-- | gotr/potr/compatcrypto/common.py | 2 | ||||
-rw-r--r-- | gotr/potr/compatcrypto/pycrypto.py | 2 | ||||
-rw-r--r-- | gotr/potr/context.py | 14 | ||||
-rw-r--r-- | gotr/potr/crypt.py | 2 | ||||
-rw-r--r-- | gotr/potr/proto.py | 2 | ||||
-rw-r--r-- | gotr/potr/utils.py | 2 |
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("&", "&") # Must be done first! + s = s.replace("<", "<") + s = s.replace(">", ">") + 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 |