fix #1436
This commit is contained in:
		
							parent
							
								
									3bcdb3855c
								
							
						
					
					
						commit
						53eb37d529
					
				
					 7 changed files with 241 additions and 252 deletions
				
			
		| 
						 | 
				
			
			@ -3,7 +3,7 @@ Gogs - Go Git Service [
 | 
			
		||||
 | 
			
		||||
##### Current version: 0.8.10
 | 
			
		||||
##### Current version: 0.8.11
 | 
			
		||||
 | 
			
		||||
| Web | UI  | Preview  |
 | 
			
		||||
|:-------------:|:-------:|:-------:|
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,6 +57,8 @@ DISABLE_SSH = false
 | 
			
		|||
; Whether use builtin SSH server or not.
 | 
			
		||||
START_SSH_SERVER = false
 | 
			
		||||
SSH_PORT = 22
 | 
			
		||||
; Root path of SSH directory
 | 
			
		||||
SSH_ROOT_PATH = 
 | 
			
		||||
; Disable CDN even in "prod" mode
 | 
			
		||||
OFFLINE_MODE = false
 | 
			
		||||
DISABLE_ROUTER_LOG = false
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								gogs.go
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -17,7 +17,7 @@ import (
 | 
			
		|||
	"github.com/gogits/gogs/modules/setting"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const APP_VER = "0.8.10.1219"
 | 
			
		||||
const APP_VER = "0.8.11.1219"
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	runtime.GOMAXPROCS(runtime.NumCPU())
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,24 +33,6 @@ const (
 | 
			
		|||
)
 | 
			
		||||
 | 
			
		||||
var sshOpLocker = sync.Mutex{}
 | 
			
		||||
var SSHPath string // SSH directory.
 | 
			
		||||
 | 
			
		||||
// homeDir returns the home directory of current user.
 | 
			
		||||
func homeDir() string {
 | 
			
		||||
	home, err := com.HomeDir()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatal(4, "Fail to get home directory: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	return home
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	// Determine and create .ssh path.
 | 
			
		||||
	SSHPath = filepath.Join(homeDir(), ".ssh")
 | 
			
		||||
	if err := os.MkdirAll(SSHPath, 0700); err != nil {
 | 
			
		||||
		log.Fatal(4, "fail to create '%s': %v", SSHPath, err)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type KeyType int
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -233,7 +215,7 @@ func saveAuthorizedKeyFile(keys ...*PublicKey) error {
 | 
			
		|||
	sshOpLocker.Lock()
 | 
			
		||||
	defer sshOpLocker.Unlock()
 | 
			
		||||
 | 
			
		||||
	fpath := filepath.Join(SSHPath, "authorized_keys")
 | 
			
		||||
	fpath := filepath.Join(setting.SSHRootPath, "authorized_keys")
 | 
			
		||||
	f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
| 
						 | 
				
			
			@ -449,8 +431,8 @@ func deletePublicKey(e *xorm.Session, keyID int64) error {
 | 
			
		|||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fpath := filepath.Join(SSHPath, "authorized_keys")
 | 
			
		||||
	tmpPath := filepath.Join(SSHPath, "authorized_keys.tmp")
 | 
			
		||||
	fpath := filepath.Join(setting.SSHRootPath, "authorized_keys")
 | 
			
		||||
	tmpPath := filepath.Join(setting.SSHRootPath, "authorized_keys.tmp")
 | 
			
		||||
	if err = rewriteAuthorizedKeys(key, fpath, tmpPath); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	} else if err = os.Remove(fpath); err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -492,7 +474,7 @@ func RewriteAllPublicKeys() error {
 | 
			
		|||
	sshOpLocker.Lock()
 | 
			
		||||
	defer sshOpLocker.Unlock()
 | 
			
		||||
 | 
			
		||||
	tmpPath := filepath.Join(SSHPath, "authorized_keys.tmp")
 | 
			
		||||
	tmpPath := filepath.Join(setting.SSHRootPath, "authorized_keys.tmp")
 | 
			
		||||
	f, err := os.OpenFile(tmpPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
| 
						 | 
				
			
			@ -508,7 +490,7 @@ func RewriteAllPublicKeys() error {
 | 
			
		|||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fpath := filepath.Join(SSHPath, "authorized_keys")
 | 
			
		||||
	fpath := filepath.Join(setting.SSHRootPath, "authorized_keys")
 | 
			
		||||
	if com.IsExist(fpath) {
 | 
			
		||||
		if err = os.Remove(fpath); err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
				
			
			@ -64,6 +64,7 @@ var (
 | 
			
		|||
	StartSSHServer     bool
 | 
			
		||||
	SSHDomain          string
 | 
			
		||||
	SSHPort            int
 | 
			
		||||
	SSHRootPath        string
 | 
			
		||||
	OfflineMode        bool
 | 
			
		||||
	DisableRouterLog   bool
 | 
			
		||||
	CertFile, KeyFile  string
 | 
			
		||||
| 
						 | 
				
			
			@ -273,10 +274,16 @@ func NewContext() {
 | 
			
		|||
			log.Fatal(4, "Fail to load custom conf '%s': %v", CustomConf, err)
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		log.Warn("Custom config (%s) not found, ignore this if you're running first time", CustomConf)
 | 
			
		||||
		log.Warn("Custom config '%s' not found, ignore this if you're running first time", CustomConf)
 | 
			
		||||
	}
 | 
			
		||||
	Cfg.NameMapper = ini.AllCapsUnderscore
 | 
			
		||||
 | 
			
		||||
	homeDir, err := com.HomeDir()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatal(4, "Fail to get home directory: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	homeDir = strings.Replace(homeDir, "\\", "/", -1)
 | 
			
		||||
 | 
			
		||||
	LogRootPath = Cfg.Section("log").Key("ROOT_PATH").MustString(path.Join(workDir, "log"))
 | 
			
		||||
	forcePathSeparator(LogRootPath)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -290,7 +297,7 @@ func NewContext() {
 | 
			
		|||
	// Check if has app suburl.
 | 
			
		||||
	url, err := url.Parse(AppUrl)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatal(4, "Invalid ROOT_URL(%s): %s", AppUrl, err)
 | 
			
		||||
		log.Fatal(4, "Invalid ROOT_URL '%s': %s", AppUrl, err)
 | 
			
		||||
	}
 | 
			
		||||
	AppSubUrl = strings.TrimSuffix(url.Path, "/")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -312,6 +319,10 @@ func NewContext() {
 | 
			
		|||
	}
 | 
			
		||||
	SSHDomain = sec.Key("SSH_DOMAIN").MustString(Domain)
 | 
			
		||||
	SSHPort = sec.Key("SSH_PORT").MustInt(22)
 | 
			
		||||
	SSHRootPath = sec.Key("SSH_ROOT_PATH").MustString(path.Join(homeDir, ".ssh"))
 | 
			
		||||
	if err := os.MkdirAll(SSHRootPath, 0700); err != nil {
 | 
			
		||||
		log.Fatal(4, "Fail to create '%s': %v", SSHRootPath, err)
 | 
			
		||||
	}
 | 
			
		||||
	OfflineMode = sec.Key("OFFLINE_MODE").MustBool()
 | 
			
		||||
	DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()
 | 
			
		||||
	StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(workDir)
 | 
			
		||||
| 
						 | 
				
			
			@ -368,12 +379,6 @@ func NewContext() {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	// Determine and create root git repository path.
 | 
			
		||||
	homeDir, err := com.HomeDir()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatal(4, "Fail to get home directory: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	homeDir = strings.Replace(homeDir, "\\", "/", -1)
 | 
			
		||||
 | 
			
		||||
	sec = Cfg.Section("repository")
 | 
			
		||||
	RepoRootPath = sec.Key("ROOT").MustString(path.Join(homeDir, "gogs-repositories"))
 | 
			
		||||
	forcePathSeparator(RepoRootPath)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +1 @@
 | 
			
		|||
0.8.10.1219
 | 
			
		||||
0.8.11.1219
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue