Skip to content
  • Jeff Lindsay's avatar
    Remote forwarding (#88) · cbabf541
    Jeff Lindsay authored
    
    
    * context: fixed documentation to be more specific about ContextKeyConn being the key for a gossh.ServerConn
    
    Signed-off-by: default avatarJeff Lindsay <progrium@gmail.com>
    
    * server: fixes handler setup, changed to interface based handlers, added global request handler map
    
    * tcpip: working remote forwarding
    
    Signed-off-by: default avatarJeff Lindsay <progrium@gmail.com>
    
    * context: docs typo
    
    Signed-off-by: default avatarJeff Lindsay <progrium@gmail.com>
    
    * session: always reply to unblock clients trying something
    
    Signed-off-by: default avatarJeff Lindsay <progrium@gmail.com>
    
    * tcpip: stop listening when ssh clients disconnect
    
    Signed-off-by: default avatarJeff Lindsay <progrium@gmail.com>
    
    * Remote forwarding (#87)
    
    * Update generateSigner key size to 2048 (#62)
    
    Fixes #58
    
    * Add syntax highlighting to readme (#67)
    
    * small api updates (#69)
    
    These updates make it easier to implement and pass custom Session and
    Context implementations
    
    No compatibilty breaking, all tests pass
    
    * Move channelHandlers to avoid data race (#59)
    
    * Update tests to work with go 1.10+ (#73)
    
    Fixes #72
    
    * Update shutdown to use a WaitGroup rather than sleeping (#74)
    
    * Fix race condition in TestServerClose (#75)
    
    In test server close, 3 things need to happen in order:
    
    - Client session start
    - Server.Close
    - Client session exit (With io.EOF)
    
    This fix ensures the client won't do anything until after the call to
    close which ensure's we'll get io.EOF rather than a different error.
    
    * Update circleci config to test multiple go versions
    
    * Update CircleCI config to test 1.9 and the latest
    
    The x/crypto/ssh library dropped support go < 1.9 as that's the first
    version to have the math/bits library.
    
    https://github.com/golang/crypto/commit/83c378c48d6ee2ca9c20551b599aa74cb7765785
    
    * Wait for connections to finish when shutting down
    
    PR #74 introduced a WaitGroup for listeners, but it doesn't wait for
    open connections before closing the server. This patch waits until all
    conns are closed before returning from Shutdown.
    
    *  Support port forwarding of literal IPv6 addresses (#85)
    
    * Support port forwarding of literal IPv6 addresses
    
    To disambiguate between colons as host:port separators and as IPv6 address separators, literal IPv6 addresses use square brackets around the address (https://en.wikipedia.org/wiki/IPv6_address#Literal_IPv6_addresses_in_network_resource_identifiers).  So host ::1, port 22 is written as [::1]:22, and therefore a simple concatenation of host, colon, and port doesn't work.  Fortunately net.JoinHostPort already implements this functionality, so with a bit of type gymnastics we can generate dest in an IPv6-safe way.
    
    * Support port forwarding of literal IPv6 addresses
    
    To disambiguate between colons as host:port separators and as IPv6 address separators, literal IPv6 addresses use square brackets around the address (https://en.wikipedia.org/wiki/IPv6_address#Literal_IPv6_addresses_in_network_resource_identifiers).  So host ::1, port 22 is written as [::1]:22, and therefore a simple concatenation of host, colon, and port doesn't work.  Fortunately net.JoinHostPort already implements this functionality, so with a bit of type gymnastics we can generate dest in an IPv6-safe way.
    
    * Reverse port forwarding callback added
    
    * garbage removed
    cbabf541