BUG/MEDIUM: channel:  bo_getline() must wait for \n until buffer is full

We must not report incomplete data if the buffer is not full, otherwise
we can abort some processing on the stats socket when dealing with massive
amounts of commands.
diff --git a/src/channel.c b/src/channel.c
index 3e2a3f3..2942d92 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -230,7 +230,8 @@
 			break;
 		p = buffer_wrap_add(chn->buf, p + 1);
 	}
-	if (ret > 0 && ret < len && ret < chn->buf->o &&
+	if (ret > 0 && ret < len &&
+	    (ret < chn->buf->o || !channel_full(chn)) &&
 	    *(str-1) != '\n' &&
 	    !(chn->flags & (CF_SHUTW|CF_SHUTW_NOW)))
 		ret = 0;