Git Product home page Git Product logo

web-shell's Introduction

--------------------------------------------------------------------
WebShell 0.9.6
(C) 2007 by Marc S. Ressl
Released under the GPL 2.0
http://www-personal.umich.edu/~mressl/webshell

--------------------------------------------------------------------
WebShell is a web-based ssh shell.

It runs on any browser capable of JavaScript and AJAX. You can use
it from any computer or iPhone/smartphone.

The server is written in Python and is very easy to set up on Linux,
Mac OS X, *BSD, Solaris, and any Unix that runs python 2.3.

WebShell is based on Ajaxterm.

If you have any questions, use the forum on the website.

--------------------------------------------------------------------
Features

VT100, ECMA-48 terminal emulation
Integrated secure http server
UTF-8, with chinese/japanese wide glyph support
Virtual keyboard for iPhone users
Changeable appearance
Compliant with vttest

Planned Features

VT52 terminal emulation

Security

WebShell communications are as secure as a regular secure shell, as
both ssh and WebShell are on top of the SSL/TLS layer.

The code has been tested against buffer overflow and denial of
service. If you find any problem, please report it on the webpage.

--------------------------------------------------------------------
Installation

It is very easy to set up WebShell.

First, you need to make sure python 2.3 or later and OpenSSL are
installed on your system. You will also have to install the
pyOpenSSL python extensions to OpenSSL.

Next, you need to generate a server certificate. From the WebShell
directory enter this command to quickly generate a certificate:

    ./make_certificate.sh

Now issue this command to run the server:

    ./webshell.py

To make sure that everything went well, go to this URL in your
browser:

    https://127.0.0.1:8022

You can change WebShell's background by overwriting the
background.jpg file. You can also change the display colors in
webshell.css. Restart the server afterwards to make your changes
effective.

Voila, enjoy WebShell.

--------------------------------------------------------------------
Thanks

Special thanks to Nicholas Jitkoff (the author of Quicksilver), for
helping to debug the user interface.

Also, special thanks go to Brad Choate (UI ideas, HTML fixes),
Adam Olsen (UI contributions), mountainboy (for fixing HMTL stuff),
hzink (UI ideas).

web-shell's People

web-shell's Issues

make_certificate.sh generates insecure data

make_certificate.sh has two serious security problems (which is way too
much for a 4 line shell script!).

1) It overrides pseudo random number generator's seed with a predictable
value. It tries to compress /var/log/system.log and use it as a seed for
PRNG. This is silly for two reasons:

a) if /var/log/system.log exists on a given system, the result is quite
predictable (an attacker would have to either steal the system.log and try
compressing all possible truncations of that file to guess the PRNG output,
which isn't so hard, or try to guess its contents, which is still easier
than trying to brute force the key).
b) if /var/log/system.log doesn't exist (true for almost all Linux
distributions), this results in an empty file being used for seeding the
PRNG and the outcome is 100% predictable!

One shouldn't override openssl's PRNG handling without a good reason, and
when implemented in a way like in make_certificate.sh, it results in
gigantic security hole.

All 3 lines that mess with OpenSSL's PRNG should be eliminated, otherwise
they beat the purpose of SSL by making it easily crackable.

2) umask 077 should be set before generating the PEM key+certificate file,
otherwise the file ends up being world-readable. The file which holds the
private key! This is obviously insecure.

I'm attaching a patch against SVN that fixes both issues.

Original issue reported on code.google.com by [email protected] on 29 Sep 2008 at 10:04

Attachments:

screen size

A feature that would be nice is the ability to set the screen size.  Something 
like

https://localhost:8022/?120x50

Rather than being stuck with the normal iPhone resolution.  Your app is far 
more useful than just an 
iPhone app.



Original issue reported on code.google.com by [email protected] on 28 Oct 2008 at 2:06

*NOT AN ISSUE* Modified version of WebShell (0.9.6-tmalo)

Hi,

I didn't know where to put it so here it is.

This version of WebShell read a file (option -f) to get a list of programs
that can be launch. The file is a ini file with entries such as :

[programs]
appshortname1 = /path/to/my/app
appshortname2 = /path/to/my/app2

This version also provided a generated index with the corresponding html
file to access these programs.

We need this because we wanted a unique webshell to provide access to
different applications on a host.

Hope this is useful to anyone.

Original issue reported on code.google.com by [email protected] on 28 Mar 2008 at 5:06

Attachments:

toggleable text input as password to prevent auto-correct learning passwords, shoulder surfing

When typing in a password in webshell, the password is viewable in plain
text, and future typing of strings in browser can result in autocorrect
displaying it. Not to mention the string showing up in the local
autocorrect cache if using someone else's iphone.

Having a button to switch text input to password mode would solve shoulder
surfing, and, I believe, disable the iphone learning the password strings.

Original issue reported on code.google.com by [email protected] on 2 Aug 2007 at 6:46

Sending tab key

What steps will reproduce the problem?
1. Pressing tab on a PC browser will not send TAB to the server

I looked at the code and made two changes to webshell.js that made it work.
Here's the diff patch:

111d110
<               if (ev.keyCode == 9) setTimeout(function() {
window.focus(); }, 0);     // refocus window
129d127
<                       case 9: break;                  // Tab

Original issue reported on code.google.com by [email protected] on 14 Oct 2007 at 10:24

No UTF-8 support

What steps will reproduce the problem?
1. Displaying japanese text for example

What is the expected output? What do you see instead?
Garbage instead of UTF-8 symbols

Please use labels and text to provide additional information.



Original issue reported on code.google.com by [email protected] on 8 Jul 2007 at 12:15

Keyboard Macros

One really cool thing would be a page in the keyboard for macro's. I often have 
screen running on 
my server and would be nice to have 'next page' and 'last page' macros for 
example. Could also be 
useful for capturing commonly issued commands 'reboot now' for example. 

Original issue reported on code.google.com by [email protected] on 12 Dec 2007 at 4:48

Some symbols do not show up correctly on the iPhone

What steps will reproduce the problem?
1. Access WebShell from an iPhone

What is the expected output? What do you see instead?

Some symbols show up as boxes.

What version of the product are you using? On what operating system?

0.2.1

Please provide any additional information below.

Picture is attached.

Original issue reported on code.google.com by [email protected] on 30 Jun 2007 at 2:11

Attachments:

Sending TAB key under Firefox

What steps will reproduce the problem?
1. Hit TAB

What is the expected output? What do you see instead?
I expect the TAB to go to the shell, but rather it changes focus to the
address entry window, then the search engine window, then back to the main
screen.  Very annoying.


What version of the product are you using? On what operating system?
0.9.6, from Firefox 3.0.10 in WinXP

Please provide any additional information below.

To fix:
Add a line at 132 in webshell.js (in the case statement inside
if(ev.which==0) )

case 9:  break;  // Tab

Change line 166 from:
return true;
to
return false;

Now it seems to work just perfectly.

Original issue reported on code.google.com by [email protected] on 27 May 2009 at 7:55

Fast login/logout/close kills webshell

What steps will reproduce the problem?

1. SSL connect, log in, log out and close the browser window all within a
few seconds
2. Wait 60s
3. webshell.py crashes. 

What is the expected output? What do you see instead?

Expect webshell, but it's dead. Can't log in anymore.

What version of the product are you using? On what operating system?

0.9.6 with Python 2.3.4 on Linux 2.6.18

Please provide any additional information below.

Stack dump:

WebShell (https) at 0.0.0.0, port 8022
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.3/threading.py", line 436, in __bootstrap
    self.run()
  File "/usr/lib/python2.3/threading.py", line 416, in run
    self.__target(*self.__args, **self.__kwargs)
  File "webshell.py", line 1230, in proc_thread
    (fds, fd2sid) = self.proc_getalive()
  File "webshell.py", line 1023, in __call__
    r = self.orig(*l)
  File "webshell.py", line 1220, in proc_getalive
    self.proc_bury(sid)
  File "webshell.py", line 1158, in proc_bury
    self.proc_waitfordeath(sid)
  File "webshell.py", line 1144, in proc_waitfordeath
    del self.session[sid]['fd']
KeyError: 'fd'


This svn diff seems to fix it but hasn't been well tested.
It just guards against 'fd' and 'sid' going missing.  I guess you
could just check if the session is already dead instead; whatever...


Index: webshell.py
===================================================================
--- webshell.py (revision 72)
+++ webshell.py (working copy)
@@ -1141,12 +1141,12 @@
                        os.close(self.session[sid]['fd'])
                except (KeyError, IOError, OSError):
                        pass
-               del self.session[sid]['fd']
+               self.session[sid].pop('fd', None)
                try:
                        os.waitpid(self.session[sid]['pid'], 0)
                except (KeyError, IOError, OSError):
                        pass
-               del self.session[sid]['pid']
+               self.session[sid].pop('pid', None)
                self.session[sid]['state'] = 'dead'
                return True
        def proc_bury(self, sid):

Original issue reported on code.google.com by [email protected] on 15 Aug 2007 at 1:50

unable to log in using iphone in .91, .92 (only builds i've tested so far)

What steps will reproduce the problem?
1. visit shell in iphone
2. login prompt takes a long time to appear, but it eventually does
3. attempt to log in

What is the expected output? What do you see instead?
- expect to see my name, instead i see a place where my cursor should be.

What version of the product are you using? On what operating system?
- iphone

Please provide any additional information below.
- it works great in safari, just not on iphone. can someone recommend a build 
that does work on 
the iphone? tested and true?


Original issue reported on code.google.com by [email protected] on 28 Jul 2007 at 10:50

problems with python

What steps will reproduce the problem?
followed installation instructions on:
SunOS  5.8 Generic_117350-33 
sun4u sparc SUNW,Sun-Fire-280R

OpenSSL> version
OpenSSL 0.9.8a 11 Oct 2005


bash-2.03# ./webshell.py
The python SSL extensions seem to be not installed.
You can run WebShell without SSL encryption with the --ssl-disable command 
line switch.
bash-2.03# ./webshell.py --ssl-disable
WebShell (http) at 127.0.0.1, port 8022
(just hangs here)

What is the expected output? 
i would assume the script should end and then i should be listening to 
port 8022

What do you see instead? it just hangs. when i process the python code and 
look at debugging i see this:
(Pdb)
Traceback (most recent call last):
  File "/usr/local/lib/python2.5/pdb.py", line 1193, in main
    pdb._runscript(mainpyfile)
  File "/usr/local/lib/python2.5/pdb.py", line 1118, in _runscript
    self.run(statement, globals=globals_, locals=locals_)
  File "/usr/local/lib/python2.5/bdb.py", line 366, in run
    exec cmd in globals, locals
  File "<string>", line 1, in <module>
  File "webshell.py", line 27, in <module>
    os.chdir(os.path.normpath(os.path.dirname(__file__)))
NameError: name '__file__' is not defined
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program


What version of the product are you using? On what operating system?
SunOS  5.8 Generic_117350-33 
sun4u sparc SUNW,Sun-Fire-280R

trying: WebShell 0.9.5

Original issue reported on code.google.com by [email protected] on 8 Aug 2007 at 2:06

Daemon mode eats characters during session start

What steps will reproduce the problem?
1. Start in daemon mode
2. login
3. Login: is not readable

What is the expected output? What do you see instead?


Please use labels and text to provide additional information.



Original issue reported on code.google.com by [email protected] on 29 Jul 2007 at 10:47

svn trunk contains two background.jpg files

When checking out or updating from svn, I see that there are two files that 
differer only in case (i.e. 
"Background.jpg" and "background.jpg"). One of these should be deleted, as this 
causes problems 
on case-insensitive file systems, and makes checkouts impossible.

Original issue reported on code.google.com by [email protected] on 31 Jul 2007 at 4:50

Unable to use Ctrl-] in webshell sessions under firefox

What steps will reproduce the problem?
1. Hit Ctrl-] (to close a xen console on the remote machine)

What is the expected output? What do you see instead?
The keycode received by the code is 93 with control on.  To fix the
problem, I changed line 117 of webshell.js from saying "kc<=90" to "kc<=95".


What version of the product are you using? On what operating system?
0.9.6

Please provide any additional information below.
Fix is included above.

Original issue reported on code.google.com by [email protected] on 27 May 2009 at 3:53

Improve user interface

It would be great to have an alternative input (the textline input method 
should still be there, allows 
also paste).

The problem is we want to map the 127 ASCII characters, 12 function keys and 8 
cursor controls to 
the 7x4 keys to avoid the big finger problem.

Original issue reported on code.google.com by [email protected] on 27 Jul 2007 at 10:53

Browser/system testing

Test these browsers:
iPhone
Firefox (latest)
Konqueror
Safari (2.0 and 3.0)
Internet Explorer

Test systems:
Linux
Mac OS 10.4/10.5
Windows (cygwin)
Solaris

Original issue reported on code.google.com by [email protected] on 27 Jul 2007 at 10:35

Childs never seem to die

What steps will reproduce the problem?
1. Load Webshell in Browser
2. Do not login
3. Reload page and continue with 1.

What is the expected output? What do you see instead?
Various webshell childs are created and never die. The processes hang around 
for ever.

What version of the product are you using? On what operating system?
0.9.6 on Mac OS X Server 10.3.9

Please provide any additional information below.

It would be nice if webshell could clean up unused processes from time to time. 
Having too many 
webshell processes hang around often results in webshell no longer displaying 
the Login: 
prompt.

Stefan (talklists AT indes DASH s DOT de)


Original issue reported on code.google.com by [email protected] on 20 Nov 2007 at 6:11

Web-Shell hangs since 0.9.5 - Apache used for proxy connect.

What steps will reproduce the problem?
1. Launch webshell: /usr/local/web-shell/webshell.py --ssl-disable -p 8022 -d
2. Connect using local apache server as proxy connect over HTTPS (used to
be the only way to do HTTPS, still find it more convenient, port-wise).
3. Do stuff, then disconnect.
4. Wait 20 seconds or so (works fine if I reconnect immediately)
5. Reload browser window to reconnect.
6. Hangs without displaying login. 
7. Kill the several web-shell processes lying around.  (A new one for each
reload of browser window).
8. Go to step 1.

What is the expected output? What do you see instead?
See a single cursor indicator in upper corner after connect.

What version of the product are you using? On what operating system?
SVN HEAD, Gentoo Linux, worked without issues about 20 revisions ago,
around 0.9.5 or so.  After updating, started getting these problems.


Please provide any additional information below.

Oh, likely unrelated, but. Following appears in javascript error console
whether connection succeeds or not, continuously.
Error: no element found
Source File: https://localhost/u?s=931031973&w=80&h=24&k=
Line: 1, Column: 39
Source Code:
<?xml version="1.0" encoding="UTF-8"?>--------------------------------------^

Original issue reported on code.google.com by [email protected] on 18 Sep 2007 at 1:14

python call trace when WebShell used with parameter -i

What steps will reproduce the problem?
1. Install webshell
2. start webshell with -i etho --ssl-disable optons
3. The program does not start and am not able to come out of shell

What is the expected output? What do you see instead?
Expected:
When i select the required interface through which i want the webshell to
run, it should start without any problem.
Problem:
The followind call trace is produced and i am not able to come out of the
shell when ^c is issued... it just hangs

CallTrace:
srinivasa@schamart-1:~/WebShell-0.9.5/WebShell-0.9.5$ ./webshell.py -i eth0
--ssl-disable
Traceback (most recent call last):
  File "./webshell.py", line 1417, in <module>
    main()
  File "./webshell.py", line 1401, in main
    httpd = SecureHTTPServer(server_address, WebShellRequestHandler, o.cmd,
o.term, o.ssl_enabled, o.ssl_cert)
  File "./webshell.py", line 1329, in __init__
    self.server_bind()
  File "/usr/lib/python2.5/BaseHTTPServer.py", line 101, in server_bind
    SocketServer.TCPServer.server_bind(self)
  File "/usr/lib/python2.5/SocketServer.py", line 341, in server_bind
    self.socket.bind(self.server_address)
  File "<string>", line 1, in bind
socket.gaierror: (-5, 'No address associated with hostname')

What version of the product are you using? On what operating system?
WebShell-0.9.5

Please provide any additional information below.
Am using ubuntu 8.04.

Original issue reported on code.google.com by [email protected] on 16 Aug 2008 at 6:09

having issues with webshell.py executing without errors

What steps will reproduce the problem?
1. attempt to connect to port 8022 via SSL on browser (iPhone + Safari)
2. script kicks out the following immediately:

----
Exception happened during processing of request from ('192.168.1.202', 49236)
Traceback (most recent call last):
  File "/usr/local/lib/python2.4/SocketServer.py", line 222, in handle_request
    self.process_request(request, client_address)
  File "/usr/local/lib/python2.4/SocketServer.py", line 241, in process_request
    self.finish_request(request, client_address)
  File "/usr/local/lib/python2.4/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python2.4/SocketServer.py", line 521, in __init__
    self.handle()
  File "/usr/local/lib/python2.4/BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "/usr/local/lib/python2.4/BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "./webshell.py", line 1258, in do_GET
    if multiplex.proc_keepalive(sid, w, h):
  File "./webshell.py", line 1026, in __call__
    r = self.orig(*l)
  File "./webshell.py", line 1065, in proc_keepalive
    return self.proc_spawn(sid)
  File "./webshell.py", line 1026, in __call__
    r = self.orig(*l)
  File "./webshell.py", line 1130, in proc_spawn
    0, 0
OverflowError: signed integer is greater than maximum
----

What version of the product are you using? On what operating system?

This is webshell 0.9.2 on FreeBSD 6.2-RELEASE

Please provide any additional information below.

I updated ports and built the package for py-openssl which in turn built python 
2.4.4:

# pkginfo
...edit...
py24-openssl-0.6    Python interface to the OpenSSL library
python24-2.4.4      An interpreted object-oriented programming language


My understanding is that FreeBSD 6 is using OpenSSL and I have checked that I 
have it enabled in 
rc.conf, I also regularly SSH into this machine.  There is no Apache install on 
this machine but my 
understanding as well is that the web interface in webshell does not depend on 
that.

I have taken a look through sshd.conf and ssh.conf and haven't seen anything 
that seems too 
unusual.

Any help appreciated!

Thanks -
d.


Original issue reported on code.google.com by [email protected] on 29 Jul 2007 at 3:01

Width/font size/scaling issues (is this fixed?)

First off, WebShell is the best idea for the iPhone since sliced bread. 'Nuff 
said on that.

I was using .2.2 (via iPhone) for a while, and it was good, but the interface 
was a bit awkward. I 
noticed it had jumped to .9.4, so I updated. Nicer interface, but still a bit 
clunky (the "Back" 
button floating in mid-terminal is a bit weird, and there's a bit of jumpiness 
to the transition 
from viewing to input). 

When I login now, the login and password prompts are fine. The terminal window 
fits fully within 
a horizontal iPhone screen. After login, however, if I enter my first command 
"ls -al", suddenly 
the scaling alters radically. The relative font size is about 50% larger than 
the initial login prompt, 
and the right-hand side of my "ls" listing (the filenames) is off-screen. 
Pinching the screen does 
nothing -- it appears to be "zoomed-out" already -- but I'm only getting 
something like 47 
characters across the screen.

Sending "clear" restores the normal scaling. Some commands, e.g. "ps -axf" 
display fine (small 
font, no zoom), but "vi foo.txt" will display the same scale/font size issues.

Is there some bash configuration file in my shell that's responsible for this? 
Or is it WebShell? I 
can't duplicate the problem on a desktop browser, and iPhoney seems to not 
support SSL 
connections or something (hitting the URL in iPhoney goes nowhere, and 
generates an "ssl 
handshake failure" on my server).


Original issue reported on code.google.com by [email protected] on 1 Aug 2007 at 3:35

Installer for Mac OS X

Would:

* Include a precompiled version of pyOpenSSL, and install itself.
* Set up the service automatically.
* Still unsure about http simple authentication

Original issue reported on code.google.com by [email protected] on 28 Jul 2007 at 5:22

Some symbols do not show up correctly on the iPhone

What steps will reproduce the problem?
1. Access WebShell from an iPhone

What is the expected output? What do you see instead?

Some symbols show up as boxes.

What version of the product are you using? On what operating system?

0.2.1

Please provide any additional information below.

Picture is attached.

Original issue reported on code.google.com by [email protected] on 30 Jun 2007 at 2:12

Attachments:

make_certificate.sh does not work as intended on Linux

What steps will reproduce the problem?
1. unzip WebShell-0.9.5.zip
2. issue ./make_certificate.sh


What is the expected output? What do you see instead?
Expected output:
1913 semi-random bytes loaded
Generating a 1024 bit RSA private key
.........++++++
................++++++
writing new private key to 'webshell.pem'
-----


Output:
gzip: /var/log/system.log: No such file or directory
0 semi-random bytes loaded
rm: cannot remove `random.dat': No such file or directory
Generating a 1024 bit RSA private key
............................++++++
.....++++++
writing new private key to 'webshell.pem'


What version of the product are you using? On what operating system?
WebShell 0.9.5
Debian GNU/Linux 3.1 and 4.0

Please provide any additional information below.

This can easily be fixed:

#! /bin/sh
if [ -r /var/log/system.log ]; then
        gzip -c --best /var/log/system.log > /tmp/random.dat
elif [ -r /var/log/syslog ]; then
        gzip -c --best /var/log/syslog > /tmp/random.dat
else
        echo "Could not read /var/log/system.log or /var/log/syslog"
        exit
fi
openssl rand -rand file:/tmp/random.dat 0
if [ -w /tmp/random.dat ]; then
        rm /tmp/random.dat
else
        echo "could not remove /tmp/random.dat"
fi

openssl req  -config "make_certificate.cfg" -keyout "webshell.pem" -newkey
rsa:1024 -nodes -x509 -days 365 -out "webshell.pem"


Original issue reported on code.google.com by [email protected] on 20 Aug 2007 at 1:50

SSL chains with intermediate certificates broken

What steps will reproduce the problem?
1. Use a PEM chain which requires an intermediate certificate (such as from 
Verisign)
2. Go to the web site in a browers
3. The program will only transmit the first certificate in the chain

What is the expected output? What do you see instead?
The program should send the entire chain, but it only sends the first 
certificate

What version of the product are you using? On what operating system?
v0.9.2 on MacOS

Please provide any additional information below.
Change the line:
ctx.use_certificate_file(ssl_cert)
to
ctx.use_certificate_chain_file(ssl_cert)
will allow use of chained certificate files properly.


Original issue reported on code.google.com by [email protected] on 31 Jul 2007 at 2:01

Problem with deadkeys

What steps will reproduce the problem?
1. push compose key (diacritics)
2. push some character key
3.

What is the expected output? What do you see instead?
I need write characters with diacritics, for example ó, ë, ň etc.

What version of the product are you using? On what operating system?
0.9.6 - linux

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 17 Jun 2009 at 8:08

http:// to https:// redirector needed

What steps will reproduce the problem?
1. I installed pyOpenSSL
2. I ran WebShell-0.9.0
3. When I attempted to connect (from my Mac or my iPhone), I see the following 
output:

Exception happened during processing of request from ('192.168.1.101', 52486)
Traceback (most recent call last):
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/SocketSe
rver.py", 
line 222, in handle_request
    self.process_request(request, client_address)
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/SocketSe
rver.py", 
line 241, in process_request
    self.finish_request(request, client_address)
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/SocketSe
rver.py", 
line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/SocketSe
rver.py", 
line 521, in __init__
    self.handle()
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/BaseHTTP
Server.p
y", line 324, in handle
    self.handle_one_request()
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/BaseHTTP
Server.p
y", line 307, in handle_one_request
    self.raw_requestline = self.rfile.readline()
  File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/socket.py", 
line 338, in readline
    data = self._sock.recv(self._rbufsize)
Error: [('SSL routines', 'SSL23_GET_CLIENT_HELLO', 'http request')]


What version of the product are you using? On what operating system?

This is WebShell-0.9.0, running on MacOSX 10.4.10


Original issue reported on code.google.com by [email protected] on 26 Jul 2007 at 3:01

make_certificate.sh does not delete /tmp/random.dat

What steps will reproduce the problem?
1. run make_certificate.sh in a directory other than /tmp
2. ls -l /tmp/random.dat (still sitting there)
3.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?

0.9.5

Please provide any additional information below.

All you need to do is apply this patch:

--- make_certificate.sh 2008-07-13 12:27:17.000000000 -0700
+++ make_certificate.sh.corrected       2008-07-13 12:26:18.000000000 -0700
@@ -1,5 +1,5 @@
 #! /bin/sh
 gzip -c --best /var/log/system.log > /tmp/random.dat
 openssl rand -rand file:random.dat 0
-rm random.dat
+rm /tmp/random.dat
 openssl req  -config "make_certificate.cfg" -keyout "webshell.pem" -newkey
rsa:1024 -nodes -x509 -days 365 -out "webshell.pem"

Original issue reported on code.google.com by [email protected] on 13 Jul 2008 at 7:30

Dumb terminal is a big sacrifice for UTF8 support

The switch to dumb terminal support in favor of UTF8 is not ideal. I want both, 
but I'd rather have 
support for cursor positioning (so I can use vi and top for instance) and 
color/highlighting.

I'd settle for a command-line switch to provide one feature or the other if 
they can't coexist easily.


Original issue reported on code.google.com by bchoate on 16 Jul 2007 at 6:09

Remember: On OS X server, you can boot this up BUT you must use "-c /usr/bin/login" on the launch line

What steps will reproduce the problem?
1. Base install runs but errors out when hitting the web server


What is the expected output? What do you see instead?
A Login page

What version of the product are you using? On what operating system?
.2.2

Please provide any additional information below.
Solution: Boot it w/ -c /usr/bin/login instead of the default /bin/login



Original issue reported on code.google.com by [email protected] on 1 Jul 2007 at 7:59

FIX/PATCH PROVIDED: webshell freezes because of uncaught exceptions during closed session cleanup

What steps will reproduce the problem?
1. start webshell on a terminal and monitor its output
2. login through webshell
3. logout
4. repeat w few times
5. wait a couple of minutes


What is the expected output? What do you see instead?

Webshell should clean up the closed sessions and their respective 
processes.

Instead, the processes hang there.
The main webshell process reports some exceptions about non existing 'fd' 
key when del-ing an entry from a dictionary.

What version of the product are you using? On what operating system?

Webshell-0.9.5 on Ubuntu 8.04


Please provide any additional information below.

The problem is that after a session is closed, webshell tries to clean up 
some data structures (the session dictionary). It tries to delete some 
entries without checking whether they exist. When it tries to delete non 
existing entries, an unhandled exception is thrown and that particular 
webshell process freezes.

In my case, I can only log in a couple of times initially, then the whole 
webshell service hangs and is unusable.

The solution of this problem is to check whether a dictionary entry exists 
before trying to delete it. The patch that fixes this is attached.

After applying this patch I were able to work normally with webshell.

Original issue reported on code.google.com by [email protected] on 1 Oct 2008 at 1:39

Attachments:

connect hangs after orphans exit

What steps will reproduce the problem?
1. Go to the webshell login web page
2. Do NOT login, but close the page/tab
3. Do this 2-3 times

What is the expected output? 
The children generated in this way should exit cleanly

What do you see instead?
The children disappear from the process list after a while, but
visiting the webshell login after that gives a Connecting to...
message which hangs indefinitely, until the browser gives up.

What version of the product are you using? On what operating system?

WebShell-0.9.6 on Debian Lenny with Python 2.5.2

Please provide any additional information below.

There is no problem if one logs in and then out. It appears only
when I orphan the process by closing the browser page without
logging in. I can reconnect before the children have exited, but
after that the only way is to kill the root process and restart it.

Since webshell is most needed precisely when there is no other way
to open a terminal, this is a potentially debilitating issue. The
workaround is evidently to carefully kill all orphans manually, but
that is clearly unsatisfactory.

Original issue reported on code.google.com by [email protected] on 28 May 2009 at 1:09

Disconnect before login- Non-default SSH port

What steps will reproduce the problem?
1. change the port the servers SSH port listens on
2. run webshell.py
3. try to connect via local or remote

What is the expected output? What do you see instead?
i expected to see a webshell.  Instead I get disconnected after I press
enter for my username on login.  I also got some complaints from SSL.

Exception happened during processing of request from ('ip.add.re.ss', 1214)
Traceback (most recent call last):
  File "/usr/lib/python2.4/SocketServer.py", line 222, in handle_request
    self.process_request(request, client_address)

What version of the product are you using? On what operating system?
Tried all versions in the 0.9.X series.  Ubuntu 8.10 server and OS X 10.5
client

Please provide any additional information below.
You could make line 1098 of v0.9.6 read like:
cmd = 'ssh -p 1234'
with 1234 being the port you have sshd listening on.
Simple fix but it wasnt documented and it had me pulling my hair out.

Original issue reported on code.google.com by [email protected] on 13 Jan 2009 at 11:17

Python backtrace when visiting URL

What steps will reproduce the problem?
1. Start webshell.sh
2. Visit host:8022


What is the expected output? What do you see instead?
WebShell (https) at 0.0.0.0, port 8022
----------------------------------------
Exception happened during processing of request from ('172.26.0.111', 1214)
Traceback (most recent call last):
  File "/usr/lib/python2.4/SocketServer.py", line 222, in handle_request
    self.process_request(request, client_address)
  File "/usr/lib/python2.4/SocketServer.py", line 241, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.4/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.4/SocketServer.py", line 521, in __init__
    self.handle()
  File "/usr/lib/python2.4/BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "/usr/lib/python2.4/BaseHTTPServer.py", line 299, in 
handle_one_request
    self.raw_requestline = self.rfile.readline()
  File "/usr/lib/python2.4/socket.py", line 332, in readline
    data = self._sock.recv(self._rbufsize)
Error: [('SSL routines', 'SSL23_GET_CLIENT_HELLO', 'http request')]
----------------------------------------

What version of the product are you using? On what operating system?
Latest SVN (rev 75)

Please provide any additional information below.
I'm on Gentoo Linux, was running Python 2.3.x, upgraded to 2.4

Have build python with ssl, and also have pyopenssl installed.

dev-dev-lang/python-2.4.4-r6, compiled iwith the following USE flags: 
USE="berkdb gdbm ipv6 ncurses readline ssl -bootstrap -build -doc -
examples -nocxx -nothreads -tk -ucs2"

Also using:
dev-python/pyopenssl-0.6



OpenSSL> version
OpenSSL 0.9.8d 28 Sep 2006

Original issue reported on code.google.com by [email protected] on 28 Feb 2008 at 8:41

run as nobody

What steps will reproduce the problem?
1. start webshell from monit or init script
2. server runs as root, bad idea!

What is the expected output?

I want webshell to run as nobody (under unix)


What version of the product are you using? On what operating system?
Webshell 0.9.6 under Linux


Please provide any additional information below.

To resolve the issue, add the following two lines in webshell.py right
beneath the import stanza:

os.setgid(65534)
os.setuid(65534)

Now webshell runs as nobody:nogroup. Note that one cannot set the uid
before the gid, that generates an OSError.

Original issue reported on code.google.com by [email protected] on 27 May 2009 at 5:47

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.