[MINOR] stream_sock: enable MSG_MORE when forwarding finite amount of data

While it could be dangerous to enable MSG_MORE on infinite data (eg:
interactive sessions), it makes sense to enable it when we know the
chunk to be sent is just a part of a larger one.
diff --git a/src/stream_sock.c b/src/stream_sock.c
index a9bf47a..7e9dd2c 100644
--- a/src/stream_sock.c
+++ b/src/stream_sock.c
@@ -603,6 +603,7 @@
 		 *    the ongoing FIN with the last segment.
 		 *  - we know we can't send everything at once and must get back
 		 *    here because of unaligned data
+		 *  - there is still a finite amount of data to forward
 		 * The test is arranged so that the most common case does only 2
 		 * tests.
 		 */
@@ -611,8 +612,8 @@
 			unsigned int send_flag = MSG_DONTWAIT | MSG_NOSIGNAL;
 
 			if (MSG_MORE &&
-			    (((b->flags & (BF_SHUTW|BF_SHUTW_NOW|BF_HIJACK)) == BF_SHUTW_NOW &&
-			      (max == b->send_max)) ||
+			    ((b->to_forward && b->to_forward != BUF_INFINITE_FORWARD) ||
+			     ((b->flags & (BF_SHUTW|BF_SHUTW_NOW|BF_HIJACK)) == BF_SHUTW_NOW && (max == b->send_max)) ||
 			     (max != b->l && max != b->send_max))
 			    && (fdtab[si->fd].flags & FD_FL_TCP)) {
 				send_flag |= MSG_MORE;