From ce97e4e642cc4d5f277d3cca7bceca910bb3e695 Mon Sep 17 00:00:00 2001 From: ibuler <ibuler@qq.com> Date: Wed, 24 Apr 2019 22:31:03 +0800 Subject: [PATCH] [Update] commit --- pkg/auth/server.go | 2 +- pkg/cctx/context.go | 3 ++- pkg/{transport => proxy}/conn.go | 2 +- pkg/{transport => proxy}/sshconn.go | 2 +- pkg/proxy/switch.go | 14 +++++++------- pkg/{transport => proxy}/transport.go | 2 +- pkg/{userhome => proxy}/userhome.go | 2 +- pkg/sshd/server.go | 4 +++- 8 files changed, 17 insertions(+), 14 deletions(-) rename pkg/{transport => proxy}/conn.go (89%) rename pkg/{transport => proxy}/sshconn.go (99%) rename pkg/{transport => proxy}/transport.go (97%) rename pkg/{userhome => proxy}/userhome.go (99%) diff --git a/pkg/auth/server.go b/pkg/auth/server.go index 2c7b72d..4143587 100644 --- a/pkg/auth/server.go +++ b/pkg/auth/server.go @@ -28,7 +28,7 @@ func checkAuth(ctx ssh.Context, password, publicKey string) (ok bool) { ctx.SetValue(cctx.ContextKeyUser, user) } logger.Infof("%s %s for %s from %s", action, authMethod, username, remoteAddr) - return false + return ok } func CheckUserPassword(ctx ssh.Context, password string) bool { diff --git a/pkg/cctx/context.go b/pkg/cctx/context.go index a27114b..397fe92 100644 --- a/pkg/cctx/context.go +++ b/pkg/cctx/context.go @@ -31,10 +31,12 @@ type Context interface { SetValue(key, value interface{}) } +// Context coco内部使用的Context type CocoContext struct { context.Context } +// User 返回当å‰è¿žæŽ¥çš„用户model func (ctx *CocoContext) User() *sdk.User { return ctx.Value(ContextKeyUser).(*sdk.User) } @@ -62,7 +64,6 @@ func (ctx *CocoContext) SetValue(key, value interface{}) { func applySessionMetadata(ctx *CocoContext, sess ssh.Session) { ctx.SetValue(ContextKeySSHSession, &sess) ctx.SetValue(ContextKeySSHCtx, sess.Context()) - //ctx.SetValue(ContextKeyUser, &sdk.User{Username: sess.User()}) ctx.SetValue(ContextKeyLocalAddr, sess.LocalAddr()) } diff --git a/pkg/transport/conn.go b/pkg/proxy/conn.go similarity index 89% rename from pkg/transport/conn.go rename to pkg/proxy/conn.go index 6eef660..259a924 100644 --- a/pkg/transport/conn.go +++ b/pkg/proxy/conn.go @@ -1,4 +1,4 @@ -package transport +package proxy import "context" diff --git a/pkg/transport/sshconn.go b/pkg/proxy/sshconn.go similarity index 99% rename from pkg/transport/sshconn.go rename to pkg/proxy/sshconn.go index d85faac..d769436 100644 --- a/pkg/transport/sshconn.go +++ b/pkg/proxy/sshconn.go @@ -1,4 +1,4 @@ -package transport +package proxy import ( "cocogo/pkg/parser" diff --git a/pkg/proxy/switch.go b/pkg/proxy/switch.go index 7db1336..859f9bf 100644 --- a/pkg/proxy/switch.go +++ b/pkg/proxy/switch.go @@ -1,15 +1,15 @@ package proxy import ( - "cocogo/pkg/transport" "cocogo/pkg/userhome" "context" "sync" - "github.com/sirupsen/logrus" + "cocogo/pkg/logger" ) -var log = logrus.New() +type Switch struct { +} var Manager = &manager{ container: new(sync.Map), @@ -63,7 +63,7 @@ func (m *manager) Switch(ctx context.Context, uHome userhome.SessionHome, agent select { case buf1, ok := <-userSendRequestStream: if !ok { - log.Warn("userSendRequestStream close") + logger.Warn("userSendRequestStream close") userSendRequestStream = nil close(nodeRequestChan) continue @@ -71,7 +71,7 @@ func (m *manager) Switch(ctx context.Context, uHome userhome.SessionHome, agent nodeRequestChan <- buf1 case buf2, ok := <-nodeSendResponseStream: if !ok { - log.Warn("nodeSendResponseStream close") + logger.Warn("nodeSendResponseStream close") nodeSendResponseStream = nil close(userReceiveStream) cancelFunc() @@ -79,11 +79,11 @@ func (m *manager) Switch(ctx context.Context, uHome userhome.SessionHome, agent } userReceiveStream <- buf2 case <-ctx.Done(): - log.Info("proxy end by context done") + logger.Info("proxy end by context done") cancelFunc() return nil } } - log.Info("proxy end") + logger.Info("proxy end") return nil } diff --git a/pkg/transport/transport.go b/pkg/proxy/transport.go similarity index 97% rename from pkg/transport/transport.go rename to pkg/proxy/transport.go index b6a917c..ca3264d 100644 --- a/pkg/transport/transport.go +++ b/pkg/proxy/transport.go @@ -1,4 +1,4 @@ -package transport +package proxy import ( "context" diff --git a/pkg/userhome/userhome.go b/pkg/proxy/userhome.go similarity index 99% rename from pkg/userhome/userhome.go rename to pkg/proxy/userhome.go index 9ca0406..6fe5e51 100644 --- a/pkg/userhome/userhome.go +++ b/pkg/proxy/userhome.go @@ -1,4 +1,4 @@ -package userhome +package proxy import ( "context" diff --git a/pkg/sshd/server.go b/pkg/sshd/server.go index 4bc6c33..4b4b343 100644 --- a/pkg/sshd/server.go +++ b/pkg/sshd/server.go @@ -12,6 +12,8 @@ import ( "cocogo/pkg/sshd/handler" ) +const version = "coco-v1.4" + var ( conf = config.Conf ) @@ -30,7 +32,7 @@ func StartServer() { PublicKeyHandler: auth.CheckUserPublicKey, KeyboardInteractiveHandler: auth.CheckMFA, HostSigners: []ssh.Signer{signer}, - Version: "coco-v1.4", + Version: version, Handler: handler.SessionHandler, } logger.Fatal(srv.ListenAndServe()) -- 2.18.0