summaryrefslogtreecommitdiff
path: root/pkg/server
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/server')
-rw-r--r--pkg/server/hook/auth.go26
-rw-r--r--pkg/server/queue/queue.go2
2 files changed, 16 insertions, 12 deletions
diff --git a/pkg/server/hook/auth.go b/pkg/server/hook/auth.go
index f347b2a..b31855a 100644
--- a/pkg/server/hook/auth.go
+++ b/pkg/server/hook/auth.go
@@ -7,7 +7,7 @@ import (
"io"
"sync"
"time"
- "tunnel/pkg/netstring"
+ "tunnel/pkg/pack"
"tunnel/pkg/server/env"
"tunnel/pkg/server/opts"
"tunnel/pkg/server/queue"
@@ -83,7 +83,7 @@ func (a *auth) wait(c chan struct{}) error {
}
func (a *auth) Send(rq, wq queue.Q) error {
- e := netstring.NewEncoder(wq.Writer())
+ e := pack.NewEncoder(wq.Writer())
if err := a.generateChallenge(); err != nil {
return err
@@ -91,7 +91,7 @@ func (a *auth) Send(rq, wq queue.Q) error {
defer a.deleteChallenge()
- e.Encode(a.challenge.self)
+ e.Lps([]byte(a.challenge.self))
if err := a.wait(a.recvChallenge); err != nil {
return err
@@ -101,7 +101,7 @@ func (a *auth) Send(rq, wq queue.Q) error {
return errDupChallenge
}
- e.Encode(a.getHash(a.challenge.peer))
+ e.Lps([]byte(a.getHash(a.challenge.peer)))
if err := a.wait(a.recvHash); err != nil {
return err
@@ -117,26 +117,30 @@ func (a *auth) Send(rq, wq queue.Q) error {
return queue.Copy(rq, wq)
}
-func (a *auth) Recv(rq, wq queue.Q) (err error) {
+func (a *auth) Recv(rq, wq queue.Q) error {
r := rq.Reader()
- d := netstring.NewDecoder(r)
+ d := pack.NewDecoder(r)
- if a.challenge.peer, err = d.Decode(); err != nil {
+ if b, err := d.Lps(); err != nil {
close(a.fail)
- return
+ return err
+ } else {
+ a.challenge.peer = string(b)
}
close(a.recvChallenge)
- if a.hash, err = d.Decode(); err != nil {
+ if b, err := d.Lps(); err != nil {
close(a.fail)
return err
+ } else {
+ a.hash = string(b)
}
close(a.recvHash)
- if err = a.wait(a.ok); err != nil {
- return
+ if err := a.wait(a.ok); err != nil {
+ return err
}
a.tmr.Stop()
diff --git a/pkg/server/queue/queue.go b/pkg/server/queue/queue.go
index 71f914c..704d884 100644
--- a/pkg/server/queue/queue.go
+++ b/pkg/server/queue/queue.go
@@ -19,7 +19,7 @@ func New() Q {
return make(Q)
}
-func (q Q) Reader() io.Reader {
+func (q Q) Reader() *reader {
return &reader{q: q}
}