diff --git a/doc/sql/mysql.sql b/doc/sql/mysql.sql index 753a340..a41fcfe 100644 --- a/doc/sql/mysql.sql +++ b/doc/sql/mysql.sql @@ -38,7 +38,6 @@ CREATE TABLE `sessions` ( `sensor` int(4) NOT NULL, `ip` varchar(15) NOT NULL default '', `termsize` varchar(7) default NULL, - `termtitle` varchar(255) default NULL, `client` int(4) default NULL, PRIMARY KEY (`id`), KEY `starttime` (`starttime`,`sensor`) diff --git a/doc/sql/update6.sql b/doc/sql/update6.sql new file mode 100644 index 0000000..660536a --- /dev/null +++ b/doc/sql/update6.sql @@ -0,0 +1,2 @@ +/* Remove an unnecessary feature */ +ALTER TABLE `sessions` DROP `termtitle` ; diff --git a/kippo/core/dblog.py b/kippo/core/dblog.py index 799afe9..e5b67d8 100644 --- a/kippo/core/dblog.py +++ b/kippo/core/dblog.py @@ -29,8 +29,6 @@ class DBLogger(object): self.handleInput), ('^Terminal size: (?P[0-9]+) (?P[0-9]+)$', self.handleTerminalSize), - ('^Terminal title: (?P.*)$', - self.handleTerminalTitle), ('^Remote SSH version: (?P<version>.*)$', self.handleClientVersion), )] @@ -123,10 +121,6 @@ class DBLogger(object): def handleTerminalSize(self, session, args): pass - # args has: title - def handleTerminalTitle(self, session, args): - pass - # args has: version def handleClientVersion(self, session, args): pass diff --git a/kippo/core/honeypot.py b/kippo/core/honeypot.py index 8fc2daa..fdebc6c 100644 --- a/kippo/core/honeypot.py +++ b/kippo/core/honeypot.py @@ -146,7 +146,6 @@ class HoneyPotProtocol(recvline.HistoricRecvLine): def connectionMade(self): recvline.HistoricRecvLine.connectionMade(self) - self.terminal.write('\x1b[21t', noLog = True) # terminal title self.cmdstack = [HoneyPotShell(self)] # You are in a maze of twisty little passages, all alike @@ -274,7 +273,6 @@ class LoggingServerProtocol(insults.ServerProtocol): print 'Opening TTY log: %s' % self.ttylog_file ttylog.ttylog_open(self.ttylog_file, time.time()) self.ttylog_open = True - self.terminal_title = None insults.ServerProtocol.connectionMade(self) def write(self, bytes, noLog = False): @@ -289,56 +287,6 @@ class LoggingServerProtocol(insults.ServerProtocol): self.ttylog_open = False insults.ServerProtocol.connectionLost(self, reason) - # extended from the standard to read \x1b]lXXXX\x1b\\ - def dataReceived(self, data): - for ch in data: - if self.state == 'data': - if ch == '\x1b': - self.state = 'escaped' - else: - self.terminalProtocol.keystrokeReceived(ch, None) - elif self.state == 'escaped': - if ch == '[': - self.state = 'bracket-escaped' - self.escBuf = [] - elif ch == 'O': - self.state = 'low-function-escaped' - elif ch == ']': - self.state = 'reverse-bracket-escaped' - else: - self.state = 'data' - self._handleShortControlSequence(ch) - elif self.state == 'bracket-escaped': - if ch == 'O': - self.state = 'low-function-escaped' - elif ch.isalpha() or ch == '~': - self._handleControlSequence(''.join(self.escBuf) + ch) - del self.escBuf - self.state = 'data' - else: - self.escBuf.append(ch) - elif self.state == 'low-function-escaped': - self._handleLowFunctionControlSequence(ch) - self.state = 'data' - elif self.state == 'reverse-bracket-escaped': - if ch == 'l': - self.titleBuf = [] - self.state = 'title-escaped' - self.title_escaped = False - elif self.state == 'title-escaped': - if ch == '\x1b': - self.title_escaped = True - elif self.title_escaped and ch == '\\': - self.terminal_title = ''.join(self.titleBuf) - print 'Terminal title: %s' % (self.terminal_title,) - self.state = 'data' - del self.titleBuf - else: - self.titleBuf.append(ch) - else: - raise ValueError("Illegal state") - # insults.ServerProtocol.dataReceived(self, data) - class HoneyPotAvatar(avatar.ConchUser): implements(conchinterfaces.ISession) diff --git a/kippo/dblog/mysql.py b/kippo/dblog/mysql.py index 67d8153..33b0093 100644 --- a/kippo/dblog/mysql.py +++ b/kippo/dblog/mysql.py @@ -118,11 +118,6 @@ class DBLogger(dblog.DBLogger): ' WHERE `id` = %s', ('%sx%s' % (args['width'], args['height']), session)) - def handleTerminalTitle(self, session, args): - self.simpleQuery('UPDATE `sessions` SET `termtitle` = %s' + \ - ' WHERE `id` = %s', - (args['title'], session)) - @defer.inlineCallbacks def handleClientVersion(self, session, args): r = yield self.db.runQuery(