mirror of
https://github.com/nmap/nmap.git
synced 2026-05-13 08:46:45 +00:00
Do not search NMAPDATADIR on Windows as it is not defined. See #2051
This commit is contained in:
parent
a734cd752c
commit
3635595b24
6 changed files with 18 additions and 14 deletions
|
|
@ -2318,12 +2318,12 @@ found:
|
|||
<member><option>--datadir</option></member>
|
||||
<member><envar>$NMAPDIR</envar><indexterm><primary><envar>NMAPDIR</envar> environment variable</primary></indexterm></member>
|
||||
<member><filename>~/.nmap</filename> (not searched on Windows)<indexterm><primary sortas="nmap directory"><filename>.nmap</filename> directory</primary></indexterm></member>
|
||||
<member><filename><replaceable>HOME</replaceable>\AppData\Roaming\nmap</filename> (only on Windows)<indexterm><primary sortas="nmap directory"><filename>.nmap</filename> directory</primary></indexterm></member>
|
||||
<member><filename><replaceable>APPDATA</replaceable>\nmap</filename> (only on Windows)<indexterm><primary sortas="nmap directory"><filename>.nmap</filename> directory</primary></indexterm></member>
|
||||
<member>the directory containing the <filename>nmap</filename>
|
||||
executable</member>
|
||||
<member>the directory containing the <filename>nmap</filename>
|
||||
executable, followed by <filename>../share/nmap</filename></member>
|
||||
<member><varname>NMAPDATADIR</varname><indexterm><primary><varname>NMAPDATADIR</varname></primary></indexterm></member>
|
||||
executable, followed by <filename>../share/nmap</filename> (not searched on Windows)</member>
|
||||
<member><varname>NMAPDATADIR</varname><indexterm><primary><varname>NMAPDATADIR</varname></primary></indexterm> (not searched on Windows)</member>
|
||||
<member>the current directory.</member>
|
||||
</simplelist>
|
||||
</para>
|
||||
|
|
|
|||
|
|
@ -665,11 +665,12 @@ found:
|
|||
<member><option>--datadir</option></member>
|
||||
<member><envar>$NMAPDIR</envar><indexterm><primary><envar>NMAPDIR</envar> environment variable</primary></indexterm></member>
|
||||
<member><filename>~/.nmap</filename> (not searched on Windows)<indexterm><primary sortas="nmap directory"><filename>.nmap</filename> directory</primary></indexterm></member>
|
||||
<member><filename><replaceable>APPDATA</replaceable>\nmap</filename> (only on Windows)<indexterm><primary sortas="nmap directory"><filename>.nmap</filename> directory</primary></indexterm></member>
|
||||
<member>the directory containing the <filename>nmap</filename>
|
||||
executable</member>
|
||||
<member>the directory containing the <filename>nmap</filename>
|
||||
executable, followed by <filename>../share/nmap</filename></member>
|
||||
<member><varname>NMAPDATADIR</varname><indexterm><primary><varname>NMAPDATADIR</varname></primary></indexterm></member>
|
||||
executable, followed by <filename>../share/nmap</filename> (not searched on Windows)</member>
|
||||
<member><varname>NMAPDATADIR</varname><indexterm><primary><varname>NMAPDATADIR</varname></primary></indexterm> (not searched on Windows)</member>
|
||||
<member>the current directory.</member>
|
||||
</simplelist>
|
||||
</para>
|
||||
|
|
|
|||
16
nmap.cc
16
nmap.cc
|
|
@ -2558,13 +2558,15 @@ static int nmap_fetchfile_sub(char *filename_returned, int bufferlen, const char
|
|||
|
||||
After that, the following directories are searched in order:
|
||||
* --datadir
|
||||
* $NMAPDIR
|
||||
* [Non-Windows only] ~/.nmap
|
||||
* [Windows only] ...\Users\<user>\AppData\Roaming\nmap
|
||||
* $NMAPDIR environment variable
|
||||
* User's home Nmap directory:
|
||||
- [Windows] %APPDATA%\nmap
|
||||
- [Non-Windows] ~/.nmap
|
||||
* The directory containing the nmap binary
|
||||
* [Non-Windows only] The directory containing the nmap binary plus
|
||||
"/../share/nmap"
|
||||
* NMAPDATADIR */
|
||||
* [Non-Windows only]:
|
||||
- The directory containing the nmap binary plus "../share/nmap"
|
||||
- NMAPDATADIR (usually $prefix/share/nmap)
|
||||
*/
|
||||
int nmap_fetchfile(char *filename_returned, int bufferlen, const char *file) {
|
||||
std::map<std::string, std::string>::iterator iter;
|
||||
char buf[BUFSIZ];
|
||||
|
|
@ -2681,12 +2683,14 @@ static int nmap_fetchfile_sub(char *filename_returned, int bufferlen, const char
|
|||
free(dir);
|
||||
}
|
||||
|
||||
#ifndef WIN32
|
||||
if (!foundsomething) {
|
||||
res = Snprintf(filename_returned, bufferlen, "%s/%s", NMAPDATADIR, file);
|
||||
if (res > 0 && res < bufferlen) {
|
||||
foundsomething = file_is_readable(filename_returned);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (foundsomething && (*filename_returned != '.')) {
|
||||
res = Snprintf(dot_buffer, sizeof(dot_buffer), "./%s", file);
|
||||
|
|
|
|||
|
|
@ -138,7 +138,6 @@
|
|||
like strcpy() even if they are done safely */
|
||||
#define _CRT_SECURE_NO_DEPRECATE 1
|
||||
#define NMAP_PLATFORM "i686-pc-windows-windows"
|
||||
#define NMAPDATADIR "c:\\nmap" /* FIXME: I really need to make this dynamic */
|
||||
|
||||
#define HAVE_OPENSSL 1
|
||||
#define HAVE_SSL_SET_TLSEXT_HOST_NAME 1
|
||||
|
|
|
|||
|
|
@ -1133,7 +1133,7 @@ FingerPrintDB *parse_fingerprint_reference_file(const char *dbname) {
|
|||
char filename[256];
|
||||
|
||||
if (nmap_fetchfile(filename, sizeof(filename), dbname) != 1) {
|
||||
fatal("OS scan requested but I cannot find %s file. It should be in %s, ~/.nmap/ or .", dbname, NMAPDATADIR);
|
||||
fatal("OS scan requested but I cannot find %s file.", dbname);
|
||||
}
|
||||
/* Record where this data file was found. */
|
||||
o.loaded_data_files[dbname] = filename;
|
||||
|
|
|
|||
|
|
@ -1439,7 +1439,7 @@ static void parse_nmap_service_probes(AllProbes *AP) {
|
|||
char filename[256];
|
||||
|
||||
if (nmap_fetchfile(filename, sizeof(filename), "nmap-service-probes") != 1){
|
||||
fatal("Service scan requested but I cannot find nmap-service-probes file. It should be in %s, ~/.nmap/ or .", NMAPDATADIR);
|
||||
fatal("Service scan requested but I cannot find nmap-service-probes file.");
|
||||
}
|
||||
|
||||
parse_nmap_service_probe_file(AP, filename);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue