aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/incoming/ssh
diff options
context:
space:
mode:
Diffstat (limited to 'forged/internal/incoming/ssh')
-rw-r--r--forged/internal/incoming/ssh/ssh.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/forged/internal/incoming/ssh/ssh.go b/forged/internal/incoming/ssh/ssh.go
index 9338eca..dc03501 100644
--- a/forged/internal/incoming/ssh/ssh.go
+++ b/forged/internal/incoming/ssh/ssh.go
@@ -9,26 +9,27 @@ import (
gliderssh "github.com/gliderlabs/ssh"
"go.lindenii.runxiyu.org/forge/forged/internal/common/misc"
+ "go.lindenii.runxiyu.org/forge/forged/internal/global"
gossh "golang.org/x/crypto/ssh"
)
type Server struct {
gliderServer *gliderssh.Server
privkey gossh.Signer
- pubkeyString string
- pubkeyFP string
net string
addr string
root string
shutdownTimeout uint32
+ globalData *global.GlobalData
}
-func New(config Config) (server *Server, err error) {
+func New(config Config, globalData *global.GlobalData) (server *Server, err error) {
server = &Server{
net: config.Net,
addr: config.Addr,
root: config.Root,
shutdownTimeout: config.ShutdownTimeout,
+ globalData: globalData,
} //exhaustruct:ignore
var privkeyBytes []byte
@@ -43,8 +44,8 @@ func New(config Config) (server *Server, err error) {
return server, fmt.Errorf("parse SSH private key: %w", err)
}
- server.pubkeyString = misc.BytesToString(gossh.MarshalAuthorizedKey(server.privkey.PublicKey()))
- server.pubkeyFP = gossh.FingerprintSHA256(server.privkey.PublicKey())
+ server.globalData.SSHPubkey = misc.BytesToString(gossh.MarshalAuthorizedKey(server.privkey.PublicKey()))
+ server.globalData.SSHFingerprint = gossh.FingerprintSHA256(server.privkey.PublicKey())
server.gliderServer = &gliderssh.Server{
Handler: handle,