From 9e09e4850283b2b521f6087418d5d165bcc7cf8f Mon Sep 17 00:00:00 2001 From: Unknwon Date: Fri, 18 Mar 2016 06:13:16 -0400 Subject: [PATCH] #2850 fix potential SSH commands dislocation When use builtin SSH server with concurrent operations, there are probabilities One connection could use the command from another connections. Fix this by set SSH_ORIGINAL_COMMAND for each command, not set in global scope. --- README.md | 2 +- gogs.go | 2 +- modules/ssh/ssh.go | 2 +- templates/.VERSION | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 7801900107a..0886903bb80 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra ![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true) -##### Current version: 0.9.12 +##### Current version: 0.9.13 | Web | UI | Preview | |:-------------:|:-------:|:-------:| diff --git a/gogs.go b/gogs.go index 7142189933a..2a6fd3b5a6f 100644 --- a/gogs.go +++ b/gogs.go @@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.9.12.0316" +const APP_VER = "0.9.13.0318" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/modules/ssh/ssh.go b/modules/ssh/ssh.go index 18313d1ef8e..ceecc9bbfcc 100644 --- a/modules/ssh/ssh.go +++ b/modules/ssh/ssh.go @@ -62,12 +62,12 @@ func handleServerConn(keyID string, chans <-chan ssh.NewChannel) { } case "exec": cmdName := strings.TrimLeft(payload, "'()") - os.Setenv("SSH_ORIGINAL_COMMAND", cmdName) log.Trace("SSH: Payload: %v", cmdName) 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) stdout, err := cmd.StdoutPipe() if err != nil { diff --git a/templates/.VERSION b/templates/.VERSION index 9ae71dfa4b3..8655bc2f033 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.9.12.0316 \ No newline at end of file +0.9.13.0318 \ No newline at end of file