mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	@@ -8,6 +8,7 @@ package minwinsvc
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"os"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"sync"
 | 
			
		||||
 | 
			
		||||
	"golang.org/x/sys/windows/svc"
 | 
			
		||||
@@ -16,9 +17,13 @@ import (
 | 
			
		||||
var (
 | 
			
		||||
	onExit  func()
 | 
			
		||||
	guard   sync.Mutex
 | 
			
		||||
	skip, _ = strconv.ParseBool(os.Getenv("SKIP_MINWINSVC"))
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if skip {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	interactive, err := svc.IsAnInteractiveSession()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
 
 | 
			
		||||
@@ -22,13 +22,14 @@ import (
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	_ "code.gitea.io/gitea/modules/minwinsvc" // import minwinsvc for windows services
 | 
			
		||||
	"code.gitea.io/gitea/modules/user"
 | 
			
		||||
 | 
			
		||||
	"github.com/Unknwon/com"
 | 
			
		||||
	_ "github.com/go-macaron/cache/memcache" // memcache plugin for cache
 | 
			
		||||
	_ "github.com/go-macaron/cache/redis"
 | 
			
		||||
	"github.com/go-macaron/session"
 | 
			
		||||
	_ "github.com/go-macaron/session/redis" // redis plugin for store session
 | 
			
		||||
	_ "github.com/kardianos/minwinsvc"      // import minwinsvc for windows services
 | 
			
		||||
	"gopkg.in/ini.v1"
 | 
			
		||||
	"strk.kbt.io/projects/go/libravatar"
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
@@ -67,7 +67,11 @@ func handleServerConn(keyID string, chans <-chan ssh.NewChannel) {
 | 
			
		||||
					args := []string{"serv", "key-" + keyID, "--config=" + setting.CustomConf}
 | 
			
		||||
					log.Trace("SSH: Arguments: %v", args)
 | 
			
		||||
					cmd := exec.Command(setting.AppPath, args...)
 | 
			
		||||
					cmd.Env = append(os.Environ(), "SSH_ORIGINAL_COMMAND="+cmdName)
 | 
			
		||||
					cmd.Env = append(
 | 
			
		||||
						os.Environ(),
 | 
			
		||||
						"SSH_ORIGINAL_COMMAND="+cmdName,
 | 
			
		||||
						"SKIP_MINWINSVC=1",
 | 
			
		||||
					)
 | 
			
		||||
 | 
			
		||||
					stdout, err := cmd.StdoutPipe()
 | 
			
		||||
					if err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user