diff --git a/doc/configuration.txt b/doc/configuration.txt index b02a8f7cb..ddc7c2002 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -30002,11 +30002,11 @@ server [/] [param*] server haproxy3 10.2.0.1:1024 shards - In some configurations, one would like to distribute the stick-table contents to some peers in place of sending all the stick-table contents to each peer - declared in the "peers" section. In such cases, "shards" specifies the - number of peer involved in this stick-table contents distribution. + declared in the "peers" section. In such cases, "shards" specifies the number + of peer involved in this stick-table contents distribution. It must be an + integer value between 1 and 65535. See also "shard" server parameter. table type {ip | integer | string [len ] | binary [len ]} diff --git a/src/cfgparse.c b/src/cfgparse.c index edaaa70e6..80ec5a24b 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -1010,8 +1010,8 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm) goto out; } - if (!curpeers->nb_shards) { - ha_alert("parsing [%s:%d] : '%s' : expects a strictly positive integer argument\n", + if (!curpeers->nb_shards || curpeers->nb_shards > 65535) { + ha_alert("parsing [%s:%d] : '%s' : expects a integer argument between 1 and 65535\n", file, linenum, args[0]); err_code |= ERR_FATAL; goto out;