No description
Find a file
Tom Vijlbrief f408467088 Fix a debug check on FreeBSD and probably Linux
On FreeBSD 12.0 I get within a minute:

Check failed at libhttp/httpconnection.c:433 in destroyHttpConnection(): !close(http->fd)

See also:

https://github.com/shellinabox/shellinabox/issues/389

I assume that close() fails with ECONNRESET and that we should just check
for errno != EBADF, which should also be OK for Linux and other systems,
which might return EIO in some conditions.

Linux close(2) manual page:

	EBADF	fd isn't a valid open file descriptor.
	EINTR	The close() call was interrupted by a signal; see signal(7).
	EIO	An I/O error occurred.

FreeBSD close(2) manual page:

     [EBADF]            The fd argument is not an active descriptor.
     [EINTR]            An interrupt was received.
     [ENOSPC]           The underlying object did not fit, cached data was
                        lost.
     [ECONNRESET]       The underlying object was a stream socket that was
                        shut down by the peer before all pending data was
                        delivered.

     In case of any error except EBADF, the supplied file descriptor is
     deallocated and therefore is no longer valid.
2016-09-11 12:31:47 +02:00
contrib Cleanup of debian control file before 2.11. 2012-03-31 17:08:27 -07:00
debian fix typo: HTTPS --> HTTP 2015-12-10 20:03:44 +01:00
demo Improving cleanliness. 2015-07-24 09:23:27 -07:00
libhttp Fix a debug check on FreeBSD and probably Linux 2016-09-11 12:31:47 +02:00
logging Issue #381: Fixed segfaults at logging 2016-06-06 16:11:11 +02:00
m4 Added empty m4 directory for autotools 2015-04-27 16:20:44 +02:00
misc typos 2016-03-09 19:30:26 +01:00
shellinabox Changes to support APL characters 2016-05-13 19:15:15 -05:00
.gitignore Added config.cache to gitignore 2015-09-01 13:06:21 -04:00
AUTHORS First public release of the version 2.0 rewrite. This is the 2008-12-29 23:57:07 +00:00
ChangeLog clean up debian/rules 2015-05-15 15:49:32 +02:00
CHANGELOG.md Update CHANGELOG.md 2015-03-11 12:07:12 +00:00
commit VCS_VERSION: remove Subversion support, add support for Git & tarball 2015-05-14 12:34:47 +02:00
configure.ac Raised version from 2.19 to 2.20 2016-01-23 16:03:32 +01:00
COPYING Started working on support for WebSockets. 2010-03-29 16:40:17 +00:00
etc-pam.d-shellinabox-example Added some documentation explaining how to configure ShellInABox on Fedora. 2009-11-23 04:53:38 +00:00
GPL-2 First public release of the version 2.0 rewrite. This is the 2008-12-29 23:57:07 +00:00
INSTALL.Debian typos 2016-03-09 19:30:26 +01:00
make-chained-cert.sh Avoid closing the certificate file twice. Tweak make-chained-cert.sh script to 2009-03-29 22:20:59 +00:00
Makefile.am Added shellinaboxd.pdf make target 2016-05-24 19:27:06 +02:00
NEWS First public release of the version 2.0 rewrite. This is the 2008-12-29 23:57:07 +00:00
README First public release of the version 2.0 rewrite. This is the 2008-12-29 23:57:07 +00:00
README.Fedora Remove trailing whitespace 2015-03-11 17:56:36 +01:00
README.md Spelling and grammar corrections to README.md 2016-05-28 18:59:45 -05:00
stresstest.sh Fixed a potential assertion failure in the daemon, if a user manages to type keys before he had a chance to establish a session. 2009-08-13 01:55:44 +00:00
TODO Remove trailing whitespace 2015-03-11 17:56:36 +01:00

shellinabox

Build Status Join the chat at https://gitter.im/shellinabox/shellinabox

This is an unofficial fork of the project Shell In A Box. The fork was created because the original project was not maintained anymore and we cannot contact the original repository owners.

Our aim is to continue with maintenance of the shellinabox project. For a list of recent changes, please see CHANGELOG.md.

If you have any questions, issues, or patches, please feel free to submit a pull request or report an issue. You can also drop an email to the original project issue #261 discussion from where this fork started.

About shellinabox

Shell In A Box implements a web server that can export arbitrary command line tools to a web based terminal emulator. This emulator is accessible to any JavaScript and CSS enabled web browser and does not require any additional browser plugins.

Shell In A Box preview

More information:

Build

For building shellinabox from source on Debian or RHEL based systems use commands listed below. This will create executable file shellinaboxd in project directory.

  1. Install dependencies

     apt-get install git libssl-dev libpam0g-dev zlib1g-dev dh-autoreconf
    

    or

    yum install git openssl-devel pam-devel zlib-devel autoconf automake libtool
    
  2. Clone source files and move to project directory

     git clone https://github.com/shellinabox/shellinabox.git && cd shellinabox
    
  3. Run autotools in project directory

     autoreconf -i
    
  4. Run configure and make in project directory

     ./configure && make
    

Debian package

For building and installing .deb packages you can use commands listed bellow. Note that dependencies from the first step above are also required.

  1. Build package

    dpkg-buildpackage -b
    
  2. Install package

    dpkg -i ../shellinabox_{ver}_{arch}.deb
    

For more information about .deb packages please see INSTALL.Debian file.

Issues

All reported issues were imported from Google Code Project Issues. You can report new issues here, but first please try to reproduce them with package created from our sources. In new issue report please include following things:

  • Name and version of your operating system
  • Name and version of your browser
  • Version of shellinabox
  • Steps to reproduce the problem

Also feel free to post any questions or comments in shellinabox chat room on Gitter.