1. 06 Nov, 2010 2 commits
  2. 28 Oct, 2010 4 commits
  3. 24 Oct, 2010 1 commit
  4. 18 Oct, 2010 1 commit
  5. 14 Oct, 2010 2 commits
  6. 10 Oct, 2010 1 commit
  7. 04 Oct, 2010 1 commit
  8. 01 Oct, 2010 1 commit
    • Joel Martin's avatar
      rfb.js: rQwait, cuttext simplification. · 60440cee
      Joel Martin authored
      - 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.
      60440cee
  9. 30 Sep, 2010 1 commit
    • Joel Martin's avatar
      include/des.js: trim some fat. · a9995971
      Joel Martin authored
      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.
      a9995971
  10. 29 Sep, 2010 4 commits
  11. 25 Sep, 2010 1 commit
    • Joel Martin's avatar
      Show rect/enc counts, add vnc_perf.html test. · a679a97d
      Joel Martin authored
      - 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.
      a679a97d
  12. 24 Sep, 2010 5 commits
  13. 23 Sep, 2010 4 commits
    • Joel Martin's avatar
      Refactor settings object, add connectTimeout setting. · ff36b127
      Joel Martin authored
      - 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.
      ff36b127
    • Joel Martin's avatar
      rfb.js: wait for SecurityResult failure reason bytes. · aa787069
      Joel Martin authored
      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.
      aa787069
    • Joel Martin's avatar
      Misc cleanup: debug logging, record filename, etc. · 005d9ee9
      Joel Martin authored
      - 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.
      005d9ee9
    • Joel Martin's avatar
      util.js: detect firefox 4.X correctly. · 8787e49b
      Joel Martin authored
      Update the browser detection code (from mootools) with a fix that
      detects firefox 4.0 correctly.
      8787e49b
  14. 22 Sep, 2010 2 commits
  15. 20 Sep, 2010 1 commit
    • Joel Martin's avatar
      No local cursor by default due to issues #27, #29. · 31a837d5
      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.
      31a837d5
  16. 15 Sep, 2010 3 commits
  17. 11 Sep, 2010 4 commits
    • Joel Martin's avatar
      rfb.js: state refactor, add 'disconnect' state. · e3efeb32
      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).
      e3efeb32
    • Joel Martin's avatar
      proxy: always multiprocess and add --verbose. · cc374cd6
      Joel Martin authored
      Always fork handlers processes. Instead printing traffic when
      single-processing, print traffic if verbose flag given.
      cc374cd6
    • Joel Martin's avatar
      web-socket-js (issue #37): close() when connecting · ac7bdbc2
      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.
      ac7bdbc2
    • Joel Martin's avatar
      gimite/web-socket-js issue #35: async onclose. · 071f2818
      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.
      071f2818
  18. 10 Sep, 2010 2 commits
    • Joel Martin's avatar
      proxy: do handshake in forked process too. · edc47252
      Joel Martin authored
      edc47252
    • Joel Martin's avatar
      wsproxy: multiprocess capable. · a0315ab1
      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.
      a0315ab1