Browse Source

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.
Felix Lange 9 years ago
parent
commit
86da6feb40
1 changed files with 3 additions and 6 deletions
  1. 3 6
      cmd/geth/js.go

+ 3 - 6
cmd/geth/js.go

@@ -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 {
-	return len(input) == 0 ||
-		passwordRegexp.MatchString(input) ||
-		!leadingSpace.MatchString(input)
+func excludeFromHistory(input string) bool {
+	return len(input) == 0 || input[0] == ' ' || passwordRegexp.MatchString(input)
 }
 }
 
 
 func (self *jsre) withHistory(datadir string, op func(*os.File)) {
 func (self *jsre) withHistory(datadir string, op func(*os.File)) {