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.
pull/2567/head
Felix Lange 9 years ago
parent fe532a98f9
commit 86da6feb40
  1. 9
      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 { 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)) {

Loading…
Cancel
Save