Commit Graph

463 Commits

Author SHA1 Message Date
Joel Martin 27ec5cff89 Remove more wswrapper Makefile references. 2012-02-02 06:51:39 -06:00
Joel Martin e2497313f5 Remove pointless md5_test.c file. 2012-02-01 19:17:56 -06:00
Joel Martin 04b3b2057c HyBi/IETF 6455 support to C websockify.
It's probably broken and it's definitely still messy in several ways,
but basic tests work with Chrome.

Several other C websockify cleanups:

- Remove most of the non-thread safe global variable usage (still
  a little bit that could be fixed so that threading would be easier).

- Remove wswrapper. It is unmaintained, out of date, and never worked
  well anyways (since it really needed a way to do asynchronous queued
  work but it was running in another process context making that
  hard).

- Use md5 routines from openssl.

- Remove md5.c and md5.h since no longer needed.

Thanks to https://github.com/dew111 for spurring me on to get this
done by writing code. I didn't end up using much his forked code, but
having something there goaded me enough to just get it working.
2012-02-01 19:10:39 -06:00
Joel Martin b2940c035f Show SSL error string. 2012-01-31 15:20:57 -06:00
Joel Martin 9ed4a17d70 Move alternate implementation data to wiki. 2012-01-30 15:00:58 -06:00
Joel Martin 6549c04fae Ignore clojure/lein artifacts. 2012-01-30 13:40:55 -06:00
Joel Martin 2c053f349c Clojure websockify: -main and command line args.
Can now be launched like so:

lein run websockify --web ../../noVNC/ 6080 localhost:5901
2012-01-30 13:38:18 -06:00
Joel Martin f2f838f7e2 Split generic websocket code out from websockify.
Generic TCP client and Websocket server code is now split out from the
websockify specific code.
2012-01-27 16:01:17 -06:00
Joel Martin 3278905ead Better error handling in Clojure Websockify.
Also, disable verbose debug.
2012-01-27 15:37:35 -06:00
Joel Martin a5d4fe1d18 Working vesrion Clojure Websockify.
Still needs some cleanup related to cleaning up client and target
connections.
2012-01-27 15:14:45 -06:00
Joel Martin 297a818066 Working Clojure Netty client code. 2012-01-27 13:11:38 -06:00
Joel Martin 9aa2844856 Switch to Jetty for Clojure WebSocket support.
This current code accepts WebSocket connections and can send data back
and forth.
2012-01-26 15:36:58 -06:00
Joel Martin 0664584843 Clojure Websockify using Aleph - broken. 2012-01-26 15:31:21 -06:00
Joel Martin 3aedd64765 Add websockify.py symlink for Windows support. 2012-01-05 12:00:22 -06:00
Joel Martin 7e6550806f Switch tests/echo.html to use websock.js. 2012-01-03 07:41:54 -07:00
Joel Martin e02c62932b README: websockify.rb support HyBi. 2011-12-23 10:59:56 -07:00
Joel Martin d5c94db054 Support python 3 with SSL/TLS connections.
Need to detect leading TLS/SSL character by number too for python 3.
2011-12-15 15:35:11 -06:00
Joel Martin 008a5118e7 Add commented out web-socket-js Flash debug var. 2011-12-15 15:10:09 -06:00
Joel Martin 7e2784bfcc Merge remote branch 'snorkeyg/master' 2011-11-04 10:16:17 -05:00
Joel Martin 669f77edb0 Merge commit 'e69a8d89c2354c146fa8969a142e0244be5b229a'
Pruned binary files.
2011-11-04 10:14:40 -05:00
Chris Gordon e80327ac2f Update Windows/Windows Service Readme.txt 2011-11-04 14:01:07 +10:00
Chris Gordon a487e2afa7 Update Windows/Windows Service Readme.txt 2011-11-04 14:00:54 +10:00
Chris Gordon e69a8d89c2 Windows websocket server service wrapper.
Signed-off-by: Chris Gordon <snorkeyg@gmail.com>
2011-11-04 13:52:18 +10:00
Joel Martin 545b6c80de Update kumina with HyBi-10+ support.
Pull 63aa9ce07 from https://github.com/kumina/wsproxy
2011-10-25 17:02:04 -05:00
Joel Martin 40868636da Link to API page. Default length for rQshift*
If no length parameter is given to rQshiftStr or rQshiftBytes, then
the all remaining data (the full length) will be shifted off.

Also, honor the window.WEB_SOCKET_FORCE_FLASH variable to force
web-socket-js to be used even if the browser has native WebSockets
support.
2011-10-06 16:55:10 -05:00
Joel Martin f69ac8e0a0 Clarify protocol/binary issues. 2011-10-06 10:56:36 -05:00
Joel Martin eac2c9fadd Use detection rather than python version checking.
Try importing from the newest location/name and then fallback if that
fails instead of using python version switches.

Still use version switch for the buffer/bytes to string wrapper
routines since python 2.6 has intermediate support for buffer/bytes
and I want to know if full support (ala python 3.0) is there.
2011-10-06 09:37:09 -05:00
Joel Martin 1658649d0c Merge pull request #12 from tomas-edwardsson/master
Python older than 2.5 fails, struct.unpack_from not available
2011-10-06 07:33:39 -07:00
Tomas Edwardsson 74fd12a7ae Added struct.unpack_from for python older that 2.5 2011-10-06 10:25:37 +00:00
Joel Martin acacb4527d HyBi and threading support to ruby websockify. 2011-10-05 17:53:36 -05:00
Joel Martin 6b9d6c39be Add ruby version of websockify.
Initial version is very basic but works: Hixie-76 only, no embedded
webserver, no SSL, etc.
2011-10-04 01:20:14 -05:00
Joel Martin 55e57c2048 Fix VNCAuthProxy reference. 2011-09-29 16:17:16 -05:00
Joel Martin 6748098152 Reference VNCAuthProxy in implementation list. 2011-09-29 16:15:15 -05:00
Joel Martin 724aa3aca0 HyBi fallback when no numpy. Python 3 close fix.
- 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.
2011-09-29 16:08:28 -05:00
Joel Martin 0f8b7580c6 Put include/util.js above include/websock.js.
websock.js uses Util so it needs to included first.
2011-09-23 12:09:16 -05:00
Joel Martin 636aba62ed Add --run-once and --timeout TIME parameters.
- --run-once will exit after handling a single WebSocket connection
  (but not ater flash policy or normal web requests).

- --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.
2011-09-22 15:52:02 -05:00
Joel Martin 1c39c7f1f0 Fix python3 numpy buffer/string issue.
Simpler fix for this issue:
https://github.com/kanaka/websockify/pull/9

Use consistent string/byte type for HyBi decode with numpy.
2011-09-10 15:57:08 -05:00
Joel Martin 6e263063c2 Support HyBi 13.
Minor change to handshake (Sec-WebSocket-Origin renamed to Origin).

Reported version is 13 (bumped up from 8).
2011-08-31 18:05:03 -05:00
Joel Martin ada02f2c03 websocket.py: silence "Partial unmask" debug. 2011-08-31 15:36:36 -05:00
Joel Martin 0da91c7fdb Fix payload length off-by-one calculation. 2011-08-31 12:40:00 -05:00
Joel Martin 86af0b614d 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.
2011-08-24 13:23:15 -05:00
Joel Martin 2e00f96431 Fix for python 2.4
Use rsplit(':', 1) instead of rpartition(':') in port argument
processing.

python2.4 may or may not work with HyBi which requires the numpy and
ctypes modules.
2011-08-10 17:48:33 -05:00
Joel Martin 4a84ab3777 More fighting with formating. 2011-08-04 11:13:28 -05:00
Joel Martin 1f7a87ecee Grr, links can't be in table fields apparently. 2011-08-04 11:12:57 -05:00
Joel Martin 7b496ce5bc 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.
2011-08-04 11:09:12 -05:00
Joel Martin 475cfae4e5 Catch Mozilla prefixing of WebSocket.
In Firefox 7 Mozilla has added Websockets support but prefixed the
constructor with "Moz".
2011-08-02 07:59:37 -05:00
Joel Martin f1c8223a51 websocket.py: show web root, remove execute perm. 2011-07-14 15:55:26 -05:00
Joel Martin 80e1c38dd5 README: session recording no longer broken. 2011-07-14 12:32:06 -05:00
Joel Martin 6d5a137970 README: cleanup. 2011-07-14 12:30:07 -05:00
Joel Martin 6a7b56d56f READMEs: kumina features, clarifications. 2011-07-14 12:27:04 -05:00