MINOR: spoe: Add "max-frame-size" statement in spoe-agent section

As its named said, this statement customize the maximum allowed size for frames
exchanged between HAProxy and SPOAs. It should be greater than or equal to 256
and less than or equal to (tune.bufsize - 4) (4 bytes are reserved to the frame
length).
This commit is contained in:
Christopher Faulet 2017-02-27 09:40:34 +01:00 committed by Willy Tarreau
parent cecd8527b3
commit 2eca6b50a7

View File

@ -3244,6 +3244,24 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
goto out;
curagent->eps_max = atol(args[1]);
}
else if (!strcmp(args[0], "max-frame-size")) {
if (!*args[1]) {
Alert("parsing [%s:%d] : '%s' expects an integer argument.\n",
file, linenum, args[0]);
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
if (alertif_too_many_args(1, file, linenum, args, &err_code))
goto out;
curagent->max_frame_size = atol(args[1]);
if (curagent->max_frame_size < MIN_FRAME_SIZE ||
curagent->max_frame_size > MAX_FRAME_SIZE) {
Alert("parsing [%s:%d] : '%s' expects a positive integer argument in the range [%d, %d].\n",
file, linenum, args[0], MIN_FRAME_SIZE, MAX_FRAME_SIZE);
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
}
else if (*args[0]) {
Alert("parsing [%s:%d] : unknown keyword '%s' in spoe-agent section.\n",
file, linenum, args[0]);