From 8bbdcc6e084b59027cac6f2463968af1f33b1793 Mon Sep 17 00:00:00 2001
From: Ruben <ruben@rubenkerkhof.com>
Date: Sun, 17 Oct 2010 17:16:14 +0200
Subject: [PATCH 05/14] 05_ssh-port.diff from Debian
---
ajaxterm.py | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/ajaxterm.py b/ajaxterm.py
index 8b3af37..63b0444 100755
--- a/ajaxterm.py
+++ b/ajaxterm.py
@@ -367,9 +367,10 @@ class SynchronizedMethod:
return r
class Multiplex:
- def __init__(self,cmd=None):
+ def __init__(self,cmd=None,serverport=None):
signal.signal(signal.SIGCHLD, signal.SIG_IGN)
self.cmd=cmd
+ self.serverport=serverport
self.proc={}
self.lock=threading.RLock()
self.thread=threading.Thread(target=self.loop)
@@ -403,7 +404,10 @@ class Multiplex:
cmd+=['-oPreferredAuthentications=keyboard-interactive,password']
cmd+=['-oNoHostAuthenticationForLocalhost=yes']
cmd+=['-oLogLevel=FATAL']
- cmd+=['-F/dev/null','-l',login,'localhost']
+ cmd+=['-F/dev/null']
+ if self.serverport:
+ cmd+=['-p %s'%self.serverport]
+ cmd+=['-l', login, 'localhost']
else:
os._exit(0)
env={}
@@ -473,7 +477,7 @@ class Multiplex:
pass
class AjaxTerm:
- def __init__(self,cmd=None,index_file='ajaxterm.html'):
+ def __init__(self,cmd=None,index_file='ajaxterm.html',serverport=None):
self.files={}
for i in ['css','html','js']:
for j in glob.glob('*.%s'%i):
@@ -481,7 +485,7 @@ class AjaxTerm:
self.files['index']=file(index_file).read()
self.mime = mimetypes.types_map.copy()
self.mime['.html']= 'text/html; charset=UTF-8'
- self.multi = Multiplex(cmd)
+ self.multi = Multiplex(cmd,serverport)
self.session = {}
def __call__(self, environ, start_response):
req = qweb.QWebRequest(environ, start_response,session=None)
@@ -528,6 +532,7 @@ def main():
parser.add_option("-P", "--pidfile",dest="pidfile",default="/var/run/ajaxterm.pid",help="set the pidfile (default: /var/run/ajaxterm.pid)")
parser.add_option("-i", "--index", dest="index_file", default="ajaxterm.html",help="default index file (default: ajaxterm.html)")
parser.add_option("-u", "--uid", dest="uid", help="Set the daemon's user id")
+ parser.add_option("-s", "--serverport", dest="serverport", help="Use a different port than 22 to connect to the ssh server")
(o, a) = parser.parse_args()
if o.daemon:
pid=os.fork()
@@ -553,7 +558,7 @@ def main():
sys.exit(0)
else:
print 'AjaxTerm at http://localhost:%s/' % o.port
- at=AjaxTerm(o.cmd,o.index_file)
+ at=AjaxTerm(o.cmd,o.index_file,o.serverport)
# f=lambda:os.system('firefox http://localhost:%s/&'%o.port)
# qweb.qweb_wsgi_autorun(at,ip='localhost',port=int(o.port),threaded=0,log=o.log,callback_ready=None)
try:
--
1.7.3.1