mod_c2s: Validate that a 'to' attribute exists at all
authorKim Alvefur <zash@zash.se>
Sat, 02 Nov 2019 15:39:40 +0100
changeset 10383 b917602eac04
parent 10382 04c4750ff8d2
child 10384 18685a5e362e
mod_c2s: Validate that a 'to' attribute exists at all Prevents traceback from nameprep(nil)
plugins/mod_c2s.lua
--- a/plugins/mod_c2s.lua	Sat Nov 02 15:39:01 2019 +0100
+++ b/plugins/mod_c2s.lua	Sat Nov 02 15:39:40 2019 +0100
@@ -56,6 +56,11 @@
 
 function stream_callbacks.streamopened(session, attr)
 	local send = session.send;
+	if not attr.to then
+		session:close{ condition = "improper-addressing",
+			text = "A 'to' attribute is required on stream headers" };
+		return;
+	end
 	local host = nameprep(attr.to);
 	if not host then
 		session:close{ condition = "improper-addressing",