Added command for user purging of certificates, and fixed multiword search
This commit is contained in:
parent
bd004d74c2
commit
2fd2d6c722
26
client.go
26
client.go
|
@ -279,6 +279,8 @@ func (c *client) simpleCommand(action string) {
|
|||
case "B", "BOOKMARKS":
|
||||
c.BookMarks.ToggleOpen()
|
||||
c.Draw()
|
||||
case "R", "REFRESH":
|
||||
// TODO build refresh code
|
||||
case "SEARCH":
|
||||
c.search("", "", "?")
|
||||
case "HELP", "?":
|
||||
|
@ -299,8 +301,27 @@ func (c *client) doCommand(action string, values []string) {
|
|||
switch action {
|
||||
case "CHECK", "C":
|
||||
c.displayConfigValue(values[0])
|
||||
case "PURGE", "P":
|
||||
err := c.Certs.Purge(values[0])
|
||||
if err != nil {
|
||||
c.SetMessage(err.Error(), true)
|
||||
c.DrawMessage()
|
||||
return
|
||||
}
|
||||
if values[0] == "*" {
|
||||
c.SetMessage("All certificates have been purged", false)
|
||||
c.DrawMessage()
|
||||
} else {
|
||||
c.SetMessage(fmt.Sprintf("The certificate for %q has been purged", strings.ToLower(values[0])), false)
|
||||
c.DrawMessage()
|
||||
}
|
||||
err = saveConfig()
|
||||
if err != nil {
|
||||
c.SetMessage("Error saving purge to file", true)
|
||||
c.DrawMessage()
|
||||
}
|
||||
case "SEARCH":
|
||||
c.search(strings.Join(values, " "), "", "")
|
||||
c.search(values[0], "", "")
|
||||
case "WRITE", "W":
|
||||
if values[0] == "." {
|
||||
values[0] = c.PageState.History[c.PageState.Position].Location.Full
|
||||
|
@ -360,7 +381,8 @@ func (c *client) doCommandAs(action string, values []string) {
|
|||
if c.BookMarks.IsOpen {
|
||||
c.Draw()
|
||||
}
|
||||
|
||||
case "SEARCH":
|
||||
c.search(strings.Join(values, " "), "", "")
|
||||
case "WRITE", "W":
|
||||
u, err := MakeUrl(values[0])
|
||||
if err != nil {
|
||||
|
|
|
@ -68,9 +68,11 @@ func (s *scanner) scanText() Token {
|
|||
|
||||
capInput := strings.ToUpper(buf.String())
|
||||
switch capInput {
|
||||
case "DELETE", "ADD", "WRITE", "SET", "RECALL", "R", "SEARCH",
|
||||
"W", "A", "D", "S", "Q", "QUIT", "B", "BOOKMARKS", "H",
|
||||
"HOME", "?", "HELP", "C", "CHECK":
|
||||
case "D", "DELETE", "A", "ADD","W", "WRITE",
|
||||
"S", "SET", "R", "REFRESH", "SEARCH",
|
||||
"Q", "QUIT", "B", "BOOKMARKS", "H",
|
||||
"HOME", "?", "HELP", "C", "CHECK",
|
||||
"P", "PURGE":
|
||||
return Token{Action, capInput}
|
||||
}
|
||||
|
||||
|
|
|
@ -30,12 +30,16 @@ type TofuDigest struct {
|
|||
// + + + R E C E I V E R S + + + \\
|
||||
//--------------------------------------------------\\
|
||||
|
||||
func (t *TofuDigest) Remove(host string) error {
|
||||
if _, ok := t.certs[strings.ToLower(host)]; ok {
|
||||
func (t *TofuDigest) Purge(host string) error {
|
||||
host = strings.ToLower(host)
|
||||
if host == "*" {
|
||||
t.certs = make(map[string]string)
|
||||
return nil
|
||||
} else if _, ok := t.certs[strings.ToLower(host)]; ok {
|
||||
delete(t.certs, host)
|
||||
return nil
|
||||
}
|
||||
return fmt.Errorf("Invalid host")
|
||||
return fmt.Errorf("Invalid host %q", host)
|
||||
}
|
||||
|
||||
func (t *TofuDigest) Add(host, hash string) {
|
||||
|
|
Loading…
Reference in New Issue