cmd/geth: fix console history exclusion

Calls to 'personal' API should be excluded from console history because
they can be called with an account passphrase as argument. The check for
such calls was inverted and didn't work.
This commit is contained in:
Felix Lange 2016-05-13 23:59:19 +02:00
parent fe532a98f9
commit 86da6feb40
1 changed files with 3 additions and 6 deletions

View File

@ -42,7 +42,6 @@ import (
var ( var (
passwordRegexp = regexp.MustCompile("personal.[nu]") passwordRegexp = regexp.MustCompile("personal.[nu]")
leadingSpace = regexp.MustCompile("^ ")
onlyws = regexp.MustCompile("^\\s*$") onlyws = regexp.MustCompile("^\\s*$")
exit = regexp.MustCompile("^\\s*exit\\s*;*\\s*$") exit = regexp.MustCompile("^\\s*exit\\s*;*\\s*$")
) )
@ -361,7 +360,7 @@ func (self *jsre) interactive() {
str += input + "\n" str += input + "\n"
self.setIndent() self.setIndent()
if indentCount <= 0 { if indentCount <= 0 {
if mustLogInHistory(str) { if !excludeFromHistory(str) {
utils.Stdin.AppendHistory(str[:len(str)-1]) utils.Stdin.AppendHistory(str[:len(str)-1])
} }
self.parseInput(str) self.parseInput(str)
@ -371,10 +370,8 @@ func (self *jsre) interactive() {
} }
} }
func mustLogInHistory(input string) bool { func excludeFromHistory(input string) bool {
return len(input) == 0 || return len(input) == 0 || input[0] == ' ' || passwordRegexp.MatchString(input)
passwordRegexp.MatchString(input) ||
!leadingSpace.MatchString(input)
} }
func (self *jsre) withHistory(datadir string, op func(*os.File)) { func (self *jsre) withHistory(datadir string, op func(*os.File)) {