| 1234567891011121314151617181920212223242526272829303132333435 |
- // Copyright 2019 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package ssh
-
- import (
- "code.gitea.io/gitea/modules/graceful"
- "code.gitea.io/gitea/modules/log"
- "code.gitea.io/gitea/modules/setting"
-
- "github.com/gliderlabs/ssh"
- )
-
- func listen(server *ssh.Server) {
- gracefulServer := graceful.NewServer("tcp", server.Addr, "SSH")
- gracefulServer.PerWriteTimeout = setting.SSH.PerWriteTimeout
- gracefulServer.PerWritePerKbTimeout = setting.SSH.PerWritePerKbTimeout
-
- err := gracefulServer.ListenAndServe(server.Serve, setting.SSH.UseProxyProtocol)
- if err != nil {
- select {
- case <-graceful.GetManager().IsShutdown():
- log.Critical("Failed to start SSH server: %v", err)
- default:
- log.Fatal("Failed to start SSH server: %v", err)
- }
- }
- log.Info("SSH Listener: %s Closed", server.Addr)
- }
-
- // builtinUnused informs our cleanup routine that we will not be using a ssh port
- func builtinUnused() {
- graceful.GetManager().InformCleanup()
- }
|