Commit graph

425 commits

Author SHA1 Message Date
Luka Krajger
05b2d3630c Issue #361: enable builds with MUSL libc
* Added configure option "--disable-utmp" which must be used when
  building with MUSL libc. This option disables login records which
  are stubed out in MUSL anyway.
* Added missing include "sys/ttydefaults.h".
2016-10-11 13:22:52 +02:00
Luka Krajger
d0d8c58882 Issue #384: compatibility with OpenSSL 1.1.0
* Direct usage of BIO struct members is removed for new versions of
  OpenSSL.
* Workaround for double BIO free in SSL_free() was updated to work
  with new and old OpenSSL versions.
* Note that this patch only fixes compatibilty when building with
  configure option "--disable-runtime-loading" (like it is done
  for Debia package.).
2016-10-08 16:10:53 +02:00
Luka Krajger
d4bd77ca45 Added "ready" event for iframe message passing
* When shellinabox is ready it sends "ready" message to parent window.
* Example file was updated with new use case.
2016-09-26 13:16:18 +02:00
Luka Krajger
8e28bb4c2a Merge pull request #391 from tomtor/freebsd
Fix a debug check on FreeBSD and probably Linux for HTTP connection termination.
2016-09-26 12:37:44 +02:00
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
Luka Krajger
e6c25e84bc Issue #381: Fixed segfaults at logging
* This patch correctly handles varargs being used two times in the
  same function.
2016-06-06 16:11:11 +02:00
Luka Krajger
cbac76e579 Merge pull request #380 from blakemcbride/master
Spelling and grammar corrections to README.md
2016-05-29 07:37:11 -04:00
Blake McBride
6e475e9686 Spelling and grammar corrections to README.md 2016-05-28 18:59:45 -05:00
KLuka
af162e282a Added shellinaboxd.pdf make target 2016-05-24 19:27:06 +02:00
Luka Krajger
78bed3070b Merge pull request #374 from blakemcbride/master
Changes to support APL characters (unicode)
2016-05-19 10:46:19 -04:00
Blake McBride
863a8d91c7 Changes to support APL characters 2016-05-13 19:15:15 -05:00
KLuka
628d41f32c Added checks and fixes code style 2016-05-06 11:21:14 +02:00
Luka Krajger
e05c6d8178 Merge pull request #372 from StefanAlexandruBogdan/master
free the sshPort to prevent memory leak and indent newly added code to preserve code styling
2016-05-05 16:18:05 -04:00
Alexandru Bogdan Stefan
fb262fb521 free the sshPort to prevent memory leak 2016-05-05 15:31:30 +03:00
Alexandru Bogdan Stefan
1558412cee Ident variable assignments to respect coding style 2016-05-05 15:28:55 +03:00
Luka Krajger
0f1e9ba31c Merge pull request #370 from StefanAlexandruBogdan/master
Add support for using ShellInABox with a custom port in SSH service.
2016-05-04 06:30:26 -04:00
Alexandru Bogdan Stefan
d34d5db9d9 Add support for using ShellInABox with a custom SSH port 2016-04-21 19:14:50 +03:00
Luka Krajger
048cecd2e7 Merge pull request #367 from a-detiste/master
typos
2016-03-09 13:36:54 -05:00
Alexandre Detiste
c8b6a3eddb typos 2016-03-09 19:30:26 +01:00
Luka Krajger
25425bad31 Merge pull request #366 from schoonc/fixtypo
fixes typo: ESVTETitle -> ESVTEtitle

Fixes the patch for #360.
2016-03-09 12:19:26 -05:00
Сорокин Александр
30e293d602 fixes typo: ESVTETitle -> ESVTEtitle 2016-03-09 19:26:25 +03:00
Luka Krajger
ee57908b49 Merge pull request #363 from tomtor/IE
adjust scale on IE

On IE 11 the computed width (nr of columns) is too large.
2016-03-01 03:22:11 -05:00
Luka Krajger
b778806356 Merge pull request #365 from mvanholsteijn/disable-peer-check
Disable peer check (issue #364)
2016-02-26 06:45:06 -05:00
Mark van Holsteijn
8fd68e147c add option --disable-peer-check to usage help text 2016-02-26 00:24:33 +01:00
Mark van Holsteijn
2034ae1ee5 option to disable the peer check when running behind AWS ELB 2016-02-26 00:01:09 +01:00
Tom Vijlbrief
490cfa0344 adjust scale on IE 2016-02-25 14:47:16 +01:00
Luka Krajger
f17bc266f8 Merge pull request #362 from druzus/master
2016-02-23 23:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

Edit and function keys pressed with CTRL, ALT or SHIFT modifiers generated wrong key sequences.
2016-02-24 07:04:21 -05:00
Przemysław Czerpak
790d578cc2 2016-02-23 23:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* shellinabox/vt100.jspp
    ! fixed key modifiers encoding.
      They should be calculated as bitfield for
         SHIFT = 1
         ALT   = 2
         CTRL  = 4
      and then incremented by 1.
      ref:
         http://www.xfree86.org/4.7.0/ctlseqs.html#PC-Style%20Function%20Keys
         http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-PC-Style-Function-Keys
2016-02-23 23:18:12 +01:00
KLuka
0c8c295c1a Issue #360: ignore VTE OSC6 and OSC7 escape sequences
* This patch ignores VTE OSC6 and OSC6 escape sequences, so that the
  current directory/file are not displayed in front of the shell prompt.
2016-01-23 16:17:17 +01:00
KLuka
141e641238 Raised version from 2.19 to 2.20 2016-01-23 16:03:32 +01:00
Luka Krajger
2c93404bd0 Merge pull request #357 from KLuka/issue-222
Issue #222: LOGIN service (can't reopen tty)
2016-01-04 10:56:18 -05:00
KLuka
4911d0d39c Issue #222: LOGIN service (can't reopen tty)
* Workaround for random "Session closed" issues related to /bin/login
  closing and reopening our pty during initialization. This happens only
  on some systems like Fedora for example. Now we allow that our pty is
  closed by ignoring POLLHUP on first read. Delay is also needed so that
  login process has some time to reopen pty.
* Note that the issue may occur anyway but with this workaround we reduce
  the chances.
2015-12-28 15:24:49 +01:00
Luka Krajger
d8ef7dad3c Merge pull request #356 from triska/master
fix typo: HTTPS --> HTTP
2015-12-11 09:28:34 +01:00
Markus Triska
dd9f1f01d1 fix typo: HTTPS --> HTTP 2015-12-10 20:03:44 +01:00
Marc Singer
1a8010f2c9 Changelog update before release. 2015-12-05 10:31:36 -08:00
KLuka
8a68194da2 Updated version to 2.19 2015-12-04 18:17:22 +01:00
KLuka
e026df75b0 Fixed spelling errors reported by lintian 2015-12-04 18:14:51 +01:00
KLuka
4aa0eb97e4 Disable HTTP fallback via "/plain" URL (CVE-2015-8400)
* Disabled all methods of HTTP fallback when HTTPS is enabled. This
  is enforced on server side so that even modified client code (JS)
  can not redirect client from HTTPS to HTTP, like it was possible
  before (issue #355).
* Current solution unfortunately also disables automatic upgrade from
  HTTP to HTTPS (when available), since all non-SSL connections are
  droped immediately.
2015-12-03 17:47:26 +01:00
KLuka
aaa00551bf Issue #119, #312, #354: Soft keyboard icon
* Added logic that enables soft keyboard icon by default on some
  clients like Kindle, PS Vita, iPad, ...
2015-11-17 19:43:22 +01:00
KLuka
106bc0aa85 Issue #354: iOS client compatibility
* Added more iOS clients that should use workaround to prevent ever
  groving console.
2015-11-17 19:36:10 +01:00
KLuka
f67073d33e Issue #350: Support for middle click paste
* Added limited support for middle click pasting. For most browsers
  and operating systems middle click pasting works only for concent
  selected in current shellinabox window.
2015-10-20 20:40:20 +02:00
Marc Singer
c87588613a Update version for release. 2015-10-10 10:54:36 -07:00
KLuka
e30c33d323 Issue #347: Added dummy release in Debian changelog
* This is needed so that manualy built Debian packages will contain
  latest version.
2015-09-17 10:39:43 +02:00
KLuka
973f1527bd Updated preview image in README 2015-09-06 21:32:13 +02:00
KLuka
cde2e92378 Issue #341: Fixed reverse video rendering
* Added new CSS class for handling reverse video with default terminal
  colors. For colors given with value 0-255 background and foreground
  values are just switched.
* New CSS classes were also added to Black On White and White On Black
  color themes.
2015-09-03 19:01:48 +02:00
KLuka
7dd9d4300c Minor improvements
* Use stdout for usage and version information. Patch taken from
  issue #344.
* Removed automatic usage display when command line parsing fails.
* Added version information in debug output.
2015-09-03 19:00:16 +02:00
KLuka
b58542eb99 Added CGI session key in HTTP response header
* Session key is returned in first HTTP response if CGI mode is used.
  Header filed is named 'X-ShellInABox-Session'. This can be used by
  some special applications that need unique token.
2015-09-03 18:04:15 +02:00
KLuka
8d3c5cdc3d Raised version to 2.19 2015-09-01 13:13:13 -04:00
Benji Wiebe
09e790bb27 Added config.cache to gitignore 2015-09-01 13:06:21 -04:00
KLuka
b828574899 Issue #103: Child process cleanup under PAM session
* Added signal handling in PAM session process. Now SIGHUP signals are
  forward to child process, which is the actual service. Launcher process
  uses this type of signals to terminate service on http connection
  timeout.
2015-08-30 22:48:14 +02:00