diff --git a/debian/CHANGELOG b/debian/CHANGELOG deleted file mode 100644 index c6f0afd..0000000 --- a/debian/CHANGELOG +++ /dev/null @@ -1,5752 +0,0 @@ -commit a1a44d612a75f0fe8dc0c9e806c185cffbf94cb4 -Author: Mehdi Abaakouk -Date: Fri Sep 21 11:23:46 2012 +0200 - - Remove debian stuff - -commit 7af261d58abd9b73d0f45187cf90a3c353ceaefd -Merge: 540f0e5 ceec052 -Author: Mehdi Abaakouk -Date: Fri Sep 21 11:18:35 2012 +0200 - - Merge tag 'v0.4' into debian/dfsg - -commit ceec05260e2f6f330d4eb869adfbba97e36e80dc -Author: Joel Martin -Date: Fri Sep 14 17:00:56 2012 -0500 - - noVNC version 0.4 - -commit cbb55df0396bf2125b3da7066e4cbb2ee4e6ce0d -Author: Joel Martin -Date: Tue Aug 28 17:39:02 2012 -0500 - - README: simplify projects/companies. News/help/contact section. - - Instead of continuing to maintain the full list of project/companies - that use noVNC in multiple places (README, wiki, web page) just link - to the wiki page. - - Link to noVNC discussion group page. Link to issues page. Link to - Amazon wishlist and non-profits for appreciation. - -commit af6e9e2408054597a2212921a4d84376ef9809b8 -Merge: fc003a1 cf068be -Author: Joel Martin -Date: Tue Aug 28 06:59:52 2012 -0700 - - Merge pull request #185 from dark/master - - Fix grep pattern when matching netstat output - -commit cf068be2d883a87cb68cb7159cfaaf627f67acb3 -Author: Marco Leogrande -Date: Mon Aug 27 22:19:51 2012 -0700 - - Fix grep pattern when searching for listening sockets - - The current grep pattern matches also port numbers that match only - partially the given $PORT number; e.g., if $PORT is 6080, 60800 will - match as well. - - While TCP listening sockets in the 60000-65535 range are rare, they - need to be handled as well. The problem is also present if the user - selects a shorter PORT value with the --listen command line argument. - - By adding a space, the pattern is fixed. - -commit fc003a13e7fcbbad6cb871d3ed6f2543078a35d7 -Author: Joel Martin -Date: Wed Aug 15 13:48:03 2012 -0500 - - Revert "Pull in latest websockify." - - This reverts commit 4dd1bb1ecbd49c112c2f7ff4bd66016ebe38d063. - -commit ca6b3f4cb1216b9155f8fdabe7969e5777a529c5 -Author: Joel Martin -Date: Wed Aug 15 13:47:37 2012 -0500 - - Revert "Fix tight decoding when using binary/non-base64 connection." - - This reverts commit 14717eb468d9cf1c93559c8d0a6cb16b3c959b55. - -commit 14717eb468d9cf1c93559c8d0a6cb16b3c959b55 -Author: Joel Martin -Date: Wed Aug 15 12:45:53 2012 -0500 - - Fix tight decoding when using binary/non-base64 connection. - -commit 4dd1bb1ecbd49c112c2f7ff4bd66016ebe38d063 -Author: Joel Martin -Date: Tue Aug 14 15:33:42 2012 -0500 - - Pull in latest websockify. - - Pull in version 376872d99. - - Several changes including: - - binary/typed array support in websock.js - - unix socket support - - multiple target support via config file(s) - - prefer IPv6 option - -commit af1527b27610da9339c27439886766b9e65da2b9 -Author: Joel Martin -Date: Thu Jun 28 10:29:12 2012 -0500 - - timers: fix over repeated connects. - - With tight we can't ever use FBU.rects being 0 as an indication of - a full frame having been drawn. - -commit e5d5a7d3fd4fcf56447658462235c55a1247063f -Author: Joel Martin -Date: Mon Jun 25 21:42:56 2012 -0500 - - websock.js: comment out debug options. - -commit d58f8b5144d8b344afcbe7b8ee3c18e34b14cff4 -Author: Joel Martin -Date: Sun Jun 24 16:23:58 2012 -0500 - - License clarification: HTML,CSS,images,fonts under permissive licenses. - - Clarify in LICENSE.txt that the noVNC core library is the part that is - LGPLv3 licensed. The HTML, CSS, images and fonts are separate from the - core library and can be modified and distributed with the noVNC core - but under their own license conditions. - - HTML and CSS: 2-Clause BSD - Fonts: SIL OFL 1.1 - Images: CC BY SA 3.0 - - In other words, you can modify the layout and appearance of of noVNC - to integrate with an existing or new web site or application without - having to publish the source for those modifications under the LGPLv3. - However, use of and modification of the noVNC core library (i.e. the - core Javascript that makes up noVNC) must still be according to the - LGPLv3. - - Chris Gordon was the other contributor to the HTML, CSS, and images - included with noVNC and gave permission for this license clarification - on June 23, 2012. - -commit 18232af2a601d235ef745d3f122281a1040903c8 -Merge: b50f340 d5575ef -Author: Joel Martin -Date: Sat Jun 23 14:23:50 2012 -0500 - - Merge branch 'master' of github.com:kanaka/noVNC - -commit b50f34067432b62ac9f323957fb8960b5b4b3d0b -Author: Joel Martin -Date: Sat Jun 23 14:22:47 2012 -0500 - - UltraVNC repeaterID cleanup. - - https://github.com/kanaka/noVNC/issues/103 - https://github.com/kanaka/noVNC/pull/170 - -commit 2090f1af673eda5d2d6df8f7c44509881f497d4c -Merge: 9450f13 9ebc84f -Author: Joel Martin -Date: Sat Jun 23 14:16:49 2012 -0500 - - Merge remote branch 'kassah/master' - -commit 9450f132c6766cbeb04f546531ffbc5ecf549895 -Author: Joel Martin -Date: Sat Jun 23 14:15:41 2012 -0500 - - remove docs/TODO: see issues marked as "feature". - - https://github.com/kanaka/noVNC/issues?labels=feature - -commit 9ebc84f2e963c6b1d4325defa07da5bf8447512e -Author: William Lightning -Date: Fri Jun 22 22:34:20 2012 -0700 - - Update vnc_auto.html to use config option for repeaterID - -commit a997c5fd942350450fbe62bfaded1e2abc08be1b -Author: William Lightning -Date: Fri Jun 22 22:30:57 2012 -0700 - - Make repeaterID show up in config options on vnc.html - -commit 12acb663ebae597e70d3b23aeb61330522102f5d -Author: William Lightning -Date: Fri Jun 22 22:30:05 2012 -0700 - - Change RepeaterID to be a config option - -commit d5575ef6f3e5863ed4a784c4003ef1f2df343ddd -Merge: bee3650 90f18a8 -Author: Joel Martin -Date: Fri Jun 22 15:41:43 2012 -0700 - - Merge pull request #172 from soheilhassasyeganeh/fix_novarpc - - Fixes nova rpc package. - -commit 90f18a8a960ae2e11b9d0188280be5d39553edc4 -Author: Soheil Hassas Yeganeh -Date: Thu Jun 21 21:38:52 2012 -0400 - - Fixes nova rpc package. - -commit bee36506e1b6d70109e540697ec17c6da75000f7 -Author: Joel Martin -Date: Fri Jun 8 10:42:26 2012 -0500 - - Fix forcing of web-socket-js even when native available. - -commit cb3ad1b5b5d7dadbee7bb1f4ec5b82e302d1d493 -Merge: ab44059 b1d2225 -Author: Joel Martin -Date: Fri Jun 8 08:26:41 2012 -0700 - - Merge pull request #168 from soheilhassasyeganeh/master - - Fix nova flag API change - -commit b1d2225eeefe0349d166c43eab72d58b6f8296cd -Merge: 9e2351f ab44059 -Author: Soheil Hassas Yeganeh -Date: Fri Jun 8 11:12:22 2012 -0400 - - Merging with upstream tree. - -commit 8d0c7fb5aca8251ff72d9727c7e6997f761d89e2 -Author: William Lightning -Date: Wed Jun 6 23:10:13 2012 -0700 - - Add ultravnc_repeater.pl support to rfb.js and vnc_auto.html - -commit 9e2351f5eb70df5f333299ea9829a14f23a78a70 -Author: Soheil Hassas Yeganeh -Date: Wed Jun 6 21:26:25 2012 -0300 - - Switch to nova's new flag API. - -commit ab44059b8b3c545b00beab7547195e51cedac6a4 -Author: Joel Martin -Date: Thu May 24 07:08:45 2012 -0500 - - README: Add PocketVNC. - -commit a04087e44cf27784394285455053b2325f437f63 -Merge: 72a5596 9f54c23 -Author: Joel Martin -Date: Fri May 18 09:44:54 2012 -0700 - - Merge pull request #166 from mnaser/patch-1 - - Remove old flagfile support - -commit 9f54c236299e988fa166c2b8b129319463fda542 -Author: Mohammed Naser -Date: Thu May 17 13:48:42 2012 -0300 - - Remove old flagfile support - - default_flagfile has been removed from the nova trunk in favour of .ini files (https://github.com/openstack/nova/commit/7e3e9b8e9cea4f1bf78d127ffb915b79c854fdbe) - -commit 72a5596e50471039e16b49f6c15d0b02576cb7ae -Author: Joel Martin -Date: Thu May 17 11:19:07 2012 -0500 - - rfb: Use the render queue for copyrect. - - This will keep copyrect rendering actions in order with tight and tightPNG - rendering actions (otherwise you can get visual image corruption when - they are mixed together). - - Warning: - - RAW, RRE and HEXTILE still use immediate render commands so there is - still the risk of out-of-order rendering if RAW, RRE, and HEXTILE are - mixed with tight and tightPNG. Copyrect will work with either because - the renderQ_push function will render copyrects immediately if they - are the only thing being pushed on the queue. - -commit 34d8b844ae225a4b1a20b79506be8f543bda9d10 -Author: Joel Martin -Date: Thu May 17 11:13:08 2012 -0500 - - Move render queue processing to Display and use requestAnimationFrame - - The imgQ code in RFB should be a generic rendering queue system in - Display. - - The reason for the render queue in the first place is that images - loaded from raw data URI strings aren't immediately ready to display - so we have to wait for them to complete 'loading'. However, when data - URI images are mixed with other types of rendering actions then things - can get out of order. This is the reason for the rendering queue. - - Currently this only keeps display actions for tight and tightPNG - related actions in order (because they use a mix of fills, raw pixel - data and data URI images). - -commit a0726a4b56b07dc2392f5ec9f6f0005e90df4502 -Author: Joel Martin -Date: Thu May 17 11:07:07 2012 -0500 - - rfb: debug output cleanup. - -commit 57044a3c0abf966c1a17bf0033ee59e9642db867 -Author: Joel Martin -Date: Wed May 16 18:31:04 2012 -0500 - - README: Link to websockify encryption page. - -commit dc6e501f20f6d49f5ce7644ee86669dc1f86180b -Author: Joel Martin -Date: Wed May 16 18:07:18 2012 -0500 - - Fail the connection on unexpected tightPNG cmode. - - This related to https://github.com/kanaka/noVNC/issues/145 - - The real fix is to QEMU so that this doesn't happen which was - submitted as a patch to the mailinglist right before this. - -commit e472e6ce3a3e465cde02e2743967d2898744f2bc -Author: Joel Martin -Date: Fri May 11 14:48:34 2012 -0500 - - docs/release.txt: --all and --tags are incompatible - -commit 17bb6ca38e7076d836d63fecbcccc46dc1661b67 -Author: Joel Martin -Date: Fri May 11 14:45:53 2012 -0500 - - docs/release.txt: correct tag instructions - -commit df4fa13b890005965d602d54a7afeb018ffaeffb -Author: Joel Martin -Date: Fri May 11 14:42:05 2012 -0500 - - noVNC version 0.3 - - - Also add docs/release.txt instruction file. - -commit 53dfab7fb71530d09f0b70031003e2bd63374a84 -Author: Joel Martin -Date: Thu May 10 22:10:01 2012 -0500 - - Pull from websockify. Fix close code. - -commit bc28395abfea8a6a183b2ac500fd3e352f8aec3c -Author: Joel Martin -Date: Thu May 10 18:13:07 2012 -0500 - - Add/use display.drawImage which is viewport relative. - - Fixes https://github.com/kanaka/noVNC/issues/163 - - When using an encoding with raw images (tight, tightPNG) we need to - draw those image relative to the viewport so that clipping works when - the viewport isn't at 0, 0. - -commit a117514183d94d06d9d76c0d4fd870f08b8d0d90 -Merge: 02d1f19 58ad838 -Author: Joel Martin -Date: Thu May 10 15:31:14 2012 -0700 - - Merge pull request #162 from toddfreese/master - - RealVNC 4.6 Mac Support. - -commit 58ad83878c2d18ba62bd248d836e46985f9fcdfa -Author: Todd Freese -Date: Thu May 10 12:29:36 2012 -0500 - - Added support for RealVNC Mac. - -commit 02d1f19b5f914ab860709628f85c9d4c64368333 -Author: Joel Martin -Date: Thu May 10 08:05:47 2012 -0500 - - Pull from websockify. - - Fix python 2.4 CClose exception handling. - -commit 4910600b71127039bb8bd28838b0ae010bb432b5 -Merge: 483157f ca78183 -Author: Joel Martin -Date: Mon Apr 30 15:16:24 2012 -0700 - - Merge pull request #158 from cloudbuilders/fix_rpc_backend - - Fix rpc initialization issue - -commit ca7818317127fabb249b15cdbe2ccb73ffb682ec -Author: Anthony Young -Date: Mon Apr 30 14:07:15 2012 -0700 - - Use explicit check for rpc.register_opts - -commit 901e5655035ab1274e43488bc932a68610c0af02 -Author: Anthony Young -Date: Mon Apr 30 13:21:48 2012 -0700 - - Update to fix trunk nova issue with rpc library - - * rpc flags now must be manually initialized. - -commit 483157f87fe12e61f6b5f39adf4b4818202c8efc -Author: Joel Martin -Date: Thu Apr 26 08:18:27 2012 -0500 - - Comment out duplicates in unicodeTable. - - Unfortunately the values for those duplicate keys are not the same and - I'm not sure which ones are more correct. However, for now, I've - commented out the second occurrence. - - This data is generated from /usr/include/X11/keysymdef.h using the - utils/u2x11 script. - -commit dcf1994d3ecf06f5a84762922b380aff04cb6abc -Author: Joel Martin -Date: Wed Apr 25 20:13:25 2012 -0500 - - Don't treat onerror as a close. - - The close event will also fire so trying to fail the connection twice - is unhelpful and hiding status information. - -commit c3900110997a79848f30901ec3570d120106aa11 -Author: Joel Martin -Date: Wed Apr 25 13:46:30 2012 -0500 - - Update websockify to pull in close code/reason fixes. - -commit f8380ff9392fd75304179dc11257dc0b8fd80f1f -Author: Joel Martin -Date: Fri Apr 13 11:23:30 2012 -0500 - - Add code/reason to close event messages. Remove useless object print in error event. - -commit f736c3316a37e9e76969231add55673e11a6aa96 -Merge: bd96e91 cbd3435 -Author: Joel Martin -Date: Tue Apr 10 07:07:35 2012 -0700 - - Merge pull request #149 from ohadlevy/patch-1 - - Update README.md to add Foreman project - -commit cbd3435a072b85ed30e415bd0413d5e50ed0a2a5 -Author: Ohad Levy -Date: Tue Apr 10 16:58:27 2012 +0300 - - Update README.md - -commit bd96e91932712a1d5ccf4b86d709bdfc07b8b48f -Author: Joel Martin -Date: Tue Apr 3 16:46:27 2012 -0500 - - Use page host:port as default for WebSocket host/port. - -commit 0139b2562c1e7a9e7e289f9c66ff7d6632011a86 -Author: Anthony Young -Date: Tue Apr 3 10:34:24 2012 -0700 - - Simplify nova-novncproxy related logic. - - * Don't clobber default host/port - -commit 4c75210a4d8946cfc35db1d18150cfab72cba61e -Author: Anthony Young -Date: Tue Apr 3 10:08:41 2012 -0700 - - Add nova-novncproxy - - * Adds the nova-novncproxy binary, to provide support for vnc + OpensStack nova - * Adds the ability to pass an auth token in via url, which is subsequently - passed back to the proxy as a cookie. - -commit f84504bc63183b43cf60b1e02c871cc8fd9ee9c6 -Author: Joel Martin -Date: Fri Mar 23 12:18:18 2012 -0500 - - Support Apple Remote Desktop. - - https://github.com/kanaka/noVNC/issues/58 - -commit c76b3e4b2668d2956da4b143243204da4111e5c4 -Author: Joel Martin -Date: Fri Mar 16 09:21:38 2012 -0700 - - Add jsunzip.js to debian install list. - - Thanks for catching this: https://github.com/abligh - -commit 6671c7624d19565f350556fd06adf84770ed662b -Author: Joel Martin -Date: Tue Mar 13 20:29:02 2012 -0500 - - Release down/pressed keys when window loses focus. - - May window managers have a keyboard shortcut that switch away from the - current desktop (e.g. desktop switcher). Unfortunately, when this - happens, the meta/control keys that are used with the shortcut will - send a down event to the browser, but the up event will never be sent - because the browser no longer has focus at the point when the up event - happens. This can cause weird stuck key issues for VNC clients (not - just noVNC). To get around this, we try and detect when the browser - loses focus and release any keys that are on the keyDownList. - - As an aside, if you run into this situation (in noVNC or another VNC - client), you can unstick the state by pressing and releasing the Ctrl, - Shift, Alt, etc. - - Addresses: https://github.com/kanaka/noVNC/pull/135 - -commit ce86f5c95472761303b7e0b38ebd6134118234f5 -Author: Joel Martin -Date: Tue Mar 13 20:24:24 2012 -0500 - - Squelch noisy debug logs. - -commit c0c20581f5598a7e0b864d20591e7f65f17c3445 -Author: Joel Martin -Date: Mon Mar 12 15:31:26 2012 -0700 - - Merge tight/tightPNG routine. - - Mostly duplicate code so merge it and wrap with closures that pass in - the isTightPNG parameter. - - Still detect and error if copy/filter when tightPNG. - -commit f2a495c944759c387fd03882236df04f28892025 -Author: Joel Martin -Date: Mon Mar 12 00:34:53 2012 -0500 - - Use standard citing format for contributors. - -commit b8dd87c75732e32e4f464fcf7ce2357d0fc9108d -Author: Joel Martin -Date: Sun Mar 11 14:39:23 2012 -0500 - - Flesh out authors/contributors and licenses. - -commit d065cad99e1bd9611a71270a5c499941874ebc88 -Author: Joel Martin -Date: Sat Mar 10 20:32:01 2012 -0600 - - General code formatting and cleanliness. - -commit a09a75e8f2e6333fe2a65631682c01fb5a78ff30 -Author: Joel Martin -Date: Sat Mar 10 19:56:19 2012 -0600 - - Stats: count pixels instead of just FBU.rects. - - With last_rect, the rects count can be high until a last_rect - pseudo-encoding is received which messes with the timing stats. So - count up the number of pixels rendered and show timing after the pixel - count reaches the width*height of the screen. - -commit 4cd0070a1cfb9184596dd45147de354a3b4a4d96 -Author: Joel Martin -Date: Sat Mar 10 19:54:56 2012 -0600 - - Cleanup vnc.js includes. - -commit 35d7574b0979f3a898c7baea5a35baea00f3bd64 -Merge: 0c4f4b5 d38db74 -Author: Joel Martin -Date: Sat Mar 10 19:52:11 2012 -0600 - - Merge commit 'd38db74abd0efa34f7297dc19bf603b7f765e0f5' - - Conflicts: - README.md - -commit d38db74abd0efa34f7297dc19bf603b7f765e0f5 -Author: Mike Tinglof -Date: Fri Mar 9 11:02:18 2012 -0500 - - add some documentation; default to existing websocket transport - -commit 0c4f4b598c97031dc28d016f5588adb003c35b5d -Author: Joel Martin -Date: Mon Feb 20 16:33:08 2012 -0600 - - Don't swallow SSL EOF errors. - -commit c6f3919cb097096454b783b9cd3a9c3586c229e9 -Author: Joel Martin -Date: Mon Feb 20 15:48:39 2012 -0600 - - Better base64 illegal character output. - -commit 3b302463f816c070fcbeb77cbaca96c876fbc5b7 -Author: Joel Martin -Date: Mon Feb 20 12:37:14 2012 -0600 - - Correction: Version 0.2 - - noVNC version 0.2 - -commit 23ff806774fa977de946510a2e814ca2d2181558 -Author: Joel Martin -Date: Mon Feb 20 12:29:56 2012 -0600 - - Version 0.1 - - noVNC version 0.1 - -commit 94bcf652b3af47a6fe9d4a20d4e1e077b7f58b12 -Author: Joel Martin -Date: Mon Feb 20 12:28:17 2012 -0600 - - Add images subdirectory to deb build. - -commit 0ce93900ae738bedb75ad01cbdbd592e1e47fff8 -Author: Joel Martin -Date: Wed Feb 15 14:12:27 2012 -0600 - - Add message panel when hosted at kanaka.github.com. - - Add a helpful popup/panel message for when noVNC is used at - kanaka.github.com (e.g. where novnc.com redirects). - -commit 9e6e6662c727d846d12906c6054d7ec95ef546ed -Author: Joel Martin -Date: Tue Feb 14 17:23:14 2012 -0600 - - Set $D on window directly. - - Addresses: https://github.com/kanaka/websockify/issues/29 - -commit 32f135d730531d88258832445e65cc267265aae4 -Author: Joel Martin -Date: Tue Feb 14 07:53:39 2012 -0600 - - Add array map function for IE9. - -commit 540f0e52a40af66996c938309469bcf175142f50 -Author: Ghe Rivero -Date: Mon Feb 13 16:16:37 2012 +0100 - - debian dfsg - -commit 22b9a7589e8d6678e4a0b92c6f88c5fe3a0595f7 -Author: Anthony Young -Date: Fri Feb 10 23:21:23 2012 -0800 - - Fix novncproxy for trunk cfg changes - -commit 5158669942db0c3571cac2aa466f0a05cf45a4d4 -Merge: fc68c6d 4a6ed02 -Author: Jesse Andrews -Date: Fri Feb 3 20:08:11 2012 -0800 - - Merge pull request #5 from dtroyer/cfg - - cfg moved to nova.openstack.common - -commit 4a6ed02d6ac60e783b353640391c237b9220a8fa -Author: Dean Troyer -Date: Fri Feb 3 21:50:18 2012 -0600 - - cfg moved to nova.openstack.common - -commit 1af3e54bef9f2954f87e28998d00bdacb6280545 -Author: Joel Martin -Date: Thu Feb 2 09:29:02 2012 -0600 - - Make WebSocket encrypt setting default to page protocol. - - I.e. if the page is https:// then the WebSocket encrypt setting will - default to wss:// (TLS encryption). - - Note that since noVNC settings are saved in cookies, this will only - affect first load. If you have already loaded the page, then the - encrypt setting will be whatever you last set it to. - -commit 6a02f88e4d3ab956b44659566eb5dcf502595984 -Author: Joel Martin -Date: Tue Jan 31 13:37:20 2012 -0600 - - Default path to 'websockify' in include/ui.js - -commit 9b75bcaadaa5671683224bd2bf22316d6260d586 -Author: Mike Tinglof -Date: Tue Jan 31 00:15:56 2012 -0500 - - add tight zlib stream reset; add error if tight encoding is used w/o true color - -commit fc68c6dc565c528aec9a88ddd95bb366366da108 -Merge: 1300cf1 419f4e2 -Author: sleepsonthefloor -Date: Mon Jan 30 18:41:19 2012 -0800 - - Merge pull request #3 from cloudbuilders/fix_flags - - Fix flags - -commit 419f4e299b949d539d3a5fa48a2e75ef04e535c7 -Author: Anthony Young -Date: Tue Jan 31 02:18:42 2012 +0000 - - Fix flags for new nova refactor - - * Fixes bug 924058 - -commit a14b8fae2a9e047268b90f35f3d5e90f4ea5ed0d -Author: Mike Tinglof -Date: Mon Jan 30 02:26:36 2012 -0500 - - comment out per-decompress checksum and logging - -commit 2cedf4839728bbe4c5db1ab4735eb16b1c30d5ae -Author: Mike Tinglof -Date: Mon Jan 30 02:19:18 2012 -0500 - - add last rect special encoding; fix tight fill subencoding color handling; fix mono indexed rect handling - -commit c514fd5e1c74889b3db397dd3987f3e91067b350 -Author: Mike Tinglof -Date: Sun Jan 29 02:10:25 2012 -0500 - - don't need to copy palette data until we have all data for rect; change a few comments - -commit 5ca5e2d8cd51bd9ad83a2e1becf99e0f2b7f8b60 -Author: Mike Tinglof -Date: Sun Jan 29 01:55:41 2012 -0500 - - implement tight indexed rectangle; remove some debug code - -commit 6fbc37489fe3da33c94fce989ef12249e8b354db -Author: Mike Tinglof -Date: Sat Jan 28 02:56:19 2012 -0500 - - fix handling of min compression size - -commit b0ac240f3124e01b54ccb59cc033b68722964f03 -Author: Mike Tinglof -Date: Sat Jan 28 01:56:55 2012 -0500 - - re-enable history buffer (used as sliding window for decompress) - -commit 523cc4d6ab57725be8cd161ed899f981f01df1a4 -Author: Joel Martin -Date: Fri Jan 27 16:03:20 2012 -0600 - - Default path 'websockify' for Clojure Websockify. - - The Jetty WebSocket server code used by the Clojure version of - websockify doesn't support WebSocket and Web at the same path so pass - in a default value for the path so that we can support the Clojure - version websockify. - -commit 0fa6748c5290956831b378571d2b81f95b1372f0 -Author: Mike Tinglof -Date: Thu Jan 26 14:35:36 2012 -0500 - - fix issue with parsing distance of more then 8 bits; convert to just supporting arrays for buffers - -commit a820f1267a7422ed7561800f54b4ade76f8d4d78 -Author: Mike Tinglof -Date: Wed Jan 25 18:09:55 2012 -0500 - - added rgb image drawing, some zlib changes (huffman coding working, but lz77 not so much) - -commit c577ca23059b36c0d44d3d1a7d20762c6cd60670 -Author: Mike Tinglof -Date: Tue Jan 24 21:18:29 2012 -0500 - - keep zlib history so we can decode as a stream - -commit de84e098546ea8a1244bddd504fa23ada0bf1f02 -Author: Mike T -Date: Tue Jan 24 13:50:42 2012 -0500 - - basic framing for tight is working (decode not complete) - -commit 682f33a79049fe4987f426e72b0a494b42e6cd9b -Author: Mike -Date: Tue Jan 24 13:49:49 2012 -0500 - - add javascript zlib - -commit e79917c3db630abe65b8c1eb47eea7595fc0c16e -Merge: a9a7f0e ac99a1f -Author: Joel Martin -Date: Thu Jan 12 17:07:07 2012 -0600 - - Merge remote branch 'origin/issue-70' - - Conflicts: - include/display.js - include/rfb.js - - This merges in the fix for https://github.com/kanaka/noVNC/issues/70 - - This changes noVNC to use the preferred color ordering that most VNC - server prefer and that VMWare VNC requires. It's possible this may - break some VNC servers out there in which case we might have to do - something a bit more subtle such as having alternate render functions - for little and big endian color ordering. - -commit a9a7f0e18c4a02a1ea8d220c223bea966c37af15 -Author: Joel Martin -Date: Thu Jan 12 12:52:09 2012 -0600 - - Fix Intel AMT KVM: disable true color. - - Issue: https://github.com/kanaka/noVNC/issues/118 - Reporter @maxnet also found and suggested the fix. - - Probably could be more intelligent/generic by keying off the depth - sent by the server, but this will do for now. - -commit ff4bfcb77388c66b5d20eeaeee0b9a9d0e6eaee4 -Author: Joel Martin -Date: Thu Jan 12 12:38:55 2012 -0600 - - Linting. - - Switched to using: http://www.jshint.com/ - -commit 1300cf194e8060910552be06e55f719318aefc17 -Author: Anthony Young -Date: Tue Jan 10 07:10:05 2012 +0000 - - rename nova binary - -commit 9e4acfba45dd35a7f8ec954dcc56ded732daca10 -Author: Anthony Young -Date: Tue Jan 10 06:07:41 2012 +0000 - - rename ws proxy - -commit f66bcda31b725c6fb800d8da7c00fd5e2ff6ad32 -Author: Joel Martin -Date: Thu Jan 5 11:55:56 2012 -0600 - - Add websockify.py symlink for Windows. - -commit f959b5bf190ae11db5525f41d1e0cf8d63450ec0 -Author: Anthony Young -Date: Tue Jan 3 20:44:29 2012 +0000 - - REmove optparse - -commit adfca57547254e6cddcafdac28b29f947a5676f6 -Author: Anthony Young -Date: Thu Dec 29 00:58:42 2011 +0000 - - updates to vnc proxy to support new auth - -commit fad26e7be0653efc7223d3090c491fc90a02b09a -Author: Anthony Young -Date: Thu Dec 22 21:43:53 2011 +0000 - - Rework of vnc console for essex - -commit 86ebeef709b3aa834bfe09bca8d26100e0fba20f -Merge: f2d8567 2fa565b -Author: Joel Martin -Date: Thu Dec 15 15:34:30 2011 -0600 - - Merge branch 'master' of github.com:kanaka/noVNC - -commit f2d856767d37692945b2f03c71a83806acb4f23a -Author: Joel Martin -Date: Thu Dec 15 15:26:16 2011 -0600 - - websockify: better multi-python version support. - - Pull from websockify: 008a5118e728. - - Should address issue https://github.com/kanaka/noVNC/issues/107 - - - Also add ability to force use of web-socket-js using - window.WEB_SOCKET_FORCE_FLASH - - - in websock.js, for rQshift*, assume length is the full length if not - specified. - -commit 2fa565b37533a2a46cbf606394804420fdcbaaf1 -Author: Joel Martin -Date: Thu Dec 15 14:45:55 2011 -0600 - - Fix python3 wss (TLS/SSL) connection detection. - - Compare the first byte of the handshake against numbers (character - code) as well as string characters. - -commit b688a909b0066aed30320dd96fbced0f74da7f2c -Author: Joel Martin -Date: Thu Dec 15 13:59:35 2011 -0600 - - Show close code and reason. - - Also add commented out web-socket-js debug variable in - include/websock.js - -commit 06a9ef0c6cd90746210f62d72b6bf8f0dcab9491 -Author: Joel Martin -Date: Thu Dec 1 09:05:16 2011 -0600 - - Add View Only mode setting. - - Resolve issue: https://github.com/kanaka/noVNC/pull/101 - - Based on proposal from @mightpenguin: - Matthew Balman - - If view_only option is set then do not send mouse and keyboard events. - This is not a secure/enforced way to make a client view only. To - enforce view only at the server, most VNC servers support setting - a view only password. - -commit c3a172b98c035ff5e0dc5208717ee4c30522afe2 -Author: Joel Martin -Date: Sat Nov 19 17:59:06 2011 -0600 - - Typo in Opera 11.60 fix. - -commit aa670567858e948cf1d9ac12a258e1567911f57f -Author: Joel Martin -Date: Sat Nov 19 17:37:18 2011 -0600 - - Fix issue #102 - Opera 11.60 doesn't work. - - Opera presto engine version detection is broken. For now, just return - true or false. That should cover most cases. - -commit 91b0dc39150b73dc1f4d59a9c43492a4f427d646 -Author: Joel Martin -Date: Thu Nov 17 10:53:31 2011 -0600 - - LibVNCServer capitalization. - -commit 4f545a5ba6362a924bc9c73a3259f7d958e7643a -Author: Joel Martin -Date: Thu Nov 17 10:49:34 2011 -0600 - - Add libvncserver as project including noVNC. - - libvncserver now includes noVNC as an alternative to the Java web - client. - -commit 83ed7b8c2566a53947857b097c0be5af8b2c84fe -Author: Joel Martin -Date: Mon Nov 7 14:26:44 2011 -0600 - - Add Brightbox to user list. - -commit 1c92807a8e70bae5e2ac75f593a75ec81d5638ac -Author: Joel Martin -Date: Mon Oct 31 12:20:46 2011 -0500 - - debian/ - Update CSS file names. - - Thanks Alex Bligh for the catch. - -commit bc71506553659e40eaf4d282309bfc3ed58b9804 -Author: Joel Martin -Date: Sat Oct 29 16:11:37 2011 -0500 - - README: feature section and minor rearranging. - -commit 2e7d81ce24251c81808d226a82bb013300bac2bc -Author: Joel Martin -Date: Fri Oct 28 10:00:03 2011 -0500 - - Add Intel MeshCentral. - -commit fa4607dbf5721395fc042c9446c26a098350dd88 -Author: Joel Martin -Date: Fri Oct 28 09:49:59 2011 -0500 - - Add Amahi as a project using noVNC. - -commit a538be43502b4fbb90c21a097913857e3826cf6b -Author: Joel Martin -Date: Sat Oct 8 13:00:42 2011 -0500 - - Update description. Remove Sentry reference. - -commit a367e84a9273a9e6145d7347abc2eb6983db3f3b -Author: Joel Martin -Date: Sat Oct 8 12:57:57 2011 -0500 - - Update requirements. Note WS added to libvncserver. - -commit df23ea065f5c366303745255c51c5a913e5daad2 -Author: Anthony Young -Date: Wed Oct 5 14:55:51 2011 +0000 - - fix to allow flagfile parsing - -commit 1e5087159920d7c3ca18ff2ec3322594301cb446 -Author: Joel Martin -Date: Thu Sep 29 16:12:19 2011 -0500 - - websockify --run-once, --timeout, numpy fallback - - Pull websockify 724aa3a. - - - Use array module for unmasking HyBi when no numpy module is - available. - - - Detect client close properly when using python 3. - - - Print request URL path is specified. - - - New option --run-once will exit after handling a single WebSocket - connection (but not ater flash policy or normal web requests). - - - New option --timeout TIME will stop listening for new connections - after exit after TIME seconds (the master process shuts down). - Existing WebSocket connections will continue but once all - connections are closed all processes will terminate. - -commit 65db2d8243324916653d89b2a7b59041a3c2e60e -Author: Joel Martin -Date: Thu Sep 29 14:33:25 2011 -0500 - - Fix README screenshot src. - -commit b29e06f36e7c8e9e1f97c5207ddfb01e66f745fd -Author: Joel Martin -Date: Thu Sep 29 14:32:54 2011 -0500 - - Update README screenshots. - -commit f4bce78307204a02fb1296ee42fca0900c1a68b4 -Author: Joel Martin -Date: Thu Sep 29 12:09:32 2011 -0500 - - Re-organize CSS. Remove broken IE filter statement. - -commit 5299db1a004faec901eb31a2a6040b72c3bf4a6c -Author: Joel Martin -Date: Thu Sep 29 09:32:09 2011 -0500 - - Formatting. Image renames/cleanup. - - - Remove the images using the old font. - - - Simplify the naming of the new control bar icon images. - - - Change keyboard input type to 'email'. 'url' type doesn't have - a space bar. - - - Some clarifications to main LICENSE.txt file. - -commit 938daad1c914b8b43bc8b11ac2acec664e7d36bc -Author: Chris Gordon -Date: Thu Sep 29 13:44:08 2011 +1000 - - Mobile icons. - - - CSS highlighting of buttons when selected. - - Keyboard button tweaked to allow show/hide toggle of keyboard. - - Signed-off-by: Chris Gordon - -commit 1709ee3ab7e97f1587d0cd6b8291eb1de5aad951 -Author: Joel Martin -Date: Wed Sep 28 11:39:36 2011 -0500 - - LICENSE.txt, docs/TODO: bring up to date. - - - Add Orbitron info to LICENSE.txt - - - Update TODO. - -commit b5a43c92a0a750ab2476231457718bb880eb67a7 -Author: Anthony Young -Date: Tue Sep 27 19:37:21 2011 -0700 - - remove space - -commit 8565f34978ff71fd46c19c7a9f772875bdd89711 -Merge: 84b0e55 7873bed -Author: Anthony Young -Date: Tue Sep 27 19:13:13 2011 -0700 - - Merge branch 'master' into nova-vncproxy-redux - - Conflicts: - include/rfb.js - vnc_auto.html - -commit 84b0e553d6ced5867e5e9ca157eb0f5b85639279 -Author: Anthony Young -Date: Tue Sep 27 14:57:20 2011 -0700 - - A new imlementation of nova-vncproxy, with better browser support. - -commit 479bfa9964b610a08e0d7d9a246e6221ce4e6763 -Author: Joel Martin -Date: Tue Sep 27 16:53:09 2011 -0500 - - Add local copy of Orbitron font. - - Instead of using Google Font API, use local copy of Orbitron for speed - and also in case Internet connection is flaky or unavailable. - - More info about Orbitron font here: - http://www.google.com/webfonts/specimen/Orbitron - - Orbitron font is: - Copyright (c) 2009, Matt McInerney - - Licensed under SIL Open Font License 1.1 - see docs/LICENSE.OFL-1.1 or http://scripts.sil.org/OFL - -commit a7f5589946904e077d84bbda56bd09ac339f388f -Author: Joel Martin -Date: Tue Sep 27 12:49:50 2011 -0500 - - vnc_auto.html: sync with mobile changes. - - Also, add path option settable with query string. - -commit 6209639f2c2057aed2f319cfe1167befea210516 -Author: Joel Martin -Date: Tue Sep 27 12:36:06 2011 -0500 - - Add WebSocket URL path to UI settings. - -commit 7cd6118ce5e9919c523d57435a0a69119a051f71 -Author: Joel Martin -Date: Mon Sep 26 17:09:29 2011 -0500 - - Move viewport functions. - - Move viewportChange(), getCleanDirtyReset(), absX() and absY() to the - public API section. Also add some function comments. - -commit 490d471c53b1791398d6c30f0efce54925939f33 -Author: Joel Martin -Date: Mon Sep 26 11:28:24 2011 -0500 - - Remove support for non-HTML5 browsers. - - Display API change: - - getTile -> startTile (no longer returns a tile) - - setSubTile -> subTile (drop img/tile first parameter) - - putTile -> finishTile (no longer takes img/tile paramter) - - The Display tile logic uses canvas image data directly and - caches/reuses a 16x16 imageData tile (for other sizes, the tile is - create for each call). This gives a 30% speedup on Chrome - 13 (and no significant change for Firefox 3.6/4.0). - - Other: - - - Remove rgbxImageFill and cmapImageFill routines. - - - Simplify constructor tests and just error if createImageData is not - supported by canvas instead of . - - - Remove webkit canvas bug workaround that effects Chrome 7. Chrome - 7 usage share is now less than 0.5 percent and the workaround is - ugly. Drop the function wrapping in the constructor and the canvas - flush() routine. - - - Remove support for getImageData (Opera 11+ now required) - - Update browser support list: - - - Chrome 8+ (really any except 7) - - Firefox 3.6+ - - Safari 4+ - - Opera 11+ - - IE9+ - - iOS 4.2+ - -commit 859fc7f18fce0cf876ed144d5869bf0558192d72 -Author: Joel Martin -Date: Mon Sep 26 11:16:16 2011 -0500 - - include/ui.js: remove console.log debug. - -commit 131060630505b16f4c63ddf2b56476dda837784d -Author: Joel Martin -Date: Sun Sep 25 22:02:13 2011 -0500 - - Make tests/vnc_perf.html work again. - -commit a7db50597c47cfcd2eadf3852bbea696e01000a2 -Author: Joel Martin -Date: Fri Sep 23 00:51:55 2011 -0500 - - Fixing iOS clipping, keyboard issues. - - - Make sure that on iOS the clipping setting is always forced to be - enabled. - - Hide the showKeyboard button unless connected. - - Use the URL text entry method and disable autocorrect and - autocapitalize in the show keyboard input box. - -commit c506a481548db63843ae112acd4415d2d2621626 -Author: Joel Martin -Date: Fri Sep 23 00:04:01 2011 -0500 - - Only show move/drag button when clipping. Cleanup. - - Cleanup: - - - remove unused changeViewportMeta function from include/ui.js - - remove some debug output and debug CSS. - - rename panel toggle functions and put them in same location in the - code. - - refactor some code from updateState to updateVisualState routine - (renamed from updateSettingsState). - -commit a5df24b488a6ef99f9e06313265a95985a9ff691 -Author: Joel Martin -Date: Thu Sep 22 10:36:23 2011 -0500 - - Viewport clip/drag for mobile/touchscreen devices. - - API changes (forward compatible): - - - Display: add 'viewport' conf option to turn on and off viewport - mode. - - RFB: add 'viewportDrag' option to enable/disable viewport dragging - mode. - - Other: - - - Add clip mode setting to default UI. For touch devices, clipping is - forced on. - - Use CSS media queries to adjust visual elements based on screen - size. Especially disconnected logo size/position and button text size. - - Catch page unload while connected and give a confirm dialog. - - Change mouse button selector to a single button that changes between - ' ', 'L', 'M', 'R' when clicked (empty means mouse is just being - moved and doesn't send clicks). - - include/ui.js:setViewClip() routine sets the clipping of the - viewport to the current size of the viewport area (if clipping is - enabled). - - include/ui.js:setViewDrag() toggles/enables/disables viewport - dragging mode. - - Add several images for the UI and for Apple devices: - - images/clipboard.png: clipboard menu icon - - images/connect.png: connect menu icon - - images/disconnect.png: disconnect button icon - - images/keyboard.png: show keyboard button - - images/move.png: viewport drag/move toggle button - - images/settings.png: settings menu icon - - images/screen_320x460.png: iOS app/desktop link start image - - images/screen_57x57.png: iOS app icon - - images/screen_700x700.png: full size noVNC image - -commit e0b23efe95b068b749581e6bda2adbd7746d016c -Author: Joel Martin -Date: Wed Sep 14 10:42:15 2011 -0500 - - Fix fbUpdateRequest undefined parameter logic. - -commit 608e0f52eeb948ea3abc6026d896a538a0c41cfd -Author: Joel Martin -Date: Wed Sep 14 09:24:30 2011 -0500 - - Some CSS style and DOM id/class cleanup. - -commit 7e5f81f2555fc13a6095600142a2253909cb7723 -Merge: b70ce07 832c744 -Author: Joel Martin -Date: Tue Sep 13 16:53:04 2011 -0500 - - Merge branch 'master' into mobile - -commit 832c744578f686f274c7e23f5a6881fd4fdbb509 -Author: Joel Martin -Date: Tue Sep 13 14:42:38 2011 -0500 - - Framebuffer requests based on clean/dirty areas. - - New routine fbUpdateRequests that builds the update request messages - based on the result of display.getCleanDirtyReset(). - - - Also, fix fbUpdateRequest to properly accept x,y,xw,yw parameters. - -commit b70ce07706d073a1e780da34ed79c2bd35eb704f -Author: Joel Martin -Date: Tue Sep 13 13:14:11 2011 -0500 - - Fix window/document sizing in firefox. - - Another firefox issue is that height: 100% is calculated as 100% of - the containing element even when the containing element is the window. - This means that the size of any sibling element shifts the window size - down by that much and causes the vertical scroll bars to appear. This - doesn't happen in Chrome. - - - So instead, put a pad element inside the noVNC_screen element that - is the size of the control bar. This is hidden by the control bar, - however, it causes things to be sized correctly. - - - Also, rename noVNC_defaultScreen to noVNC_logo. - - - Clean some style specification out of the HTML. - -commit 1c3df652def466bcca9faa878096bc58f4a32075 -Author: Joel Martin -Date: Tue Sep 13 12:17:44 2011 -0500 - - Firefox offset bug: use margin instead of padding. - - For some reason, the position calculation is broken in firefox when - a DOM object in the ancestry change uses padding. So use margin to - shift the view area down. - -commit 9192cbe39c51e092a9353af29b2f22383aeedb78 -Merge: 6ea8bec 54e7cbd -Author: Joel Martin -Date: Tue Sep 13 10:14:53 2011 -0500 - - Merge branch 'master' into mobile - - Conflicts: - include/rfb.js - -commit 54e7cbdf8f50d3a77e70cb25491d9c2b5d40ae46 -Author: Joel Martin -Date: Tue Sep 13 09:54:44 2011 -0500 - - Viewport handling in include/display.js - - Part of mobile device support: - https://github.com/kanaka/noVNC/issues/48 - - The Display object is redefined as a larger display region with - an equal or smaller visible viewport. The size of the full display - region is set/changed using resize(). The viewport is set/changed - using viewportChange(). - - All exposed routines that draw on the display now take coordinates - that are absolute (relative to the full display region). For example, - the result of fillRect(100, 100, 10, 10, [255,0,0]) will appear in the - canvas at (0,0) if the viewport is set to (100,100). - - Details: - - - Move the generic part of the viewport code from tests/viewport.html - into include/display. - - - Add two new routines to the Display interface: - - - viewportChange(deltaX, deltaY, width, height) - - This adjusts the position of the visible viewport and/or the - size of the viewport. - - - deltaX and deltaY specify how the position of the viewport - should be shifted. The position of the viewport is clamped - to the full region size (i.e. cannot outside the display - region). - - - The clean and dirty regions of the display are updated based - on calls to this routine. For example, if the viewport width - is increased, then there is now a dirty box on the right - side of the viewport. Another example, if the viewport is - shifted down and to the left over the display region, there - are now two dirty boxes: one on the left side and one - on the bottom of the viewport. - - - getCleanDirtyReset() - - This returns an object with the clean box and a list of - dirty boxes (that need to be redrawn). - - {'cleanBox': - {'x': x, 'y': y, 'w': w, 'h': h}, - 'dirtyBoxes': - [{'x': x, 'y': y, 'w': w, 'h': h}, ...] - } - - - The coordinates in the clean and dirty boxes are absolute - coordinates (relative to the full display region) but they - are clipped to the visible viewport. - - - Calling this function also resets the clean rectangle to be - the whole viewport (i.e. nothing visible needs to be redrawn - dirty) so the caller of this routine is responsible for - redrawing any - -commit afecb839880dfaa2ecbf244ccc91edfff59a41f0 -Author: Joel Martin -Date: Sat Sep 10 16:03:39 2011 -0500 - - Pull websockify: python3 numpy buffer/string fix. - - Pull from websockify 1c39c7f1f001. - -commit 6ea8bece9b1299f51739e29dfce7c8033af58602 -Author: Joel Martin -Date: Thu Sep 8 10:10:46 2011 -0500 - - Fix setBarPosotion runtime errors. - -commit 01a9eee99166a169106516829eec4f6cd7fc375d -Author: Joel Martin -Date: Thu Sep 8 10:00:09 2011 -0500 - - HTML, CSS and Javascript indent/formatting. - - - 4 space indenting for HTML and Javascript. - - 2 space indenting for CSS - - Use hanging start curly for conditional blocks - -commit 0911173a8985ea52e87c93da9456988668e136c7 -Author: Joel Martin -Date: Thu Sep 8 09:29:05 2011 -0500 - - Disable static canvas logo. - -commit 42e04907ff27daf625c2059f321e5cfbf34c72ca -Merge: d29c54c 7b10dc8 -Author: Joel Martin -Date: Thu Sep 8 08:50:18 2011 -0500 - - Merge remote branch 'kanaka/master' into mobile - -commit d29c54c476f01755612fd4065d4c6887121470a9 -Author: Joel Martin -Date: Thu Sep 8 08:41:50 2011 -0500 - - Remove unused include/plain.css. - -commit 89a76c785c973f5bb37d83a01dfb862b18c767c7 -Author: Chris Gordon -Date: Thu Sep 8 11:54:43 2011 +1000 - - New theme. File: include/blue.css - -commit a7eb596d89cb4efd0f7ef6febe177049761f12a2 -Author: Chris Gordon -Date: Thu Sep 8 11:27:08 2011 +1000 - - Updated to use CSS3 gradients instead of images. - - Fixed display bug with keyboard textbox. - -commit 8e0f008841fcf794e5ab30346c8a5fb00c2d1b30 -Author: Chris Gordon -Date: Thu Sep 8 11:25:52 2011 +1000 - - Fixed bugs with connection panel, and moved functions into UI class. - -commit c1e8b308770c734b4ea1acc45d62b4f96349237d -Author: Chris Gordon -Date: Mon Sep 5 22:02:29 2011 +1000 - - iOS keyboard bug fix. - -commit 2c6b8a481e63f1eeaa4ebe70e040d481c232a709 -Author: Chris Gordon -Date: Mon Sep 5 13:33:22 2011 +1000 - - Bug fix with mobile buttons. - -commit c327865b4bd937e74ee633be683cd25b96612a61 -Author: Chris Gordon -Date: Mon Sep 5 13:31:00 2011 +1000 - - Add base.css. Bar position formatting. - -commit 53fc7392bb1fb89478195ac61e1801ac72c36a98 -Author: Chris Gordon -Date: Mon Sep 5 09:46:13 2011 +1000 - - Modifed UI. Move HTML from ui.js to vnc.html. - -commit 1734b5e465eb04675dfde7b49860762115e0c18c -Author: Chris Gordon -Date: Thu Aug 25 09:52:54 2011 +1000 - - Helper function for viewport meta changes. - - changeViewportMeta() now does viewport changes. - -commit 7825b9ee9f2d4347b8091df34fdb71c1fe319920 -Author: Chris Gordon -Date: Tue Aug 23 10:26:04 2011 +1000 - - Added support for native iOS and Android keyboards. - - Tested with Safari on iPad for iOS and Asus Transformer for Android. - -commit 1150d0f70f3d49bff8ce561dddf2bcd4e32a9754 -Author: Joel Martin -Date: Tue Sep 6 17:46:57 2011 -0500 - - Only output debug colourMap table once. - -commit 7b10dc8a485079fdc34847140fb0c993265e3a1e -Author: Joel Martin -Date: Wed Aug 31 18:06:58 2011 -0500 - - utils/websocket.py: add HyBi 13 support. - - Pull from websockify 6e26306. - -commit 94568bc08d9220b393232d9c9479ad3b011e8206 -Author: Joel Martin -Date: Wed Aug 31 15:33:30 2011 -0500 - - utils/websocket.py: silence partial unmask debug. - - Pull from websockify ada02f2. - -commit fa74a6e60cb689a9d27005dc3fdb42e23c461336 -Author: Joel Martin -Date: Wed Aug 31 15:08:03 2011 -0500 - - websocket.py: fix payload length calculation. - - Pull from websockify 0da91c7. - -commit 48f26d799f374cda876cba389799c42ed6e49890 -Author: Joel Martin -Date: Wed Aug 24 13:26:28 2011 -0500 - - websockify: pull HyBi fixes. - - Pull 86af0b614d and 7b496ce5b from websockify. - - Fix HyBi support on 64-bit systems. - - https://github.com/kanaka/noVNC/issues/76 - - - cleanup/update TODO. - - remove explicit check for ctypes module for HyBi. - - Clarify that we support HyBi 07-10. - - HyBi 07 reports version 7 in the handshake. - HyBi 08-10 report version 8 in the handshake. - - Remove version 9 since that is not yet actually defined. - -commit ec40268e554796462a71396d0ae752f6d613be03 -Author: Joel Martin -Date: Mon Aug 22 11:21:55 2011 -0500 - - Working viewport test. - - Tested on iOS (iPhone and iPad). - - The viewport is correctly clipped to the screen/browser size and - resizing works correctly. - - This uses the CSS3 Flexible Box Layout model. - -commit 46c621175cb0ac5433d16ce254e2128a0ada09ba -Author: Joel Martin -Date: Wed Aug 10 17:54:15 2011 -0500 - - Fix websockify with python2.4 - - https://github.com/kanaka/noVNC/issues/72 - - Pull from websockify 2e00f9643. - -commit 676fbbb66255615070ab0654cb67351def79d601 -Author: Joel Martin -Date: Thu Aug 4 10:50:16 2011 -0500 - - README: Zentyal (Ebox) and SlapOS to projects list. - -commit 4245363cf4b2c123939f2f8cce5fd6b1e3b8a85b -Author: Joel Martin -Date: Wed Aug 3 18:18:41 2011 -0500 - - Add a viewport example/test. - - Tested with an iPad 2. - - This example shows a 400x200 viewport of an 800x400 display. - - It tries to be intelligent about how much it redraws. It copies what - it can, and then when the user releases the mouse, it redraws the - "dirty" areas that were newly revealed. - -commit ce3bdbccc2a58d6c9ab6d0eeceb3f6ac3bc3b5e5 -Author: Joel Martin -Date: Tue Aug 2 08:02:51 2011 -0500 - - Catch Mozilla prefixing of WebSocket. - - Pull 475cfae from websockify. - - In Firefox 7 Mozilla has added Websockets support but prefixed the - constructor with "Moz". - -commit ad3f7624093e6e467f6978f1c5afde0641b9bcda -Author: Joel Martin -Date: Sat Jul 23 21:24:59 2011 -0500 - - Touch events and mouse button selectors. - - First crack at supporting touch screen for devices like Android and - iOS tablets. Part of https://github.com/kanaka/noVNC/issues/48. - - This change detects touch screen support and uses the touchstart, - touchmove, touchend events in place of the normal mouse events. - - In order to support middle and right mouse clicks, if the device is - a touch device, then three toggle buttons are added to the UI - representing the left, middle and right mouse buttons. These select - which mouse button will be sent when the screen is touched. All the - buttons can be toggled off, in which case then the touch events only - move the mouse cursor rather than sending a mouse down and mouse up - for touchstart and touchend events respectively. This allows fairly - full control with the mouse on touch screens. - -commit ac99a1f791e71f0b02de748419c21af0f45350b5 -Author: Joel Martin -Date: Mon Jul 18 12:17:47 2011 -0500 - - Change default PixelFormat. Fix canvas test. - - Instead of R,G,B (red-shift of 0, green-shift of 8, and blue-shift - of 16), use the default ordering of B,G,R (red-shift of 16, green-shift of 8, and blue-shift - of 0) that tightvncserver uses (and that VMWare's VNC server seems to - require). Also, warn in the console if the server does not default to - the new format. - - Fix the tests/canvas.html test. This is a general fix with regards to - the rename/refactor of canvas.js into display.js and not specific to - the color re-ordering. - -commit c0c143a1536870d43135df2a19024a48a4c3433c -Author: Joel Martin -Date: Thu Jul 14 15:57:01 2011 -0500 - - Version 0.1, debian packaging, license text. - - noVNC version 0.1 - - Add debian packaging directory loosely based on - http://trac.zentyal.org/browser/trunk/extra/novnc/debian - - Show web root directory on startup (pulled from websockify f1c8223). - - Lintian fixups: - - Some license text clarifications. - - remove executable permission on utils/launch.sh and - include/web-socket-js/web_socket.js - - Add executable permission to utils/launch.sh - -commit 29c3cbee8b9bc47482e697869f4147ccf4a60f1e -Author: Joel Martin -Date: Wed Jul 13 15:19:09 2011 -0500 - - README: Fix CloudSigma link. - -commit 241a6caea657f1d0d117669bc7db12e6f201508f -Author: Joel Martin -Date: Wed Jul 13 15:17:22 2011 -0500 - - README: link to CloudSigma as product using noVNC. - -commit 7873bed44c5f84b6eb7db3ed46838ee16dd2c750 -Merge: d599a66 139d51d -Author: Andy Smith -Date: Tue Jul 12 11:51:23 2011 -0700 - - Merge pull request #3 from sleepsonthefloor/master - - Declare Token Variable, minor fix - -commit 4f8c74651830e6b08803a2ffcfe555f28ed77f32 -Author: Joel Martin -Date: Sat Jul 9 13:39:04 2011 -0500 - - Pull websockify socket() static method. - - Pull websockify 46e2fbe. - - WebSocketServer.socket() is a static method takes a host and port and - an optional connect parameter. If connect is not set then it returns - a socket listening on host and port. If connect is set then - a connection will be made host and port and the socket returned. This - has IPv6 support like the addrinfo method it replaces. - - Also, prefer IPv4 resolutions if they are in the list. This can be - overriden to prefer IPv6 resolutions for the same host using the - optional prefer_ipv6 parameter. - -commit 3a39bf60f3815650ec630593c1e259a61d0aad87 -Author: Joel Martin -Date: Thu Jul 7 15:14:41 2011 -0500 - - Pull IPv6 and HyBi fixes from websockify. - - Pull 7ae8711 from websockify. - -commit 123e5e74452842ec216612bfbfd27aedc0e04e41 -Author: Joel Martin -Date: Thu Jul 7 11:47:11 2011 -0500 - - Pull IPv6 support from websockify. - - Pull from websockify 247b74950d. - -commit a4ff1f573d0cc7cecd3438f380adcb0a60efd8f6 -Author: Joel Martin -Date: Wed Jul 6 16:32:42 2011 -0500 - - Fix ordering of tightPNG fills. - - This addresses issue #65: - https://github.com/kanaka/noVNC/issues/65 - - When tightPNG encoded rects were received, any fill types were - immediately drawn to the canvas while images (PNG, JPEGs) were queued - for loading. This can cause screen corruption when things are changing - rapidly due to the misordering of fills vs images. - - Also, remove the onload setting in each image on the queue and instead - decrease the tight image queue scanning interval (to 40ms or 25 - scans per second). - -commit c6fd71536f2f684841cc355b4e87ac072c84c1fb -Author: Joel Martin -Date: Fri Jul 1 13:17:20 2011 -0500 - - Show full pixelFormat received from server. - - For debugging issue #70: https://github.com/kanaka/noVNC/issues/70 - -commit 61fc1f2287c52364143d0592c648621ad8d23ed9 -Author: Joel Martin -Date: Tue Jun 28 16:29:29 2011 -0500 - - Remove extraneous question mark. - - Part of https://github.com/kanaka/noVNC/issues/69 - - Pull from websockify b590289de5. - -commit 96513f564545ce9d7ddc5ac0678f87798a1e3313 -Merge: 0b7bc4e 95ff836 -Author: Joel Martin -Date: Tue Jun 28 16:23:57 2011 -0500 - - Merge branch 'master' of git@github.com:kanaka/noVNC - -commit 0b7bc4e986d30a22000a538540c7f9bc2714a640 -Author: Joel Martin -Date: Tue Jun 28 16:22:50 2011 -0500 - - Only append random string to swf path in IE. - - Issue https://github.com/kanaka/noVNC/issues/69 - - Thanks https://github.com/EdSchouten for the catch. - - Import from websockify 9a2b50d8. - -commit 95ff836e451c72ac27ac6a7e5f987520e47cfa58 -Merge: 68edd7f 3b8caa4 -Author: Joel Martin -Date: Mon Jun 27 07:26:00 2011 -0700 - - Merge pull request #67 from EdSchouten/master - - Add support for setting the WebSocket URI path. - -commit 3b8caa4b094c667014481bcd1954ecc0bc2f8231 -Author: Ed Schouten -Date: Mon Jun 27 10:55:03 2011 +0200 - - Add support for passing the file name to get. - - This change allows one to implement a single WebSockets proxy, which - multiplexes connections to different hosts. - -commit 8a7ce3da6a24f777089ecfebf0135f88c8d7ff1b -Author: Joel Martin -Date: Sun Jun 26 16:02:42 2011 -0500 - - Clarify companies/projects link description. - -commit 68edd7f4f88bc914b7f08b00d465b7815157ad91 -Author: Joel Martin -Date: Sun Jun 26 15:55:44 2011 -0500 - - Move project/companies info to wiki. - - Just have a list here without all the links. - -commit 8c305c60addc1ef7fb04c7ff5f63e8a440066a0e -Author: Joel Martin -Date: Sun Jun 26 14:21:56 2011 -0500 - - Pull fix of recording from websockify. - - Pull websockify 7f487fdbd. - - The reocrd parameter will turn on recording of all messages sent - to and from the client. The record parameter is a file prefix. The - full file-name will be the prefix with an extension '.HANDLER_ID' - based on the handler ID. - -commit fa8f14d56d438ef4798706f3d331fd1ca445af42 -Author: Joel Martin -Date: Sun Jun 26 14:17:42 2011 -0500 - - Fix playback of recorded VNC. - - - Update test mode calls to work with separate websock module. - - - Pull in include/websock.js update 7f487fdbd from websockify. - -commit 2270c7b5ae30c96317c8684ab1c1c2cc692642cd -Author: Anthony Young -Date: Sun Jun 26 00:36:27 2011 -0700 - - add ability to set title from url - -commit 939cc6d563455f226cbaa9148effa09da783b3b6 -Author: Joel Martin -Date: Mon Jun 13 14:29:51 2011 -0500 - - Broadway link cleanup. - -commit 6a545db4cb73ee3ba33899ebccda2131ae62f3f9 -Merge: a6f3281 3859e1d -Author: Joel Martin -Date: Mon Jun 13 14:28:38 2011 -0500 - - Merge branch 'master' of git@github.com:kanaka/noVNC - -commit a6f32812833ce274d95b6d751b4799b148a05e09 -Author: Joel Martin -Date: Mon Jun 13 14:27:47 2011 -0500 - - Broadway HTML5 GDK backend link. - - Broadway uses noVNC keyboard/input handling. Link to it. - -commit 139d51d01f5b0a29c76c57920bed126e3e71ecf2 -Author: Anthony Young -Date: Wed May 25 20:18:29 2011 -0700 - - declare local variable - -commit 3859e1d35cf0a33654eb472ebc5eb0784a7b1f9b -Merge: 557efaf 19ed81f -Author: Joel Martin -Date: Thu May 19 10:08:30 2011 -0700 - - Merge pull request #59 from smussmann/patch-1 - - Fixed minor typo in util/launch.sh informational output (s/to to/to/) - -commit 19ed81fdffc26853a75144d0ed7871d93cf9d7e8 -Author: Sam Mussmann -Date: Thu May 19 09:37:28 2011 -0700 - - Fixed minor typo - - s/to to/to/ - -commit 557efaf85687bd135a41f0a36908c6dad272855e -Author: Joel Martin -Date: Thu May 12 12:55:04 2011 -0500 - - utils/websocket.py: disable debug output. - -commit 7d146027599f920028aa1599d1a52f85992618ee -Author: Joel Martin -Date: Thu May 12 12:33:57 2011 -0500 - - Pull websockify 284ef3cc1a54 - - Including HyBi-07 support and refactor of send/recv. - -commit 5210330a6c4dde7963ac50c2c07dba7776e12d0c -Author: Joel Martin -Date: Wed May 11 17:31:53 2011 -0500 - - Refactor configuration attributes. - - - Add conf_defaults which accepts an array of configuration - attributes. - - Split out user configuration defaults from the actual configuration - object. - - Add mode field and enforce read-only, write-once, read-write modes. - -commit d890e8640f20fba3215ba7be8e0ff145aeb8c17c -Author: Joel Martin -Date: Wed May 11 15:55:44 2011 -0500 - - API changes/cleanup. - - API changes: - - include/canvas.js renamed to include/display.js - - Display.rescale() method removed from API. Use Display.set_scale() instead. - - Make logo configuration attribute of Display and display it when - clear() is called if it is set. - - API deprecations: - - use RFB onUpdateState instead of updateState. - - use RFB onClipboard instead of clipboardReceive. - - See https://github.com/kanaka/noVNC/wiki/ModuleAPI for detailed noVNC - modules and API description. - - Expand and normalize the event/callback interfaces. Standize on - "onEventName" form for callbacks. - - Callback Renames: - - RFB updateState -> onUpdateState - - RFB clipboardReceive -> onClipboard - - Keyboard keyPress -> onKeyPress - - Mouse mouseButton -> onMouseButton - - Mouse mouseMove -> onMouseMove - - Callback Additions: - - RFB onPasswordRequired - - RFB onBell - - RFB onFBUReceive - - RFB onFBUComplete - - Other: - - Add array type support to Util.conf_default() - - Removed a bunch of routines from the Display API that were just used - internally and not actually by noVNC: flush, setFillColor, - imageDataGet, imageDataCreate, rgbxImageData, rgbxImageFill, - cmapImageData, cmapImageFill. - - More keyboard/mouse logging when debug turned on. - - Some JSLinting - -commit 2fb665ec9464c4ee388c609161c02a8e98a4ba4a -Merge: f31eeaa 1a2371f -Author: Joel Martin -Date: Mon May 9 18:09:59 2011 -0500 - - Merge branch 'master' of git@github.com:kanaka/noVNC - -commit f31eeaa8ab4b6a2fa946ca18a1d6d366e391cc51 -Author: Joel Martin -Date: Mon May 9 17:22:02 2011 -0500 - - Stop sending empty frames. - - Pull from websockify a339a4856. - -commit 1a2371fcd2e46b8b0134f65966357fb3eb3a3efb -Author: Joel Martin -Date: Fri Apr 29 14:04:40 2011 -0500 - - include/canvas.js: missed scale fix. - -commit 58b4c5366146d0d74dfcd14a75427b16aba3151b -Author: Joel Martin -Date: Fri Apr 29 14:01:40 2011 -0500 - - Fix scale/rescale attribute/hooks. - - Still buggy so not yet activated in the UI, but the hooks are at least - here. - -commit 1ac21e2941f89d415b255f0de38100c0bcd27286 -Author: Joel Martin -Date: Sun Apr 24 12:52:19 2011 -0500 - - README.md: adjust links to clarify. - - Separate the links from each other so it's obvious where the links - are. - -commit 4529ec0176880c658f3d44f12dc8b4daff77f75b -Author: Joel Martin -Date: Sun Apr 24 12:45:58 2011 -0500 - - README.md: Add OpenStack doc and video link. - -commit 667ef9bae884203fb35bc69fb0b97c43e661ef3f -Author: Joel Martin -Date: Sun Apr 24 12:34:09 2011 -0500 - - README.md: fix wiki links. - - github changed something about relative links. - -commit bbee8098c23afee85cc0f52c3f86537719b08850 -Author: Joel Martin -Date: Thu Apr 21 08:45:04 2011 -0500 - - tests/browser.js: Missing. Needed for arrays.html test. - -commit 41b9ae6ec92ba2c466945aa8dbf92eba97c8abdd -Author: Joel Martin -Date: Tue Apr 19 09:37:43 2011 -0500 - - Sync with websockify. Save handshake headers. - - Derived classes will almost certainly want to make use of the raw - info. - -commit eb6426b4bccd5009e7d73cbb046d1337e75c653d -Author: Joel Martin -Date: Fri Apr 15 08:48:04 2011 -0600 - - input.js: remove redundant switch case statments. - - Issue #21 - non-US key handling. - -commit dc4131b14a417d92b331fb7675ed6fb207f36adf -Author: Joel Martin -Date: Fri Apr 15 08:40:20 2011 -0600 - - input.js: uncomment special key handling for non-US keys. - - Issue #21 - non-US keyboard layouts. - - The code section for tab, backspace and enter was commented out for - testing but got checked in that way. Fix that. - -commit b7c9657b83c4565a5d96a0f6fbeccba284b9b2c9 -Author: Joel Martin -Date: Thu Apr 14 11:25:11 2011 -0600 - - include/input.js: change to LGPL-2 or later. - - Requested by Alexander Larsson at Red Hat to allow incorporation of - solution into HTML5 gtk 3.0 backend. - -commit fac149ddbe32dd233a1b34ffc4450508daaa420e -Author: Joel Martin -Date: Tue Apr 12 09:06:11 2011 -0500 - - input.js: adjust special key handling for non-US keys. - - Issue #21 - non-US keyboard layouts. - - Only identify some keys as special during the keyDown event so that - when using non-US keyboards the values don't overlap with the values - for normal keys. - - Some keys have to still be identified in both keyDown and keyPress - since they generate both: backspace and enter for Firefox and Opera, - tab for Opera. - -commit 303819eaa956e6c16a9513eedec90d1b0daace0c -Author: Joel Martin -Date: Wed Apr 6 11:19:02 2011 -0500 - - util/json2graph.py: new location for json2graph.py. - - Also clarify usage statement with legend height adjustment. - - Remove console.log in arrays.js so that it works in firefox without - firebug. - -commit 40e5c25ad8d95c48c56ae936bc869211cd7aba75 -Author: Joel Martin -Date: Wed Apr 6 10:05:59 2011 -0500 - - utils/rebind, utils/u2x11: use /usr/bin/env - -commit 0a92014700baeff5140984ac9058ba36e5e5caeb -Author: Joel Martin -Date: Tue Apr 5 14:46:22 2011 -0500 - - include/webutil.js: fix dirObj undefined attribute. - -commit d0c29bb679f065350529fa423f29daf24fda550d -Author: Joel Martin -Date: Tue Apr 5 14:44:47 2011 -0500 - - Fix copyright year to 2011. - -commit c96f900336b57401a7e2d1678f80cf88662ab566 -Author: Joel Martin -Date: Tue Apr 5 14:26:54 2011 -0500 - - Refactor keyboard event handling. - - This is part of addressing issue #21 - non-US keyboard layouts. - - There are several challenges when dealing with keyboard events: - - The meaning and use of keyCode, charCode and which depends on - both the browser and the event type (keyDown/Up vs keyPress). - - We cannot automatically determine the keyboard layout - - The keyDown and keyUp events have a keyCode value that has not - been translated by modifier keys. - - The keyPress event has a translated (for layout and modifiers) - character code but the attribute containing it differs. keyCode - contains the translated value in WebKit (Chrome/Safari), Opera - 11 and IE9. charCode contains the value in WebKit and Firefox. - The which attribute contains the value on WebKit, Firefox and - Opera 11. - - The keyDown/Up keyCode value indicates (sort of) the physical - key was pressed but only for standard US layout. On a US - keyboard, the '-' and '_' characters are on the same key and - generate a keyCode value of 189. But on an AZERTY keyboard even - though they are different physical keys they both still - generate a keyCode of 189! - - To prevent a key event from propagating to the browser and - causing unwanted default actions (such as closing a tab, - opening a menu, shifting focus, etc) we must suppress this - event in both keyDown and keyPress because not all key strokes - generate on a keyPress event. Also, in WebKit and IE9 - suppressing the keyDown prevents a keyPress but other browsers - still generated a keyPress even if keyDown is suppressed. - - For safe key events, we wait until the keyPress event before - reporting a key down event. For unsafe key events, we report a key - down event when the keyDown event fires and we suppress any further - actions (including keyPress). - - In order to report a key up event that matches what we reported - for the key down event, we keep a list of keys that are currently - down. When the keyDown event happens, we add the key event to the - list. If it is a safe key event, then we update the which attribute - in the most recent item on the list when we received a keyPress - event (keyPress should immediately follow keyDown). When we - received a keyUp event we search for the event on the list with - a matching keyCode and we report the character code using the value - in the 'which' attribute that was stored with that key. - - For character codes above 255 we use a character code to keysym lookup - table. This is generated using the util/u2x11 script contributed by - Colin Dean (xvpsource.org). - -commit d1bd5ec7d40333cd7f78bcd1beea1a73cac2ed53 -Author: Joel Martin -Date: Sun Apr 3 17:51:47 2011 -0500 - - Fix focus/clipboard related to mouse/keyboard refactor. - -commit d3796c149e66f0a9021f87570b5786c40683cdd1 -Author: Joel Martin -Date: Sun Apr 3 17:30:45 2011 -0500 - - API change: Mouse/kbd handling to include/input.js - - API change: for intergrators that explicitly include the Javascript - files (that do not use include/vnc.js)js, include/input.js is a new - file that must also be included. - - The mouse and keyboard handling could be useful on its own so split it - out into a Keyboard and Mouse class in include/input.js. - - This refactoring is preparation to deal with issue #21 - non-US - keyboard layouts. - -commit dec1861127a6a3d31c614b455a88dba3c0ebb3e2 -Merge: f899070 e915581 -Author: Joel Martin -Date: Tue Mar 29 15:47:58 2011 -0500 - - Merge branch 'master' of git@github.com:kanaka/noVNC - -commit f899070482f34d48e29476cf157eb51f29c030d2 -Author: Joel Martin -Date: Tue Mar 29 15:44:03 2011 -0500 - - IE9 fixes: mouse, doctype. Adobe Flash link. - - Fix mouse button mapping in IE9. All browsers have converged on - a standard left=0, middle=1, right=2 ... all except IE that is. - - Add html5 doctype to tests. - - In vnc_perf test, use do_test instead of start for function name since - start is a keyword in IE. - - In error about Flash give a link to Adobe's download page. - -commit e9155818c8615739a30f5535c92a6f80b08ab59b -Author: Phil Phillips -Date: Sat Mar 26 02:46:58 2011 +0800 - - Make scripts more compatible across OSes - -commit 0b6292b8c09f114a9f67f965311e78004cc9e040 -Author: Joel Martin -Date: Fri Mar 25 09:01:53 2011 -0500 - - No exception if noVNC_logo is undefined. - -commit 8a377d7a95bb7d256d7a6286742db57e00af60ac -Author: Joel Martin -Date: Wed Mar 23 21:23:08 2011 -0500 - - Ignore utils/rebind.so - -commit d599a6619ac93ea37d1af54422a461993d5c8f09 -Author: root -Date: Wed Mar 23 15:46:22 2011 -0700 - - make websocket path /data - -commit 54fbfa8ecb90c2923310bcad1acd836ef678bac1 -Merge: b23063e 81bcf70 -Author: root -Date: Wed Mar 23 15:08:34 2011 -0700 - - Merge remote branch 'kanaka/master' - -commit 81bcf70fdcda0c413e3358efa09013d130def47e -Author: Joel Martin -Date: Tue Mar 22 14:24:55 2011 -0500 - - Higher connectTimeout default with web-socket-js. - - Current timeout is 2 seconds for connect timeout. Use 5 seconds if - web-socket-js (Flash WebSockets emulator) is being used. On Windows XP - with Flash 10.2.152.26, connecting seems to take quite a bit longer - than it probably should. This should make it work more consistently. - -commit bbd21ca7b5eda4b6813b91350fd9438198bcb285 -Author: Joel Martin -Date: Wed Mar 16 10:33:01 2011 -0500 - - Update web-socket-js to bb5797cad. - - Syncs with same change to websockify (7534574a2f). - - Primary change is removal of FABridge interface. - - Seems to improve overall latency by perhaps 10%. Also, the slowdown - over time in Opera is about half as bad (but still there). - -commit 5e55378b6e4c9f24ef4481cec3032a860d4d824b -Author: Joel Martin -Date: Mon Mar 14 19:05:42 2011 -0500 - - test/*.html: use "../include" instead of symlink. - - This allows tests to work on the github pages site. - -commit 468a9cc44ad3ec0145c18314ea92f5e1408aa81d -Author: Joel Martin -Date: Mon Mar 14 18:54:16 2011 -0500 - - tests/keyboard.html: fix getKeysym call. - -commit b23063ec5fcae11a60336d30b0e894e6733eec85 -Author: root -Date: Wed Mar 2 01:45:38 2011 -0800 - - web based vnc proxy for nova - -commit 1506a5ed54a4dfce1b6ef4c08421d60013532a32 -Author: Joel Martin -Date: Wed Feb 23 14:48:23 2011 -0600 - - Clarify license on arrays test files. - -commit d3da7c4c4fde101cc0722435f5dec6268b7e8a28 -Author: Joel Martin -Date: Wed Feb 23 11:08:09 2011 -0600 - - Add Javascript binary byte array test. - - Compares normal Javascript arrays with Canvas ImageData arrays and - Typed Arrays (ArrayBuffers from WebGL). - -commit 43cf7bd83b122891b403092aa0137229c20c9c92 -Author: Joel Martin -Date: Sat Feb 19 16:44:10 2011 -0600 - - Some JSLint'ing - -commit 9b8f457b6b52e4a0db1daa6914c39c661ce6adb3 -Author: Joel Martin -Date: Sat Feb 5 13:03:12 2011 -0600 - - Add OpenNode to README. Update TODOs. - -commit 159ad55d03c453d091a3e67b4426eb541044f390 -Author: Joel Martin -Date: Thu Feb 3 11:04:32 2011 -0600 - - Add logo, favicon. - - Thanks to Michael Sersen for creating images/Logo.svg. - - - Add images directory with original SVG logo, favicon, and some - derivative PNGs of the logo for different purpose. - - - Note that license on images/* is CC BY-SA. - - - Add utils/img2js.py to take an image and generate a base64 encoded - data URI string. - - - Add base64 encoded data URI screen logo to display in canvas when - disconnected. - -commit 0f354fb682c54c856341d28642f510b3768bdfc0 -Author: Joel Martin -Date: Wed Feb 2 10:48:29 2011 -0600 - - Fix CSS sizes with HTML5 doctype. - - Using HTML5 doctype means CSS pixels sizes must have "px" suffix which - many of them did not. Fix that. - -commit 215ae8e5647dd3e3d7fc4b4273d2f3b6f8e69cde -Author: Joel Martin -Date: Tue Feb 1 10:47:45 2011 -0600 - - Better reaper, catch occasional bad WS header line. - - Call waitpid in loop to catch SIGCHLD signals that happen while - handling the original SIGCHLD signal. - - Pulled from websockify. - -commit ec2b614037aec641acd5bcce3c1b6d67182534eb -Author: Joel Martin -Date: Mon Jan 31 12:13:30 2011 -0600 - - Pull websockify: zombie reap, ignore unready clients. - -commit 40f281ebbdf79e6b2af32f88bdf5efe8b8f4550f -Author: Joel Martin -Date: Sun Jan 30 23:42:28 2011 -0600 - - Add DOCTYPE. Misc cleanup. - -commit 0981845ec45e3b6e36e51ea81162451aecb507e0 -Author: Joel Martin -Date: Sun Jan 30 22:58:22 2011 -0600 - - IE9 fixes. Works but slow. API change. - - API change: changed include path variable from VNC_uri_prefix to - URI_INCLUDE since websock.js uses the variable and websock.js is no - longer just for noVNC (i.e. websockify is really the canonical - location for websock.js). - - Changes to get web-socket-js to work. Right now it's a hack to get - around: https://github.com/gimite/web-socket-js/issues#issue/41. The - hack is to disable caching of the flash objects by appending - "?" + Math.random() to the end of the flash object path (but only when - using IE). - -commit 7cc5fbc52e0dbf4946f4253d2f5f81722d17634b -Author: Joel Martin -Date: Sun Jan 23 19:36:11 2011 -0600 - - Opera 11 WebSockets and Opera '-' key mapping fix. - - Opera 11 native WebSockets (if enabled) seems to have bad behavior for - the bufferedAmount so add change from websockify project to allow max - bufferedAmount (before send queue is delay) to be configured. - - Also, Opera 11 and 10.60 behave like Mozilla regarding the '-' key so - translate it correctly. - -commit 1756a30a4891e137849a161bd66e56d2719ae52d -Author: Joel Martin -Date: Sun Jan 23 19:21:04 2011 -0600 - - websock.send returns true/false. - - If all send data was flushed from the send queue then return true, - otherwise false. This doesn't mean the data won't be sent, just that - it wasn't sent this time and is queued. - -commit 8b502df2a1f8b11afac1e0f0f6a70b80adc6767f -Author: Joel Martin -Date: Sun Jan 23 19:17:59 2011 -0600 - - Tolerate some bufferedAmount. - - Only delay sending data if bufferedAmount is greater than 1000. - - This seems to match the intention of the spec better. bufferedAmount - does not mean that we can't send, it's just an indication that the - network is becoming saturated. But Opera 11 native WebSockets seems to - have a bug that bufferedAmount isn't set back to zero correctly so - we'll be a bit more tolerant. - -commit cabecf8964018cc818e79588037b21191ed53994 -Author: Joel Martin -Date: Wed Jan 19 13:09:32 2011 -0600 - - canvas.js: prevent Opera keyboard event bubbling. - - Issue #8: https://github.com/kanaka/noVNC/issues#issue/8 - -commit b43c9838a5760d9a6f32049798cb292a7876ec3c -Author: Joel Martin -Date: Wed Jan 19 13:01:28 2011 -0600 - - web-socket-js: Add function invocation fix. - - Related to this issue: - https://github.com/gimite/web-socket-js/issues/#issue/50 - - This prevents the "Uncaught exception: TypeError: - 'this.__handleEvents' is not a function" everytime the timer fires. - - Yay, one of Javascript's worst behaviors; the way it sets "this". - -commit 9a23006e7a33891d742a975b9d4702674cec30fa -Author: Joel Martin -Date: Tue Jan 18 23:22:25 2011 -0600 - - include/canvas.js: fix changeCursor data format. - - Issues #27 (safari cursor rendering messed up) and #29 (firefox 3.6.10 - segault). - - Finally found some better reference on the icon/cursor format which is - added to the docs/links file. - - It seems like I was missing the XOR section. So setting the cursor - would cause corruptin in Safari rendering or the segfault for firefox. - -commit 9df83a3953618ac38984d0966d8bbf39e2efd74d -Author: Joel Martin -Date: Tue Jan 18 14:19:55 2011 -0600 - - Move advanced, integration, troubleshoot to wiki. - - Move the Advanced Usage, Integration and Troubleshooting sections to - their own pages in the wiki. - - Also, update wsproxy.py referneces to be websockify. - -commit 2840026468655b5985fba633c285310250f29f84 -Author: Joel Martin -Date: Tue Jan 18 12:16:50 2011 -0600 - - include/canvas.js: add numpad support to getKeysym. - - Check keyLocation and translate numpad keys into numbers. keyLocation - is not widely supported yet, but it should start percolating into - browsers eventually: - http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent - - This change is based on: - https://github.com/leeor/noVNC/commit/8e59e3772c91eaffaa0f6d53270b97f1fe8510b4 - -commit 0a9f04241e7f336117c1e3761b30e0e065090e0d -Author: Joel Martin -Date: Tue Jan 18 11:58:24 2011 -0600 - - Move browsers.md to Wiki. - - It is now here: https://github.com/kanaka/noVNC/wiki/Browser-support - -commit febae871ab8be4e1444a66c6f32bb64dbd81f077 -Author: Joel Martin -Date: Mon Jan 17 11:46:55 2011 -0600 - - tests/vnc_perf.html: load from data/multi.js - - To go along with addition of performance notes to the website. - -commit 30b0c00875bfe4f4b5ec7fb530cf38e6477c6c96 -Author: Joel Martin -Date: Sun Jan 16 19:27:32 2011 -0600 - - Misc docs/{TODO,links} updates. - -commit 24d01a5aa43ec44bd75a128492e9014ef86061cf -Author: Joel Martin -Date: Sun Jan 16 19:05:58 2011 -0600 - - Update gimite/web-socket-js build. - - Update to a build based on 20f837425d4 from gimite/web-socket-js. - - This changes the event handling code and fixes the frequent recursive - call into Flash errors. - -commit 1b097a63a3aff84f51ed326e53b1233283b298e5 -Author: Joel Martin -Date: Sun Jan 16 18:57:45 2011 -0600 - - Fix strict mode complaints in firefox 4. - -commit 72f1348b3514c2938d621d452dd5fc31c5e7a92e -Author: Joel Martin -Date: Thu Jan 13 00:30:08 2011 -0600 - - Convert to Websock library. - - Copy in include/websock.js from websockify and use that instead. Still - some cleanup of network code but it's a good start. - -commit 61265b3a7f1fa926174e6423b33a1b0deb710a36 -Author: Joel Martin -Date: Wed Jan 12 20:31:04 2011 -0600 - - Remove files that are now in websockify. - - https://github.com/kanaka/websockify is now the canonical location of - websockify (formerly wsproxy). A copy of the python version is kept - here for backwards compatibility and ease-of-use. The other versions - and related test scripts are in websockify. - -commit 66937e399a426aba558ab1005a8a11d2dc206da1 -Author: Joel Martin -Date: Wed Jan 12 18:12:17 2011 -0600 - - wsproxy.py: python2.4 fixes. - -commit c32e00c67f6d19d38c18ff80cc76138438be6412 -Author: Joel Martin -Date: Wed Jan 12 17:09:33 2011 -0600 - - wstelnet: forgot VT100.js. - -commit 932e7318b93ecbb59bdf6c22917cc70e03831d86 -Author: Joel Martin -Date: Wed Jan 12 16:55:31 2011 -0600 - - Minor correct to wstelnet.js header comment. - -commit f2538f337d85695cd6bfa183195ca3189d45d58c -Author: Joel Martin -Date: Wed Jan 12 13:15:11 2011 -0600 - - wsproxy, wstelnet: wrap command, WS telnet client. - - wswrapper: - - Getting the wswrapper.c LD_PRELOAD model working has turned out to - involve too many dark corners of the glibc/POSIX file descriptor - space. I realized that 95% of what I want can be accomplished by - adding a "wrap command" mode to wsproxy. - - The code is still there for now, but consider it experimental at - best. Minor fix to dup2 and add dup and dup3 logging. - - wsproxy Wrap Command: - - In wsproxy wrap command mode, a command line is specified instead - of a target address and port. wsproxy then uses a much simpler - LD_PRELOAD library, rebind.so, to move intercept any bind() system - calls made by the program. If the bind() call is for the wsproxy - listen port number then the real bind() system call is issued for - an alternate (free high) port on loopback/localhost. wsproxy then - forwards from the listen address/port to the moved port. - - The --wrap-mode argument takes three options that determine the - behavior of wsproxy when the wrapped command returns an exit code - (exit or daemonizing): ignore, exit, respawn. - - For example, this runs vncserver on turns port 5901 into - a WebSockets port (rebind.so must be built first): - - ./utils/wsproxy.py --wrap-mode=ignore 5901 -- vncserver :1 - - The vncserver command backgrounds itself so the wrap mode is set - to "ignore" so that wsproxy keeps running even after it receives - an exit code from vncserver. - - wstelnet: - - To demonstrate the wrap command mode, I added WebSockets telnet - client. - - For example, this runs telnetd (krb5-telnetd) on turns port 2023 - into a WebSockets port (using "respawn" mode since telnetd exits - after each connection closes): - - sudo ./utils/wsproxy.py --wrap-mode=respawn 2023 -- telnetd -debug 2023 - - Then the utils/wstelnet.html page can be used to connect to the - telnetd server on port 2023. The telnet client includes VT100.js - (from http://code.google.com/p/sshconsole) which handles the - terminal emulation and rendering. - - rebind: - - The rebind LD_PRELOAD library is used by wsproxy in wrap command - mode to intercept bind() system calls and move the port to - a different port on loopback/localhost. The rebind.so library can - be built by running make in the utils directory. - - The rebind library can be used separately from wsproxy by setting - the REBIND_OLD_PORT and REBIND_NEW_PORT environment variables - prior to executing a command. For example: - - export export REBIND_PORT_OLD="23" - export export REBIND_PORT_NEW="65023" - LD_PRELOAD=./rebind.so telnetd -debug 23 - - Alternately, the rebind script does the same thing: - - rebind 23 65023 telnetd -debug 23 - - Other changes/notes: - - - wsproxy no longer daemonizes by default. Remove -f/--foreground - option and add -D/--deamon option. - - - When wsproxy is used to wrap a command in "respawn" mode, the - command will not be respawn more often than 3 times within 10 - seconds. - - - Move getKeysym routine out of Canvas object so that it can be called - directly. - -commit 86725f9b4cd9623124e685c5ae1bef9d59e802a7 -Author: Joel Martin -Date: Sat Jan 8 21:46:36 2011 -0600 - - wswrapper: add dup2, fix select w/ NULL timeout. - - - add dup2 functionality. This requires adding a ref cnt to the - _WS_connections structure so that we only free the structure once - all dup'd referenced are closed. Also, refactor malloc and free of - connection structure into _WS_alloc and _WS_free. - - allow select to accept a NULL timeout value which means sleep - forever instead of segfaulting. - - fix some compile warnings related to ppoll definition. - - move some WebSockets related html test pages into utils and symlink - them from tests. - -commit 6a88340929bb78d0928e678e98655c9de33b0f56 -Author: Joel Martin -Date: Sat Jan 8 15:29:01 2011 -0600 - - Refactor and cleanup websocket.py and deps. - - Moved websocket.py code into a class WebSocketServer. WebSockets - server implementations will sub-class and define a handler() method - which is passed the client socket after. Global variable settings have been - changed to be parameters for WebSocketServer when created. - - Subclass implementations still have to handle queueing and sending but - the parent class handles everything else (daemonizing, websocket - handshake, encode/decode, etc). It would be better if the parent class - could handle queueing and sending. This adds some buffering and - polling complexity to the parent class but it would be better to do so - at some point. However, the result is still much cleaner as can be - seen in wsecho.py. - - Refactored wsproxy.py and wstest.py (formerly ws.py) to use the new - class. Added wsecho.py as a simple echo server. - - - rename tests/ws.py to utils/wstest.py and add a symlink from - tests/wstest.py - - - rename tests/ws.html to tests/wstest.html to match utils/wstest.py. - - - add utils/wsecho.py - - - add tests/wsecho.html which communicates with wsecho.py and simply - sends periodic messages and shows what is received. - -commit 6ace64d3ae7d034d049b9bb252b9c19c1e872667 -Author: Joel Martin -Date: Thu Jan 6 19:21:17 2011 -0600 - - utils/README.md: horizontal looks better. - - Flip table back to be horizontal. More readable. - -commit 90966d6251f71ff48ee15718025c5bd4cf74bd18 -Author: Joel Martin -Date: Thu Jan 6 19:17:32 2011 -0600 - - utils/README.md: flip table. Add web server info. - - Flip the feature table to be tall instead of wide. - - Added row about "web server" functionality in wsproxy.py. - -commit 9aaf26e8780b1d8c28d0efab2455be4a36581437 -Merge: 96bc3d3 02a7dd2 -Author: Joel Martin -Date: Thu Jan 6 19:13:39 2011 -0600 - - Merge branch 'master' of git@github.com:kanaka/noVNC - -commit 02a7dd2c291f78502b10f76d20b2f6230f1b3e5e -Merge: 2574936 58dc194 -Author: Joel Martin -Date: Thu Jan 6 17:33:22 2011 -0700 - - Merge branch 'master' of git@github.com:kanaka/noVNC - -commit 96bc3d308835b8ef76a10ba3dcdfab06356563af -Author: Joel Martin -Date: Thu Jan 6 18:26:54 2011 -0600 - - wsproxy.py: add web serving capability. - - - Added ability to respond to normal web requests. This is basically - integrating web.py functionality into wsproxy. This is only in the - python version and it is off by default when calling wsproxy. Turn - it on with --web DIR where DIR is the web root directory. - - Next task is to clean up wsproxy.py. It's gotten unwieldy and it - really no longer needs to be parallel to the C version. - -commit 58dc1947ded37983c0add02ac6a7859510a52a5b -Author: Joel Martin -Date: Tue Jan 4 13:14:46 2011 -0600 - - wsproxy: warn when no cert. C sock close cleanup. - - Warn early about no SSL cert and add clearer warning when a connection - comes in as SSL but no cert file exists. - - For the C version, cleanup closing of the connection socket. Use - shutdown for a cleaner cleanup with the client. - -commit 58da507bb81f960909f6e9c108f61137426c6ea5 -Author: Joel Martin -Date: Tue Jan 4 12:19:54 2011 -0600 - - README: add companies/projects using noVNC. - -commit 9b940131d3e44ff0e3146b637ae126d07b1d7230 -Author: Joel Martin -Date: Tue Jan 4 10:30:26 2011 -0600 - - include/canvas.js: show full user agent in console. - -commit e3716842ef03da96ce082dc47eda71b6ca14fb3f -Author: Joel Martin -Date: Tue Jan 4 10:27:25 2011 -0600 - - include/rfb.js: show Flash version in console. - -commit bf5ee68828872f05d1356a22d3807c6ea29d017f -Author: Joel Martin -Date: Mon Jan 3 12:34:41 2011 -0600 - - Expose getKeysym and add keyboard test. - - Related to issue Non-US keyboard layout option issue: - https://github.com/kanaka/noVNC/issues#issue/21 - -commit 2574936f604e3576c00afd99a996f210368f532a -Author: Joel Martin -Date: Thu Dec 30 11:00:50 2010 -0700 - - utils/README.md, docs/TODO, docs/notes: updates. - - Add wswrapper info to utils/README.md and docs/TODO. Remove innacurate - info from docs/notes. - -commit 71ba9a7a547798347ecfe1efbaba63904b0992c3 -Author: Joel Martin -Date: Wed Dec 29 14:11:28 2010 -0700 - - wswrapper: update README, DO_MSG def for output. - - Update README to mention wswrapper. Add DO_MSG define which controls - whether wswrapper code generates basic output. - -commit 56d9aa816b439f4abd877de1b4e32b9c8272838d -Author: Joel Martin -Date: Mon Dec 27 19:44:14 2010 -0700 - - wswrapper: interpose on poll/ppoll also. - - poll/ppoll interposer builds but is untested. - -commit 64dbc6bb6398e46c465f6a82d1936dbe13b858d8 -Author: Joel Martin -Date: Mon Dec 27 16:08:27 2010 -0700 - - wswrapper: timeout select. - - The select call needs to timeout if a WebSocket socket keeps reporting - ready but actually isn't ready. To prevent it hanging forever in that - condition, the timeout value is now adjusted now for each call. - - Move the DO_DEBUG and DO_TRACE settings to wswrapper.c. - -commit 6b900d25d06a0a83ae1eb67608286786e85c318f -Author: Joel Martin -Date: Mon Dec 27 13:15:59 2010 -0700 - - wswrapper: interpose select/pselect. Cleaup. - - Interpose on select/pselect so that WebSockets sockets are only - reported as ready if they have enough to actually decode at least - 1 byte of real data. This prevents hanging in read/recv after - WebSocket is reported as ready but is not actually ready because empty - frames or less than four base64 bytes have been received. - - Split defines and constant defintions into wswrapper.h. - - Cleanup debug output and add TRACE for more detailed tracing debug - output. - - Major TODO is that select needs to timeout if WebSocket socket keeps - reporting ready but actually isn't ready. That condition will - currently hang forever because the select timeout value is not - adjusted when looping. - -commit fce6ac5cb4771419dbd0cdf5f6b8456c8e19f814 -Author: Joel Martin -Date: Fri Dec 24 17:39:13 2010 -0700 - - Fix to "Tolerate fragmented ServerInit". - - Issue #39: https://github.com/kanaka/noVNC/issues/issue/39 - -commit 318d47343880a533ed9fb7dc12b368c72af6037c -Author: Joel Martin -Date: Fri Dec 24 15:02:48 2010 -0700 - - Tolerate fragmented ServerInit. - - Issue #39: https://github.com/kanaka/noVNC/issues/issue/39 - -commit 0f7f146f200788c6046404016694fc5aec778a0a -Author: Joel Martin -Date: Tue Dec 21 10:17:43 2010 -0600 - - utils/launch.sh: find top web dir (with vnc.html). - -commit b992f7c7ddb0c783c042912716165a6dce034ec0 -Author: Amir Malik -Date: Tue Dec 21 10:02:43 2010 +0800 - - use cd, dirname, and pwd to determine path instead of readlink (Mac fix) - -commit a22a3cc0ea18e3006ace279c54a08d23c9c941e1 -Author: Amir Malik -Date: Tue Dec 21 10:11:15 2010 +0800 - - set socket option SO_REUSEADDR to prevent "Address already in use" error - -commit 40a653f55539147855723cda0e2fbc1caa3016e3 -Author: Joel Martin -Date: Thu Dec 16 14:04:16 2010 -0600 - - wswrapper: fix preload path and interpose port. - - Make path to ld preload library absolute so wswrapper works even if - path is changed before main program is executed (i.e. by the vncserver - wrapper script). - - bind() was using the return value for the port number, but it's - actually the original port number that we should interpose on in the - bind() routine. - -commit b144a0933d997c638be924bd37ba54fb2d15aa1c -Author: Joel Martin -Date: Tue Dec 14 13:05:17 2010 -0500 - - wswrapper: Normalize comments, remove unused headers. - -commit c99124b527f4ae3b3c2fec4b72784059ab51c830 -Author: Joel Martin -Date: Tue Dec 14 12:43:34 2010 -0500 - - wswrapper: Allow multiple WebSockets connections. - - Allocate buffer and state memory for each accepted connection. This - allows all WebSockets connections to a given listen port to be wrapped - with WebSockets support. - -commit 70c585968bd30b4a6207b96ede2342f7e86689a5 -Author: Joel Martin -Date: Mon Dec 13 14:20:34 2010 -0500 - - wswrap: WSWRAP_PORT envvar and wswrap script. - - wswrapper.so will only interpose on the listen port specified in - WSWRAP_PORT. - - Add simple wswrap script that sets the WSWRAP_PORT, LD_PRELOAD and - invokes the command line to wrap. - -commit e46719100c52b65921f941945ccd1440cef702cd -Author: Joel Martin -Date: Fri Dec 10 08:25:36 2010 -0600 - - Make compatible with jQuery. Slight API change. - - Rename the $() selector to $D() so that it doesn't collide with - the jQuery name. - - The API change is that the 'target' option for Canvas and RFB objects - must now be a DOM Canvas element. A string is no longer accepted - because this requires that a DOM lookup is done and the Canvas and RFB - should have no UI code in them. Modularity. - -commit 5b0bbd5c122cc019432011d420af7807ed4562b4 -Author: Joel Martin -Date: Thu Dec 2 22:11:02 2010 -0600 - - wswrapper: wrap existing server using LD_PRELOAD. - - wswrapper.so is LD_PRELOAD shared library that interposes and turns - a generic TCP socket into a WebSockets service. - - This current version works but will only allow work for a single - connection, subsequent connections will not be wrapped. In addition - the wrapper interposes on the first incoming network connection. It - should read an environment variable to determine the port to interpose - on. Also, should limit origin based on another environment variable. - Then there should be a wswrap setup script that allows easier - invocation. - -commit 79f0a095b61a702988698331f68a4bcab9861ee5 -Author: Joel Martin -Date: Mon Nov 15 13:43:26 2010 -0500 - - rfb.js: avoid multiple b64 sequences per frame. - - Only call encode_message when the WebSockets object is actually - ready to send. Otherwise multiple base64 encode sequences can be - encoded into the same WebSockets frame. This causes the C version of - wsproxy to crash and the python version to ignore the subsequent - base64 sequence(s). - - Thanks to Colin Dean (xvpsource.org) for finding this and helping - track it down. - -commit f7ec5b2cb61b2bc25e3a8ca9f2deb8754471ccae -Author: Joel Martin -Date: Wed Nov 10 16:02:19 2010 -0600 - - Rename default_controls.js to ui.js. - - And DefaultControls to UI. - -commit e66f3f89f2df2fa5ec47870a1dca006620e1da50 -Author: Joel Martin -Date: Tue Nov 9 12:06:03 2010 -0600 - - Add Chrome Frame support. Close requests in web.py. - - - Add meta tag to vnc.html and vnc_auto.html so that if Chrome Frame - is installed, it is used. - - - Add detection to default_controls.js that shows a message with - a Chrome Frame install link if the user is using a version of IE - without Canvas support. - - - Fix web.py so that requests have their connection closed after they - are completed. This has been a bug for a while but it prevents - Chrome Frame from working because Chrome Frame doesn't activate - until the initial request connection closes. - -commit 1ee2d93e94e631c3993c4fa1012af47378a53b5e -Author: Joel Martin -Date: Sun Nov 7 22:28:08 2010 -0600 - - wsproxy.js: Fix multi-frame decoding. - - - Also, discovered node.js bug in base64 decoding. Added test case and - filed https://github.com/ry/node/issues/issue/402 - -commit fd758dd3357355399a573a3e3d9520dc838705b6 -Author: Joel Martin -Date: Sun Nov 7 19:06:20 2010 -0600 - - First pass at wsproxy using node (node.js). - - Node: - http://nodejs.org/ - https://github.com/ry/node - - It mostly works, but it eventually gets an error from the target which - is probably due to missing support for re-assembly of client - WebSockets frames. - -commit 58b4c9408fa1ee98181badfd4eeb530951e51378 -Author: Joel Martin -Date: Sat Nov 6 14:12:37 2010 -0500 - - wsproxy: Fix --key parameter use. - -commit c1d008f1ee37184d592c75337f08c7205b1a4340 -Author: Joel Martin -Date: Sat Nov 6 14:11:30 2010 -0500 - - Fix flush with strict DOCTYPE. - - - With a strict doctype, the margin size needs a "px" suffix. - -commit cdb55d26e5e0c8b215f742370d335ccd5a4a5b26 -Author: Joel Martin -Date: Sat Nov 6 12:23:23 2010 -0500 - - canvas.js: workaround WebKit bug, issue #28. - - This is WebKit bug https://bugs.webkit.org/show_bug.cgi?id=46319 - - The workaround is to wrap Canvas render functions with a function that - sets a flush timer. The flush function sets the right margin and then - 1ms later sets it back. This triggers the canvas to redraw with the - correct contents. - - Two downsides: - - rendering is slower, but only on the busted versions of webkit. - Correct and useful is better than fast and useless. - - There is a barely perceptible jitter of the control buttons because - the canvas size is changing by one pixel. - - To support this functionality, we also have to read out the exact - webkit version from the user agent in the render engine detection code - in include/util.js. - -commit 455e4657f62eed6c006fb8c63caf2088ba6bc30d -Author: Joel Martin -Date: Sat Nov 6 12:15:08 2010 -0500 - - default_controls.js: canvas fail fix. Misc cleanup. - - - Make sure that canvas exists (i.e. didn't throw an error) before - trying to call canvas method get_canvas_uri. - - - Typos in HTML render engine debug output. - -commit 3205a3dee88bebf111a8493a186905e80da6d168 -Author: Joel Martin -Date: Sat Nov 6 10:55:09 2010 -0500 - - Add --key option for separate cert and key file. - - If only --cert is specified then continue to assume both certificate - and key are in the same file (key first). - -commit e70f1d947eece751e1f3a53ab8176d9ee6e4e6ac -Author: Joel Martin -Date: Sat Nov 6 10:53:32 2010 -0500 - - Remove left over record code. Squelch compile warnings - -commit f61274c827716081f95001f6bc483258f6448467 -Author: François Revol -Date: Sat Nov 6 14:49:59 2010 +0100 - - wsproxy: Mac OS X build fixes - - - pass CFLAGS and LDFLAGS in case one needs to use -m32 - - link to libcrypto for _ERR_print_errors_fp - - __THROW is non-standard define it to nothing by default - - use b64_ntop and b64_pton instead of mangled versions, OSX doesn't mangle them in the same way - - access() takes two arguments! - - Signed-off-by: François Revol - -commit 1f758e87d3c27fc5a9ace709d22c8d356a70f23c -Author: Joel Martin -Date: Thu Oct 28 16:30:41 2010 -0500 - - Issue #34: fix RFB 3.3/3.7 with no auth scheme. - - - Split out ClientInitialisation state. - - - In version 3.3 and 3.7, when the server has no auth (scheme - 1), then we should skip from Authentication to ClientInitialisation. - -commit 3dc3135b21ab8c98d978ee715ea468b48876b514 -Author: Joel Martin -Date: Thu Oct 28 10:53:08 2010 -0500 - - utils/README.md: second try on cmd formatting. - -commit 6502293f211b1df9b3bafa20450df11be0ed7a82 -Author: Joel Martin -Date: Thu Oct 28 10:52:27 2010 -0500 - - utils/README.md: Fix command formatting. - -commit e5d60a8ba2a9556f8785f228239734a0c7650539 -Author: Joel Martin -Date: Thu Oct 28 10:45:26 2010 -0500 - - Issue #32, wsproxy README, update webkit bug info, - - - Add wsproxy README.md in utils/ directory. - - - Document how to build ssl module for python 2.5 and older in wsproxy - README. - - - Update browsers.md to note revision that have the webkit Canvas - rendering bug: WebKit build 66396 through 68867 (Chrome/Chromium - build 57968 through 61278). - -commit f1a9971c820b99c16a39e4c351c7980be7afc039 -Author: Joel Martin -Date: Sun Oct 24 18:34:50 2010 -0500 - - Expose VNC shared mode setting in UIs. - - If shared mode is false, then the server should disconnect other - connections before the current connection is allowed to proceed. - -commit 65bca0c904032b54d0e37d22080153379475f2ea -Author: Joel Martin -Date: Mon Oct 18 14:30:50 2010 -0500 - - Fix style caching. Canvas cleanup from Diet-noVNC. - - - Style caching gives a small performance speedup in firefox, but not - much. Might not be worth complexity, but leave it in for now. - -commit 028b26f14b585da2842e5c5910e93de35e9f0534 -Author: Joel Martin -Date: Thu Oct 14 11:07:54 2010 -0500 - - Fix reason_len not defined bug. - -commit ce2b6909cd1ffdd7b22fbdcba2f35d09ce21bded -Author: Joel Martin -Date: Thu Oct 14 10:09:33 2010 -0500 - - rfb.js: fail() wrapper for common failed pattern. - -commit 8b17ac27f0a15c5d9d0ee84441d39722707a435e -Author: Joel Martin -Date: Sun Oct 10 18:59:02 2010 -0500 - - Add manual flash policy socat server info. - -commit c084c396ba632861ae8c3c7d9d1810dab8907e12 -Author: Joel Martin -Date: Mon Oct 4 13:30:53 2010 -0400 - - utils/Makefile: clean up md5.o too. - -commit 60440cee1536a22bc01e1036f47c53bffd368c48 -Author: Joel Martin -Date: Fri Oct 1 11:50:22 2010 -0500 - - rfb.js: rQwait, cuttext simplification. - - - rQwait checks the receive queue to see if there is enough data to - satisfy the following request. If not it returns true (which is - almost always translated into an immediate return false by the - caller). - - - rQwait is called quite a bit and this generally allows 4 lines to - become 1 line where it is called. - - - rQwait allows simplification of cuttext processing. No global - tracking needed anymore. - - Overall, about 60 lines less code. - -commit a99959719d72ee792fb8b576d04fad173046355e -Author: Joel Martin -Date: Thu Sep 30 11:17:52 2010 -0500 - - include/des.js: trim some fat. - - DES is just used once during authentication and is not performance - sensitive so we save some space by generating and/or removing some - lookup tables. Also, shorten some very frequently used variables. - - Shaves off about 100 lines. - -commit a59f1cd2691c50036ee895e993b7aa10b2ea03bb -Author: Joel Martin -Date: Wed Sep 29 15:05:27 2010 -0500 - - webutil.js, util.js: split cleanup. - -commit 5a00c9d18aa47add87bd3cdc1d1e5aa473a95f80 -Merge: 12d2e7c 8d5d2c8 -Author: Joel Martin -Date: Wed Sep 29 15:01:01 2010 -0500 - - Merge branch 'master' of git@github.com:kanaka/noVNC - -commit 8d5d2c8230b9c232afd82e01039c680e8a8b0094 -Author: Antoine Mercadal -Date: Thu Sep 30 03:11:23 2010 +0800 - - Split util into two file: - - util.js that contains essential functions - - webutils.js that contains the GUI utility function.js - - this helps to include noVNC in other project, especially Cappuccino Application - i - -commit 12d2e7c192a63f90ad443ca1525083b72d4de74c -Author: Joel Martin -Date: Wed Sep 29 14:48:19 2010 -0500 - - des.js: remove decrypt and simplify. - - The decrypt functionality is never used so remove it. Also, we can - assume that we are always DES encrypting 16 characters which allows - several things to be simplified in DES. - - Overall this removes about 80 lines of code. - -commit a679a97d1b920b777e369003268f4af70c82acd1 -Author: Joel Martin -Date: Sat Sep 25 15:50:43 2010 -0500 - - Show rect/enc counts, add vnc_perf.html test. - - - include/rfb.js: Keep track of the number of rects of each encoding - type and print them out when we close a connection (if 'info' - logging level). - - - tests/vnc_perf.html: first pass at a noVNC based performance - benchmark. - - - utils/wsproxy.py: Fix the output of the record filename. - -commit 3b20e7a90f025b66e520d65327d5e90e6d2cfbcb -Author: Joel Martin -Date: Fri Sep 24 10:47:39 2010 -0500 - - rfb.js, canvas.js: status feedback on Canvas functionality. - - Read the render mode selected by canvas and report it in the initial - page loaded status message. - -commit 562beccf186ed05ddb27d97c47dbc59ac583d1db -Author: Joel Martin -Date: Fri Sep 24 10:46:59 2010 -0500 - - docs/browsers.md: noVNC webkit bug link format. - -commit d4139a9b064fc3b2495a913af5be3de09ec5c1a6 -Author: Joel Martin -Date: Fri Sep 24 10:45:33 2010 -0500 - - README.md: move browser page link. - -commit 6de07adb71016a618c022194d0b0712e0a0a4071 -Author: Joel Martin -Date: Fri Sep 24 10:29:42 2010 -0500 - - README.md: add link to browsers.md, update requirements. - -commit f01e917ecc2abe72be0b0f59bd99b0cc6cd6004f -Author: Joel Martin -Date: Fri Sep 24 09:59:54 2010 -0500 - - docs/browsers.md: Separate browser support page. - -commit ff36b1270b04b706fea43f3ac94508c230cd86a7 -Author: Joel Martin -Date: Thu Sep 23 09:39:24 2010 -0500 - - Refactor settings object, add connectTimeout setting. - - - include/util.js: Add type and desc field to conf_default routine. - Make comment descriptions of settings into desc parameters that can - be queried. Also, use set_FOO in conf_default to set or coerce the - current setting so that we always have the right type for the value. - - - include/rfb.js, include/default_config.js: add connectTimeout - setting to address situations with slow connections that may need - more than 2 seconds. - -commit aa787069832c7b32b90a23a4d5063f2d72f07ba3 -Author: Joel Martin -Date: Thu Sep 23 09:17:09 2010 -0500 - - rfb.js: wait for SecurityResult failure reason bytes. - - Yet another weird VNC server behavior: sending a failure and length - before the reason message. To calculated the length, the reason string - is already available, why not just send everything as one packet. Oh - well. - -commit 005d9ee999b19e6a079625aeb5efcf9f2636c2a7 -Author: Joel Martin -Date: Thu Sep 23 08:17:00 2010 -0500 - - Misc cleanup: debug logging, record filename, etc. - - - include/canvas.js: When 'debug' logging, show browser detection - values. - - test/canvas.html: Only restore the canvas to it's starting state if - the logging level is not 'debug'. - - wsproxy.py: Append the session number to the record filename so that - multiple sessions don't stomp on each other. - -commit 8787e49b92f00c27bbf872b29ea26aa03c145f3e -Author: Joel Martin -Date: Thu Sep 23 08:08:08 2010 -0500 - - util.js: detect firefox 4.X correctly. - - Update the browser detection code (from mootools) with a fix that - detects firefox 4.0 correctly. - -commit c1eba48f79b0131bec7cb8d4a95fafaa088956e7 -Author: Joel Martin -Date: Wed Sep 22 17:11:57 2010 -0500 - - logging: add Util.get_logging(), canvas clearing. - - Only clear canvas if log level is not debug instead of using - '#__debug__' in the URL. - -commit 57c7903f60c34f3a56f23e29944b521be7dc4e28 -Author: Joel Martin -Date: Wed Sep 22 16:55:06 2010 -0500 - - playback.js: move to include/ for easier reference. - - Easier to reference from web site (gh-pages branch). - -commit 31a837d55e394875345b1cafa2c89fce4b07298f -Author: Joel Martin -Date: Mon Sep 20 16:15:40 2010 -0500 - - No local cursor by default due to issues #27, #29. - - In Safari, local cursor rendering is corrupt. In firefox 3.6.10, local - cursor rendering causes a segfault. Probable that the .cur format is - not 100% compliant (even though it works in Chrome and firefox 3.5 and - firefox 4.0). So just disable it by default until I can figure out how - to address the problems. - -commit 02889945cb979a44da00e3336115f2ee24963b47 -Author: Joel Martin -Date: Wed Sep 15 18:21:42 2010 -0500 - - C proxy: Issue #14: wss:// from Safari - - Addresses this issue: - http://github.com/kanaka/noVNC/issues#issue/14 - - This goes along with commit 7e63919e6 but for the C proxy. - -commit 0a1184bde8d6ea4830f7717ec238cae69f0acebd -Author: Joel Martin -Date: Wed Sep 15 18:14:27 2010 -0500 - - API change: add sendKey() to manually send key code. - - RFB.sendKey(code, down) - - If down is not specified then both a down followed by an up code will - be sent. - -commit 7e63919e6dec0d6b546ad75e688ce5ba33f45c35 -Author: Joel Martin -Date: Wed Sep 15 12:09:17 2010 -0500 - - proxy: Issue #14: detect and allow wss:// from Safari. - - Addresses this issue: - http://github.com/kanaka/noVNC/issues#issue/14 - - Safari starts with '\x80' rather than '\x16' like Chrome and Firefox - and having PROTOCOL_TLSv1 doesn't work with Safari. But just removing - the ssl_version allows things to work with Safari wss:// connections. - - Also, if the handshake (after SSL wrapping) is null then terminate the - connection. This probably means the certificate was refused by the - client. Unfortunately Safari (the version I have) doesn't cleanly - shutdown WebSockets connections until the page is reloaded (even if - the object is no longer referenced). - -commit e3efeb32a7ac85b2e73af4e3be61091bcb58e7de -Author: Joel Martin -Date: Sat Sep 11 15:31:50 2010 -0500 - - rfb.js: state refactor, add 'disconnect' state. - - Add a new state 'disconnect' to reflect that we are not truly - 'disconnected' until we get an onclose event. Add a disconnect timer - to match. - - Handle disconnected cleanup better in updateState(). Anytime we enter - in a disconnect/disconnected state, make sure all running state is - cleaned up (WebSocket, timers, canvas). - -commit cc374cd61a8c11a2bb4ff565b40f159ad68fc471 -Author: Joel Martin -Date: Sat Sep 11 15:10:54 2010 -0500 - - proxy: always multiprocess and add --verbose. - - Always fork handlers processes. Instead printing traffic when - single-processing, print traffic if verbose flag given. - -commit ac7bdbc22fd9a0f150479321ebe7e01f8d448a74 -Author: Joel Martin -Date: Sat Sep 11 13:52:49 2010 -0500 - - web-socket-js (issue #37): close() when connecting - - Filed this issue for this bug: - http://github.com/gimite/web-socket-js/issues/issue/37 - - Right now the close() call only calls __flash.close() if readyState is OPEN. - But it should really call close any time that readyState is not CLOSED or - CLOSING. - - The case I ran into is when I want to do the following: - 1. make a test connection - 2. tell the server to setup for a connection - 3. connect again - - I call close on the test connection, but since it is ignored when CONNECTING, - it eventually times out with a error. But by that time I have already issued a - new connection, it causes the new connection to fail. close() should cancel - CONNECTING state too. - -commit 071f2818a8182d88040f5acba3b8e54dc644ef4e -Author: Joel Martin -Date: Sat Sep 11 12:44:39 2010 -0500 - - gimite/web-socket-js issue #35: async onclose. - - Filed this bug about this issue: - http://github.com/gimite/web-socket-js/issues#issue/35 - - To work around the flash "recursive call" problem, WebSocket.as has - the onclose event disabled in the close() call and the javascript half - of the close() call does the onclose() call instead. This is fine, but - it needs to be asynchronous to act more like what happens with - a normal WebSockets object. The current behavior is that the onclose() - method is called inline (synchronously) when the close() is called and - this inconsistency make state handling more difficult. - -commit edc47252604d38fe6f0e229d5f8a206fbcd9dbce -Author: Joel Martin -Date: Fri Sep 10 14:31:34 2010 -0500 - - proxy: do handshake in forked process too. - -commit a0315ab1dca6db90ce00127a528176b35f979884 -Author: Joel Martin -Date: Fri Sep 10 13:05:48 2010 -0500 - - wsproxy: multiprocess capable. - - Add -m, --multiprocess option which forks a handler for each - connection allowing multiple connections to the same target using the - same proxy instance. - - Cleaned up the output of the handler process. Each process' output is - prefixed with an ordinal value. - - Changed both the C and python versions of the proxy. - -commit 465faf19db1d0fbc43e5b47b8419a8d2225a8a95 -Author: Joel Martin -Date: Fri Sep 10 09:58:26 2010 -0500 - - Remove record option from C wsproxy. - - I've decided that debug/develop/extra features will just be in the - python version of the proxy. The C version (and other versions) will - just have the core functionality (unless someone wants to support it). - -commit 5f409eeeeb74a55ca7525cc1f25f3139e1dc5692 -Author: Joel Martin -Date: Wed Sep 8 15:06:34 2010 -0500 - - License header cleanup. - -commit 2a6018df9f7d1c652ed9f722d0441736378e7262 -Author: Joel Martin -Date: Wed Sep 8 14:57:32 2010 -0500 - - web-socket-js: 9e7663771 build and remove source. - - web-socket-js now has all the functionality and fixes needed for noVNC - so remove the include/as3crypto_patched directory and the - include/web-socket-js/flash-src directory (i.e. the sources for - web-socket-js). This cleans up almost 3K from the include/ directory. - - Update to web-socket-js build based on upstream (gimite/web-socket-js) - 9e766377188. - -commit b5087acc2405359654b82c5ecd976780f5557163 -Author: Joel Martin -Date: Wed Sep 8 13:46:41 2010 -0500 - - default_controls.js: Fix cursor setting init. - - The rfb variable wasn't available at the point settingsDisabled() was - being called since it was called inline with RFB() initialization. To - solve this we pass the updateState rfb variable so that the canvas can - be queried for setting the cursor_uri value. - -commit c0f3c664894495148d8bb9ff522398af33c11453 -Author: Joel Martin -Date: Wed Sep 8 10:15:07 2010 -0500 - - TODO and .gitignore: updates. - -commit d595e65685162f371cba4099045cf7f522c97720 -Author: Joel Martin -Date: Wed Sep 8 10:11:11 2010 -0500 - - JSLint. - -commit 2f6a1c2bda2e2d20cb28db01e0511fc59b9d1f14 -Author: Joel Martin -Date: Tue Sep 7 16:22:28 2010 -0500 - - vnc_playback.html: print frame_idx on error. - -commit 673118fb215eff76fe1d789e3a23f7b155a87329 -Author: Joel Martin -Date: Tue Sep 7 09:57:37 2010 -0500 - - Encrypt default to 'false' in vnc_auto.html also. - -commit b8bd88d085d23687b238d9cdf0ef11a9f54e4388 -Author: Joel Martin -Date: Wed Sep 1 12:31:54 2010 -0500 - - playback.js: realtime playback and split out code. - - Preparation for online demo. - - Split general playback code into tests/playback.js. - - Use timestamps from recording with proxy to playback in realtime. - -commit 975aa8c01cf16bb3c5293e84176cc10bc28fd216 -Author: Joel Martin -Date: Tue Aug 31 22:48:11 2010 -0500 - - TODO: move long-term features to github issues. - -commit 3afc7a2b89386f660ae087d804b26edbe7a02f06 -Author: Joel Martin -Date: Tue Aug 31 22:22:22 2010 -0500 - - Issue #15 - rfb.js: wait for security type list. - - Apparently the virtualbox VNC server send the size and then the - security type list in separate frames so we need to wait for the full - list. - -commit 3cc74720f091800a636c30676d9cd59992490392 -Author: Joel Martin -Date: Tue Aug 31 13:36:14 2010 -0500 - - canvas.js: Fix ignore for scrolled window. - - When the documement/window is scrolled, the onMouseDisable routine was - not properly calculating the position to test whether to ignore the - event or not. - -commit d67de76770dcd752f761f15dc1937eee6b9ee5eb -Author: Joel Martin -Date: Tue Aug 31 12:08:47 2010 -0500 - - Rename tightpng img queue variable to imgQ. - -commit 3e7a7cefc6e000bdc1d2bf36f4c473cf03a84566 -Author: Joel Martin -Date: Mon Aug 30 15:59:53 2010 -0500 - - More timing "history" purge. - -commit 9c57ac3985935e165d01f7c9520fbb295abc4aae -Author: Joel Martin -Date: Mon Aug 30 15:57:58 2010 -0500 - - rfb.js: JSLint'ing - - Change RQ and SQ vars to rQ and sQ since caps at the start implies - a classable entity. - -commit 0d1e1b7281be8bea33148571c4b696812fc20343 -Author: Joel Martin -Date: Mon Aug 30 15:16:07 2010 -0500 - - Merge init() into the constructor. - - This is logical now since the external update callback can be provided - when the object is created so we don't need a separate init function. - -commit 55dee43279f3374fde433fbeffb798fa9e609a32 -Author: Joel Martin -Date: Fri Aug 27 12:10:09 2010 -0500 - - Remove psuedo-UTF8 encoding. - - It's less efficient on average that base64 (150% vs 133%). It's - non-standard (0 shifted to 256 before encoding). And I rarely use it. - -commit e8c1698995571c55119b79efe5390ee08861bf06 -Author: Joel Martin -Date: Fri Aug 27 11:29:22 2010 -0500 - - rfb.js: remove timing history. - - Turned out not to be useful (pretty much never looked at the info once - I added it). The playback test is much more useful for measuring - performance. - -commit eabf4670fbf08e5107a18dfd1f4ce85548865c8c -Author: Joel Martin -Date: Fri Aug 27 11:21:30 2010 -0500 - - rfb.js/tight_png: fix indexed receive queue handling. - - getCLength was not using the index (RQi) into the receive queue. - -commit 4ff85f496c0a96d0d31096baa3038822dc692dd0 -Author: Joel Martin -Date: Thu Aug 26 11:34:44 2010 -0500 - - Test both builtin and base64.js functions. - -commit 67b4e9879a0dc223dd0dfd8dce2392d4341aa5ff -Author: Joel Martin -Date: Thu Aug 26 10:22:29 2010 -0500 - - Indexed receive queue. Up to 2X speedup in Chrome. - - Generally, most servers send hextile updates as single updates - containing many rects. Some servers send hextile updates as many small - framebuffer updates with a few rects each (such as QEMU). This latter - cases revealed that shifting off the beginning of the receive queue - (which happens after each hextile FBU) performs poorly. - - This change switches to using an indexed receive queue (instead of - actually shifting off the array). When the receive queue has grown to - a certain size, then it is compacted all at once. - - The code is not as clean, but this change results in more than 2X - speedup under Chrome for the pessimal case and 10-20% in firefox. - -commit fb007628d68b401fa25fb0f308fc46585274bdee -Author: Joel Martin -Date: Thu Aug 12 09:50:49 2010 -0500 - - Add Javascript variable container to record data. - - - This allows the recorded data to be immediately usable by - tests/vnc_playback.html - -commit 1a5dd77d37633803fd3006589a40cf31f0fd9687 -Author: Joel Martin -Date: Wed Aug 11 11:21:15 2010 -0500 - - Treat RFB 3.6 as 3.3. - - Apparently there are versions of UltraVNC that report version 3.6. - This is not a legal version according to the spec, but we'll just - force version 3.3 if we receive it. Thanks to Larry Rowe for the info. - -commit 4ed717ad31798fbb9ab0344fa9f590321f1f025f -Author: Joel Martin -Date: Fri Aug 6 15:53:13 2010 -0500 - - Scroll render test and perf speedup. - - Turns out when Windows is running in QEMU and a window scroll happens, - there are lots of little hextile rects sent. This is slow in noVNC. - - - Some recording/playback improvement. - - Add test harness to drive playback of recordings. - - By pulling off the rect header in one chunk we get a 3X speedup in - Chrome and a 20% speedup in firefox (specifically for the scroll - test). - - Also, get rid of some noise from creating timers for handle_message. - Check to make sure there isn't already a pending timer first. - -commit b7155950d3704d108b4a3cdc1afe5f9d54c9152e -Author: primalmotion -Date: Wed Aug 4 15:20:53 2010 -0500 - - * take care of kanaka's suggestions - (cherry picked from commit 11f3271a52505dccbf38bea422e7c9a79dddd478) - - Signed-off-by: Joel Martin - -commit 6425f611d8cdbd02ebecb75d159f004808ca743b -Author: primalmotion -Date: Wed Aug 4 17:47:08 2010 +0200 - - * Adding a way to set the DOM document to use. - This is very usefull when you need to open a new window (with a new document) from javascript, - without having to reload the script.js. - (cherry picked from commit 8ded53c1de06d01e50d58543c19e73926f0fbbd4) - - Signed-off-by: Joel Martin - -commit b925c9678172800070f6a70fcb5f30f3b384e96e -Author: Joel Martin -Date: Wed Aug 4 15:14:40 2010 -0500 - - JSLint: use ===. - -commit a6a1ad3d0a78f24a3090e69033af40d83f0ae7bc -Author: Joel Martin -Date: Wed Aug 4 14:33:32 2010 -0500 - - Remove unused imports (sys, ssl) in wsproxy.py - -commit 5958fb49961482675fd2f95bf10f4fd6a4d89348 -Author: Joel Martin -Date: Wed Aug 4 14:32:10 2010 -0500 - - Python 2.4 compatible imports. - - - Fallback to md5 module if hashlib not there. - - Import parse_qsl from cgi where it is in both 2.4 and 2.6 - -commit c95c24e743cd52f14649b9dad9d867602d1d040b -Author: Joel Martin -Date: Wed Aug 4 14:18:55 2010 -0500 - - Fix #19: python2.4 support. - - - Replace URL parsing using "".partition() with urlparse module. - -commit 801482be6aede1db31f8ee661f470de7036cbdd4 -Author: Joel Martin -Date: Tue Aug 3 13:21:00 2010 -0500 - - WebSockets orderly/clean close frame. - - - When a packet with only '\xff\x00' is received, this means the - client is doing an orderly shutdown. (WebSockets spec version 76) - -commit 208c832b283239a71144d72c18fb610e939a3833 -Author: Joel Martin -Date: Tue Aug 3 13:20:44 2010 -0500 - - Encrypt default to off, TODO updates. - -commit 8db09746b7b96da6bf48d0d7ef22f40df7205f7d -Author: Joel Martin -Date: Mon Aug 2 17:07:27 2010 -0500 - - New API. Refactor Canvas and RFB objects. - - New API: - - To use the RFB object, you now must instantiate it (this allows more - than one instance of it on the same page). - - rfb = new RFB(settings); - - The 'settings' variable is a namespace that contains initial default - settings. These can also be set and read using 'rfb.set_FOO()' and - 'rfb.get_FOO()' where FOO is the setting name. The current settings - are (and defaults) are: - - target: the DOM Canvas element to use ('VNC_canvas'). - - encrypt: whether to encrypt the connection (false) - - true_color: true_color or palette (true) - - b64encode: base64 encode the WebSockets data (true) - - local_cursor: use local cursor rendering (true if supported) - - connectTimeout: milliseconds to wait for connect (2000) - - updateState: callback when RFB state changes (none) - - clipboardReceive: callback when clipboard data received (none) - - The parameters to the updateState callback have also changed. The - function spec is now updateState(rfb, state, oldstate, msg): - - rfb: the RFB object that this state change is for. - - state: the new state - - oldstate: the previous state - - msg: a message associate with the state (not always set). - - The clipboardReceive spec is clipboardReceive(rfb, text): - - rfb: the RFB object that this text is from. - - text: the clipboard text received. - - Changes: - - - The RFB and Canvas namespaces are now more proper objects. Private - implementation is no longer exposed and the public API has been made - explicit. Also, instantiation allows more than one VNC connection - on the same page (to complete this, DefaultControls will also need - this same refactoring). - - - Added 'none' logging level. - - - Removed automatic stylesheet selection workaround in util.js and - move it to defaultcontrols so that it doesn't interfere with - intergration. - - - Also, some major JSLinting. - - - Fix input, canvas, and cursor tests to work with new model. - -commit 8171f4d8187109093a32322377a35676813546ea -Author: Joel Martin -Date: Mon Aug 2 10:11:47 2010 -0500 - - Catch exceptions in cursor detection. - - If cursor Data URI scheme detection threw an exception, it would cause - canvas initialization to fail. cursor detection exceptions should just - disable local cursor change support, not cause canvas init to fail. - -commit 125d8bbb8fc4cf41480f2e4c79d240eff5660b24 -Author: Joel Martin -Date: Fri Jul 30 09:53:33 2010 -0500 - - Preliminary scaling code (deactivated). - - Uses the CSS "scale()" operation. The main problem is that the DOM - container is not rescaled, only the size of the displayed content - within it so there will need to be some sort of mechanism to handle - this better so other elements reflow to the new size. Or it might just - not work and be removed later. The zoom property seems to do the right - behavior, but it's not widely supported. Worth exploring though. - -commit 29ad96c5261ab0a1ea4ec46601ad0e47418f4e75 -Author: Joel Martin -Date: Thu Jul 29 10:47:32 2010 -0500 - - Give other events chance to fire. - - After each complete framebufferUpdate, set a short timer to continue - processing the receive queue. This gives other events a chance to - fire. Especially important when noVNC is integrated into another - website. - -commit a867de16524690edacca78a7b23fbadd9cf86443 -Author: Joel Martin -Date: Thu Jul 29 10:46:58 2010 -0500 - - Update TODO. - -commit 0af07711ec26f0b2af7b464b15566a04f2156d7e -Author: Joel Martin -Date: Mon Jul 26 17:41:19 2010 -0500 - - README.md: fix command formatting. - -commit acad10a5de417813880d0b52ceae9465d6a9eb9e -Author: Joel Martin -Date: Fri Jul 23 12:32:15 2010 -0500 - - README.md: correction about VNC_uri_prefix. - - It points to the include sub-directory, not to the directory above. - -commit b4748f041a104fa2e4fd97eab9d496d5a7d68fc7 -Author: Joel Martin -Date: Fri Jul 23 12:30:31 2010 -0500 - - Add twitter link to follow @noVNC for commits/news. - -commit 42b2246c1ab34213661d8f616fcda8c1141acba7 -Author: Joel Martin -Date: Fri Jul 23 11:46:41 2010 -0500 - - Issue #15: noVNC falls behind. - - noVNC was never processing more than one framebufferUpdate message per - onmessage event. If noVNC receives an incomplete framebufferUpdate and - then receives the rest of the framebufferUpdate plus another complete - framebufferUpdate, then it will fall permanently behind. - - If there is more to process after a completed framebufferUpdate, then - execute normal_msg again. - - All the render routines must return false if there is not enough data - in the receive queue to process their current update, and true - otherwise. - -commit 11304584ca39564a5b28dd599e974acf62bd15a0 -Author: Joel Martin -Date: Fri Jul 23 09:25:16 2010 -0500 - - README.md: Add more bug/issue suggested info. - -commit 1b90deeef5479b719d10e3b8730677dba68d9b3f -Author: Joel Martin -Date: Thu Jul 22 11:35:26 2010 -0500 - - Turn off firebug-lite in canvas test page. - -commit a8edf9d8a530459657345bbfe31b961a04a0353f -Author: Joel Martin -Date: Thu Jul 22 11:33:21 2010 -0500 - - Query string cleanup and move it to util.js - -commit a7a8962676734041b85a96a0eaa70ac4dc35f545 -Author: Joel Martin -Date: Thu Jul 22 10:54:47 2010 -0500 - - JSLint. RFB obj to rfb.js; vnc.js the 'loader'. - - Move the whole RFB object to rfb.js. vnc.js is now just the loader - file. This allows an integrating project to easily replace vnc.js with - an alternate loader mechanism (or just do it directly in the html - file). Thanks for the idea primalmotion (http://github.com/primalmotion). - - Also, JSLint the various files. - -commit 19463eac1f6910fc2b19870691f31f7ffc783885 -Author: Joel Martin -Date: Thu Jul 22 10:46:50 2010 -0500 - - Fix logging init on first page load (not in cookie). - -commit f7f69d8eaa18c940478955f60bbe697a569217c5 -Author: Joel Martin -Date: Thu Jul 22 10:26:50 2010 -0500 - - Fix error when cursor Data URI scheme not supported. - -commit da6dd8932e3d87e39ffc8afcb371a61ff1342e87 -Author: Joel Martin -Date: Wed Jul 21 20:34:23 2010 -0500 - - API changes. Client cursor and settings menu. - - The following API changes may affect integrators: - - - Settings have been moved out of the RFB.connect() call. Each - setting now has it's own setter function: setEncrypt, setBase64, - setTrueColor, setCursor. - - - Encrypt and cursor settings now default to on. - - - CSS changes: - - VNC_status_bar for input buttons switched to a element class. - - - VNC_buttons split into VNC_buttons_right and - VNC_buttons_left - - - New id styles for VNC_settings_menu and VNC_setting - - Note: the encrypt, true_color and cursor, logging setting can all be - set on load using query string variables (in addition to host, port - and password). - - Client cursor (cursor pseudo-encoding) support has been polished and - activated. - - The RFB settings are now presented as radio button list items in - a drop-down "Settings" menu when using the default controls. - - Also, in the settings menu is the ability to select between alternate - style-sheets. - - Cookie and stylesheet selection support added to util.js. - -commit f55b6b418512b2579ba80e57899ffbad587976c9 -Author: Joel Martin -Date: Tue Jul 20 14:54:49 2010 -0500 - - Fail if initial server connection fails. - -commit 2c2b492c0c1431e185fc4ca2a10bb18cd56eac5a -Author: Joel Martin -Date: Tue Jul 20 14:34:44 2010 -0500 - - Add Cursor pseudo-encoding support (disabled for now). - - To change the appearance of the cursor, we use the CSS cursor style - and set the url to a data URI scheme. The image data sent via the - cursor pseudo-encoding has to be encoded to a CUR format file before - being used in the data URI. - - During Canvas initialization we try and set a simple cursor to see if - the browser has support. Opera is missing support for data URI scheme - in cursor URLs. - - Disabled for now until we have a better way of specifying settings - overall (too many settings for control bar now). - -commit 1656b1b98dcdbe5aee60d53b7b0ece5f19664493 -Author: Joel Martin -Date: Sat Jul 17 12:13:54 2010 -0500 - - Fix listen_port check. - - Interestingly, the bug depends on compiler behavior. If local - variables are automatically initialized to 0, then this always caused - the program to error out indicating a failure to parse the listen - port. Otherwise, the test was a no-op (except the rare case where the - memory happened to be zero anyways). - - Thanks to Eugen Melnikoff for finding this. - -commit 31407abc2597ef8e1b6935bea67986445f9636a6 -Author: Joel Martin -Date: Sat Jul 17 12:05:58 2010 -0500 - - Issue #11: daemonize after opening listen port. - - The listen port should be opened before daemonizing otherwise if - opening the port fails, the user will get no feedback. The only - complication was that the listen socket needs to not be closed as part - of daemonizing. - - Thanks to http://github.com/rickr for finding it. - -commit 3b6f60be7d158f9270802ee64c86c7ec5ae0b94f -Author: Joel Martin -Date: Thu Jul 15 20:22:55 2010 -0500 - - Typos and formatting. - -commit b89c6db3a1373d1578fc003a1016731b821be6aa -Author: Joel Martin -Date: Thu Jul 15 20:18:39 2010 -0500 - - Launch script and reworked usage in README.md. - -commit 7c81747b5242273f2434f4bebd195359c5b6d1b8 -Author: Joel Martin -Date: Thu Jul 15 19:58:33 2010 -0500 - - Make black.css an alternate stylesheet. - -commit f00b1e37769210dd243b722646bee1ed3d0deb0a -Author: Joel Martin -Date: Thu Jul 15 19:38:25 2010 -0500 - - State machine refactoring. - - Add new states 'loaded', 'connect' and 'fatal': - - Loaded state is first page state. Pass WebSockets mode message using - this state. - - Connect indicates that the user has issued a "connect" but we - haven't gotten an WebSockets onopen yet. - - Fatal is a condition that indicates inability to continue on: right - now, lack of WebSockets/Flash or non-working canvas. - - Move much of the actual state transition code into updateState. - - Handle 'password' state better in default_controls.js; instead of - disconnecting, prompt for password to send. - - Add comments to updateState indicating possible states. - -commit 53b112f2a63c74f411b55f39dc39f51e418abe1a -Author: Joel Martin -Date: Thu Jul 15 19:22:07 2010 -0500 - - Add info on firefox 3.0.17. - -commit fcfefdb9ab94f9e5486bf51bdf0ccbfcd3197121 -Author: Joel Martin -Date: Thu Jul 15 18:45:32 2010 -0500 - - Clean up top level: move license files to docs/ - -commit 754e0c0bee43bb1d972f026646d778a8d8c611fc -Author: Joel Martin -Date: Wed Jul 14 16:57:02 2010 -0500 - - UTF-8: send 0 as 256 during encoding too. - - 0 is valid UTF-8, but in order to avoid WebSockets framing, we - encode/decode it as 256. - - Also, be tolerant of 0 length messages. - -commit d798572da4d1a8c99b6e199126664d842381ef57 -Author: Joel Martin -Date: Tue Jul 13 17:53:01 2010 -0500 - - Add native base64 test (atob and btoa). - - Interestingly it turns out that using the native base64 routines does - not improve performance. Likely because the actual time is in - marshalling/unmarshalling between strings and arrays (and associated - garbage collection overhead) which has to be done either way. - -commit 77c7a454ac57216437dc9dd8ffb06e62d6f45ccc -Author: Joel Martin -Date: Tue Jul 13 17:51:26 2010 -0500 - - TightPng fixups and thanks to Sentry Data Systems. - - - Change tightpng encoding number to -260 (aliguori provided it until - an official number can be allocated). - -commit 852ba642be9b7afbc919b9fbec2a3c1c58aec539 -Author: Joel Martin -Date: Fri Jul 9 11:41:36 2010 -0500 - - Screenshots section, link to more. - -commit 600887f053a0d3f12d5c4549af0188303633f2fe -Author: Joel Martin -Date: Fri Jul 9 10:52:42 2010 -0500 - - README.md: caption formatting. - -commit e5517ecd25b61164094a3409887ed41f2590a9a6 -Author: Joel Martin -Date: Fri Jul 9 10:51:51 2010 -0500 - - README.md: image caption and bigger dimensions. - -commit 6b41d1d5a500cf6c9d9c5d11a4a997396f5032d6 -Author: Joel Martin -Date: Fri Jul 9 10:50:33 2010 -0500 - - Add screenshots to README.md. - -commit 0a32dfd31a7b3c37c789965498493e1afc20da3c -Author: Joel Martin -Date: Wed Jul 7 16:06:44 2010 -0500 - - Markdown links in README.md. - -commit 660740b5d7b397458a58699cc3c5af8f1b5f1011 -Author: Joel Martin -Date: Wed Jul 7 12:41:19 2010 -0500 - - Links related to Tight PNG encoding work. - -commit c83f1576ca4c651819dba01ce8ddce808197b222 -Author: Joel Martin -Date: Wed Jul 7 12:40:56 2010 -0500 - - Removed missed mootools include in ws.html test. - -commit a095b3826229ebe042caadb06fd1ed444a2c4975 -Author: Joel Martin -Date: Tue Jul 6 12:29:37 2010 -0500 - - Add troubleshooting section. - -commit 447cd4ade30f80378543b58c8f0dcfbf79c4cc8c -Author: Joel Martin -Date: Tue Jul 6 12:14:38 2010 -0500 - - Remove unneeded mootools and FABridge test. - - mootools is no longer needed. The bug that the FABridge test was - testing has been resolved in web-socket-js so it's no longer needed. - -commit 81e5adafef0bdc43709b7edf4102f2655f7e14ae -Author: Joel Martin -Date: Tue Jul 6 11:56:13 2010 -0500 - - Refactor console logging code. - - Util.Debug, Util.Info, Util.Warn, Util.Error routines instead of - direct calls to console.*. Add "logging=XXX" query variable that sets - the logging level (default is "warn"). - - Logging values: - debug: code debug logging (many calls in performance path are also - commented for performance reasons). - info: informative messages including timing information. - warn: significant events - error: something has gone wrong - -commit 351a1da304337a8dd7cb952b345fe869be810c5f -Author: Joel Martin -Date: Mon Jul 5 15:54:15 2010 -0500 - - Init updated web-socket-js correctly. TODO updates. - -commit ae0ecca2e40bbc459d18eb2472801d7c46a9381f -Author: Joel Martin -Date: Fri Jul 2 14:25:12 2010 -0500 - - Disable excanvas experiment. - - Also, move bugs from TODO to github issues. - -commit b8e07362d9e6b81eb604e21fa685a6ce9f0ecf2e -Author: Joel Martin -Date: Fri Jul 2 12:50:34 2010 -0500 - - A little more cleanup of browser table. - -commit 3df41d67e1c3b230557ec2297db8d5fdfc99f73b -Author: Joel Martin -Date: Fri Jul 2 12:40:29 2010 -0500 - - More browser table cleanup. - -commit 47ef64634fab64332f279882c80ffb9d66a5fce7 -Author: Joel Martin -Date: Fri Jul 2 12:34:37 2010 -0500 - - Remove unsupported table colors. Cleanup table. - -commit c54a65ba099da91b7b0daeadd99df86c1e97b24b -Author: Joel Martin -Date: Fri Jul 2 12:25:13 2010 -0500 - - README.md: try browser tests in table. - -commit f5769b00eaa31a15d49e45ab3f146bd1b1eed895 -Author: Joel Martin -Date: Fri Jul 2 12:12:30 2010 -0500 - - Test table in markdown. - -commit 5ba1dd78ba2ba732889d9f06d0da803b433b091e -Author: Joel Martin -Date: Fri Jul 2 12:02:57 2010 -0500 - - README/TODO: Windows browser testing results. - -commit 2ca053affcdd7da08b75e0cadf9b4dea1e5849e6 -Author: Joel Martin -Date: Fri Jul 2 10:50:52 2010 -0500 - - Rebuild web-socket-js swf with gimite updates. - - Bug fixes, restore RFC2817 proxy for non wss://, and handle new closing - handshake from WebSockets 76. - -commit 1144eaa37a528602736315cf187eddafc27cabb7 -Author: Joel Martin -Date: Fri Jul 2 09:54:55 2010 -0500 - - Add global variable option for swf location. - - The problem is, you can't set WebSocket.__swfLocation before you load - web_socket.js (because it creates the WebSocket global), but you also - can't reliably set WebSocket.__swfLocation after because if you are - doing dynamic script file includes then the onload (i.e. - WebSocket.__initialize) may fire before you have a chance to set - Websocket.__swfLocation. - -commit b9633f8bfd72100e59d791a9357f4bc0822f0a04 -Author: Joel Martin -Date: Fri Jul 2 09:52:59 2010 -0500 - - Import/merge gimite/web-socket-js up to da7caff96496c7d7bfb3. - - Bug fixes, restore RFC2817 proxy for non wss://, and handle new - closing handshake from WebSockets 76. - -commit e091b47a9fe534e8faf417e9a6635d88ea016519 -Author: Joel Martin -Date: Thu Jul 1 12:18:18 2010 -0500 - - Clarify browser results in README.md - -commit a94699265e4edb6e8417ca867fee063f2f003c76 -Author: Joel Martin -Date: Thu Jul 1 12:13:17 2010 -0500 - - Remove sequence code in client and proxies. - -commit 2b71a4db580e0be9725c3f341e3a76cbc92f89c3 -Author: Joel Martin -Date: Thu Jul 1 12:04:26 2010 -0500 - - Update web-socket-js binary build and README.md - - Brings it up to date with the most recent web-socket-js event handling - fixes. - -commit bc8e3d4db75e693eceee74badf27ddb3f99bee22 -Author: Joel Martin -Date: Thu Jul 1 11:54:44 2010 -0500 - - Opera fixes and big Opera performance boost. - - Add message/state pollling in web-socket-js. Since Opera tends to drop - message events, we can dramatically increase performance by polling - every now for message event data. - - Also, add more direct calls to update readyState so that it's not - missed when Opera drops events. - -commit 4a96178307b0ff995343042ac2f051c37541b686 -Author: Joel Martin -Date: Thu Jul 1 10:35:03 2010 -0500 - - Better web-socket-js dataQueue reset. - - At connect and close time instead of initialization time. - -commit 9479c72083031d137d694c6eedc14d8fd8c053da -Author: Joel Martin -Date: Thu Jul 1 10:32:14 2010 -0500 - - web-socket-js event fixes. - - When using web-socket-js, the onopen event may happen inline so the - caller may not have time to set onopen before the event fires. In this - case set a short timeout and try again. In particular this affects - Opera most of the time. - - Also, to get around Opera event droppings, always read the readyState - directly instead of relying on the local readyState variable to be - correct (which it isn't if stateChange event were dropped). - -commit 6713418413c2db75cd372167c53ec2a0d747ca34 -Author: Joel Martin -Date: Thu Jul 1 10:30:07 2010 -0500 - - Always prefer JS ops if we have imageData. - - All browsers with Canvas imageData are faster with JS ops instead of - canvas ops. This gives significant performance improvement in Opera. - Except for missing web-socet-js message notifications, Opera 10.60 is - now faster than firefox 3.5. - -commit a93c9555389317fa9af7774d22b1417098e0890a -Author: Joel Martin -Date: Thu Jul 1 09:53:38 2010 -0500 - - Opera works! Fix message event drops/reorders. - - Instead of relying on FABridge AS -> JS event delivery, we just use - the events to notify JS of pending data. The message handler then - calls the AS readSocketData routine which sends back an array of - the pending WebSocket frames. - - There is still a minor bug somewhere that happens after the first - connect where the web-socket-js throws an "INVALID_STATE_ERR: Web - Socket connection has not been established". But, Opera is now usable - and we should be able to drop the packet sequence numbering and - re-ordering code. - - Another minor issue to better support Opera is to move JS script - includes to the of the page instead of after the body. - -commit 1eba7b4279494231b379f7855b07c8b72c013339 -Author: Joel Martin -Date: Wed Jun 30 20:39:41 2010 -0500 - - Update C proxy to WS protocol version 76. - - Pull in LGPL md5.c and md5.h files (written by Ulrich Drepper). - - Now both python and C version of the proxy support both protocol 75 - and protocol 76 (hybi 00). - - Reorganize websocket.py slightly to match websocket.c. - -commit 5235b29ddfd67c5e440a86523e332fb5555db31a -Author: Joel Martin -Date: Tue Jun 29 14:36:18 2010 -0500 - - Significant firefox perf improvement. Update TODOs. - - Interesting. Enough has changed in the Canvas tile operations, that - Canvas.prefer_js=true is better for firefox/gecko too. Approximately - 2X improvement in firefox for large hextile renders. - -commit dfa8db8f38ae594fed0f1b80dc325a0a48976967 -Author: Joel Martin -Date: Sat Jun 26 17:41:39 2010 -0500 - - Fix issue #7: security scheme list parsing. - - Also, lower connect timeout to 2 seconds. - -commit c3785ae12b9c6bcd4c6a77bed5548e82ae147191 -Author: Joel Martin -Date: Thu Jun 24 18:45:30 2010 -0500 - - Remove proxy handshake debug. - -commit ad8734937e8a828529c730462babb34a794833c9 -Author: Joel Martin -Date: Thu Jun 24 18:42:45 2010 -0500 - - Add WebSockets spec links. - -commit 9e2f775d42daea5f83c0ae5158a2b917313e36bd -Author: Joel Martin -Date: Thu Jun 24 18:04:40 2010 -0500 - - Add missing full GPL-3 text. - -commit 48eed1ac054165e86af7a4f1d64a5f1825965450 -Author: Joel Martin -Date: Thu Jun 24 17:09:54 2010 -0500 - - Refactor canvas imageData test slightly. - -commit 486cd527f208a50a9c8114493cdd5c7b61b3ffa5 -Author: Joel Martin -Date: Thu Jun 24 17:04:57 2010 -0500 - - Support WebSockets 76 (hixie-76, hybi-00). - - Looks like disabling web-socket-js debug messages by default that we - get a minor speedup. - - Python proxy should support both 75 and 76 (00) modes. Also, update ws - test to more reliably hit the WebSockets ordering/drop issue. - -commit 7dfa20b8fd8d1a3cb58d1fe358f52f3095b9e8e2 -Author: Joel Martin -Date: Thu Jun 24 17:01:58 2010 -0500 - - Remove invalid pos check from web-socket-js. - -commit 094b489b76dbb98eda761d255f1e3036d52561a1 -Author: Joel Martin -Date: Thu Jun 24 17:00:41 2010 -0500 - - Missed change web-socket-js to dd80a1807758abfab4a0fde840f94c5d649e4a24. - -commit 2ddd6214a5d2c5f81cc2e65525ba7504f9090a91 -Author: Joel Martin -Date: Thu Jun 24 16:59:53 2010 -0500 - - Add web-socket-js debug flag and default to off. - -commit 76053e2bae83e0a140223ec733339630ec9836ea -Author: Joel Martin -Date: Thu Jun 24 16:58:24 2010 -0500 - - Squelch MD5.as build warnings. - -commit 0e9b61d209e167bd022d09d805ddbd7abf518e84 -Author: Joel Martin -Date: Thu Jun 24 12:55:26 2010 -0500 - - TODO: Test IE 9 preview 3. - -commit 35f5b11ce5e9d942655a1a1869a7a48138a37ff8 -Author: Joel Martin -Date: Thu Jun 24 12:42:34 2010 -0500 - - Update gimite/web-socket-js to dd80a1807758abfab4a0fde840f94c5d649e4a24 - -commit 48ffd4bcc77ced05d6808a41c7d85fc9324c46c4 -Author: Joel Martin -Date: Thu Jun 24 11:19:19 2010 -0500 - - TODO: already got Arora 0.5 working. - -commit 5d41cbb27818191586e7384e3f299b8706979ec9 -Author: Joel Martin -Date: Thu Jun 24 11:12:49 2010 -0500 - - TODO (WebSockets version 76) and Opera/Arora. - -commit 7325b930f28721ced4139deff5dd70a54d532432 -Author: Joel Martin -Date: Thu Jun 24 10:50:36 2010 -0500 - - Add proxy functionality description. - -commit d93d3e09ab0262e0f4378e69109bb9c59ce8de45 -Author: Joel Martin -Date: Wed Jun 23 16:08:36 2010 -0500 - - Various cross-browser fixes. - - Now working under Arora 0.5. - - But not Konqueror 4.2.2 (WebSockets never connects). - - IE support with excanvas still pending. - -commit 11bb7a4ae4078f08b250b9070dce18cf5c452e1d -Author: Joel Martin -Date: Mon Jun 21 16:30:32 2010 -0500 - - Fix browser detection code in IE. - -commit 3915e5365e12aa5723326941d937f9e4c382e0e1 -Author: Joel Martin -Date: Mon Jun 21 13:20:57 2010 -0500 - - Update README.md with browser support. - -commit 3b7575b219f4cf7c4c2a5fdd59d5af735e45aa50 -Author: Joel Martin -Date: Sun Jun 20 15:10:34 2010 -0500 - - Better support console debug under Opera (DragonFly). - -commit 2a4e7d8a930a84b8ff7d593bdb1e9cd9e8611d73 -Author: Joel Martin -Date: Fri Jun 18 15:18:41 2010 -0500 - - Timeout connection. - -commit 146071161f9a1ccd26f53ee10398671620bb45b6 -Author: Joel Martin -Date: Thu Jun 17 17:50:15 2010 -0500 - - Update usage and README.md. - -commit 5c34ce4bebae6022c4d1f69b9857dee870842684 -Author: Joel Martin -Date: Thu Jun 17 17:24:54 2010 -0500 - - More arg processing fixes. - -commit ee26cbf24de7c11807475ce6a55b80b2ecbd7033 -Author: Joel Martin -Date: Thu Jun 17 17:05:33 2010 -0500 - - Argument processing fixes. Misc proxy fixes. - -commit 6ee61a4cf6c5cbe788b94b43e1dbc7223a74dbd3 -Author: Joel Martin -Date: Thu Jun 17 16:06:18 2010 -0500 - - Add daemonization support to wsproxy.*. - - Refactor how settings are passed around. - -commit b2fd1bc374d755e146eb10ce4a427cdeef28f6f8 -Author: Joel Martin -Date: Thu Jun 17 09:31:13 2010 -0500 - - Update TODO. - -commit 459b2578b25716a820520d9b2d5dbf1ab6b7fbd5 -Author: Joel Martin -Date: Wed Jun 16 13:58:00 2010 -0500 - - Force SSL option to proxies. Use getopt_long. - -commit 8ef9ae8c96545ca252bc0cabce145c0c38242ae5 -Author: Joel Martin -Date: Wed Jun 16 13:57:10 2010 -0500 - - Update TODO. - -commit b0696c4473f7a0d0d6ee2349868e2c8bbfaef05e -Author: Joel Martin -Date: Wed Jun 16 13:11:07 2010 -0500 - - Better C proxy host resolution. - - Use getaddrinfo instead of gethostbyname. - -commit f2898eabd30af3f1eb81136f5b74c4ebe956cea1 -Author: Joel Martin -Date: Wed Jun 16 12:37:03 2010 -0500 - - Add listen address to proxy (C and python). - - This allows forwarding from an external port to the same port on - localhost (loopback). I.e. - - ./utils/wsproxy `hostname -f`:5901 localhost:5901 - -commit f755ca96319cccbfeec3acd1e76ad087604cd60b -Author: Joel Martin -Date: Wed Jun 16 09:48:49 2010 -0500 - - Remove debug sendCtrlC function. - -commit 160fabf65c63d7339a8ba36d80825e0b27cf7ab1 -Author: Joel Martin -Date: Tue Jun 15 17:56:38 2010 -0500 - - Disabled ctrlAltDel button when N/A. - -commit 63708ff5a87be1574d96331a376351b5eff098e7 -Author: Joel Martin -Date: Tue Jun 15 17:47:01 2010 -0500 - - Add CtrlAltDel send button to status bar. - - Some default_controls.js jslinting. - - Needs to be some modularity between controls you probably always want - (like sending CtrlAltDel) and how the interface is presented and - controlled. - -commit 15046f0042b6e14ccae44e0e813a929232b05101 -Author: Joel Martin -Date: Tue Jun 15 15:21:41 2010 -0500 - - No mootools dep outside of default_controls.js. - - Some basic functions from mootools implemented in util.js. - - Also, some more DOM separation. Move clipboard focus logic into - default_controls and canvas and out of vnc.js. - - JSLint cleanup. - -commit 61dd52c983c47a140ba54ef4d94fbf605a2254fd -Author: Joel Martin -Date: Tue Jun 15 11:10:18 2010 -0500 - - Add mouse position routines to util.js. - - On path towards removing dependency on mootools in non-UI code. - -commit e2e7c224942aaa03af1d05f6c198d39f29f88768 -Author: Joel Martin -Date: Tue Jun 15 09:36:23 2010 -0500 - - Move DOM event handling from vnc.js to canvas.js. - -commit 96a6eaadbc647cf769b74840ccc81fb50301af29 -Author: Joel Martin -Date: Mon Jun 14 14:56:19 2010 -0500 - - Move vnc.js into include directory. - - Also, allow 'include/' to be overridden in VNC_uri_prefix. - -commit 2152a88f5c9dc2e2cafcd58f85895626c73a6028 -Author: Joel Martin -Date: Mon Jun 14 14:43:21 2010 -0500 - - Add summary timing info on disconnect. - - Also, move Frame Buffer Update code out of normal_msg into separate - function. - -commit 30e5396326fd7cc1932e0c2350b6940553e2bcaf -Author: Joel Martin -Date: Mon Jun 14 14:42:34 2010 -0500 - - Less debug output. - -commit a4807656a2ee39bb06a52c96f0eabc72cf8b2a63 -Author: Joel Martin -Date: Mon Jun 14 14:34:05 2010 -0500 - - Move cert gen to Usage section of README.md. - -commit 6a52558dd87e681137986bded3485dd8fefba0ff -Author: Joel Martin -Date: Sun Jun 13 11:00:12 2010 -0500 - - Render PNG images in order. Update TODO. - -commit 3954ae149a6d734146e2e71a32f34ad3d45aa3b8 -Author: Joel Martin -Date: Sun Jun 13 10:57:23 2010 -0500 - - Fix mouse focus issues. - -commit 888d5813eda0002b2562b90d3ff5dc1cb505db5e -Author: Joel Martin -Date: Thu Jun 10 16:05:15 2010 -0500 - - Fix scrolled mouse position. - -commit 4b4496ad6735cc9a0b9d85dc113a05d57c407e35 -Author: Joel Martin -Date: Thu Jun 10 15:44:42 2010 -0500 - - DesktopResize and compression level pseudo-encodings. - - - Implement resizing of desktop pseudo-encoding. - - - Also send lowest (fastest) compression level pseudo-encoding. - Ought be user tweakable. - -commit 8a8370060eb1ddc44f4ff80459b066959c3f06ba -Author: Joel Martin -Date: Thu Jun 10 12:11:13 2010 -0500 - - More dynamic encoding list handling. - -commit c3d28aabe4c248b6020bf3122ce48970b4f1c716 -Author: Joel Martin -Date: Wed Jun 9 17:50:06 2010 -0500 - - base64 encode instead of escaping images. - -commit 0664669ce9db012fe8e86e8ea2a0aae3604e9500 -Author: Joel Martin -Date: Wed Jun 9 15:40:46 2010 -0500 - - Almost double firefox tight_png render performance. - - When extracting the data URI info, much more efficient in firefox to - iterate and push onto an array, then to generate the whole array at - once using the map function. - - Chrome is mostly unaffected by this change (might be slightly better). - -commit 29cb15f9caf3130260dc5d3e64235f77e21d89dc -Author: Joel Martin -Date: Wed Jun 9 15:00:32 2010 -0500 - - TIGHT_PNG encoding and timing refactor. - - Also, generate encodings array to send from a list of encodings - instead of being hardcoded generator function. - -commit af183e63f558478d102cb6d68103b66ce0e44b4b -Author: Joel Martin -Date: Tue Jun 8 11:20:03 2010 -0500 - - update failed state on WS onerror. - - Also, slightly faster non-base64 (UTF-8) decode. - -commit 97df09b9f18c95660c344e2091d82804c67952a8 -Author: Joel Martin -Date: Mon Jun 7 14:36:26 2010 -0500 - - Output count for multi-packet decodes. - -commit 9a09b636e748a62e43ce908333819ac967941eb1 -Author: Joel Martin -Date: Mon Jun 7 13:47:44 2010 -0500 - - Add UTF-8 wire encoding support to C wsproxy. - -commit 7210e79e04b5cedbef455438f2e93819dcea2cd1 -Author: Joel Martin -Date: Mon Jun 7 12:47:02 2010 -0500 - - Move wsproxy and web utils into utils/ subdir. - -commit 9e61a9c6f0ac8381b8197ce68f2a570fd6f52dfd -Author: Joel Martin -Date: Mon Jun 7 12:44:02 2010 -0500 - - C wsproxy: seq numbers and decode multiple frames. - -commit 8e1aa95ba31b9b7596df604a97a06bebc14da279 -Author: Joel Martin -Date: Fri Jun 4 17:10:06 2010 -0500 - - First pass at working C wsproxy. - - No sequence numbering and only support b64encoding at the moment. - -commit 14355cb212fe690f8192f41aa4f67ea9a91d2ddd -Author: Joel Martin -Date: Fri Jun 4 13:51:21 2010 -0500 - - Give better exception feedback in message handler. - -commit 30298582d0f77b3d81455fed3acec1804abf5e68 -Author: Joel Martin -Date: Thu Jun 3 16:11:21 2010 -0500 - - Add 'tight' encoding to TODO list. Add rfb proto link. - -commit 2e041cf225637c19a82822747362c145fe8ed824 -Author: Joel Martin -Date: Thu Jun 3 09:28:44 2010 -0500 - - Fix Alt keysym. - - From kevinychan/vnc-html5 ebfffdc36. - -commit 4f0da9ef84876007c817a383435ed562c0651560 -Author: Joel Martin -Date: Thu Jun 3 08:39:42 2010 -0500 - - Clarify examples. - -commit 1aa950625121e4db4bdb9f0ae71d1e40e22a87eb -Author: Joel Martin -Date: Wed Jun 2 17:28:28 2010 -0500 - - Explain VNC_uri_prefix in README.md. - -commit d0e01e064ca4c6f6dac3eb4602cb840483b049d3 -Author: Joel Martin -Date: Wed Jun 2 17:18:46 2010 -0500 - - Update README.md to reflect separate default controls file. - -commit 913083993baa211510d3e4cd9b16ca9c97703950 -Author: Joel Martin -Date: Wed Jun 2 17:08:25 2010 -0500 - - Direct example. Move all DOM code default_controls.js. - - Move DOM manipulation into include/default_controls.js and update - vnc.html to use it. - - Add an example vnc_auto.html which automatically connects using - parameters from the query string and doesn't use default_controls.js. - - Reorder functions in vnc.js to put external interface functions at the - top of the RFB namespace. - -commit 325d9eb7f39ed4fdc8b0c275bccee94773563ae1 -Author: Joel Martin -Date: Tue Jun 1 17:58:14 2010 -0500 - - Add --record option to wsproxy.py. - -commit d41c33e4b7b3a20784c26c93927b9c864498e4e5 -Author: Joel Martin -Date: Tue Jun 1 14:34:27 2010 -0500 - - Add colour map support (non-true-color). - - In colourMap mode there are 256 colours in a colour palette sent from - the server via the SetColourMapEntries message. This reduces the - bandwidth by about 1/4. However, appearance can be somewhat less than - ideal (pinks instead of gray, etc). - - It also increases client side rendering performance especially on - firefox. Rendering a full 800x600 update takes about 950ms in - firefox on my system compared to about 1400ms. Round-trip time for - a full frame buffer update is even better on firefox (due to - performance of the flash WebSocket emulator). Reduced from about - 1800ms to 1100ms on firefox (for 800x600 full update). - -commit 507b473a2e6eff399ec5dbf805746c14d34aeff5 -Author: Joel Martin -Date: Fri May 28 15:39:38 2010 -0500 - - Test non-base64 (straight UTF-8) encoding. - - Also add a wsencoding test client/server program to test send a set of - values between client and server and vice-versa to test encodings. - - Not turned on by default. - - Add support for encode/decode of UTF-8 in the proxy. This leverages - the browser for decoding the WebSocket stream directly instead of - doing base64 decode in the browser itself. - - Unfortunately, in Chrome this has negligible impact (round-trip time - is increased slightly likely due to extra python processing). - - In firefox, due to the use of the flash WebSocket emulator the - performance is even worse. This is because it's really annoying to get - the flash WebSocket emulator to properly decode a UTF-8 bytestream. - The problem is that the readUTFBytes and readMultiByte methods of an - ActionScript ByteArray don't treat 0x00 correctly. They return - a string that ends at the first 0x00, but the index into the ByteArray - has been advanced by however much you requested. - - This is very silly for two reasons: ActionScript (and Javascript) - strings can contain 0x00 (they are not null terminated) and second, - UTF-8 can legitimately contain 0x00 values. Since UTF-8 is not - constant width there isn't a great way to determine if those methods - in fact did encounter a 0x00 or they just read the number of bytes - requested. - - Doing manual decoding using readUTFByte one character at a time slows - things down quite a bit. And to top it all off, those methods don't - support the alternate UTF-8 encoding for 0x00 ("\xc0\x80"). They also - just treat that encoding as the end of string too. - - So to get around this, for now I'm encoding zero as 256 ("\xc4\x80") - and then doing mod 256 in Javascript. Still doesn't result in much - benefit in firefox. - - But, it's an interesting approach that could use some more exploration - so I'm leaving in the code in both places. - -commit c3996e24f56fc6a7055afca5a6fb8cf07e6bafb0 -Author: Joel Martin -Date: Fri May 28 15:29:36 2010 -0500 - - Round-trip timing for first full FBU. - -commit d38406e6b5f4517714f02bc0d0f81eb44e6dc6f7 -Author: Joel Martin -Date: Fri May 28 14:10:57 2010 -0500 - - Fix web-socket-js: encode sent data across FABridge. - -commit af6b17ce06622abf41573017e2163746f6ac1d7d -Author: Joel Martin -Date: Wed May 26 15:43:00 2010 -0500 - - Change license to LGPL-3 and add some implementation notes. - - The purpose of the code is to be incorporated into other web projects - (whether those are free or not). AGPL prevents combination with other - HTML and javascript that is under a weaker (or proprietary) license. - Better would be a lesser AGPL, but there is not GNU standard for that. - So LGPL-3 meets most of my requirements. If somebody modifies the - actual client code and conveys it, then they must release the changes - under LGPL-3 also. - - Add some implementation notes in docs/notes. - -commit 32eb5d7cb0985b0fddf4727ce4fd2ca269a90153 -Author: Joel Martin -Date: Tue May 25 11:09:34 2010 -0500 - - Use relative include path in tests. - -commit a575a383fb4c7c5e6912e5bbf02f4dc4e19ba12e -Author: Joel Martin -Date: Tue May 25 11:05:55 2010 -0500 - - Add mouse wheel support and input test page. - -commit 7f4f41b0c7d936d6938b803163984da8b21ab30a -Author: Joel Martin -Date: Thu May 20 17:13:59 2010 -0500 - - Don't shift off subencoding in hextile. - -commit 8fe2c2f91523a165daab89358e13424251da82d8 -Author: Joel Martin -Date: Mon May 17 17:11:13 2010 -0500 - - Fix web-socket-js loading issue. - -commit 97763d0eb8ee0610b818506327481c11a0397ebb -Author: Joel Martin -Date: Mon May 17 10:18:37 2010 -0500 - - Double Chrome hextile perf again. Add canvas test. - - - By dereferencing the 'data' field of the imageData object before the - loop, the hextile performance on Chrome is down to 140ms or so for - a full 800x600 update. Still have to fall back to Canvas operations - for firefox. - - - Fix RQ empty after reorder bug. - -commit 3c1bead9a0d2c1e7427f6ab1815df7f009e595ab -Author: Joel Martin -Date: Sun May 16 19:58:51 2010 -0500 - - Add styling classes for status line state. - -commit b92e282ad73da06aa87dca0be854653ee062ea01 -Author: Joel Martin -Date: Sun May 16 19:23:44 2010 -0500 - - Add back canvas.html test page to tests subdir. - -commit af180155a8c997bfc5e353bf9a696457405b2b79 -Author: Joel Martin -Date: Sun May 16 19:21:21 2010 -0500 - - Create FABridge tester. Move wstest into tests subdir. - -commit 8acfc8cf52ba6be83b19217fe7da479abb820ffa -Author: Joel Martin -Date: Sun May 16 17:51:00 2010 -0500 - - Change wstest.html 'cnt' to 'seq'. - -commit f9583f1f98516f153349bca5494fc456fd38a2c7 -Author: Joel Martin -Date: Sat May 15 15:45:09 2010 -0500 - - Move canvas.js to include/canvas.js. - -commit 67b24a90200f2361ef638134e93769625459655c -Author: Joel Martin -Date: Sat May 15 15:25:10 2010 -0500 - - Support 3.7. - -commit 56ec48bec816a62b33d40bf899aa66a394665a74 -Author: Joel Martin -Date: Sat May 15 14:55:33 2010 -0500 - - Move vars into RFB namespace. Extend array in util.js. - -commit c4164bda1d1d2ddb3e9589e1e99ee1e53f934a05 -Author: Joel Martin -Date: Sat May 15 14:28:55 2010 -0500 - - JSLint and "use strict". - -commit 753bde8f538c450cb4f5d3b66b4b7d57d64b089d -Author: Joel Martin -Date: Sat May 15 12:38:50 2010 -0500 - - Cleanup output, trap exceptions, timing output, fixes. - - Fixes: - - Make sure that failed state messages stay around until next connect. - - Get status message font colors working. - - Clear RQ_reorder list on re-connect. - -commit 3875f847f1a321c86c9e37d4739a6189bd3b15fa -Author: Joel Martin -Date: Sat May 15 12:27:44 2010 -0500 - - Double hextile rendering performance in Chrome. - - - For webkit engines, do array manipulation for each tile subrectangle - and only use the array for putImageData after rendering is finished. - - In Chrome 5.0.375.29 beta, the time to render a full 800x600 hextile - image dropped from 500ms to 250ms or so. Firefox 3.5.3 rendering of - a full 800x600 hextile image is about 2300ms. - -commit 0a72cf90267ba3e2278633db5e33451061155b03 -Author: Joel Martin -Date: Sat May 15 12:14:30 2010 -0500 - - Reset client_settings on connect. - - - Otherwise client_setting carry over from other connections. - -commit 71d2426a8e9993a1793828cf06290d446dfd2cdc -Author: Joel Martin -Date: Wed May 12 09:39:38 2010 -0500 - - Rename HTML5-VNC to noVNC. - -commit dcd950a044ad888f6880d53ef66ba4785b67f8bb -Author: Joel Martin -Date: Tue May 11 15:04:07 2010 -0700 - - Mark include/plain.css as code. - -commit 1c91712f84106d206d2232c9eb887ba7b9963514 -Author: Joel Martin -Date: Tue May 11 17:00:42 2010 -0500 - - Add some links to related project sites. - -commit 3a5ddcf73751618cea06d3e2cbd53e1c56c55c26 -Author: Joel Martin -Date: Tue May 11 16:58:36 2010 -0500 - - Pull and modify stylesheet from kevinykchan/vnc-html5. - - Pull and modify vnc.css version - b747e284c0e417df1599b1d95724518b07be8df6 to include/black.css - -commit db504ade0c87be366f1d29dd34a614d9d89a0a87 -Author: Joel Martin -Date: Tue May 11 16:39:17 2010 -0500 - - Isolate DOM references in load() and connect(). - - - Other misc cleanups. - -commit ded9dfae10198ea143c6143e063921d166fbebd1 -Author: Joel Martin -Date: Tue May 11 16:13:52 2010 -0500 - - Styling/integration refactoring. - - - Instead of onload override, move to RFB.load function that takes - a parameter for the target DOM ID. This allows the user to have - their own onload function. - - - Add "VNC_" prefix to all element ID names. Only create DOM elements - if they don't already exist on the page, otherwise use the existing - elements. - - - Move all styling to separate stylesheet. - - - Use list model for control styling. - -commit 3a2fafac9b6475cb2674b03764fd43e3e31ae9bc -Author: Joel Martin -Date: Tue May 11 10:01:21 2010 -0500 - - Add and clarify licensing. - -commit 92f572a2491348a4dee4cab7081903e6c4b08695 -Author: Joel Martin -Date: Tue May 11 09:25:29 2010 -0500 - - Fix wsproxy CPU usage without affecting latency. - - Instead of selecting on everything every time, only select the writers - that we have items queued for. Most of the time the writers are ready - so if we select on them even when we don't have anything to send we - will fall into a tight loop. - -commit 4ce2696d52f8599bef23cf1805581e4e1770c94f -Merge: 2cec49d 3ec5d7c -Author: Joel Martin -Date: Tue May 11 09:23:55 2010 -0500 - - Merge branch 'merge_kevinykchan' - - Conflicts: - wsproxy.py - - Fix auth mode selection typo. - -commit 3ec5d7c0a3c74cf123cbfa68747f66c917eb5e1f -Author: Kevin Chan -Date: Tue May 11 04:45:46 2010 +0800 - - Addresses issue where wsproxy utilizes 100% CPU. The process now rarely goes over 2% - -commit 2cec49d4392cae67d04af2e2b48645e4ccfd5500 -Author: Kevin Chan -Date: Tue May 11 04:55:47 2010 +0800 - - If no password is provided, defaults to use no auth - -commit 97bfe5ba25fee6894aa0bf157b493b62870a4d48 -Author: Joel Martin -Date: Thu May 6 17:08:53 2010 -0500 - - Move controls to vnc.js, make vnc.html very simple. - -commit fc7d416ee4b3663dd22e3942084ce198c3da80f7 -Author: Joel Martin -Date: Thu May 6 10:57:16 2010 -0500 - - Ignore python bytecode files. - -commit 05e5cb7da0f4e52308b07caf67eefbc71ae37cb4 -Author: Joel Martin -Date: Thu May 6 10:54:36 2010 -0500 - - Fix same for server side (no expected count complaint). - -commit 0340f8b6b1ae1ee2d44cea876a195cdfa28bc724 -Author: Joel Martin -Date: Thu May 6 10:53:09 2010 -0500 - - Don't complain about expected count on stop. - -commit f8ee7b489df25ab3df492ebbf02b1a7e185b606f -Author: Joel Martin -Date: Thu May 6 10:52:04 2010 -0500 - - Encryption suppport for wstest. - -commit 95ef30a16771832775545e0316ad1d4f362aa0f1 -Author: Joel Martin -Date: Thu May 6 10:32:07 2010 -0500 - - websocket.py: generic code from wsproxy and wstest. - -commit c539e4dcdadc79819ed56a57b5a70c3c4c4e31a7 -Author: Joel Martin -Date: Wed May 5 15:40:05 2010 -0500 - - DES that works with KVM's VNC. RFB 3.8 fixes. - -commit ef764d3b9baa8f5385f3ce218a2590d663d4781c -Author: Joel Martin -Date: Sun May 2 14:19:13 2010 -0500 - - Support for RFB 3.8 handshake. - -commit 5aca52e18d92d45946774861a69265608a79dba6 -Author: Joel Martin -Date: Sat May 1 15:59:52 2010 -0500 - - Cleanup. Move note files into docs/. - -commit adfe6ac16619e9f4f34a08c34972a8f9d1a43564 -Author: Joel Martin -Date: Fri Apr 30 16:41:09 2010 -0500 - - Support for SSL/TLS ('wss://') on both sides. - - On the client side, this adds the as3crypto library to web-socket-js - so that the WebSocket 'wss://' scheme is supported which is WebSocket - over SSL/TLS. - - Couple of downsides to the fall-back method: - - - This balloons the size of the web-socket-js object from about 12K to 172K. - - - Getting it working required disabling RFC2718 web proxy support - in web-socket-js. - - - It makes the web-socket-js fallback even slower with the - encryption overhead. - - The server side (wsproxy.py) uses python SSL support. The proxy - automatically detects the type of incoming connection whether flash - policy request, SSL/TLS handshake ('wss://') or plain socket - ('ws://'). - - Also added a check-box to the web page to enable/disabled 'wss://' - encryption. - -commit ca5785f5701d9b1fe0ccd53fc9adcc8ef61d4e1b -Author: Joel Martin -Date: Fri Apr 30 15:54:59 2010 -0500 - - Automatically detect TLS/SSL during handshake. - - Use MSG_PEEK flag on recv to detect whether we are getting a flash - policy request, an SSL/TLS header, or a plain socket connection. - -commit 0e486e1ba01c9933c72f535305228068f0243bfa -Author: Joel Martin -Date: Fri Apr 30 14:13:32 2010 -0500 - - Import as3crypto_patch: ffda6e9cd8b1d74f45472c676afda8360ae1e5aa - - as3crypto is actionscript 3 crypto library with TLS engine support. - - From: http://github.com/lyokato/as3crypto_patched - - Which was forked from: http://code.google.com/p/as3crypto/ - -commit 7b99f70bd09c0e751a8459ead2731da8e9444f0e -Author: Joel Martin -Date: Mon Apr 19 10:46:48 2010 -0500 - - Don't erase failed state error messages on disconnect. - -commit 0166284a64eedc164a90c863880e70d4b1261425 -Author: Joel Martin -Date: Mon Apr 19 10:43:21 2010 -0500 - - Also send errors to console.error - -commit 1e633bc8eeef5e92f134ec0cf705a1f7644b9f93 -Author: Joel Martin -Date: Mon Apr 19 10:41:06 2010 -0500 - - wstest*. Fix Opera problems. Flash policy. Misc bugs. - - Lame. Opera doesn't support javascript reduce(). - - Also, Opera seems to just plain be pathetic when it comes to - delivering the web-socket-js events. Around 1/5 to 1/3 of all received - packets are never received as an event at all. - - - Change default delay for send side to 10ms. - - - Use a textarea for errors so that even without console.* support - (ala firebug) we still see the errors that are happening. - -commit 9e12c1a941ddb0b00f3ee975e54720bbfe568678 -Author: Joel Martin -Date: Sun Apr 18 20:57:34 2010 -0500 - - README.md typo and clarify. - -commit 1626e0f8f80c8ffdc334edcb1a44fd86caeee0d6 -Author: Joel Martin -Date: Sun Apr 18 20:53:54 2010 -0500 - - Update README.md and TODO. - -commit 07287cfd89d16f8fedbd619cebf7b9e50d025d74 -Author: Joel Martin -Date: Sun Apr 18 20:35:43 2010 -0500 - - Send seq nums and b64 encode based on query string. - - Query string variable 'b64encode' determine if wsproxy b64 encodes the - results. Variable 'seq_num' determines if sequence numbers are - prepended. This way, sequence numbers are only used with the flash - WebSocket proxy. - -commit 8759ea6f90f5cdd00d86714990968a13b0947757 -Author: Joel Martin -Date: Sun Apr 18 18:43:03 2010 -0500 - - Status/error refactor. Fix firefox bugs. - - - All state/status updates go through updateState routine which - updates the status line also. - - - Old firefox (and opera) don't support canvas createImageData, so use - getImageData as replacement. - - - Add console.warn and console.error stubs so that firefox without - firebug doesn't crap out. - - - If no WebSockets then error if no flash or if URL is location (flash - will refuse to load the object for security reasons). - -commit 07f6ca751d6c4966735bc63ab756292eb6e122fc -Author: Joel Martin -Date: Sun Apr 18 16:28:54 2010 -0500 - - Remove mootools-more references. - -commit 9fec75c08feda638f3c62f6979f7276cf0d37b30 -Author: Joel Martin -Date: Sun Apr 18 16:19:10 2010 -0500 - - Fix firefox '-' key mapping. - -commit d1616107c3f5dc970ccbf51e4839432fd714db5f -Author: Joel Martin -Date: Sun Apr 18 16:17:27 2010 -0500 - - Add fixing firefox '-' key mapping issue to TODO. - -commit 10ae1427f81f752718d072c82eabea5dc9711e49 -Author: Joel Martin -Date: Sat Apr 17 17:53:28 2010 -0500 - - Handle socket policy response in proxy itself. - -commit 5d8e7ec0681bab89a54817f20e54916e6287dcdb -Author: Joel Martin -Date: Sat Apr 17 17:16:08 2010 -0500 - - Add web-socket-js support with packet re-ordering. - - - web-socket-js is from http://github.com/gimite/web-socket-js. It is - a flash object that emultates WebSockets. - - Unfortunately, events (or packets) from the web-socket-js object can - get re-ordered so we need to know the packet order. - - - So wsproxy.py prepends the sequence number of the packet when - sending. - - - If the client receives packets out of order it queues them up and - scans the queue for the sequence number it's looking for until - things are back on track. Gross, but hey: It works! - - - Also, add packet sequence checking to wstest.* - -commit d920595453ee6f1174d2e3ba598b2e82d013b637 -Author: Joel Martin -Date: Sat Apr 17 17:14:33 2010 -0500 - - Import web-socket-js: a0fb3933ce5c824bcb882f5a1cf87e46de773ea8 - - web-socket-js is a flash based WebSockets emulator. - - From: http://github.com/gimite/web-socket-js - -commit 5d2c38640015ad09c4073937ff15dd8c15aef3bc -Author: Joel Martin -Date: Fri Apr 16 16:34:19 2010 -0500 - - Reassemble partial client packets in wsproxy.py - -commit af7a3193878f13e7300366239248418a830c5e6e -Author: Joel Martin -Date: Fri Apr 16 15:53:59 2010 -0500 - - Assemble partial received frames. - - Apparently both native and flash WebSockets implementations can send - partial packets. - -commit 89fbd66fa99ee484dacb7f9b1c9f38fe79a8f3ce -Author: Joel Martin -Date: Fri Apr 16 13:58:08 2010 -0500 - - Add WebSockets test frontend and backend. - -commit 14b665f1da72288424b3251d360ad69da6102bc3 -Author: Joel Martin -Date: Thu Apr 15 12:28:53 2010 -0500 - - Remove uneeded mootools functions and used compressed version. - -commit 7345dba44c029d513f28079f0f45f0555b60a58c -Author: Joel Martin -Date: Thu Apr 15 11:14:42 2010 -0500 - - Clarify DES code origination. - -commit b5537b60b040b804060b9e5cc46a85f1132f840e -Author: Joel Martin -Date: Thu Apr 15 11:01:40 2010 -0500 - - Switch to MPL/GPL base64 from Mozilla. - - - Also slightly better performance. - -commit 1a623f75024ea237266258722c6827b40ffe9b09 -Author: Joel Martin -Date: Thu Apr 15 10:16:30 2010 -0500 - - Update TODO and small perf cleanups. - -commit 30059bdf247afac47b47f89fdb29a35bef5875c6 -Author: Joel Martin -Date: Thu Apr 15 01:40:03 2010 -0500 - - Add cut and paste support. - - - A textarea below the VNC area represents the state of the current - VNC clipboard. If there is a server cut event, the textarea will be - updated. If the user updates the contents of the textarea, the new - data will be sent as a client paste (cut) event. - - - One important change was to detect if the clipboard is focused and - allow the user to type in the clipboard instead of in the VNC area. - -commit 66a529d70aa7177a9ea8af6f0d1aa0eba9945aea -Author: Joel Martin -Date: Wed Apr 14 23:42:38 2010 -0500 - - In TODO: RRE framing bug fixed in prev refactor. - -commit 1098b5bf016d3d0fa38ad13b0084ae5f6c25288b -Author: Joel Martin -Date: Wed Apr 14 23:41:12 2010 -0500 - - Refactor FBU.bytes handling to simplify. - - - raw encoding displays horizontal lines as they arrive for better - feedback and less time hanging waiting for something. - -commit 6321aff0cf657596facbdfe9d2d84486ea847873 -Author: Joel Martin -Date: Wed Apr 14 23:40:29 2010 -0500 - - stop routine stops mouseMove events too. - -commit 9e5065ab83c4add141cb68105d4f8dae8b6fb791 -Author: Joel Martin -Date: Wed Apr 14 13:33:27 2010 -0500 - - Note WSS/SSL and C wsproxy in TODO. - -commit 503c6c5be907cd00e8136e0f060bd250e65d7ffd -Author: Joel Martin -Date: Wed Apr 14 13:03:18 2010 -0500 - - Add TODO. - -commit 8cf206154cbcac6163498f295cdd7afd6e6f2f7f -Author: Joel Martin -Date: Wed Apr 14 12:44:47 2010 -0500 - - Working VNC client! Add mouse movement support. - - - Mouse movements are accumulated and sent about 5 times a second. - - Normal polling happens at about 1.5 seconds intervals. - - This commit represents a very functional VNC client under Google - Chrome. - - Remaining work: - - - Cut and paste support. - - - Framing bugs when using RRE encoding. - - - Better status and error feedback. - - - Get working in firefox using flash web-socket-js: - http://github.com/gimite/web-socket-js - - - Version without mootools (but test cross-browser). - -commit 48ebcdb1104362840560e8b65034208c9f6ef72a -Author: Joel Martin -Date: Wed Apr 14 12:22:47 2010 -0500 - - Rename canvas.js routines to not have "rfb" prefix. - - - Also, try making set fillStyle called less often. - -commit 31af85b99659da0072271ae5a8a7213e2605c86b -Author: Joel Martin -Date: Wed Apr 14 12:13:59 2010 -0500 - - Don't clear canvas if debug mode - -commit 28a5f293573a28426a86c46a68fd73eb847423e0 -Author: Joel Martin -Date: Wed Apr 14 12:10:23 2010 -0500 - - Re-order routines, no functional changes. - -commit fb99d81cccc469b0457c877cd726ffb15c3179b6 -Author: Joel Martin -Date: Wed Apr 14 12:03:01 2010 -0500 - - Better hextile performance: index subrects instead of slicing/shifting. - - - Many times better performance. Before this, browser was spending all - it's time garbage collecting or doing something. Now the bottleneck - is in set fillStyle and fillRect which is probably where it should - be. - -commit 410960bac8167d9b9e5ae9d1a3275e24684440b0 -Author: Joel Martin -Date: Wed Apr 14 11:28:29 2010 -0500 - - Fix some framing bugs. Cleanup console logs. - -commit 484a4696aaf2bb4281e63ab6508cbc034dde3998 -Author: Joel Martin -Date: Wed Apr 14 09:48:46 2010 -0500 - - Refactor data processing. Ignore other server messages. - - - Refactor to pull off all the data received into RFB.d array and then - process it. This allows a bit more flexibility in handling - data that isn't sent in frame boundary packets. - - - Properly ignore these server messages: SetColourMapEntries, Bell, - ServerCutText. - -commit d064769ccf6ce891e27c23b9b8a2e0b3d3b1766b -Author: Joel Martin -Date: Tue Apr 13 17:39:01 2010 -0500 - - Initial mouse support. Down and Up only. - -commit 9f4af5a72268aefec684368e35e233585ade6f3d -Author: Joel Martin -Date: Tue Apr 13 12:59:11 2010 -0500 - - Hextile working. Improve latency by coallescing sends. - - - Hextile has an undocumented weirdness where RAW frames are often - followed by a 0 byte that should be ignored. - - - Coallesce client messages that are one after another. Without - this the server seems to often ignore frames that are send right - after another frame has been sent. This fixes a reconnect issue - where setEncodings seems to be ignored. Also results in a huge - performance increase after key strokes (by adding a update request - to the key event message) because the server always sends an update - instead of sometimes waiting for the next poll to be sent. - -commit 2bcb2d5b15237489fa905ce9293d3ed1af925b33 -Author: Joel Martin -Date: Tue Apr 13 09:39:29 2010 -0500 - - Remove event handlers on disconnect. - -commit b7ec54870aa910975b18c5b164ad0564adece34d -Author: Joel Martin -Date: Tue Apr 13 09:28:53 2010 -0500 - - Switch to much faster console.log and separate utils into util.js. - -commit 0f628064990c823d5c77cb7750f08ac473cb879e -Author: Joel Martin -Date: Mon Apr 12 13:21:44 2010 -0500 - - Refactor processing to allow hextile processing. - - With hextile you can't know how many bytes are pending. So restructure - so that all the received data so far is passed to the processsing - routines. - -commit f7618085405c3198ff2433fa96e88bed6322a7a1 -Author: Joel Martin -Date: Mon Apr 12 11:46:43 2010 -0500 - - Process RRE in chunks instead of 1 at a time. - -commit cf67217cbf4be43c05ef3efbd88a3ad8b47744b4 -Author: Joel Martin -Date: Mon Apr 12 11:21:03 2010 -0500 - - Change to RGB ordering. - -commit 6dab56f91447c818bb6e5751a777da43a6f28321 -Author: Joel Martin -Date: Mon Apr 12 11:08:40 2010 -0500 - - Working RRE implementation. - -commit ed7e776db24b0d97768f2f5a19915f9ee3da381e -Author: Joel Martin -Date: Sun Apr 11 23:11:21 2010 -0500 - - First pass at RRE encoding - -commit d628147bca6bbfd879ad2d5b60417c83683bf685 -Author: Joel Martin -Date: Sat Apr 10 15:52:27 2010 -0400 - - WebWorkers example with two way messages. - - - Prime number background worker that can be started, stopped and - reset that calculates prime numbers and sends them back to the main - page/thread. - -commit 85b7a7d4113e6019345a20edb8847e28bebee709 -Author: Joel Martin -Date: Sat Apr 10 15:52:08 2010 -0400 - - Handle undefined URL values correctly. - -commit 4b835baeb95b0d4ed93c273748157035fb70a40c -Author: Joel Martin -Date: Sat Apr 10 12:00:35 2010 -0400 - - Change depth to count down correctly. Trim long lines. - -commit 48617e27bc6ea699d64806dfc0a91c3420472685 -Author: Joel Martin -Date: Tue Apr 6 22:44:12 2010 -0500 - - Fix Copy-Rect encoding. - -commit f6515e3e35d41d8f02e8809ad78db9f9cc222251 -Author: Joel Martin -Date: Tue Apr 6 21:50:26 2010 -0500 - - Make web.py match README. Remove unused ws_echo.py. - -commit d63e1462099af41262ca1273b74f5597e2f59ef3 -Author: Joel Martin -Date: Tue Apr 6 21:37:35 2010 -0500 - - List for proxy reasons. - -commit 5aeb98801bafe847d844df9481726f229c909186 -Author: Joel Martin -Date: Tue Apr 6 21:34:56 2010 -0500 - - Change to markdown README.md. - - - Semi-colon missing. - -commit 0dddd6e47e64f6fada592d61f81267b2a40c34be -Author: Joel Martin -Date: Tue Apr 6 21:06:46 2010 -0500 - - Add README. - -commit 0385e011710253521b20f61ffc2d05b407885a27 -Author: Joel Martin -Date: Tue Apr 6 20:14:11 2010 -0500 - - Remove old test files. - -commit cc0410a39ba7d764d5f42bc601bb26f4ca9dac79 -Author: Joel Martin -Date: Tue Apr 6 16:44:45 2010 -0500 - - Cleanup of files and vnc.js namespace. - - - Trim unused code in base64.js - -commit d9cbdc7d85bf406bf70b1ba32f59766955328bc2 -Author: Joel Martin -Date: Tue Apr 6 16:24:09 2010 -0500 - - Create getKeysym to lookup keysym from keyCode. - - - Most of the keyboard is now functional. - -commit 71085485e747c1996fd218c4a003852a57ce119b -Author: Joel Martin -Date: Tue Apr 6 13:58:06 2010 -0500 - - Fix canvas.html. - -commit 532a9fd92e7e10cd16380824465e3d7e17637014 -Author: Joel Martin -Date: Tue Apr 6 13:49:49 2010 -0500 - - Better interface, support user provided VNC password. - - - host, port and password input boxes (populated by URL values). - - clear canvas on disconnect. - - Dotted border around VNC area. - - mirror bits for VNC password. - -commit 8580b9897935133efe1529167506134d6a4a7a55 -Author: Joel Martin -Date: Tue Apr 6 10:35:25 2010 -0500 - - Got DES encryption of password working and colors corrected. - - - DES encryption for VNC bit mirrors every bytes of the password. This - commit has a hard-coded mirrored password. Need to ask user and bit - mirror it. - - - With image data across the wire it's Blue,Green,Red, so twiddle - things around a bit. - -commit 64ab5c4ded8d25fd39bb6a8b9f6fa8362c2b32b6 -Author: Joel Martin -Date: Mon Apr 5 23:54:30 2010 -0500 - - Working with Raw rectangles and capital letter keys. - -commit c8460b0310941f15484daf8505770df59ed71b14 -Author: Joel Martin -Date: Sun Apr 4 16:08:55 2010 -0500 - - Cleanup canvas and vnc code so they can be used together. - -commit f272267bf7a7af3d33679fd8991f982a34932130 -Author: Joel Martin -Date: Sun Apr 4 15:46:39 2010 -0500 - - Add Canvas and event experiments. - - Correctly handles all three mouse buttons and key presses on firefox - and Chrome. - - Has a decent obj properties lister (dirObj). - -commit 489d167643f6dbdb6cf1351da22760dc1c421355 -Author: Joel Martin -Date: Fri Apr 2 19:17:46 2010 -0500 - - Do base64 encode/decode of stream. Send SetEncoding and FB update request. - -commit a793fa460f1ee32c947950737fcca4d60d3481f5 -Author: Joel Martin -Date: Fri Apr 2 19:17:01 2010 -0500 - - Base64 Javascript encode/decode library. - - From http://www.webtoolkit.info/ - -commit 9ec97d86351171a79ddb99a5c70caef8d68143a5 -Author: Joel Martin -Date: Fri Apr 2 19:16:25 2010 -0500 - - Base64 encode/decode for client Javascript. - -commit 65e27ddd4c439b2e5cf27d9a410a84ba62b3b98d -Author: Joel Martin -Date: Thu Apr 1 11:36:22 2010 -0500 - - First RFB protocol stub implementation. - - - Requires wsproxy to proxy to the VNC server. - -commit f9d45665470f8742c26be211bfc82bf9e37f97b6 -Author: Joel Martin -Date: Wed Mar 31 19:44:48 2010 -0500 - - Add minimal python directory web server. - -commit 8b945f2a94043e9c16205bd0092869371bf8a9de -Author: Joel Martin -Date: Wed Mar 31 19:43:09 2010 -0500 - - Add RFB specs and move *.js files into include/ - -commit ce0e28c7d9e359c1244e4e0d9073d2b93949aba9 -Author: Joel Martin -Date: Wed Mar 31 19:37:49 2010 -0500 - - Some wsproxy simplifications. - -commit 3292c4a995b68052adc6da81b1e0e87666c0ee74 -Author: Joel Martin -Date: Wed Mar 31 18:21:03 2010 -0500 - - Web Socket to TCP socket proxy and HTML interface. - - - wsproxy.py: creates a web sockets to TCP socket proxy. - - interact.html: prints received Web Sockets data and has text box to - send strings. - -commit feb4e5f801885b4d14d0ebeac7fcf6bc8873b0b6 -Author: Joel Martin -Date: Wed Mar 31 18:20:48 2010 -0500 - - Simplify ws_echo.py code. - -commit 033df68db1bc4df5f49ffe17ae63174acd907ce6 -Author: Joel Martin -Date: Wed Mar 31 15:25:13 2010 -0500 - - Simpler non-threaded ws_echo.py - -commit 5505589604ea61215977c63218223aeabbd3ff33 -Author: Joel Martin -Date: Wed Mar 31 15:24:43 2010 -0500 - - Note enter into ws onclose. - -commit 77c58e19ad9567c68d0812b6c933842b37e848f1 -Author: Joel Martin -Date: Wed Feb 17 14:54:38 2010 -0600 - - Add server and client HTML echo test and mootools library diff --git a/debian/changelog b/debian/changelog index 3336838..670342e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +novnc (1:0.4+dfsg+1+20131010+gitf68af8af3d-2) unstable; urgency=medium + + * Do not create nova user and group if they already exist. + + -- Thomas Goirand Wed, 25 Dec 2013 16:47:06 +0800 + novnc (1:0.4+dfsg+1+20131010+gitf68af8af3d-1) unstable; urgency=low * New upstream release (well, a more recent commit since upstream isn't diff --git a/debian/novnc.postinst b/debian/novnc.postinst index 1accc81..6e3000f 100644 --- a/debian/novnc.postinst +++ b/debian/novnc.postinst @@ -2,9 +2,27 @@ set -e +pkgos_adduser () { + local VAR_UG_PKG_NAME + VAR_UG_PKG_NAME=${1} + + # Create user and groups if they don't exist + if ! getent group ${VAR_UG_PKG_NAME} > /dev/null 2>&1 ; then + addgroup --quiet --system ${VAR_UG_PKG_NAME} + fi + if ! getent passwd ${VAR_UG_PKG_NAME} > /dev/null 2>&1 ; then + adduser --system \ + --home /var/lib/${VAR_UG_PKG_NAME} \ + --no-create-home \ + --quiet \ + --disabled-password \ + --shell /bin/bash \ + --group ${VAR_UG_PKG_NAME} + fi +} + if [ "$1" = "configure" ]; then - addgroup --quiet --system nova - adduser --quiet --system --home /var/lib/nova --ingroup nova --no-create-home --shell /bin/bash nova + pkgos_adduser nova fi #DEBHELPER#