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>
(cherry picked from commit 0eb398501fab9c016b9b6008682c43873c4a6188)

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;