- 22 Sep, 2010 1 commit
-
-
Joel Martin authored
Easier to reference from web site (gh-pages branch).
-
- 20 Sep, 2010 1 commit
-
-
Joel Martin authored
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.
-
- 15 Sep, 2010 3 commits
-
-
Joel Martin authored
Addresses this issue: http://github.com/kanaka/noVNC/issues#issue/14 This goes along with commit 7e63919e but for the C proxy.
-
Joel Martin authored
RFB.sendKey(code, down) If down is not specified then both a down followed by an up code will be sent.
-
Joel Martin authored
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).
-
- 11 Sep, 2010 4 commits
-
-
Joel Martin authored
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).
-
Joel Martin authored
Always fork handlers processes. Instead printing traffic when single-processing, print traffic if verbose flag given.
-
Joel Martin authored
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.
-
Joel Martin authored
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.
-
- 10 Sep, 2010 3 commits
-
-
Joel Martin authored
-
Joel Martin authored
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.
-
Joel Martin authored
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).
-
- 08 Sep, 2010 5 commits
-
-
Joel Martin authored
-
Joel Martin authored
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.
-
Joel Martin authored
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.
-
Joel Martin authored
-
Joel Martin authored
-
- 07 Sep, 2010 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
-
- 01 Sep, 2010 3 commits
-
-
Joel Martin authored
Preparation for online demo. Split general playback code into tests/playback.js. Use timestamps from recording with proxy to playback in realtime.
-
Joel Martin authored
-
Joel Martin authored
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.
-
- 31 Aug, 2010 2 commits
-
-
Joel Martin authored
When the documement/window is scrolled, the onMouseDisable routine was not properly calculating the position to test whether to ignore the event or not.
-
Joel Martin authored
-
- 30 Aug, 2010 3 commits
-
-
Joel Martin authored
-
Joel Martin authored
Change RQ and SQ vars to rQ and sQ since caps at the start implies a classable entity.
-
Joel Martin authored
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.
-
- 27 Aug, 2010 3 commits
-
-
Joel Martin authored
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.
-
Joel Martin authored
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.
-
Joel Martin authored
getCLength was not using the index (RQi) into the receive queue.
-
- 26 Aug, 2010 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
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.
-
- 12 Aug, 2010 1 commit
-
-
Joel Martin authored
- This allows the recorded data to be immediately usable by tests/vnc_playback.html
-
- 11 Aug, 2010 1 commit
-
-
Joel Martin authored
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.
-
- 06 Aug, 2010 1 commit
-
-
Joel Martin authored
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.
-
- 04 Aug, 2010 5 commits
-
-
primalmotion authored
(cherry picked from commit 11f3271a52505dccbf38bea422e7c9a79dddd478) Signed-off-by: Joel Martin <github@martintribe.org>
-
primalmotion authored
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 <github@martintribe.org>
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
- Fallback to md5 module if hashlib not there. - Import parse_qsl from cgi where it is in both 2.4 and 2.6
-