diff --git a/CHANGELOG b/CHANGELOG index 86645e5c4..87d4b25ad 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,9 @@ # Nmap Changelog ($Id$); -*-text-*- +o The NSE HTTP library now uses the host name specified on the command + line when making requests, which improves script scanning against web + servers with virtual hosts. Thanks to Sven Klemm for the patch. + o Removed a superfluous test for the existence of the C++ compiler in the configure script. The test was not robust when configured with CXX="ccache g++". Thanks to Rainer Müller for the report. diff --git a/nselib/http.lua b/nselib/http.lua index 2718d51b1..79908edb4 100644 --- a/nselib/http.lua +++ b/nselib/http.lua @@ -24,7 +24,7 @@ get = function( host, port, path, options ) options = options or {} local presets = {Host=host,Connection="close",['User-Agent']="Nmap NSE"} if type(host) == 'table' then - presets['Host'] = ( host.name ~= '' and host.name ) or host.ip + presets['Host'] = host.targetname or ( host.name ~= '' and host.name ) or host.ip end local header = options.header or {} @@ -72,7 +72,7 @@ request = function( host, port, data, options ) options = options or {} if type(host) == 'table' then - host = host.targetname or ( host.name ~= '' and host.name ) or host.ip + host = host.ip end local protocol = 'tcp'