Skip to content

Commit

Permalink
fill in all AUTH checks
Browse files Browse the repository at this point in the history
  • Loading branch information
Harmen committed Feb 26, 2015
1 parent 93b2b81 commit f0f26da
Show file tree
Hide file tree
Showing 8 changed files with 367 additions and 28 deletions.
7 changes: 7 additions & 0 deletions cmd_connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ func (m *Miniredis) cmdEcho(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}
msg := r.Args[0]
out.WriteString(msg)
return nil
Expand All @@ -66,6 +69,10 @@ func (m *Miniredis) cmdSelect(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

id, err := strconv.Atoi(r.Args[0])
if err != nil {
id = 0
Expand Down
44 changes: 44 additions & 0 deletions cmd_generic.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ func makeCmdExpire(m *Miniredis, cmd string) func(*redeo.Responder, *redeo.Reque
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]
value := r.Args[1]
i, err := strconv.Atoi(value)
Expand Down Expand Up @@ -72,6 +76,9 @@ func (m *Miniredis) cmdTTL(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}
key := r.Args[0]

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
Expand Down Expand Up @@ -99,6 +106,9 @@ func (m *Miniredis) cmdPTTL(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}
key := r.Args[0]

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
Expand All @@ -122,6 +132,13 @@ func (m *Miniredis) cmdPTTL(out *redeo.Responder, r *redeo.Request) error {

// PERSIST
func (m *Miniredis) cmdPersist(out *redeo.Responder, r *redeo.Request) error {
if len(r.Args) != 1 {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}
key := r.Args[0]

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
Expand All @@ -147,6 +164,9 @@ func (m *Miniredis) cmdPersist(out *redeo.Responder, r *redeo.Request) error {

// DEL
func (m *Miniredis) cmdDel(out *redeo.Responder, r *redeo.Request) error {
if !m.handleAuth(r.Client(), out) {
return nil
}
return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
db := m.db(ctx.selectedDB)

Expand All @@ -168,6 +188,9 @@ func (m *Miniredis) cmdType(out *redeo.Responder, r *redeo.Request) error {
out.WriteErrorString("usage error")
return nil
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]

Expand All @@ -190,6 +213,9 @@ func (m *Miniredis) cmdExists(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]

Expand All @@ -210,6 +236,9 @@ func (m *Miniredis) cmdMove(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]
targetDB, err := strconv.Atoi(r.Args[1])
Expand Down Expand Up @@ -239,6 +268,9 @@ func (m *Miniredis) cmdKeys(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]

Expand All @@ -259,6 +291,9 @@ func (m *Miniredis) cmdRandomkey(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
db := m.db(ctx.selectedDB)
Expand All @@ -284,6 +319,9 @@ func (m *Miniredis) cmdRename(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

from := r.Args[0]
to := r.Args[1]
Expand All @@ -307,6 +345,9 @@ func (m *Miniredis) cmdRenamenx(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

from := r.Args[0]
to := r.Args[1]
Expand Down Expand Up @@ -335,6 +376,9 @@ func (m *Miniredis) cmdScan(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

cursor, err := strconv.Atoi(r.Args[0])
if err != nil {
Expand Down
87 changes: 75 additions & 12 deletions cmd_hash.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,15 @@ func (m *Miniredis) cmdHset(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
key := r.Args[0]
field := r.Args[1]
value := r.Args[2]
if !m.handleAuth(r.Client(), out) {
return nil
}

var (
key = r.Args[0]
field = r.Args[1]
value = r.Args[2]
)

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
db := m.db(ctx.selectedDB)
Expand All @@ -59,9 +65,15 @@ func (m *Miniredis) cmdHsetnx(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
key := r.Args[0]
field := r.Args[1]
value := r.Args[2]
if !m.handleAuth(r.Client(), out) {
return nil
}

var (
key = r.Args[0]
field = r.Args[1]
value = r.Args[2]
)

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
db := m.db(ctx.selectedDB)
Expand Down Expand Up @@ -92,6 +104,10 @@ func (m *Miniredis) cmdHmset(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]
args := r.Args[1:]
if len(args)%2 != 0 {
Expand Down Expand Up @@ -125,6 +141,10 @@ func (m *Miniredis) cmdHget(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]
field := r.Args[1]

Expand Down Expand Up @@ -155,6 +175,10 @@ func (m *Miniredis) cmdHdel(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]
fields := r.Args[1:]

Expand Down Expand Up @@ -196,6 +220,10 @@ func (m *Miniredis) cmdHexists(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]
field := r.Args[1]

Expand Down Expand Up @@ -226,6 +254,10 @@ func (m *Miniredis) cmdHgetall(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
Expand Down Expand Up @@ -255,6 +287,10 @@ func (m *Miniredis) cmdHkeys(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
Expand Down Expand Up @@ -283,6 +319,10 @@ func (m *Miniredis) cmdHvals(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
Expand Down Expand Up @@ -311,6 +351,10 @@ func (m *Miniredis) cmdHlen(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
Expand All @@ -336,6 +380,10 @@ func (m *Miniredis) cmdHmget(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]

return withTx(m, out, r, func(out *redeo.Responder, ctx *connCtx) {
Expand Down Expand Up @@ -369,9 +417,15 @@ func (m *Miniredis) cmdHincrby(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
key := r.Args[0]
field := r.Args[1]
delta, err := strconv.Atoi(r.Args[2])
if !m.handleAuth(r.Client(), out) {
return nil
}

var (
key = r.Args[0]
field = r.Args[1]
delta, err = strconv.Atoi(r.Args[2])
)
if err != nil {
setDirty(r.Client())
out.WriteErrorString(msgInvalidInt)
Expand Down Expand Up @@ -401,9 +455,15 @@ func (m *Miniredis) cmdHincrbyfloat(out *redeo.Responder, r *redeo.Request) erro
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
key := r.Args[0]
field := r.Args[1]
delta, err := strconv.ParseFloat(r.Args[2], 64)
if !m.handleAuth(r.Client(), out) {
return nil
}

var (
key = r.Args[0]
field = r.Args[1]
delta, err = strconv.ParseFloat(r.Args[2], 64)
)
if err != nil {
setDirty(r.Client())
out.WriteErrorString(msgInvalidFloat)
Expand Down Expand Up @@ -433,6 +493,9 @@ func (m *Miniredis) cmdHscan(out *redeo.Responder, r *redeo.Request) error {
setDirty(r.Client())
return r.WrongNumberOfArgs()
}
if !m.handleAuth(r.Client(), out) {
return nil
}

key := r.Args[0]
cursor, err := strconv.Atoi(r.Args[1])
Expand Down
Loading

0 comments on commit f0f26da

Please sign in to comment.