mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	fix #1436
This commit is contained in:
		| @@ -3,7 +3,7 @@ Gogs - Go Git Service [ |  | ||||||
|  |  | ||||||
| ##### Current version: 0.8.10 | ##### Current version: 0.8.11 | ||||||
|  |  | ||||||
| | Web | UI  | Preview  | | | Web | UI  | Preview  | | ||||||
| |:-------------:|:-------:|:-------:| | |:-------------:|:-------:|:-------:| | ||||||
|   | |||||||
| @@ -57,6 +57,8 @@ DISABLE_SSH = false | |||||||
| ; Whether use builtin SSH server or not. | ; Whether use builtin SSH server or not. | ||||||
| START_SSH_SERVER = false | START_SSH_SERVER = false | ||||||
| SSH_PORT = 22 | SSH_PORT = 22 | ||||||
|  | ; Root path of SSH directory | ||||||
|  | SSH_ROOT_PATH =  | ||||||
| ; Disable CDN even in "prod" mode | ; Disable CDN even in "prod" mode | ||||||
| OFFLINE_MODE = false | OFFLINE_MODE = false | ||||||
| DISABLE_ROUTER_LOG = false | DISABLE_ROUTER_LOG = false | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							| @@ -17,7 +17,7 @@ import ( | |||||||
| 	"github.com/gogits/gogs/modules/setting" | 	"github.com/gogits/gogs/modules/setting" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const APP_VER = "0.8.10.1219" | const APP_VER = "0.8.11.1219" | ||||||
|  |  | ||||||
| func init() { | func init() { | ||||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||||
|   | |||||||
| @@ -33,24 +33,6 @@ const ( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| var sshOpLocker = sync.Mutex{} | 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 | type KeyType int | ||||||
|  |  | ||||||
| @@ -233,7 +215,7 @@ func saveAuthorizedKeyFile(keys ...*PublicKey) error { | |||||||
| 	sshOpLocker.Lock() | 	sshOpLocker.Lock() | ||||||
| 	defer sshOpLocker.Unlock() | 	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) | 	f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| @@ -449,8 +431,8 @@ func deletePublicKey(e *xorm.Session, keyID int64) error { | |||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	fpath := filepath.Join(SSHPath, "authorized_keys") | 	fpath := filepath.Join(setting.SSHRootPath, "authorized_keys") | ||||||
| 	tmpPath := filepath.Join(SSHPath, "authorized_keys.tmp") | 	tmpPath := filepath.Join(setting.SSHRootPath, "authorized_keys.tmp") | ||||||
| 	if err = rewriteAuthorizedKeys(key, fpath, tmpPath); err != nil { | 	if err = rewriteAuthorizedKeys(key, fpath, tmpPath); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} else if err = os.Remove(fpath); err != nil { | 	} else if err = os.Remove(fpath); err != nil { | ||||||
| @@ -492,7 +474,7 @@ func RewriteAllPublicKeys() error { | |||||||
| 	sshOpLocker.Lock() | 	sshOpLocker.Lock() | ||||||
| 	defer sshOpLocker.Unlock() | 	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) | 	f, err := os.OpenFile(tmpPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| @@ -508,7 +490,7 @@ func RewriteAllPublicKeys() error { | |||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	fpath := filepath.Join(SSHPath, "authorized_keys") | 	fpath := filepath.Join(setting.SSHRootPath, "authorized_keys") | ||||||
| 	if com.IsExist(fpath) { | 	if com.IsExist(fpath) { | ||||||
| 		if err = os.Remove(fpath); err != nil { | 		if err = os.Remove(fpath); err != nil { | ||||||
| 			return err | 			return err | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -64,6 +64,7 @@ var ( | |||||||
| 	StartSSHServer     bool | 	StartSSHServer     bool | ||||||
| 	SSHDomain          string | 	SSHDomain          string | ||||||
| 	SSHPort            int | 	SSHPort            int | ||||||
|  | 	SSHRootPath        string | ||||||
| 	OfflineMode        bool | 	OfflineMode        bool | ||||||
| 	DisableRouterLog   bool | 	DisableRouterLog   bool | ||||||
| 	CertFile, KeyFile  string | 	CertFile, KeyFile  string | ||||||
| @@ -273,10 +274,16 @@ func NewContext() { | |||||||
| 			log.Fatal(4, "Fail to load custom conf '%s': %v", CustomConf, err) | 			log.Fatal(4, "Fail to load custom conf '%s': %v", CustomConf, err) | ||||||
| 		} | 		} | ||||||
| 	} else { | 	} 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 | 	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")) | 	LogRootPath = Cfg.Section("log").Key("ROOT_PATH").MustString(path.Join(workDir, "log")) | ||||||
| 	forcePathSeparator(LogRootPath) | 	forcePathSeparator(LogRootPath) | ||||||
|  |  | ||||||
| @@ -290,7 +297,7 @@ func NewContext() { | |||||||
| 	// Check if has app suburl. | 	// Check if has app suburl. | ||||||
| 	url, err := url.Parse(AppUrl) | 	url, err := url.Parse(AppUrl) | ||||||
| 	if err != nil { | 	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, "/") | 	AppSubUrl = strings.TrimSuffix(url.Path, "/") | ||||||
|  |  | ||||||
| @@ -312,6 +319,10 @@ func NewContext() { | |||||||
| 	} | 	} | ||||||
| 	SSHDomain = sec.Key("SSH_DOMAIN").MustString(Domain) | 	SSHDomain = sec.Key("SSH_DOMAIN").MustString(Domain) | ||||||
| 	SSHPort = sec.Key("SSH_PORT").MustInt(22) | 	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() | 	OfflineMode = sec.Key("OFFLINE_MODE").MustBool() | ||||||
| 	DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool() | 	DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool() | ||||||
| 	StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(workDir) | 	StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(workDir) | ||||||
| @@ -368,12 +379,6 @@ func NewContext() { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// Determine and create root git repository path. | 	// 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") | 	sec = Cfg.Section("repository") | ||||||
| 	RepoRootPath = sec.Key("ROOT").MustString(path.Join(homeDir, "gogs-repositories")) | 	RepoRootPath = sec.Key("ROOT").MustString(path.Join(homeDir, "gogs-repositories")) | ||||||
| 	forcePathSeparator(RepoRootPath) | 	forcePathSeparator(RepoRootPath) | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| 0.8.10.1219 | 0.8.11.1219 | ||||||
		Reference in New Issue
	
	Block a user
	 Unknwon
					Unknwon