]> git.proxmox.com Git - mirror_novnc.git/log
mirror_novnc.git
14 years agoImport as3crypto_patch: ffda6e9cd8b1d74f45472c676afda8360ae1e5aa
Joel Martin [Fri, 30 Apr 2010 19:13:32 +0000 (14:13 -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/

14 years agoDon't erase failed state error messages on disconnect.
Joel Martin [Mon, 19 Apr 2010 15:46:48 +0000 (10:46 -0500)]
Don't erase failed state error messages on disconnect.

14 years agoAlso send errors to console.error
Joel Martin [Mon, 19 Apr 2010 15:43:21 +0000 (10:43 -0500)]
Also send errors to console.error

14 years agowstest*. Fix Opera problems. Flash policy. Misc bugs.
Joel Martin [Mon, 19 Apr 2010 15:41:06 +0000 (10:41 -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.

14 years agoREADME.md typo and clarify.
Joel Martin [Mon, 19 Apr 2010 01:57:34 +0000 (20:57 -0500)]
README.md typo and clarify.

14 years agoUpdate README.md and TODO.
Joel Martin [Mon, 19 Apr 2010 01:53:54 +0000 (20:53 -0500)]
Update README.md and TODO.

14 years agoSend seq nums and b64 encode based on query string.
Joel Martin [Mon, 19 Apr 2010 01:35:43 +0000 (20:35 -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.

14 years agoStatus/error refactor. Fix firefox bugs.
Joel Martin [Sun, 18 Apr 2010 23:43:03 +0000 (18:43 -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).

14 years agoRemove mootools-more references.
Joel Martin [Sun, 18 Apr 2010 21:28:54 +0000 (16:28 -0500)]
Remove mootools-more references.

14 years agoFix firefox '-' key mapping.
Joel Martin [Sun, 18 Apr 2010 21:19:10 +0000 (16:19 -0500)]
Fix firefox '-' key mapping.

14 years agoAdd fixing firefox '-' key mapping issue to TODO.
Joel Martin [Sun, 18 Apr 2010 21:17:27 +0000 (16:17 -0500)]
Add fixing firefox '-' key mapping issue to TODO.

14 years agoHandle socket policy response in proxy itself.
Joel Martin [Sat, 17 Apr 2010 22:53:28 +0000 (17:53 -0500)]
Handle socket policy response in proxy itself.

14 years agoAdd web-socket-js support with packet re-ordering.
Joel Martin [Sat, 17 Apr 2010 22:16:08 +0000 (17:16 -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.*

14 years agoImport web-socket-js: a0fb3933ce5c824bcb882f5a1cf87e46de773ea8
Joel Martin [Sat, 17 Apr 2010 22:14:33 +0000 (17:14 -0500)]
Import web-socket-js: a0fb3933ce5c824bcb882f5a1cf87e46de773ea8

web-socket-js is a flash based WebSockets emulator.

From: http://github.com/gimite/web-socket-js

14 years agoReassemble partial client packets in wsproxy.py
Joel Martin [Fri, 16 Apr 2010 21:34:19 +0000 (16:34 -0500)]
Reassemble partial client packets in wsproxy.py

14 years agoAssemble partial received frames.
Joel Martin [Fri, 16 Apr 2010 20:53:59 +0000 (15:53 -0500)]
Assemble partial received frames.

Apparently both native and flash WebSockets implementations can send
partial packets.

14 years agoAdd WebSockets test frontend and backend.
Joel Martin [Fri, 16 Apr 2010 18:58:08 +0000 (13:58 -0500)]
Add WebSockets test frontend and backend.

14 years agoRemove uneeded mootools functions and used compressed version.
Joel Martin [Thu, 15 Apr 2010 17:28:53 +0000 (12:28 -0500)]
Remove uneeded mootools functions and used compressed version.

14 years agoClarify DES code origination.
Joel Martin [Thu, 15 Apr 2010 16:14:42 +0000 (11:14 -0500)]
Clarify DES code origination.

14 years agoSwitch to MPL/GPL base64 from Mozilla.
Joel Martin [Thu, 15 Apr 2010 16:01:40 +0000 (11:01 -0500)]
Switch to MPL/GPL base64 from Mozilla.

- Also slightly better performance.

14 years agoUpdate TODO and small perf cleanups.
Joel Martin [Thu, 15 Apr 2010 15:16:30 +0000 (10:16 -0500)]
Update TODO and small perf cleanups.

14 years agoAdd cut and paste support.
Joel Martin [Thu, 15 Apr 2010 06:40:03 +0000 (01:40 -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.

14 years agoIn TODO: RRE framing bug fixed in prev refactor.
Joel Martin [Thu, 15 Apr 2010 04:42:38 +0000 (23:42 -0500)]
In TODO: RRE framing bug fixed in prev refactor.

14 years agoRefactor FBU.bytes handling to simplify.
Joel Martin [Thu, 15 Apr 2010 04:41:12 +0000 (23:41 -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.

14 years agostop routine stops mouseMove events too.
Joel Martin [Thu, 15 Apr 2010 04:40:29 +0000 (23:40 -0500)]
stop routine stops mouseMove events too.

14 years agoNote WSS/SSL and C wsproxy in TODO.
Joel Martin [Wed, 14 Apr 2010 18:33:27 +0000 (13:33 -0500)]
Note WSS/SSL and C wsproxy in TODO.

14 years agoAdd TODO.
Joel Martin [Wed, 14 Apr 2010 18:03:18 +0000 (13:03 -0500)]
Add TODO.

14 years agoWorking VNC client! Add mouse movement support.
Joel Martin [Wed, 14 Apr 2010 17:44:47 +0000 (12:44 -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).

14 years agoRename canvas.js routines to not have "rfb" prefix.
Joel Martin [Wed, 14 Apr 2010 17:22:47 +0000 (12:22 -0500)]
Rename canvas.js routines to not have "rfb" prefix.

- Also, try making set fillStyle called less often.

14 years agoDon't clear canvas if debug mode
Joel Martin [Wed, 14 Apr 2010 17:13:59 +0000 (12:13 -0500)]
Don't clear canvas if debug mode

14 years agoRe-order routines, no functional changes.
Joel Martin [Wed, 14 Apr 2010 17:10:23 +0000 (12:10 -0500)]
Re-order routines, no functional changes.

14 years agoBetter hextile performance: index subrects instead of slicing/shifting.
Joel Martin [Wed, 14 Apr 2010 17:03:01 +0000 (12:03 -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.

14 years agoFix some framing bugs. Cleanup console logs.
Joel Martin [Wed, 14 Apr 2010 16:28:29 +0000 (11:28 -0500)]
Fix some framing bugs. Cleanup console logs.

14 years agoRefactor data processing. Ignore other server messages.
Joel Martin [Wed, 14 Apr 2010 14:48:46 +0000 (09:48 -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.

14 years agoInitial mouse support. Down and Up only.
Joel Martin [Tue, 13 Apr 2010 22:39:01 +0000 (17:39 -0500)]
Initial mouse support. Down and Up only.

14 years agoHextile working. Improve latency by coallescing sends.
Joel Martin [Tue, 13 Apr 2010 17:59:11 +0000 (12:59 -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.

14 years agoRemove event handlers on disconnect.
Joel Martin [Tue, 13 Apr 2010 14:39:29 +0000 (09:39 -0500)]
Remove event handlers on disconnect.

14 years agoSwitch to much faster console.log and separate utils into util.js.
Joel Martin [Tue, 13 Apr 2010 14:28:53 +0000 (09:28 -0500)]
Switch to much faster console.log and separate utils into util.js.

14 years agoRefactor processing to allow hextile processing.
Joel Martin [Mon, 12 Apr 2010 18:21:44 +0000 (13:21 -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.

14 years agoProcess RRE in chunks instead of 1 at a time.
Joel Martin [Mon, 12 Apr 2010 16:46:43 +0000 (11:46 -0500)]
Process RRE in chunks instead of 1 at a time.

14 years agoChange to RGB ordering.
Joel Martin [Mon, 12 Apr 2010 16:21:03 +0000 (11:21 -0500)]
Change to RGB ordering.

14 years agoWorking RRE implementation.
Joel Martin [Mon, 12 Apr 2010 16:08:40 +0000 (11:08 -0500)]
Working RRE implementation.

14 years agoFirst pass at RRE encoding
Joel Martin [Mon, 12 Apr 2010 04:11:21 +0000 (23:11 -0500)]
First pass at RRE encoding

14 years agoWebWorkers example with two way messages.
Joel Martin [Sat, 10 Apr 2010 19:52:27 +0000 (15:52 -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.

14 years agoHandle undefined URL values correctly.
Joel Martin [Sat, 10 Apr 2010 19:52:08 +0000 (15:52 -0400)]
Handle undefined URL values correctly.

14 years agoChange depth to count down correctly. Trim long lines.
Joel Martin [Sat, 10 Apr 2010 16:00:35 +0000 (12:00 -0400)]
Change depth to count down correctly. Trim long lines.

14 years agoFix Copy-Rect encoding.
Joel Martin [Wed, 7 Apr 2010 03:44:12 +0000 (22:44 -0500)]
Fix Copy-Rect encoding.

14 years agoMake web.py match README. Remove unused ws_echo.py.
Joel Martin [Wed, 7 Apr 2010 02:50:26 +0000 (21:50 -0500)]
Make web.py match README. Remove unused ws_echo.py.

14 years agoList for proxy reasons.
Joel Martin [Wed, 7 Apr 2010 02:37:35 +0000 (21:37 -0500)]
List for proxy reasons.

14 years agoChange to markdown README.md.
Joel Martin [Wed, 7 Apr 2010 02:34:56 +0000 (21:34 -0500)]
Change to markdown README.md.

- Semi-colon missing.

14 years agoAdd README.
Joel Martin [Wed, 7 Apr 2010 02:06:46 +0000 (21:06 -0500)]
Add README.

14 years agoRemove old test files.
Joel Martin [Wed, 7 Apr 2010 01:14:11 +0000 (20:14 -0500)]
Remove old test files.

14 years agoCleanup of files and vnc.js namespace.
Joel Martin [Tue, 6 Apr 2010 21:44:45 +0000 (16:44 -0500)]
Cleanup of files and vnc.js namespace.

- Trim unused code in base64.js

14 years agoCreate getKeysym to lookup keysym from keyCode.
Joel Martin [Tue, 6 Apr 2010 21:24:09 +0000 (16:24 -0500)]
Create getKeysym to lookup keysym from keyCode.

- Most of the keyboard is now functional.

14 years agoFix canvas.html.
Joel Martin [Tue, 6 Apr 2010 18:58:06 +0000 (13:58 -0500)]
Fix canvas.html.

14 years agoBetter interface, support user provided VNC password.
Joel Martin [Tue, 6 Apr 2010 18:49:49 +0000 (13:49 -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.

14 years agoGot DES encryption of password working and colors corrected.
Joel Martin [Tue, 6 Apr 2010 15:35:25 +0000 (10:35 -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.

14 years agoWorking with Raw rectangles and capital letter keys.
Joel Martin [Tue, 6 Apr 2010 04:54:30 +0000 (23:54 -0500)]
Working with Raw rectangles and capital letter keys.

14 years agoCleanup canvas and vnc code so they can be used together.
Joel Martin [Sun, 4 Apr 2010 21:08:55 +0000 (16:08 -0500)]
Cleanup canvas and vnc code so they can be used together.

14 years agoAdd Canvas and event experiments.
Joel Martin [Sun, 4 Apr 2010 20:46:39 +0000 (15:46 -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).

14 years agoDo base64 encode/decode of stream. Send SetEncoding and FB update request.
Joel Martin [Sat, 3 Apr 2010 00:17:46 +0000 (19:17 -0500)]
Do base64 encode/decode of stream. Send SetEncoding and FB update request.

14 years agoBase64 Javascript encode/decode library.
Joel Martin [Sat, 3 Apr 2010 00:17:01 +0000 (19:17 -0500)]
Base64 Javascript encode/decode library.

From http://www.webtoolkit.info/

14 years agoBase64 encode/decode for client Javascript.
Joel Martin [Sat, 3 Apr 2010 00:16:25 +0000 (19:16 -0500)]
Base64 encode/decode for client Javascript.

14 years agoFirst RFB protocol stub implementation.
Joel Martin [Thu, 1 Apr 2010 16:36:22 +0000 (11:36 -0500)]
First RFB protocol stub implementation.

- Requires wsproxy to proxy to the VNC server.

14 years agoAdd minimal python directory web server.
Joel Martin [Thu, 1 Apr 2010 00:44:48 +0000 (19:44 -0500)]
Add minimal python directory web server.

14 years agoAdd RFB specs and move *.js files into include/
Joel Martin [Thu, 1 Apr 2010 00:43:09 +0000 (19:43 -0500)]
Add RFB specs and move *.js files into include/

14 years agoSome wsproxy simplifications.
Joel Martin [Thu, 1 Apr 2010 00:37:49 +0000 (19:37 -0500)]
Some wsproxy simplifications.

14 years agoWeb Socket to TCP socket proxy and HTML interface.
Joel Martin [Wed, 31 Mar 2010 23:21:03 +0000 (18:21 -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.

14 years agoSimplify ws_echo.py code.
Joel Martin [Wed, 31 Mar 2010 23:20:48 +0000 (18:20 -0500)]
Simplify ws_echo.py code.

14 years agoSimpler non-threaded ws_echo.py
Joel Martin [Wed, 31 Mar 2010 20:25:13 +0000 (15:25 -0500)]
Simpler non-threaded ws_echo.py

14 years agoNote enter into ws onclose.
Joel Martin [Wed, 31 Mar 2010 20:24:43 +0000 (15:24 -0500)]
Note enter into ws onclose.

14 years agoAdd server and client HTML echo test and mootools library
Joel Martin [Wed, 17 Feb 2010 20:54:38 +0000 (14:54 -0600)]
Add server and client HTML echo test and mootools library