-
Nils Goroll authored
The ban() vcl action adds bans like the ban CLI command, but has no facility for in-band error reporting. Errors are only reported to VSL. We add std.ban() as a replacement for ban() with identical semantics, but returning if the ban was successfully added. std.ban_error() is added to report the error, if any. We add v00009.vtc mirroring v00011.vtc, but with std.ban() replacing ban(). The test number was chosen to fill a gap close to v00011.vtc. Implementation: We change VRT_ban_string() to return any error or NULL for success. Where the error is not a constant string, we need to format it on the workspace. For workspace overflows, we need to fall back to canned constant error strings to ensure that the error case never appears as success.