Index: hadoop-namenode-info.nse
===================================================================
--- hadoop-namenode-info.nse	(revision 29792)
+++ hadoop-namenode-info.nse	(working copy)
@@ -63,7 +63,7 @@
 	local result = {}
 	local uri = "/dfsnodelist.jsp?whatNodes=" .. Status
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Response" ))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		local body = response['body']:gsub("%%","%%%%")
@@ -89,7 +89,7 @@
 	local result = {}
 	local uri = "/dfshealth.jsp"
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Response"))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		local body = response['body']:gsub("%%","%%%%")
@@ -139,7 +139,7 @@
 			table.insert(result,"Total\tUsed (DFS)\tUsed (Non DFS)\tRemaining")
 			table.insert(result, ("%s\t%s\t%s\t%s"):format(capacity[3],capacity[4],capacity[5],capacity[6]))
 		end
-		nmap.set_port_version(host, port)
+		nmap.set_port_version(host, port, "hardmatched")
 		local datanodes_live = get_datanodes(host,port, "LIVE")
 		if next(datanodes_live) then
 			table.insert(result, "Datanodes (Live): ")
Index: hadoop-secondary-namenode-info.nse
===================================================================
--- hadoop-secondary-namenode-info.nse	(revision 29792)
+++ hadoop-secondary-namenode-info.nse	(working copy)
@@ -59,7 +59,7 @@
 	local result = {}
 	local uri = "/status.jsp"
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Resposne"))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		local body = response['body']:gsub("%%","%%%%")
Index: hbase-region-info.nse
===================================================================
--- hbase-region-info.nse	(revision 29792)
+++ hbase-region-info.nse	(working copy)
@@ -53,9 +53,11 @@
 
 	local result = {}
 	local region_servers = {}
-	local uri = "/regionserver.jsp"
+	-- local uri = "/regionserver.jsp"
+	-- this may stop this working with older clusters, need to test
+	local uri = "/rs-status"
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Response"))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		local body = response['body']:gsub("%%","%%%%")
@@ -90,7 +92,7 @@
 				end
 			end
 		end
-		nmap.set_port_version(host, port)
+		nmap.set_port_version(host, port, "hardmatched")
 		return stdnse.format_output(true, result)
 	end
 end
Index: hadoop-jobtracker-info.nse
===================================================================
--- hadoop-jobtracker-info.nse	(revision 29792)
+++ hadoop-jobtracker-info.nse	(working copy)
@@ -63,7 +63,7 @@
 	local results = {}
 	local uri = "/jobhistory.jsp?pageno=-1&search="
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Response"))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		local body = response['body']:gsub("%%","%%%%")
@@ -84,7 +84,7 @@
 	local results = {}
 	local uri = "/machines.jsp?type=active"
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Response"))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		stdnse.print_debug(2, ("%s: Body %s\n"):format(SCRIPT_NAME,response['body']))
@@ -111,7 +111,7 @@
 	local result = {}
 	local uri = "/jobtracker.jsp"
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Response"))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		stdnse.print_debug(2, ("%s: Body %s\n"):format(SCRIPT_NAME,response['body']))
@@ -150,7 +150,7 @@
 			stdnse.print_debug(1, ("%s: Log Files %s"):format(SCRIPT_NAME,logfiles))
 			table.insert(result, ("Log Files: %s"):format(logfiles))
 		end
-		nmap.set_port_version(host, port)
+		nmap.set_port_version(host, port, "hardmatched")
 		local tasktrackers = get_tasktrackers (host, port)
 		if next(tasktrackers) then
 			table.insert(result, "Tasktrackers: ")
Index: hadoop-datanode-info.nse
===================================================================
--- hadoop-datanode-info.nse	(revision 29792)
+++ hadoop-datanode-info.nse	(working copy)
@@ -45,12 +45,12 @@
 	local result = {}
 	local uri = "/browseDirectory.jsp"
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Response"))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		port.version.name = "hadoop-datanode"
 		port.version.product = "Apache Hadoop"
-		nmap.set_port_version(host, port)
+		nmap.set_port_version(host, port, "hardmatched")
 		local body = response['body']:gsub("%%","%%%%")
 		stdnse.print_debug(2, ("%s: Body %s\n"):format(SCRIPT_NAME,body))
 		 if body:match("([^][\"]+)\">Log") then
Index: hbase-master-info.nse
===================================================================
--- hbase-master-info.nse	(revision 29792)
+++ hbase-master-info.nse	(working copy)
@@ -62,7 +62,7 @@
 	local region_servers = {}
 	local uri = "/master.jsp"
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Response"))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		local body = response['body']:gsub("%%","%%%%")
@@ -127,7 +127,7 @@
 				end
 			end
 		end
-		nmap.set_port_version(host, port)
+		nmap.set_port_version(host, port, "hardmatched")
 		if next(region_servers) then
 			table.insert(result,"Region Servers:")
 			table.insert(result,region_servers)
Index: hadoop-tasktracker-info.nse
===================================================================
--- hadoop-tasktracker-info.nse	(revision 29792)
+++ hadoop-tasktracker-info.nse	(working copy)
@@ -49,7 +49,7 @@
 	local result = {}
 	local uri = "/tasktracker.jsp"
 	stdnse.print_debug(1, ("%s:HTTP GET %s:%s%s"):format(SCRIPT_NAME, host.targetname or host.ip, port.number, uri))
-	local response = http.get( host.targetname or host.ip, port.number, uri )
+	local response = http.get( host, port, uri )
 	stdnse.print_debug(1, ("%s: Status %s"):format(SCRIPT_NAME,response['status-line'] or "No Response"))
 	if response['status-line'] and response['status-line']:match("200%s+OK") and response['body']  then
 		local body = response['body']:gsub("%%","%%%%")
@@ -74,7 +74,7 @@
 			stdnse.print_debug(1, ("%s: Logs %s"):format(SCRIPT_NAME,logs))
 			table.insert(result, ("Logs: %s"):format(logs))
 		end
-		nmap.set_port_version(host, port)
+		nmap.set_port_version(host, port, "hardmatched")
 		return stdnse.format_output(true, result)
 	end
 end
