projects
/
mudpy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Be more explicit with periods in test matches
[mudpy.git]
/
lib
/
mudpy
/
telnet.py
diff --git
a/lib/mudpy/telnet.py
b/lib/mudpy/telnet.py
index
e7a0c86
..
9feac03
100644
(file)
--- a/
lib/mudpy/telnet.py
+++ b/
lib/mudpy/telnet.py
@@
-1,10
+1,11
@@
-# -*- coding: utf-8 -*-
-u"""Telnet functions and constants for the mudpy engine."""
+"""Telnet functions and constants for the mudpy engine."""
-# Copyright (c) 2004-201
1
Jeremy Stanley <fungi@yuggoth.org>. Permission
+# Copyright (c) 2004-201
5
Jeremy Stanley <fungi@yuggoth.org>. Permission
# to use, copy, modify, and distribute this software is granted under
# terms provided in the LICENSE file distributed with this software.
# to use, copy, modify, and distribute this software is granted under
# terms provided in the LICENSE file distributed with this software.
+import mudpy
+
# telnet options (from bsd's arpa/telnet.h since telnetlib's are ambiguous)
TELOPT_BINARY = 0 # transmit 8-bit data by the receiver (rfc 856)
TELOPT_ECHO = 1 # echo received data back to the sender (rfc 857)
# telnet options (from bsd's arpa/telnet.h since telnetlib's are ambiguous)
TELOPT_BINARY = 0 # transmit 8-bit data by the receiver (rfc 856)
TELOPT_ECHO = 1 # echo received data back to the sender (rfc 857)
@@
-48,19
+49,17
@@
US = 1
def telnet_proto(*arguments):
def telnet_proto(*arguments):
- u"""Return a concatenated series of Telnet protocol commands."""
- # (this will need to be byte type during 2to3 migration)
- return "".join([chr(x) for x in arguments])
+ """Return a concatenated series of Telnet protocol commands."""
+ return bytes((arguments))
def send_command(user, *command):
def send_command(user, *command):
-
u
"""Sends a Telnet command string to the specified user's socket."""
+ """Sends a Telnet command string to the specified user's socket."""
user.send(telnet_proto(IAC, *command), raw=True)
def is_enabled(user, telopt, party, state=YES):
user.send(telnet_proto(IAC, *command), raw=True)
def is_enabled(user, telopt, party, state=YES):
- u"""Returns True if the indicated Telnet option is enabled, False if
- not."""
+ """Indicates whether a specified Telnet option is enabled."""
if (telopt, party) in user.telopts and user.telopts[
(telopt, party)
] is state:
if (telopt, party) in user.telopts and user.telopts[
(telopt, party)
] is state:
@@
-70,7
+69,7
@@
def is_enabled(user, telopt, party, state=YES):
def enable(user, telopt, party):
def enable(user, telopt, party):
-
u
"""Negotiates enabling a Telnet option for the indicated user's socket."""
+ """Negotiates enabling a Telnet option for the indicated user's socket."""
if party is HIM:
txpos = DO
else:
if party is HIM:
txpos = DO
else:
@@
-87,8
+86,7
@@
def enable(user, telopt, party):
def disable(user, telopt, party):
def disable(user, telopt, party):
- u"""Negotiates disabling a Telnet option for the indicated user's
- socket."""
+ """Negotiates disabling a Telnet option for the user's socket."""
if party is HIM:
txneg = DONT
else:
if party is HIM:
txneg = DONT
else:
@@
-105,8
+103,7
@@
def disable(user, telopt, party):
def negotiate_telnet_options(user):
def negotiate_telnet_options(user):
- u"""Reply to and remove telnet negotiation options from partial_input."""
- import misc
+ """Reply to and remove telnet negotiation options from partial_input."""
# make a local copy to play with
text = user.partial_input
# make a local copy to play with
text = user.partial_input
@@
-126,8
+123,7
@@
def negotiate_telnet_options(user):
break
# the byte following the IAC is our command
break
# the byte following the IAC is our command
- # (this will need to be byte type during 2to3 migration)
- command = ord(text[position + 1])
+ command = text[position+1]
# replace a double (literal) IAC if there's an LF later
if command is IAC:
# replace a double (literal) IAC if there's an LF later
if command is IAC:
@@
-139,8
+135,7
@@
def negotiate_telnet_options(user):
# implement an RFC 1143 option negotiation queue here
elif len_text > position + 2 and WILL <= command <= DONT:
# implement an RFC 1143 option negotiation queue here
elif len_text > position + 2 and WILL <= command <= DONT:
- # this will need to be byte type during 2to3 migration
- telopt = ord(text[position + 2])
+ telopt = text[position+2]
if telopt in supported:
if command <= WONT:
party = HIM
if telopt in supported:
if command <= WONT:
party = HIM
@@
-184,12
+179,10
@@
def negotiate_telnet_options(user):
# subnegotiation options
elif len_text > position + 4 and command is SB:
# subnegotiation options
elif len_text > position + 4 and command is SB:
- # this will need to be byte type during 2to3 migration
telopt = ord(text[position + 2])
if telopt is TELOPT_NAWS:
telopt = ord(text[position + 2])
if telopt is TELOPT_NAWS:
- # this will need to be byte type during 2to3 migration
- user.columns = ord(text[position + 3]) * \
- 256 + ord(text[position + 4])
+ user.columns = (
+ ord(text[position + 3]) * 256 + ord(text[position + 4]))
end_subnegotiation = text.find(telnet_proto(IAC, SE), position)
if end_subnegotiation > 0:
text = text[:position] + text[end_subnegotiation + 2:]
end_subnegotiation = text.find(telnet_proto(IAC, SE), position)
if end_subnegotiation > 0:
text = text[:position] + text[end_subnegotiation + 2:]
@@
-198,7
+191,7
@@
def negotiate_telnet_options(user):
# otherwise, strip out a two-byte IAC command
elif len_text > position + 2:
# otherwise, strip out a two-byte IAC command
elif len_text > position + 2:
- m
isc.log(u
"Unknown Telnet IAC command %s ignored." % command)
+ m
udpy.misc.log(
"Unknown Telnet IAC command %s ignored." % command)
text = text[:position] + text[position + 2:]
# and this means we got the begining of an IAC
text = text[:position] + text[position + 2:]
# and this means we got the begining of an IAC