Forum Discussion
spark_86682
Nov 29, 2007Historic F5 Account
For a general TCP solution, you'll have to use the second approach I talked about (DNS or authentication). You'll just do a "TCP::collect 1048576" in CLIENT_ACCEPTED (as well as your DNS or authentication request to your verification server), then to a TCP::release in the NAME_RESOLVED or AUTH_RESULT event.
The corner case here is where the client sends more than 1048576 bytes (1 megabyte) of data before you get the response from your verification server. In that case, the CLIENT_DATA event will fire. You can use a variable to track if NAME_RESOLVED or AUTH_RESULT fired before CLIENT_DATA, so you can at least detect this corner case. You'll have to decide how to handle it, though.