summaryrefslogtreecommitdiff
path: root/pkg/server/module/aes.go
diff options
context:
space:
mode:
authorMikhail Osipov <mike.osipov@gmail.com>2020-02-26 02:38:02 +0300
committerMikhail Osipov <mike.osipov@gmail.com>2020-02-26 02:38:57 +0300
commite6631acaa5af979d87645d74997955a1304cd648 (patch)
treeba1a13102d437bc908a7c32ce604a802d5098868 /pkg/server/module/aes.go
parentd6b87d6ad43219bf5b9cdfef50697e1b066dc4ea (diff)
[server] prepare module.Open to return error
Diffstat (limited to 'pkg/server/module/aes.go')
-rw-r--r--pkg/server/module/aes.go19
1 files changed, 9 insertions, 10 deletions
diff --git a/pkg/server/module/aes.go b/pkg/server/module/aes.go
index 68dcc7c..13153bc 100644
--- a/pkg/server/module/aes.go
+++ b/pkg/server/module/aes.go
@@ -11,13 +11,13 @@ import (
"tunnel/pkg/server/queue"
)
-type aesInfo struct {
+type aesModule struct{}
+
+type aesPipe struct {
key []byte
}
-type aesModule struct{}
-
-func (a *aesInfo) Send(rq, wq queue.Q) error {
+func (a *aesPipe) Send(rq, wq queue.Q) error {
block, err := aes.NewCipher(a.key)
if err != nil {
return err
@@ -39,7 +39,7 @@ func (a *aesInfo) Send(rq, wq queue.Q) error {
return queue.IoCopy(rq.Reader(), writer)
}
-func (a *aesInfo) Recv(rq, wq queue.Q) error {
+func (a *aesPipe) Recv(rq, wq queue.Q) error {
block, err := aes.NewCipher(a.key)
if err != nil {
return err
@@ -64,19 +64,18 @@ func (a *aesInfo) Recv(rq, wq queue.Q) error {
return queue.IoCopy(reader, wq.Writer())
}
-func newAes(env env.Env) *aesInfo {
+func newAes(env env.Env) *aesPipe {
s := getAuthSecret(env)
h := md5.Sum([]byte(s))
- a := &aesInfo{key: make([]byte, 16)}
+ a := &aesPipe{key: make([]byte, 16)}
copy(a.key, h[:])
return a
}
-func (m aesModule) Open(env env.Env) (Pipe, Pipe) {
- a := newAes(env)
- return a.Send, a.Recv
+func (m aesModule) Open(env env.Env) (interface{}, error) {
+ return newAes(env), nil
}
func init() {