minor UI fix and fix ssh race
This commit is contained in:
parent
9c12ed3b6e
commit
7c80eba77f
13 changed files with 33 additions and 10 deletions
|
@ -7,6 +7,7 @@
|
|||
package ssh
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
|
@ -82,14 +83,16 @@ func handleServerConn(keyID string, chans <-chan ssh.NewChannel) {
|
|||
return
|
||||
}
|
||||
|
||||
go io.Copy(ch, stdout)
|
||||
go io.Copy(ch.Stderr(), stderr)
|
||||
go io.Copy(input, ch)
|
||||
|
||||
if err = cmd.Start(); err != nil {
|
||||
log.Error(3, "Start: %v", err)
|
||||
return
|
||||
} else if err = cmd.Wait(); err != nil {
|
||||
}
|
||||
|
||||
go io.Copy(input, ch)
|
||||
io.Copy(ch, stdout)
|
||||
io.Copy(ch.Stderr(), stderr)
|
||||
|
||||
if err = cmd.Wait(); err != nil {
|
||||
log.Error(3, "Wait: %v", err)
|
||||
return
|
||||
}
|
||||
|
@ -142,7 +145,16 @@ func Listen(port int) {
|
|||
},
|
||||
}
|
||||
|
||||
privateBytes, err := ioutil.ReadFile(filepath.Join(models.SSHPath, "id_rsa"))
|
||||
keyPath := filepath.Join(setting.AppDataPath, "ssh/gogs.rsa")
|
||||
if !com.IsExist(keyPath) {
|
||||
os.MkdirAll(filepath.Dir(keyPath), os.ModePerm)
|
||||
_, stderr, err := com.ExecCmd("ssh-keygen", "-f", keyPath, "-t", "rsa", "-N", "")
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("Fail to generate private key: %v - %s", err, stderr))
|
||||
}
|
||||
}
|
||||
|
||||
privateBytes, err := ioutil.ReadFile(keyPath)
|
||||
if err != nil {
|
||||
panic("Fail to load private key")
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue