The net-misc/knock-0.3 package contains a client (/usr/bin/knock) that gets stuck in TCP SYNWAIT state when attempting to send TCP port knocking sequences. The connection attempts normally take several minutes to timeout, which renders the client mostly useless for TCP port knocking. I've written a small patch for this that has been accepted upstream by the package maintainer. It is said to be included in the next upstream release, but that may still be a while (who knows). This bug contains the patch (against knock-0.3) for inclusion in the portage tree while we are waiting for the upstream fix.
Created attachment 36718 [details, diff] Change knock client to use non-blocking TCP connections
Sounds reasonable enough to include the patch. In cvs.
FYI: knock-0.3.1 has now been released with this patch included (and some other minor stuff).