Commits on Jul 12, 2012
  1. Fixing typo before v1.4 release.

    committed Jul 12, 2012
  2. Prepping for release v1.4

    committed Jul 12, 2012
  3. Fix issue #1: multiple VNC servers at same address.

    "Valence does not allow multiple VNC servers to be configured on the same host"
    committed Jul 12, 2012
Commits on Sep 19, 2011
  1. Prepping for release v1.3

    Various touch-ups, updated documentation, updated build strings for the
    about box, and increased the socket timeout from 4 seconds to 8 seconds.
    committed Sep 19, 2011
  2. Adding Mac authentication support for Apple Remote Desktop.

    The setup page has been reworked to accommodate this new authentication
    scheme, and the RFB authentication model has been made extensible to
    allow for swappable authentication methods.  Mac authentication is
    required to use Valence with Mac OS X 10.7 Lion.
    The RFBSecurityARD class implements "Mac Authentication", which uses
    Diffie-Hellman key agreement (along with MD5 and AES128) to authenticate
    users to Apple Remote Desktop, the VNC server which is built-in to
    Mac OS X.
    This authentication technique is based on the following steps:
    1. Perform Diffie-Hellman key agreement, so both sides have
       a shared secret key which can be used for further encryption.
    2. Take the MD5 hash of this DH secret key to produce a 128-bit
       value which we will use as the actual encryption key.
    3. Encrypt the username and password with this key using the AES
       128-bit symmetric cipher in electronic codebook (ECB) mode.  The
       username/password credentials are stored in a 128-byte structure,
       with 64 bytes for each, null-terminated.  Ideally, write random
       values into the portion of this 128-byte structure which is not
       occupied by the username or password, but no further padding for
       this block cipher.
    The ciphertext from step 3 and the DH public key from step 2
    are sent to the server.
    committed Sep 15, 2011
Commits on Sep 15, 2011
  1. Basic three-phase setup + RFB security type probe

    Added basic support for a three-phase setup activity, although the first
    and second phase are currently identical.  The first phase is just for
    the bare essentials (hostname and port) needed to probe the VNC (RFB)
    server to query its version and supported security types.  The second
    phase collects more information from the user based on the results of
    the probe.
    The eventual plan:
    Phase 1:
    - Collect IP/hostname and port from the user.
    - Connect to the server to probe the version number and security types.
    Phase 2:
    - Collect extra information, such as the name to be used in the
      selection list.
    - If phase 1 detected an Apple Remote Desktop (ARD) server, offer to
      enable ARD v3.5 compatibility (send button-2 instead of button-3
      on two-finger-tap).
    - If phase 1 detected the availability of ARD authentication, offer to
      enable "Mac authentication" with a username.
    - Connect to the server to test the authentication credentials.
    Phase 3:
    - Show the final results and ask for confirmation.
    - Add the server to the persistent storage.
    Next steps:
    - detect ARD auth
    - implement ARD auth
    committed Sep 15, 2011
Commits on Aug 31, 2011
Commits on Aug 30, 2011
  1. initial check-in

    committed Aug 30, 2011