Re: [Twisted-Python] Screen clearing in the Manhole

2015-08-26 Thread Peter Westlake
I found it! Manhole.terminalSize, inherited from RecvLine, does self.terminal.eraseDisplay(). t.c.manhole_ssh.TerminalSessionTransport.__init__ calls terminalSize *after* makeConnection. Since setting the terminal size is a sensible thing to do, and it can't be done before the connection is made

Re: [Twisted-Python] Screen clearing in the Manhole

2015-08-26 Thread Peter Westlake
On Tue, 25 Aug 2015, at 23:58, John Santos wrote: ... > t.c.r.R.connectionMade() calls self.initializeScreen(), which in turn > calls self.terminal.reset() > > I'm pretty sure s.t.reset() is actually twisted.conch.insults.reset(), > which has a bug (or an undesirable feature), it sends a "hard re

Re: [Twisted-Python] Screen clearing in the Manhole

2015-08-26 Thread Peter Westlake
On Tue, 25 Aug 2015, at 22:26, Brian Costlow wrote: > As to where it happens, look at > twisted.conch.recvline.RecvLine.connectionMade() and > twisted.conch.insults.insults.TerminalProtocol.makeConnection() My subclass of Manhole first calls Manhole.connectionMade, which calls HistoricRecvLine.co

Re: [Twisted-Python] Screen clearing in the Manhole

2015-08-25 Thread J Todd Ulrich
5:58 PM To: Twisted general discussion Reply To: Twisted general discussion Subject: Re: [Twisted-Python] Screen clearing in the Manhole Someone wrote: (Sorry, reply in my mail client doesn't give me an editable text version of the mail. Instead, it is including it as an attachment. I don&#

Re: [Twisted-Python] Screen clearing in the Manhole

2015-08-25 Thread John Santos
Someone wrote: (Sorry, reply in my mail client doesn't give me an editable text version of the mail. Instead, it is including it as an attachment. I don't know why this happens. I do know from bitter experience that if I don't delete the attachments from my reply, users of brain-dead mail cli

Re: [Twisted-Python] Screen clearing in the Manhole

2015-08-25 Thread Brian Costlow
As to where it happens, look at twisted.conch.recvline.RecvLine.connectionMade() and twisted.conch.insults.insults.TerminalProtocol.makeConnection() You could step on the RecvLine. initializeScreen(), but I have no idea what the side effects are. (And of course if you bypass all or part of it, eve

[Twisted-Python] Screen clearing in the Manhole

2015-08-25 Thread Peter Westlake
I'm making a manhole service in the usual way: class PF(ServerProtocol):    def protocolFactory(*a, **kw): return manhole.Manhole(namespace) realm = manhole_ssh.TerminalRealm()    realm.chainedProtocolFactory = PF mh_portal = portal.Portal(realm)    mh_portal.registerChecker(checker) manhole