From 08a6d8db4b15599c4ec5f8e49bcfc811decfe161 Mon Sep 17 00:00:00 2001 From: nnposter Date: Wed, 6 Nov 2019 22:15:32 +0000 Subject: [PATCH] Fix for two RTSP request assembly defects introduced in r37474: * Adds missing header-terminating empty line to the request string * Rectifies a code crash when the header table is empty Fixes #1781, closes #1796 --- CHANGELOG | 3 +++ nselib/rtsp.lua | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f08f74380..a43654c23 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,9 @@ o [Windows] Add support for the new loopback behavior in Npcap 0.9983. This Adapter to be installed, which was a source of problems for some users. [Daniel Miller] +o [NSE][GH#1781][GH#1796] The RTSP library was not correctly generating request + strings. [nnposter] + o [NSE][GH#1706] VNC handshakes were failing with insert position out of bounds error. [nnposter] diff --git a/nselib/rtsp.lua b/nselib/rtsp.lua index 7186eb5a8..68a54cc13 100644 --- a/nselib/rtsp.lua +++ b/nselib/rtsp.lua @@ -80,10 +80,11 @@ Request = { local req = { ("%s %s RTSP/1.0"):format(self.method, self.url), - ("CSeq: %d"):format(self.cseq), - table.unpack(self.headers), - "" + ("CSeq: %d"):format(self.cseq) } + table.move(self.headers, 1, #self.headers, #req + 1, req) + table.insert(req, "") + table.insert(req, "") return table.concat(req, "\r\n") end, }