I hereby claim:
- I am jbardin on github.
- I am jbardin (https://keybase.io/jbardin) on keybase.
- I have a public key ASC2kvwv-QPaoxd8n3jhpt5kkrujZvjjwdH3Pr5o5Zttggo
To claim this, I am signing this object:
| package main | |
| import ( | |
| "fmt" | |
| "go/ast" | |
| "go/token" | |
| "go/types" | |
| "strings" | |
| "golang.org/x/tools/go/analysis" |
I hereby claim:
To claim this, I am signing this object:
| package proxy | |
| import ( | |
| "io" | |
| "log" | |
| "net" | |
| ) | |
| func Proxy(srvConn, cliConn *net.TCPConn) { | |
| // channels to wait on the close event for each connection |
| package main | |
| import ( | |
| "log" | |
| "net" | |
| "os" | |
| "os/user" | |
| "code.google.com/p/go.crypto/ssh" | |
| "code.google.com/p/go.crypto/ssh/agent" |
| // Misc Go helper functions | |
| // most "borrowed" from Michael T. Jones | |
| // | |
| // Math utilities | |
| // | |
| // Greatest Common Divisor computed by Euclid's algorithm | |
| func GCD(a, b int) int { | |
| for b != 0 { |
| package nettimeout | |
| import ( | |
| "net" | |
| "time" | |
| ) | |
| // Listener wraps a net.Listener, and gives a place to store the timeout | |
| // parameters. On Accept, it will wrap the net.Conn with our own Conn for us. | |
| type Listener struct { |