[MINOR] tcp: add support for dynamic MSS setting

By passing a negative value to the "mss" argument of "bind" lines, it
becomes possible to subtract this value to the MSS advertised by the
client, which results in segments smaller than advertised. The effect
is useful with some TCP stacks which ACK less often when segments are
not full, because they only ACK every other full segment as suggested
by RFC1122.

NOTE: currently this has no effect on Linux kernel 2.6, a kernel patch
is still required to change the MSS of established connections.
diff --git a/src/proto_tcp.c b/src/proto_tcp.c
index 5039db8..6328d0a 100644
--- a/src/proto_tcp.c
+++ b/src/proto_tcp.c
@@ -509,7 +509,7 @@
 	}
 #endif
 #if defined(TCP_MAXSEG)
-	if (listener->maxseg) {
+	if (listener->maxseg > 0) {
 		if (setsockopt(fd, IPPROTO_TCP, TCP_MAXSEG,
 			       &listener->maxseg, sizeof(listener->maxseg)) == -1) {
 			msg = "cannot set MSS";