diff options
Diffstat (limited to 'pkg/server/module/auth.go')
| -rw-r--r-- | pkg/server/module/auth.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/pkg/server/module/auth.go b/pkg/server/module/auth.go new file mode 100644 index 0000000..05761ed --- /dev/null +++ b/pkg/server/module/auth.go @@ -0,0 +1,32 @@ +package module + +import ( + "tunnel/pkg/server/queue" + "tunnel/pkg/server/opts" + "tunnel/pkg/server/env" +) + +type auth struct { + secret string +} + +type authModule struct{} + +func (a *auth) Send(rq, wq queue.Q) error { + return queue.Copy(rq, wq) +} + +func (a *auth) Recv(rq, wq queue.Q) error { + return queue.Copy(rq, wq) +} + +func (m authModule) Open(env env.Env) (Pipe, Pipe) { + a := &auth{env.Get("secret")} + return a.Send, a.Recv +} + +func init() { + register("auth", func (opts.Opts, env.Env) (module, error) { + return authModule{}, nil + }) +} |
