Fixed support for Swedish keyboards

Some more tweaks for IE6 support. Overall, IE6 is still pretty
broken. Not sure if we can do much about this.


git-svn-id: https://shellinabox.googlecode.com/svn/trunk@166 0da03de8-d603-11dd-86c2-0f8696b7b6f9
This commit is contained in:
zodiac 2009-08-11 18:37:12 +00:00
parent 7ab3b32465
commit 71ba8641c1
8 changed files with 27 additions and 26 deletions

View file

@ -138,7 +138,7 @@
#define STDC_HEADERS 1 #define STDC_HEADERS 1
/* Most recent revision number in the version control system */ /* Most recent revision number in the version control system */
#define VCS_REVISION "165" #define VCS_REVISION "166"
/* Version number of package */ /* Version number of package */
#define VERSION "2.9" #define VERSION "2.9"

2
configure vendored
View file

@ -2317,7 +2317,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_compiler_gnu=$ac_cv_c_compiler_gnu
VCS_REVISION=165 VCS_REVISION=166
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF

View file

@ -2,7 +2,7 @@ AC_PREREQ(2.57)
dnl This is the one location where the authoritative version number is stored dnl This is the one location where the authoritative version number is stored
AC_INIT(shellinabox, 2.9, markus@shellinabox.com) AC_INIT(shellinabox, 2.9, markus@shellinabox.com)
VCS_REVISION=165 VCS_REVISION=166
AC_SUBST(VCS_REVISION) AC_SUBST(VCS_REVISION)
AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}", AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
[Most recent revision number in the version control system]) [Most recent revision number in the version control system])

View file

@ -1801,7 +1801,7 @@ VT100.prototype.toggleBell = function() {
}; };
VT100.prototype.about = function() { VT100.prototype.about = function() {
alert("VT100 Terminal Emulator " + "2.9 (revision 165)" + alert("VT100 Terminal Emulator " + "2.9 (revision 166)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" + "\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com"); "For more information check http://shellinabox.com");
}; };
@ -2251,7 +2251,8 @@ VT100.prototype.keyDown = function(event) {
event.keyCode >= 65 && event.keyCode <= 90; event.keyCode >= 65 && event.keyCode <= 90;
var alphNumKey = var alphNumKey =
asciiKey || asciiKey ||
event.keyCode >= 96 && event.keyCode <= 105; event.keyCode >= 96 && event.keyCode <= 105 ||
event.keyCode == 226;
var normalKey = var normalKey =
alphNumKey || alphNumKey ||
event.keyCode == 59 || event.keyCode == 61 || event.keyCode == 59 || event.keyCode == 61 ||
@ -2259,7 +2260,7 @@ VT100.prototype.keyDown = function(event) {
event.keyCode >= 109 && event.keyCode <= 111 || event.keyCode >= 109 && event.keyCode <= 111 ||
event.keyCode >= 186 && event.keyCode <= 192 || event.keyCode >= 186 && event.keyCode <= 192 ||
event.keyCode >= 219 && event.keyCode <= 222 || event.keyCode >= 219 && event.keyCode <= 222 ||
event.keyCode == 226 || event.keyCode == 252; event.keyCode == 252;
try { try {
if (navigator.appName == 'Konqueror') { if (navigator.appName == 'Konqueror') {
normalKey |= event.keyCode < 128; normalKey |= event.keyCode < 128;

View file

@ -492,6 +492,16 @@ void httpTransfer(struct HttpConnection *http, char *msg, int len) {
check(msg); check(msg);
check(len >= 0); check(len >= 0);
// Internet Explorer prior to version 7 seems to have difficulties with
// compressed data. It also has difficulties with SSL connections that
// are being proxied.
int ieBug = 0;
const char *userAgent = getFromHashMap(&http->header, "user-agent");
const char *msie = userAgent ? strstr(userAgent, "MSIE ") : NULL;
if (msie && msie[5] >= '4' && msie[5] <= '6') {
ieBug++;
}
int compress = 0; int compress = 0;
char *contentLength = NULL; char *contentLength = NULL;
if (!http->totalWritten) { if (!http->totalWritten) {
@ -528,7 +538,7 @@ void httpTransfer(struct HttpConnection *http, char *msg, int len) {
#ifdef HAVE_ZLIB #ifdef HAVE_ZLIB
// Compress replies that might exceed the size of a single IP packet // Compress replies that might exceed the size of a single IP packet
compress = !isHead && compress = !ieBug && !isHead &&
!http->isPartialReply && !http->isPartialReply &&
len > 1400 && len > 1400 &&
httpAcceptsEncoding(http, "deflate"); httpAcceptsEncoding(http, "deflate");
@ -630,18 +640,6 @@ void httpTransfer(struct HttpConnection *http, char *msg, int len) {
http->msgLength = len; http->msgLength = len;
} }
// Internet Explorer prior to version 7 has a bug when sending
// XMLHttpRequests over HTTPS that go through a proxy. It won't see the
// reply until we close the connection.
int ieBug = 0;
if (http->sslHndl) {
const char *userAgent = getFromHashMap(&http->header, "user-agent");
const char *msie = userAgent ? strstr(userAgent, "MSIE ") : NULL;
if (msie && msie[5] >= '4' && msie[5] <= '6') {
ieBug++;
}
}
// The caller can suspend the connection, so that it can send an // The caller can suspend the connection, so that it can send an
// asynchronous reply. Once the reply has been sent, the connection // asynchronous reply. Once the reply has been sent, the connection
// gets reactivated. Normally, this means it would go back to listening // gets reactivated. Normally, this means it would go back to listening
@ -688,7 +686,7 @@ void httpTransfer(struct HttpConnection *http, char *msg, int len) {
} }
} }
if (ieBug) { if (http->sslHndl && ieBug) {
httpCloseRead(http); httpCloseRead(http);
} }
} }

View file

@ -355,7 +355,7 @@ ShellInABox.prototype.extendContextMenu = function(entries, actions) {
}; };
ShellInABox.prototype.about = function() { ShellInABox.prototype.about = function() {
alert("Shell In A Box version " + "2.9 (revision 165)" + alert("Shell In A Box version " + "2.9 (revision 166)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" + "\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com" + "For more information check http://shellinabox.com" +
(typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ? (typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?

View file

@ -1801,7 +1801,7 @@ VT100.prototype.toggleBell = function() {
}; };
VT100.prototype.about = function() { VT100.prototype.about = function() {
alert("VT100 Terminal Emulator " + "2.9 (revision 165)" + alert("VT100 Terminal Emulator " + "2.9 (revision 166)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" + "\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com"); "For more information check http://shellinabox.com");
}; };
@ -2251,7 +2251,8 @@ VT100.prototype.keyDown = function(event) {
event.keyCode >= 65 && event.keyCode <= 90; event.keyCode >= 65 && event.keyCode <= 90;
var alphNumKey = var alphNumKey =
asciiKey || asciiKey ||
event.keyCode >= 96 && event.keyCode <= 105; event.keyCode >= 96 && event.keyCode <= 105 ||
event.keyCode == 226;
var normalKey = var normalKey =
alphNumKey || alphNumKey ||
event.keyCode == 59 || event.keyCode == 61 || event.keyCode == 59 || event.keyCode == 61 ||
@ -2259,7 +2260,7 @@ VT100.prototype.keyDown = function(event) {
event.keyCode >= 109 && event.keyCode <= 111 || event.keyCode >= 109 && event.keyCode <= 111 ||
event.keyCode >= 186 && event.keyCode <= 192 || event.keyCode >= 186 && event.keyCode <= 192 ||
event.keyCode >= 219 && event.keyCode <= 222 || event.keyCode >= 219 && event.keyCode <= 222 ||
event.keyCode == 226 || event.keyCode == 252; event.keyCode == 252;
try { try {
if (navigator.appName == 'Konqueror') { if (navigator.appName == 'Konqueror') {
normalKey |= event.keyCode < 128; normalKey |= event.keyCode < 128;

View file

@ -2251,7 +2251,8 @@ VT100.prototype.keyDown = function(event) {
event.keyCode >= 65 && event.keyCode <= 90; event.keyCode >= 65 && event.keyCode <= 90;
var alphNumKey = var alphNumKey =
asciiKey || asciiKey ||
event.keyCode >= 96 && event.keyCode <= 105; event.keyCode >= 96 && event.keyCode <= 105 ||
event.keyCode == 226;
var normalKey = var normalKey =
alphNumKey || alphNumKey ||
event.keyCode == 59 || event.keyCode == 61 || event.keyCode == 59 || event.keyCode == 61 ||
@ -2259,7 +2260,7 @@ VT100.prototype.keyDown = function(event) {
event.keyCode >= 109 && event.keyCode <= 111 || event.keyCode >= 109 && event.keyCode <= 111 ||
event.keyCode >= 186 && event.keyCode <= 192 || event.keyCode >= 186 && event.keyCode <= 192 ||
event.keyCode >= 219 && event.keyCode <= 222 || event.keyCode >= 219 && event.keyCode <= 222 ||
event.keyCode == 226 || event.keyCode == 252; event.keyCode == 252;
try { try {
if (navigator.appName == 'Konqueror') { if (navigator.appName == 'Konqueror') {
normalKey |= event.keyCode < 128; normalKey |= event.keyCode < 128;