aboutsummaryrefslogtreecommitdiff
path: root/ssh_server.go
diff options
context:
space:
mode:
Diffstat (limited to 'ssh_server.go')
-rw-r--r--ssh_server.go50
1 files changed, 25 insertions, 25 deletions
diff --git a/ssh_server.go b/ssh_server.go
index 7fd31c0..58a5acd 100644
--- a/ssh_server.go
+++ b/ssh_server.go
@@ -9,45 +9,45 @@ import (
"os"
"strings"
- glider_ssh "github.com/gliderlabs/ssh"
+ gliderSSH "github.com/gliderlabs/ssh"
"go.lindenii.runxiyu.org/lindenii-common/ansiec"
"go.lindenii.runxiyu.org/lindenii-common/clog"
- go_ssh "golang.org/x/crypto/ssh"
+ goSSH "golang.org/x/crypto/ssh"
)
var (
- server_public_key_string string
- server_public_key_fingerprint string
- server_public_key go_ssh.PublicKey
+ serverPubkeyString string
+ serverPubkeyFP string
+ serverPubkey goSSH.PublicKey
)
func serveSSH(listener net.Listener) error {
- var host_key_bytes []byte
- var host_key go_ssh.Signer
+ var hostKeyBytes []byte
+ var hostKey goSSH.Signer
var err error
- var server *glider_ssh.Server
+ var server *gliderSSH.Server
- if host_key_bytes, err = os.ReadFile(config.SSH.Key); err != nil {
+ if hostKeyBytes, err = os.ReadFile(config.SSH.Key); err != nil {
return err
}
- if host_key, err = go_ssh.ParsePrivateKey(host_key_bytes); err != nil {
+ if hostKey, err = goSSH.ParsePrivateKey(hostKeyBytes); err != nil {
return err
}
- server_public_key = host_key.PublicKey()
- server_public_key_string = string(go_ssh.MarshalAuthorizedKey(server_public_key))
- server_public_key_fingerprint = go_ssh.FingerprintSHA256(server_public_key)
+ serverPubkey = hostKey.PublicKey()
+ serverPubkeyString = string(goSSH.MarshalAuthorizedKey(serverPubkey))
+ serverPubkeyFP = goSSH.FingerprintSHA256(serverPubkey)
- server = &glider_ssh.Server{
- Handler: func(session glider_ssh.Session) {
- client_public_key := session.PublicKey()
- var client_public_key_string string
- if client_public_key != nil {
- client_public_key_string = strings.TrimSuffix(string(go_ssh.MarshalAuthorizedKey(client_public_key)), "\n")
+ server = &gliderSSH.Server{
+ Handler: func(session gliderSSH.Session) {
+ clientPubkey := session.PublicKey()
+ var clientPubkeyStr string
+ if clientPubkey != nil {
+ clientPubkeyStr = strings.TrimSuffix(string(goSSH.MarshalAuthorizedKey(clientPubkey)), "\n")
}
- clog.Info("Incoming SSH: " + session.RemoteAddr().String() + " " + client_public_key_string + " " + session.RawCommand())
+ clog.Info("Incoming SSH: " + session.RemoteAddr().String() + " " + clientPubkeyStr + " " + session.RawCommand())
fmt.Fprintln(session.Stderr(), ansiec.Blue+"Lindenii Forge "+VERSION+", source at "+strings.TrimSuffix(config.HTTP.Root, "/")+"/:/source/"+ansiec.Reset+"\r")
cmd := session.Command()
@@ -63,13 +63,13 @@ func serveSSH(listener net.Listener) error {
fmt.Fprintln(session.Stderr(), "Too many arguments\r")
return
}
- err = ssh_handle_upload_pack(session, client_public_key_string, cmd[1])
+ err = sshHandleUploadPack(session, clientPubkeyStr, cmd[1])
case "git-receive-pack":
if len(cmd) > 2 {
fmt.Fprintln(session.Stderr(), "Too many arguments\r")
return
}
- err = ssh_handle_receive_pack(session, client_public_key_string, cmd[1])
+ err = sshHandleRecvPack(session, clientPubkeyStr, cmd[1])
default:
fmt.Fprintln(session.Stderr(), "Unsupported command: "+cmd[0]+"\r")
return
@@ -79,15 +79,15 @@ func serveSSH(listener net.Listener) error {
return
}
},
- PublicKeyHandler: func(ctx glider_ssh.Context, key glider_ssh.PublicKey) bool { return true },
- KeyboardInteractiveHandler: func(ctx glider_ssh.Context, challenge go_ssh.KeyboardInteractiveChallenge) bool { return true },
+ PublicKeyHandler: func(ctx gliderSSH.Context, key gliderSSH.PublicKey) bool { return true },
+ KeyboardInteractiveHandler: func(ctx gliderSSH.Context, challenge goSSH.KeyboardInteractiveChallenge) bool { return true },
// It is intentional that we do not check any credentials and accept all connections.
// This allows all users to connect and clone repositories. However, the public key
// is passed to handlers, so e.g. the push handler could check the key and reject the
// push if it needs to.
}
- server.AddHostKey(host_key)
+ server.AddHostKey(hostKey)
if err = server.Serve(listener); err != nil {
clog.Fatal(1, "Serving SSH: "+err.Error())