Permalink
Commits on Jun 2, 2011
Commits on May 20, 2011
  1. Do not define errno

    committed May 20, 2011
Commits on Nov 4, 2010
  1. Comment out per query logging

    committed Nov 4, 2010
  2. Comment out per query logging

    committed Nov 4, 2010
  3. Verify byte counts when handling queries

    Handle lost and duplicate DNS queries.
    committed Nov 4, 2010
  4. Verify byte counts when handling queries

    Handle lost and duplicate DNS queries.
    committed Nov 4, 2010
  5. Preparation for checking session transmitted bytes

    Modify session record and state to maintain transmitted bytes in both
    directions. If the number of bytes is not kept, lost packets will disrupt
    the session.
    
    When the client is sending data, the byte count should be equal to our
    count plus the size of the new data. Otherwise, the packet is assumed
    to be a duplicate and will be dropped.
    
    When the client is requesting pending data, the byte count should be
    equal to ours. If it is smaller, we should re-send our last packet.
    committed Nov 4, 2010
  6. Preparation for checking session transmitted bytes

    Modify session record and state to maintain transmitted bytes in both
    directions. If the number of bytes is not kept, lost packets will disrupt
    the session.
    
    When the client is sending data, the byte count should be equal to our
    count plus the size of the new data. Otherwise, the packet is assumed
    to be a duplicate and will be dropped.
    
    When the client is requesting pending data, the byte count should be
    equal to ours. If it is smaller, we should re-send our last packet.
    committed Nov 4, 2010
  7. Remove debug dumps; log session start and end

    Remove packet dumps and adjust logging of start and end of sessions.
    Also, remove useless conversion of list to binary.
    committed Nov 4, 2010
  8. Remove debug dumps; log session start and end

    Remove packet dumps and adjust logging of start and end of sessions.
    Also, remove useless conversion of list to binary.
    committed Nov 4, 2010
  9. Re-organize and comment

    committed Nov 4, 2010
  10. Re-organize and comment

    committed Nov 4, 2010
  11. Clean up DNS packet encoding

    Use binary matching to compose DNS packets.
    
    label/1 (creates dotted domain names) takes a binary, not a list.
    
    Formatting changes.
    committed Nov 4, 2010
  12. Clean up DNS packet encoding

    Use binary matching to compose DNS packets.
    
    label/1 (creates dotted domain names) takes a binary, not a list.
    
    Formatting changes.
    committed Nov 4, 2010
Commits on Nov 2, 2010
  1. Simplify init

    committed Nov 2, 2010
  2. Simplify init

    committed Nov 2, 2010
  3. Remove trailing dash

    committed Nov 2, 2010
  4. Remove trailing dash

    committed Nov 2, 2010
Commits on Oct 29, 2010
  1. Use a dict

    committed Oct 29, 2010
  2. Use a dict

    committed Oct 29, 2010
Commits on Aug 29, 2010
  1. Set a whitelist of allowed ports

    By default, ports for dynamic forwarding are limited to port 22.  This is
    configurable by the 'allowed_ports' configuration parameter in the
    config file.
    committed Aug 29, 2010
  2. Set a whitelist of allowed ports

    By default, ports for dynamic forwarding are limited to port 22.  This is
    configurable by the 'allowed_ports' configuration parameter in the
    config file.
    committed Aug 29, 2010
  3. Connect to remote host asynchronously

    Connecting to the remote host in init/1 blocks the gen_server process.
    If the connect fails, the gen_server must handle the error case or crash.
    Instead, add an extra state and timeout immediately in init/1.
    
    A badly behaving client could cause a large number of connection attempts
    to be made. The gen_server could keep a count in its state or put the
    state in an ets table.
    committed Aug 29, 2010
  4. Connect to remote host asynchronously

    Connecting to the remote host in init/1 blocks the gen_server process.
    If the connect fails, the gen_server must handle the error case or crash.
    Instead, add an extra state and timeout immediately in init/1.
    
    A badly behaving client could cause a large number of connection attempts
    to be made. The gen_server could keep a count in its state or put the
    state in an ets table.
    committed Aug 29, 2010
  5. Add server support for user specified forwardings

    Re-structure the code so that each UDP packet is handled by a separate
    process.
    committed Aug 29, 2010