- 02 May, 2010 1 commit
-
-
Joel Martin authored
-
- 01 May, 2010 1 commit
-
-
Joel Martin authored
-
- 30 Apr, 2010 3 commits
-
-
wss://'Joel Martin authored
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.
-
Joel Martin authored
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.
-
Joel Martin authored
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/
-
- 19 Apr, 2010 6 commits
-
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
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.
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
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.
-
- 18 Apr, 2010 4 commits
-
-
Joel Martin authored
- 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).
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
-
- 17 Apr, 2010 3 commits
-
-
Joel Martin authored
-
Joel Martin authored
- 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.*
-
Joel Martin authored
web-socket-js is a flash based WebSockets emulator. From: http://github.com/gimite/web-socket-js
-
- 16 Apr, 2010 3 commits
-
-
Joel Martin authored
-
Joel Martin authored
Apparently both native and flash WebSockets implementations can send partial packets.
-
Joel Martin authored
-
- 15 Apr, 2010 8 commits
-
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
- Also slightly better performance.
-
Joel Martin authored
-
Joel Martin authored
- 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.
-
Joel Martin authored
-
Joel Martin authored
- raw encoding displays horizontal lines as they arrive for better feedback and less time hanging waiting for something.
-
Joel Martin authored
-
- 14 Apr, 2010 9 commits
-
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
- 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).
-
Joel Martin authored
- Also, try making set fillStyle called less often.
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
- 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.
-
Joel Martin authored
-
Joel Martin authored
- 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.
-
- 13 Apr, 2010 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
- 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.
-