Browse code

Repair "tcp server queue overflow" brokenness, more <stdbool.h> fallout.

Return value of mbuf_len() wrong - it's returning a length value, not
a yes/no value - so when the queue length approached 65 (full!), it
still only returned "1", leading to MBUF overflow later on. Change
from "bool" to "unsigned int", misbehaviour gone...

This fixes OpenVPN trac ticket #263.

Signed-off-by: Gert Doering <gert@greenie.muc.de>
Acked-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Peter Caprioli <petercap@kth.se>
Message-Id: <20130312100706.GN953@greenie.muc.de>
URL: http://article.gmane.org/gmane.network.openvpn.devel/7396
Signed-off-by: Gert Doering <gert@greenie.muc.de>

Gert Doering authored on 2013/03/12 05:03:20
Showing 1 changed files
... ...
@@ -83,7 +83,7 @@ mbuf_defined (const struct mbuf_set *ms)
83 83
   return ms && ms->len;
84 84
 }
85 85
 
86
-static inline bool
86
+static inline unsigned int
87 87
 mbuf_len (const struct mbuf_set *ms)
88 88
 {
89 89
   return ms->len;