plugin XEP-0065: some cleaning:
- reordered imports and removed useless try/except - log warning before sending error - avoid crash if connection is lost before session has has been received in server mode. - fixed missing string formatting keywords - renamed incorrect attribute and show explicitly that it's not used
This commit is contained in:
parent
876ec80598
commit
1fc6c1f66b
1 changed files with 22 additions and 23 deletions
|
|
@ -54,13 +54,11 @@
|
|||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
|
||||
from sat.core.i18n import _
|
||||
from sat.core.log import getLogger
|
||||
|
||||
log = getLogger(__name__)
|
||||
from sat.core.constants import Const as C
|
||||
from sat.core import exceptions
|
||||
from sat.tools import sat_defer
|
||||
import struct
|
||||
import hashlib
|
||||
import uuid
|
||||
from collections import namedtuple
|
||||
from zope.interface import implementer
|
||||
from twisted.internet import protocol
|
||||
from twisted.internet import reactor
|
||||
from twisted.internet import error as internet_error
|
||||
|
|
@ -68,19 +66,15 @@ from twisted.words.protocols.jabber import error as jabber_error
|
|||
from twisted.words.protocols.jabber import jid
|
||||
from twisted.words.protocols.jabber import xmlstream
|
||||
from twisted.internet import defer
|
||||
from collections import namedtuple
|
||||
import struct
|
||||
import hashlib
|
||||
import uuid
|
||||
|
||||
from zope.interface import implementer
|
||||
|
||||
try:
|
||||
from twisted.words.protocols.xmlstream import XMPPHandler
|
||||
except ImportError:
|
||||
from wokkel.subprotocols import XMPPHandler
|
||||
|
||||
from wokkel import disco, iwokkel
|
||||
from sat.core.i18n import _
|
||||
from sat.core.log import getLogger
|
||||
from sat.core.constants import Const as C
|
||||
from sat.core import exceptions
|
||||
from sat.tools import sat_defer
|
||||
|
||||
|
||||
log = getLogger(__name__)
|
||||
|
||||
|
||||
PLUGIN_INFO = {
|
||||
|
|
@ -508,12 +502,12 @@ class SOCKSv5(protocol.Protocol):
|
|||
def connectRequested(self, addr, port):
|
||||
# Check that this session is expected
|
||||
if not self.factory.addToSession(addr.decode('utf-8'), self):
|
||||
self.sendErrorReply(REPLY_CONN_REFUSED)
|
||||
log.warning(
|
||||
"Unexpected connection request received from {host}".format(
|
||||
host=self.transport.getPeer().host
|
||||
)
|
||||
)
|
||||
self.sendErrorReply(REPLY_CONN_REFUSED)
|
||||
return
|
||||
self._session_hash = addr.decode('utf-8')
|
||||
self.connectCompleted(addr, 0)
|
||||
|
|
@ -592,7 +586,12 @@ class SOCKSv5(protocol.Protocol):
|
|||
if self.state != STATE_READY:
|
||||
self.connection.errback(reason)
|
||||
if self.server_mode:
|
||||
self.factory.removeFromSession(self._session_hash, self, reason)
|
||||
try:
|
||||
session_hash = self._session_hash
|
||||
except AttributeError:
|
||||
log.debug("no session has been received yet")
|
||||
else:
|
||||
self.factory.removeFromSession(session_hash, self, reason)
|
||||
|
||||
|
||||
class Socks5ServerFactory(protocol.ServerFactory):
|
||||
|
|
@ -822,7 +821,7 @@ class XEP_0065(object):
|
|||
except jabber_error.StanzaError as failure:
|
||||
log.warning(
|
||||
"Error while requesting proxy info on {jid}: {error}".format(
|
||||
proxy.full(), failure
|
||||
jid=proxy.full(), error=failure
|
||||
)
|
||||
)
|
||||
notFound(server)
|
||||
|
|
@ -1057,7 +1056,7 @@ class XEP_0065(object):
|
|||
)
|
||||
candidates[candidates.index(candidate)] = None
|
||||
|
||||
def allTested(self):
|
||||
def allTested(__):
|
||||
log.debug("All candidates have been tested")
|
||||
good_candidates = [c for c in candidates if c]
|
||||
return good_candidates[0] if good_candidates else None
|
||||
|
|
@ -1379,7 +1378,7 @@ class XEP_0065(object):
|
|||
|
||||
|
||||
@implementer(iwokkel.IDisco)
|
||||
class XEP_0065_handler(XMPPHandler):
|
||||
class XEP_0065_handler(xmlstream.XMPPHandler):
|
||||
|
||||
def __init__(self, plugin_parent):
|
||||
self.plugin_parent = plugin_parent
|
||||
|
|
|
|||
Loading…
Reference in a new issue