From 35a67b31e54899e51edcb700079da19816d0d365 Mon Sep 17 00:00:00 2001
From: Pierre Krieger <pierre.krieger1708@gmail.com>
Date: Fri, 15 Mar 2019 14:52:22 +0100
Subject: [PATCH] Add a 16MiB hard limit to Substrate packets (#2009)

---
 substrate/core/network-libp2p/src/custom_proto/upgrade.rs | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/substrate/core/network-libp2p/src/custom_proto/upgrade.rs b/substrate/core/network-libp2p/src/custom_proto/upgrade.rs
index b411096aa45..caab8ec9d09 100644
--- a/substrate/core/network-libp2p/src/custom_proto/upgrade.rs
+++ b/substrate/core/network-libp2p/src/custom_proto/upgrade.rs
@@ -388,7 +388,11 @@ where TSubstream: AsyncRead + AsyncWrite,
 		socket: TSubstream,
 		info: Self::Info,
 	) -> Self::Future {
-		let framed = Framed::new(socket, UviBytes::default());
+		let framed = {
+			let mut codec = UviBytes::default();
+			codec.set_max_len(16 * 1024 * 1024);		// 16 MiB hard limit for packets.
+			Framed::new(socket, codec)
+		};
 
 		future::ok(RegisteredProtocolSubstream {
 			is_closing: false,
-- 
GitLab