mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-11 07:20:19 +00:00
RPC: don't cap page size in unsafe mode (#6329)
This commit is contained in:
@@ -52,6 +52,7 @@ Friendly reminder: We have a [bug bounty program](https://hackerone.com/tendermi
|
||||
### FEATURES
|
||||
|
||||
- [config] Add `--mode` flag and config variable. See [ADR-52](https://github.com/tendermint/tendermint/blob/master/docs/architecture/adr-052-tendermint-mode.md) @dongsam
|
||||
- [rpc] /#6329 Don't cap page size in unsafe mode (@gotjoshua, @cmwaters)
|
||||
|
||||
### IMPROVEMENTS
|
||||
|
||||
|
||||
@@ -126,7 +126,9 @@ func validatePerPage(perPagePtr *int) int {
|
||||
perPage := *perPagePtr
|
||||
if perPage < 1 {
|
||||
return defaultPerPage
|
||||
} else if perPage > maxPerPage {
|
||||
// in unsafe mode there is no max on the page size but in safe mode
|
||||
// we cap it to maxPerPage
|
||||
} else if perPage > maxPerPage && !env.Config.Unsafe {
|
||||
return maxPerPage
|
||||
}
|
||||
return perPage
|
||||
|
||||
@@ -58,17 +58,16 @@ func TestPaginationPage(t *testing.T) {
|
||||
|
||||
func TestPaginationPerPage(t *testing.T) {
|
||||
cases := []struct {
|
||||
totalCount int
|
||||
perPage int
|
||||
newPerPage int
|
||||
}{
|
||||
{5, 0, defaultPerPage},
|
||||
{5, 1, 1},
|
||||
{5, 2, 2},
|
||||
{5, defaultPerPage, defaultPerPage},
|
||||
{5, maxPerPage - 1, maxPerPage - 1},
|
||||
{5, maxPerPage, maxPerPage},
|
||||
{5, maxPerPage + 1, maxPerPage},
|
||||
{0, defaultPerPage},
|
||||
{1, 1},
|
||||
{2, 2},
|
||||
{defaultPerPage, defaultPerPage},
|
||||
{maxPerPage - 1, maxPerPage - 1},
|
||||
{maxPerPage, maxPerPage},
|
||||
{maxPerPage + 1, maxPerPage},
|
||||
}
|
||||
|
||||
for _, c := range cases {
|
||||
@@ -79,4 +78,11 @@ func TestPaginationPerPage(t *testing.T) {
|
||||
// nil case
|
||||
p := validatePerPage(nil)
|
||||
assert.Equal(t, defaultPerPage, p)
|
||||
|
||||
// test in unsafe mode
|
||||
env.Config.Unsafe = true
|
||||
perPage := 1000
|
||||
p = validatePerPage(&perPage)
|
||||
assert.Equal(t, perPage, p)
|
||||
env.Config.Unsafe = false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user