Example template: "your IP address {ip} has been blocked temporarily for bad behaviour"
This is so that clients can get messages such as:
"Your IP address 8fea::1 has been blocked temporarily for bad behaviour"
Similarly the the template: "Your login {login} for IP address {ip} has been blocked due to excessive badness"
etc.
This PR does mean that in all cases a blacklist response will incur an extra allocation for a new string compared with before, even if there are no {ip} or {login} templates in the message.
Example template: "your IP address {ip} has been blocked temporarily for bad behaviour" This is so that clients can get messages such as: "Your IP address 8fea::1 has been blocked temporarily for bad behaviour"
Similarly the the template: "Your login {login} for IP address {ip} has been blocked due to excessive badness" etc.
This PR does mean that in all cases a blacklist response will incur an extra allocation for a new string compared with before, even if there are no {ip} or {login} templates in the message.