From 5349d1619e7c2ac30a88183c693ac4f489f8ffbc Mon Sep 17 00:00:00 2001 From: david Date: Tue, 22 Feb 2011 04:32:54 +0000 Subject: [PATCH] Don't use strbuf to build payloads; it's unnecessary for these short strings. --- scripts/servicetags.nse | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/scripts/servicetags.nse b/scripts/servicetags.nse index 2194ae4ba..2a0c14ce2 100644 --- a/scripts/servicetags.nse +++ b/scripts/servicetags.nse @@ -72,7 +72,6 @@ categories = {"default", "discovery", "safe"} require("stdnse") require("shortport") -require("strbuf") -- Mapping from XML element names to human-readable table labels. local XML_TO_TEXT = { @@ -135,13 +134,11 @@ action = function(host, port) -- connect to the potential service tags discoverer try(socket:connect(host.ip, port.number, "udp")) - local payload = strbuf.new() + local payload - payload = payload .. "[PROBE] " - payload = payload .. tostring(os.time()) - payload = payload .. "\r\n" + payload = "[PROBE] ".. tostring(os.time()) .. "\r\n" - try(socket:send(strbuf.dump(payload))) + try(socket:send(payload)) local status local response @@ -169,14 +166,13 @@ action = function(host, port) table.insert(output, "URN: " .. urn) if xport ~= nil then - strbuf.clear(payload) - payload = payload .. "GET /stv1/agent/ HTTP/1.0\r\n" + payload = "GET /stv1/agent/ HTTP/1.0\r\n" socket = nmap.new_socket() socket:set_timeout(5000) try(socket:connect(host.ip, xport, "tcp")) - try(socket:send(strbuf.dump(payload))) + try(socket:send(payload)) status, response = socket:receive_buf("", true) @@ -193,10 +189,9 @@ action = function(host, port) end -- Check if any other service tags are registered and enumerate them - strbuf.clear(payload) - payload = payload .. "GET /stv1/svctag/ HTTP/1.0\r\n" + payload = "GET /stv1/svctag/ HTTP/1.0\r\n" try(socket:connect(host.ip, xport, "tcp")) - try(socket:send(strbuf.dump(payload))) + try(socket:send(payload)) status, response = socket:receive_buf("", true) @@ -211,13 +206,10 @@ action = function(host, port) for svctag in string.gmatch(response, "") do local tag = {} - strbuf.clear(payload) - payload = payload .. "GET " - payload = payload .. svctag - payload = payload .. " HTTP/1.0\r\n" + payload = "GET " .. svctag .. " HTTP/1.0\r\n" try(socket:connect(host.ip, xport, "tcp")) - try(socket:send(strbuf.dump(payload))) + try(socket:send(payload)) status, response = socket:receive_buf("", true)