diff options
| author | Mikhail Osipov <mike.osipov@gmail.com> | 2020-02-23 16:07:22 +0300 |
|---|---|---|
| committer | Mikhail Osipov <mike.osipov@gmail.com> | 2020-02-23 16:07:22 +0300 |
| commit | d3e48b2676c70ef20c33d70220c4a4b22f3a0e5b (patch) | |
| tree | 76abee3f20891c4e1ef2077193e3d2389075ddeb /pkg | |
| parent | 7f71e4fc69e2b27d8ff6375cc6f4be2092721186 (diff) | |
make fmt
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/client/client.go | 14 | ||||
| -rw-r--r-- | pkg/netstring/netstring.go | 2 | ||||
| -rw-r--r-- | pkg/server/automap.go | 2 | ||||
| -rw-r--r-- | pkg/server/cmds.go | 16 | ||||
| -rw-r--r-- | pkg/server/env.go | 8 | ||||
| -rw-r--r-- | pkg/server/env/env.go | 5 | ||||
| -rw-r--r-- | pkg/server/module/alpha.go | 8 | ||||
| -rw-r--r-- | pkg/server/module/auth.go | 26 | ||||
| -rw-r--r-- | pkg/server/module/hex.go | 2 | ||||
| -rw-r--r-- | pkg/server/module/module.go | 12 | ||||
| -rw-r--r-- | pkg/server/queue/queue.go | 3 | ||||
| -rw-r--r-- | pkg/server/server.go | 50 | ||||
| -rw-r--r-- | pkg/server/socket/socket.go | 18 | ||||
| -rw-r--r-- | pkg/server/tunnel.go | 74 |
14 files changed, 121 insertions, 119 deletions
diff --git a/pkg/client/client.go b/pkg/client/client.go index 8f5fc58..1264853 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -1,13 +1,13 @@ package client import ( - "tunnel/pkg/config" - "tunnel/pkg/netstring" - "errors" "bytes" - "time" - "net" + "errors" "io" + "net" + "time" + "tunnel/pkg/config" + "tunnel/pkg/netstring" ) var errClosed = errors.New("server closed connection") @@ -26,9 +26,9 @@ func New() (*Client, error) { } func (c *Client) Send(args []string) (string, error) { - c.conn.SetDeadline(time.Now().Add(config.IoTimeout)); + c.conn.SetDeadline(time.Now().Add(config.IoTimeout)) - defer func () { + defer func() { var t time.Time c.conn.SetDeadline(t) }() diff --git a/pkg/netstring/netstring.go b/pkg/netstring/netstring.go index 5b5273d..62507f9 100644 --- a/pkg/netstring/netstring.go +++ b/pkg/netstring/netstring.go @@ -43,7 +43,7 @@ func (d *Decoder) Decode() (out string, err error) { return "", fmt.Errorf("netstring: %w", err) } - buf := make([]byte, n + 1) + buf := make([]byte, n+1) _, err = io.ReadFull(d.r, buf) if err != nil { diff --git a/pkg/server/automap.go b/pkg/server/automap.go index cf4de7d..67ae5b0 100644 --- a/pkg/server/automap.go +++ b/pkg/server/automap.go @@ -11,7 +11,7 @@ var errExists = errors.New("already exists") var errNotFound = errors.New("no such entry") func (m automap) add(v interface{}) string { - for n := 1;; n++ { + for n := 1; ; n++ { k := fmt.Sprintf("%d", n) if _, ok := m[k]; !ok { m[k] = v diff --git a/pkg/server/cmds.go b/pkg/server/cmds.go index 6eabbde..3ce7150 100644 --- a/pkg/server/cmds.go +++ b/pkg/server/cmds.go @@ -1,14 +1,14 @@ package server import ( - "strings" - "sort" "log" + "sort" + "strings" ) type cmd struct { name string - f func (r *request) + f func(r *request) } type node struct { @@ -26,7 +26,7 @@ func newNode() *node { return &node{m: map[string]*node{}} } -func newCmd(f func (r *request), where string) { +func newCmd(f func(r *request), where string) { path := strings.Split(where, " ") node := cmds @@ -50,7 +50,7 @@ func newCmd(f func (r *request), where string) { node.c = &cmd{ name: where, - f: f, + f: f, } } @@ -64,7 +64,7 @@ func getCmd(path []string) (*cmd, []string) { } if node.c != nil { - return node.c, path[n + 1:] + return node.c, path[n+1:] } } @@ -74,9 +74,9 @@ func getCmd(path []string) (*cmd, []string) { func help(r *request) { var ss []string - var walker func ([]string, *node) + var walker func([]string, *node) - walker = func (path []string, node *node) { + walker = func(path []string, node *node) { if node.c != nil { ss = append(ss, strings.Join(path, " ")) return diff --git a/pkg/server/env.go b/pkg/server/env.go index 7b6b36d..bc9d4bf 100644 --- a/pkg/server/env.go +++ b/pkg/server/env.go @@ -27,7 +27,7 @@ func varDel(r *request) { } func varShow(r *request) { - r.c.s.env.Each(func (k string, v string) bool { + r.c.s.env.Each(func(k string, v string) bool { r.Println(k, v) return true }) @@ -38,9 +38,9 @@ func varClear(r *request) { } func init() { - newCmd(varGet, "var get") - newCmd(varSet, "var set") - newCmd(varDel, "var del") + newCmd(varGet, "var get") + newCmd(varSet, "var set") + newCmd(varDel, "var del") newCmd(varShow, "var show") newCmd(varClear, "var clear") } diff --git a/pkg/server/env/env.go b/pkg/server/env/env.go index affb4ef..fe8af25 100644 --- a/pkg/server/env/env.go +++ b/pkg/server/env/env.go @@ -16,6 +16,7 @@ type Env struct { } const namePattern = "[a-zA-Z][a-zA-Z0-9.]*" + var isNamePattern = regexp.MustCompile("^" + namePattern + "$").MatchString var namePatternRe = regexp.MustCompile("@" + namePattern) @@ -91,7 +92,7 @@ func (e *env) Del(key string) bool { return true } -func (e *env) Each(f func (string, string) bool) { +func (e *env) Each(f func(string, string) bool) { e.Lock() defer e.Unlock() @@ -113,7 +114,7 @@ func (e *env) Eval(s string) string { e.Lock() defer e.Unlock() - repl := func (v string) string { + repl := func(v string) string { if v, ok := e.m[v[1:]]; ok { return v } diff --git a/pkg/server/module/alpha.go b/pkg/server/module/alpha.go index 9eb1e2c..4552c50 100644 --- a/pkg/server/module/alpha.go +++ b/pkg/server/module/alpha.go @@ -1,14 +1,14 @@ package module import ( - "tunnel/pkg/server/queue" - "unicode" "bufio" "io" + "tunnel/pkg/server/queue" + "unicode" ) -func alpha(cb func (rune) rune) Pipe { - return func (rq, wq queue.Q) error { +func alpha(cb func(rune) rune) Pipe { + return func(rq, wq queue.Q) error { r := bufio.NewReader(rq.Reader()) for { diff --git a/pkg/server/module/auth.go b/pkg/server/module/auth.go index 5dbdccb..f167874 100644 --- a/pkg/server/module/auth.go +++ b/pkg/server/module/auth.go @@ -1,16 +1,16 @@ package module import ( - "tunnel/pkg/server/queue" - "tunnel/pkg/server/opts" - "tunnel/pkg/server/env" - "tunnel/pkg/netstring" - "encoding/hex" - "crypto/rand" "crypto/md5" + "crypto/rand" + "encoding/hex" "errors" "fmt" "io" + "tunnel/pkg/netstring" + "tunnel/pkg/server/env" + "tunnel/pkg/server/opts" + "tunnel/pkg/server/queue" ) const ChallengeLen = 16 @@ -26,10 +26,10 @@ type auth struct { hash string recvChallenge chan struct{} - recvHash chan struct{} + recvHash chan struct{} fail chan struct{} - ok chan struct{} + ok chan struct{} } var errDupChallenge = errors.New("peer duplicates challenge") @@ -150,17 +150,17 @@ func getAuthSecret(env env.Env) string { func (m authModule) Open(env env.Env) (Pipe, Pipe) { a := &auth{ - secret: getAuthSecret(env), + secret: getAuthSecret(env), recvChallenge: make(chan struct{}), - recvHash: make(chan struct{}), - fail: make(chan struct{}), - ok: make(chan struct{}), + recvHash: make(chan struct{}), + fail: make(chan struct{}), + ok: make(chan struct{}), } return a.Send, a.Recv } func init() { - register("auth", func (opts.Opts, env.Env) (module, error) { + register("auth", func(opts.Opts, env.Env) (module, error) { return authModule{}, nil }) } diff --git a/pkg/server/module/hex.go b/pkg/server/module/hex.go index 9b80e0d..b632c11 100644 --- a/pkg/server/module/hex.go +++ b/pkg/server/module/hex.go @@ -1,8 +1,8 @@ package module import ( - "tunnel/pkg/server/queue" "encoding/hex" + "tunnel/pkg/server/queue" ) func hexEncoder(rq, wq queue.Q) error { diff --git a/pkg/server/module/module.go b/pkg/server/module/module.go index 87bdd20..69fb90b 100644 --- a/pkg/server/module/module.go +++ b/pkg/server/module/module.go @@ -1,14 +1,14 @@ package module import ( - "tunnel/pkg/server/queue" - "tunnel/pkg/server/opts" - "tunnel/pkg/server/env" "fmt" "log" + "tunnel/pkg/server/env" + "tunnel/pkg/server/opts" + "tunnel/pkg/server/queue" ) -type moduleInitFunc func (opts.Opts, env.Env) (module, error) +type moduleInitFunc func(opts.Opts, env.Env) (module, error) var modules = map[string]moduleInitFunc{} @@ -21,7 +21,7 @@ type M interface { String() string } -type Pipe func (rq, wq queue.Q) error +type Pipe func(rq, wq queue.Q) error func (p Pipe) Open(env env.Env) (Pipe, Pipe) { return p, nil @@ -58,7 +58,7 @@ func register(name string, f moduleInitFunc) { } func registerPipe(name string, p Pipe) { - register(name, func (opts.Opts, env.Env) (module, error) { + register(name, func(opts.Opts, env.Env) (module, error) { return p, nil }) } diff --git a/pkg/server/queue/queue.go b/pkg/server/queue/queue.go index 745d971..979fa33 100644 --- a/pkg/server/queue/queue.go +++ b/pkg/server/queue/queue.go @@ -42,7 +42,8 @@ func (q Q) Writer() io.Writer { } func (q Q) Dry() { - for _ = range q {} + for _ = range q { + } } func (w *writer) Write(p []byte) (int, error) { diff --git a/pkg/server/server.go b/pkg/server/server.go index a7b9b06..571397f 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -1,23 +1,23 @@ package server import ( - "tunnel/pkg/config" - "tunnel/pkg/netstring" - "tunnel/pkg/server/env" - "strings" - "errors" "bytes" - "sync" - "time" + "errors" "fmt" + "io" "log" "net" - "io" + "strings" + "sync" + "time" + "tunnel/pkg/config" + "tunnel/pkg/netstring" + "tunnel/pkg/server/env" ) type Server struct { listen net.Listener - since time.Time + since time.Time wg sync.WaitGroup mu sync.Mutex @@ -26,7 +26,7 @@ type Server struct { done chan struct{} tunnels automap - env env.Env + env env.Env nextCid int } @@ -87,7 +87,7 @@ func (r *request) Fatalf(format string, v ...interface{}) { } func (r *request) expect(c ...int) { - desc := func (n int) string { + desc := func(n int) string { var sep string if n == 1 { @@ -99,7 +99,7 @@ func (r *request) expect(c ...int) { return fmt.Sprint(n, sep, "expected") } - check := func (cond bool, args ...interface{}) { + check := func(cond bool, args ...interface{}) { if cond { r.Fatal(args...) } @@ -119,7 +119,7 @@ func (r *request) expect(c ...int) { func (s *Server) isDone() bool { select { - case <- s.done: + case <-s.done: return true default: return false @@ -133,10 +133,10 @@ func New() (*Server, error) { } s := &Server{ - env: env.New(), - listen: listen, - since: time.Now(), - done: make(chan struct{}), + env: env.New(), + listen: listen, + since: time.Now(), + done: make(chan struct{}), tunnels: make(automap), } @@ -168,7 +168,7 @@ func (s *Server) Run() { } func (s *Server) Stop() { - s.once.Do(func () { + s.once.Do(func() { close(s.done) s.listen.Close() }) @@ -176,9 +176,9 @@ func (s *Server) Stop() { func (s *Server) newClient(conn net.Conn) *client { c := &client{ - s: s, - conn: conn, - id: s.nextCid, + s: s, + conn: conn, + id: s.nextCid, } s.nextCid++ @@ -188,9 +188,9 @@ func (s *Server) newClient(conn net.Conn) *client { func (c *client) newRequest() *request { r := &request{ - c: c, - id: c.nextRid, - out: new(bytes.Buffer), + c: c, + id: c.nextRid, + out: new(bytes.Buffer), } c.nextRid++ @@ -275,7 +275,7 @@ func (r *request) parse(query string) { } func (r *request) run(query string) { - defer func () { + defer func() { switch err := recover().(type) { case requestError: r.Print(err) diff --git a/pkg/server/socket/socket.go b/pkg/server/socket/socket.go index c6219a5..48a650c 100644 --- a/pkg/server/socket/socket.go +++ b/pkg/server/socket/socket.go @@ -1,14 +1,14 @@ package socket import ( - "tunnel/pkg/server/queue" - "tunnel/pkg/server/opts" - "tunnel/pkg/server/env" - "strings" - "sync" "fmt" "log" "net" + "strings" + "sync" + "tunnel/pkg/server/env" + "tunnel/pkg/server/opts" + "tunnel/pkg/server/queue" ) type Channel interface { @@ -24,7 +24,7 @@ type S interface { type listenSocket struct { proto, addr string - listen net.Listener + listen net.Listener } type dialSocket struct { @@ -69,7 +69,7 @@ func (cc *connChannel) String() string { func (cc *connChannel) shutdown(err *error) { miss := true - cc.once.Do(func () { + cc.once.Do(func() { miss = false log.Println("close", cc) if e := cc.conn.Close(); e != nil && *err != nil { @@ -100,8 +100,8 @@ func newListenSocket(proto, addr string) (S, error) { } s := &listenSocket{ - proto: proto, - addr: addr, + proto: proto, + addr: addr, listen: listen, } diff --git a/pkg/server/tunnel.go b/pkg/server/tunnel.go index 32c81c3..58ae0e1 100644 --- a/pkg/server/tunnel.go +++ b/pkg/server/tunnel.go @@ -1,29 +1,29 @@ package server import ( - "tunnel/pkg/server/socket" - "tunnel/pkg/server/module" - "tunnel/pkg/server/queue" - "tunnel/pkg/server/env" - "tunnel/pkg/config" - "strings" - "time" - "sort" - "sync" "fmt" "log" + "sort" + "strings" + "sync" + "time" + "tunnel/pkg/config" + "tunnel/pkg/server/env" + "tunnel/pkg/server/module" + "tunnel/pkg/server/queue" + "tunnel/pkg/server/socket" ) type stream struct { - id int - t *tunnel - since time.Time - wg sync.WaitGroup + id int + t *tunnel + since time.Time + wg sync.WaitGroup in, out socket.Channel } type tunnel struct { - id string + id string args string streams map[int]*stream @@ -37,7 +37,7 @@ type tunnel struct { done chan struct{} in, out socket.S - m []module.M + m []module.M env env.Env } @@ -99,7 +99,7 @@ func (t *tunnel) serve() { wg.Add(1) - go func () { + go func() { t.handle(in) wg.Done() }() @@ -128,10 +128,10 @@ func (t *tunnel) handle(in socket.Channel) { func (t *tunnel) newStream(in, out socket.Channel) *stream { s := &stream{ - t: t, - in: in, - out: out, - id: t.nextSid, + t: t, + in: in, + out: out, + id: t.nextSid, since: time.Now(), } @@ -142,7 +142,7 @@ func (t *tunnel) newStream(in, out socket.Channel) *stream { t.streams[s.id] = s t.mu.Unlock() - go func () { + go func() { s.wg.Wait() s.t.mu.Lock() @@ -158,7 +158,7 @@ func (t *tunnel) newStream(in, out socket.Channel) *stream { } func (s *stream) channel(c socket.Channel, rq, wq queue.Q) { - watch := func (q queue.Q, f func (q queue.Q) error) { + watch := func(q queue.Q, f func(q queue.Q) error) { defer s.wg.Done() if err := f(q); err != nil { @@ -168,12 +168,12 @@ func (s *stream) channel(c socket.Channel, rq, wq queue.Q) { s.wg.Add(2) - go func () { + go func() { watch(wq, c.Send) close(wq) }() - go func () { + go func() { watch(rq, c.Recv) rq.Dry() }() @@ -182,7 +182,7 @@ func (s *stream) channel(c socket.Channel, rq, wq queue.Q) { func (s *stream) pipe(m module.M, p module.Pipe, rq, wq queue.Q) { s.wg.Add(1) - go func () { + go func() { defer s.wg.Done() if err := p(rq, wq); err != nil { @@ -287,13 +287,13 @@ func newTunnel(args []string, env env.Env) (*tunnel, error) { } t := &tunnel{ - args: strings.Join(args, " "), - quit: make(chan struct{}), - done: make(chan struct{}), - m: mm, - in: in, - out: out, - env: env, + args: strings.Join(args, " "), + quit: make(chan struct{}), + done: make(chan struct{}), + m: mm, + in: in, + out: out, + env: env, streams: make(map[int]*stream), } @@ -372,7 +372,7 @@ func tunnelRename(r *request) { } } -func foreachTunnel(m automap, f func (t *tunnel)) { +func foreachTunnel(m automap, f func(t *tunnel)) { var keys []string for k := range m { @@ -386,7 +386,7 @@ func foreachTunnel(m automap, f func (t *tunnel)) { } } -func foreachStream(m map[int]*stream, f func (s *stream)) { +func foreachStream(m map[int]*stream, f func(s *stream)) { var keys []int for k := range m { @@ -401,20 +401,20 @@ func foreachStream(m map[int]*stream, f func (s *stream)) { } func tunnelShow(r *request) { - foreachTunnel(r.c.s.tunnels, func (t *tunnel) { + foreachTunnel(r.c.s.tunnels, func(t *tunnel) { r.Println(t.id, t.args) }) } func streamShow(r *request) { - foreachTunnel(r.c.s.tunnels, func (t *tunnel) { + foreachTunnel(r.c.s.tunnels, func(t *tunnel) { t.mu.Lock() defer t.mu.Unlock() if len(t.streams) > 0 { r.Println(t.id, t.args) - foreachStream(t.streams, func (s *stream) { + foreachStream(t.streams, func(s *stream) { tm := s.since.Format(config.TimeFormat) r.Println("\t", s.id, tm, s.in, s.out) }) |
