mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Completely quote AppPath and CustomConf paths (#12955)
* Completely quote AppPath and CustomConf paths Properly handle spaces in AppPath and CustomConf within hooks and authorized_keys. Unfortunately here we don't seem to be able to get away with using go-shellquote as it appears that Windows doesn't play too well with singlequote quoting - therefore we will avoid singlequote quoting unless we absolutely cannot get away without it, e.g. \n or !. Fix #10813 Signed-off-by: Andrew Thornton <art27@cantab.net> * missing change Signed-off-by: Andrew Thornton <art27@cantab.net> * fix Test_CmdKeys Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		| @@ -38,8 +38,8 @@ import ( | ||||
|  | ||||
| const ( | ||||
| 	tplCommentPrefix = `# gitea public key` | ||||
| 	tplCommand       = "%s --config=%q serv key-%d" | ||||
| 	tplPublicKey     = tplCommentPrefix + "\n" + `command=%q,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty %s` + "\n" | ||||
| 	tplCommand       = "%s --config=%s serv key-%d" | ||||
| 	tplPublicKey     = tplCommentPrefix + "\n" + `command=%s,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty %s` + "\n" | ||||
| ) | ||||
|  | ||||
| var sshOpLocker sync.Mutex | ||||
| @@ -84,7 +84,7 @@ func (key *PublicKey) OmitEmail() string { | ||||
|  | ||||
| // AuthorizedString returns formatted public key string for authorized_keys file. | ||||
| func (key *PublicKey) AuthorizedString() string { | ||||
| 	return fmt.Sprintf(tplPublicKey, fmt.Sprintf(tplCommand, setting.AppPath, setting.CustomConf, key.ID), key.Content) | ||||
| 	return fmt.Sprintf(tplPublicKey, util.ShellEscape(fmt.Sprintf(tplCommand, util.ShellEscape(setting.AppPath), util.ShellEscape(setting.CustomConf), key.ID)), key.Content) | ||||
| } | ||||
|  | ||||
| func extractTypeFromBase64Key(key string) (string, error) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user