summaryrefslogtreecommitdiff
path: root/pkg/server/module/auth.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/server/module/auth.go')
-rw-r--r--pkg/server/module/auth.go32
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
+ })
+}