2010-09-03 Markus Gutschke * Fix some scaling related issues. This fix is thanks to some excellent detective work by Jan . 2010-08-19 Markus Gutschke * Thanks to lotr44's excellent analysis of the problem, we now have a fix for the problem with typing "!" on French keyboards. 2010-08-06 Markus Gutschke * Allow users to disable the blinking cursor from the context menu. 2010-07-08 Markus Gutschke * Added support for systems that have utmpx.h, but don't implement updwtmpx(). 2010-07-02 Markus Gutschke * Fixed a NULL pointer dereference that can occur when hostnames do not resolve. Thanks to for pointing out this problem. 2010-03-31 Markus Gutschke * Tweaked the build system to work better on OpenWRT. This is largely thanks to very helpful bug reports, and lots of testing by Jan Jaeger. 2010-03-29 Markus Gutschke * Started working on support for WebSockets. * Fixed some compiler warnings when compiling with -Wextra * Thanks to Jan Jaeger's excellent bug report, made some changes that should make it easier to build ShellInABox for OpenWRT. 2009-12-10 Markus Gutschke * Add .note.GNU-stack to all object files so that the generated binary doesn't erroneously request an executable stack. 2009-12-03 Markus Gutschke * Allow retrieval of the user's default login shell from /etc/passwd. * Allow the code to be built without support for the LOGIN service, as calling /bin/login does not work well on Fedora. 2009-12-02 Markus Gutschke * Added fallback code that dynamically computes the correct commandline arguments for "objcopy" if building for an otherwise unknown target platform. 2009-12-01 Markus Gutschke * Added some basic sanity checks to the commit script that now makes sure we at least attempt to keep copyright dates updated whenever we make changes. * Added checks that the debian/changelog file is up-to-date * Added debian/watch file * Updated the Standards-Version in debian/control. Still need to review whether we are in full compliance, though. * Fixed lintian errors. 2009-11-29 Markus Gutschke * Preparations for packaging ShellInABox in a way that makes it easy for Debian package maintainers to pick it up. 2009-11-25 Markus Gutschke * On browsers that support CSS transforms, enable switching between 80 and 132 column mode. 2009-11-21 Markus Gutschke * Updated manual page documenting --user-css * Released version 2.10 2009-11-18 Markus Gutschke * Fixed some compiler warnings when using more recent versions of gcc and glibc. * Tweak the handling of CTRL keys, so that some of the more unusual combinations work. For historic reasons, there is an expectation that CTRL-3..CTRL-8 return specific control characters. Also fixed the handling of CTRL-\ which could cause problems with some browsers. * Rely on the browser for capitalization. This should fix Capslock behavior. Hopefully, it won't break any other keyboard features or layouts. 2009-08-20 Markus Gutschke * Added transparent printing support. The development of this feature is sponsored by De Bortoli Wines Pty Limited and by Eternity Technologies. 2009-08-19 Markus Gutschke * Added a ${url} parameter that can be used in the service description. 2009-08-11 Markus Gutschke * Added support for user selectable style sheets. Included example style sheets that allow switching to white-on-black or to monochrome mode from the right click context menu. * Fixed the "|" key on Swedish keyboards. 2009-07-30 Markus Gutschke * Added the --css command line option to make incremental changes to the style sheet without having to load a full replacement with the --static-file option. Added an example that enables white text on a black background. * Added Debian specific documentation to the manual page. 2009-07-29 Markus Gutschke * Allow unprivileged users to run the daemon. This requires calling "ssh" instead of "login". 2009-07-27 Markus Gutschke * Use JavaScript redirection for attaching the missing slash to the URL. This should make it easier to use reverse proxies. It was already possible to run shellinaboxd behind a proxy, but a lot of users got the configuration wrong. 2009-07-08 Markus Gutschke * Optionally compress large responses, if the browser accepts deflate compression. This mainly improves start up time. * More fine tuning of the regular expressions that detect URLs. We now allow '.' and ',' in URLs, as long as they are not at the very end of the URL, where they would probably be part of the enclosing sentence and not actually part of the URL. 2009-07-06 Markus Gutschke * Making it easier to host the terminal on non-root URLs by always redirecting to a URL that includes a trailing slash. * Run-time testing for availability of libpthread functions does not work reliably on some platforms. So, avoid doing so on anything other than Linux/i386. For all other platforms, assume that the code is not linked against libpthread. For ShellInABox, this is always the correct assumption. But if the code gets embedded into other projects, this might have to be changed. 2009-07-05 Markus Gutschke * Released version 2.9 2009-07-04 Markus Gutschke * Refined regular expressions for finding URLs. * Show new terminal size when resizing the browser. * Restored compatibility with IE5 and IE6. 2009-07-03 Markus Gutschke * Added --linkify option. Default settings cause the terminal to recognize fully qualified URLs and to make them clickable. 2009-06-28 Markus Gutschke * Added support for keyboards that have a dedicated "<" / ">" key. 2009-06-21 Markus Gutschke * Added --localhost option. * Added support for building on ARM. * Respect "Connection: close" for proxies that rely on pre-HTTP/1.1 behavior. 2009-05-24 Markus Gutschke * Added SSL support for OpenBSD 2009-05-23 Markus Gutschke * Released version 2.8 2009-05-22 Markus Gutschke * Improved support for entering non-ASCII characters. 2009-05-20 Markus Gutschke * Fixed various issues with building on OpenBSD 2009-04-28 Markus Gutschke * Fixed variable expansion in service descriptions. 2009-04-27 Markus Gutschke * Released version 2.7 * Improved compatibility with some PAM configurations when running as a non-privileged user. * Fixed a bug that required shells to output data (e.g. a prompt) before they could read the first data. * Fixed a potential crash. 2009-04-12 Markus Gutschke * Released version 2.6 * The demo application is still incomplete, but starting to be somewhat functional. The BASIC interpreter supports variables, and can parse expressions. But it is still missing all flow-control commands, making it somewhat useless for writing real programs. 2009-03-30 Markus Gutschke * Added initial revision of demo application. * Show fatal error message even when running in "quiet" mode. * Make it easier to override parameters needed by the system startup scripts. 2009-03-29 Markus Gutschke * Added support for chained SSL certificates 2009-03-23 Markus Gutschke * Added an INSTALL.Debian file with Debian-specific instructions on how to build and install a package file. 2009-03-21 Markus Gutschke * Possible fix for IE problems with horizontal positioning of cursor if the line ends in spaces. * Work-around for an IE6 bug when doing HTTPS through proxies. 2009-03-21 Markus Gutschke * Released version 2.5 * More testing on older IE versions. 2009-03-19 Markus Gutschke * Fixed cursor positioning. Hopefully, more browsers will be happy with this, now. * Explicitly added no-cache headers to our responses. This might help with the IE6 problems. 2009-03-17 Markus Gutschke * Allow root to bind to privileged port. 2009-03-17 Markus Gutschke * Fixed IE6 support. * Fixed possible memory corruption, when sessions time out. 2009-03-16 Markus Gutschke * Fixed some compiler warnings, that newer versions of GCC issue. 2009-02-27 Markus Gutschke * Added fallback on old-style pty's, if /dev/pts is not mounted. * Work-around for systems that don't define a "nogroup" group. * Remove the dependency on fdopendir, which does not exist everywhere. 2009-02-16 Markus Gutschke * Include VCS revision number in user-visible version string. * Allow "configure" to select whether OpenSSL and PAM libraries should be used at all, dynamically searched-for at run-time, or linked as a regular dynamic library. * Fixed various bugs that prevents ShellInABox from running on FreeBSD 2009-02-12 Markus Gutschke * Released version 2.4 2009-02-11 Markus Gutschke * Fixed fatal compiler warning if compiling without SSL support. * Fixed cursor hiding and showing * Fixed various rendering glitches reported by Phil Endecott of Anyterm (http://anyterm.org) fame. * Made code more portable. In particular, fixed sed scripts. * Added explicit config.h file, instead of passing configuration options on the compiler's command line. * Fixed compilation issues on BSD systems. Code is still untested and unsupported on non-Linux systems at this time. 2009-01-21 Markus Gutschke * Released version 2.3 * Fixed a show-stopper bug that broke the --cert option. 2009-01-21 Markus Gutschke * Released version 2.2 * Fixed a bug that could result in the font getting corrupted. * Improved compatibility with more versions of the OpenSSL library. Previously, the feature test for TLSEXT did not always work correctly, resulting in compilation failures. * Improved support for embedding shellinaboxd into existing web services. SSL certificates can now be passed in through a file handle, and port and pid numbers can be retrieved from the CGI header. 2009-01-08 Markus Gutschke * Released version 2.1 * Fixed build errors mostly related to x86_64. * Added --no-beep command line option to avoid VLC plugin crashing Firefox/x86_64. * Fixed multi-line selections in Firefox. 2009-01-01 Markus Gutschke * Added CGI mode for demand-loading the shellinaboxd daemon from a web server. This also allows for the web server to perform authentication, instead of having shellinaboxd do so. * Tightened setuid-root operation to no longer allow switching to arbitrary users/groups. As before, setuid-root remains a non-standard configuration that is not currently recommended. * Fixed session management to deal better with torn down connections. Closed one bug that could have resulted in permanently orphaned connections, when the browser navigated away from the page. 2008-12-27 Markus Gutschke * First public release of the version 2.0 rewrite. This is the first release of ShellInABox that supports an AJAX interface instead of the original Java applet.