1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-15 12:19:02 +00:00
Commit Graph

155 Commits

Author SHA1 Message Date
dmiller
70f3350cf8 Remove unused param and return value from AVal_match 2023-01-27 22:47:09 +00:00
dmiller
1d770ee059 For fingerprint tools, print all differences without shortcutting 2023-01-27 22:47:08 +00:00
dmiller
d8cf5e6eac Fix incorrect behavior: empty string OS test is valid 2022-12-15 22:43:45 +00:00
dmiller
bc381ae5d0 Fix an outdated include 2022-12-12 21:30:44 +00:00
dmiller
024f1fefd2 Add wrapper class for a fingerprint observation, used by submission processing tools 2022-12-02 21:57:32 +00:00
dmiller
5f3be5ad17 Extend parse_fingerprint_file for FP processing tools to get MatchPoints only 2022-12-02 21:57:31 +00:00
dmiller
12bb86e678 Fix a couple off-by-one errors in parse_single_fingerprint 2022-12-02 21:57:31 +00:00
dmiller
a94287c4dd Ignore a completely empty Class line 2022-12-02 21:57:30 +00:00
dmiller
18a05139be Ensure str2AVal resets existing values and detects too-long inputs 2022-12-02 21:57:30 +00:00
dmiller
06e6700268 Fix an inscrutable g++ error due to non-const callable comparison 2022-12-02 21:57:29 +00:00
dmiller
d113e08de1 Const-ify a few things, add a copy constructor 2022-12-02 21:57:29 +00:00
dmiller
d957ca1274 Short-circuit os fingerprint matching if accuracy cannot be achieved 2022-11-16 15:55:55 +00:00
dmiller
56f59de131 Optimizations for IPv4 OS scan
Since the number, names, and preferred order of OS detection tests are
known, we can use fixed indices to put each test/value type in a
predictable location. Previously, we would insert the tests in an
arbitrary order, sort them, and then use strcmp() in each comparison to
ensure the sort order holds and any missing tests are skipped over.

Keeping test names in one location (MatchPoints) saves memory and keeps
the string pool small, which improves performance by reducing lookups
and making existing lookups faster.

Using a dedicated class (FingerPrintDef) for MatchPoints avoids calling
strtol() to obtain the points value for every comparison.
2022-11-11 18:44:19 +00:00
dmiller
e9f3b12e07 Move a useful function to nbase 2022-09-20 23:37:25 +00:00
dmiller
8b3465231e Fix crash: manage lifetime of now-dynamic test results 2022-09-13 20:05:34 +00:00
dmiller
1d8bf1deff Create AVal vectors in-place, do not copy
At startup with -O, this change reduces overall memory use by 4%, total
alloc/frees by 70%, and total instructions by 45%.
2022-09-13 16:10:05 +00:00
dmiller
9a494348c5 Use const and avoid strdup in fingerprint parsing 2022-09-13 16:10:05 +00:00
dmiller
dd690b3e0b Bump copyright date and update some links [ci skip] 2022-02-18 17:38:46 +00:00
fyodor
3aec3f3a07 Update to latest copyright templates. Main change is that Insecure.Com LLC is now Nmap Software LLC 2021-11-23 16:04:37 +00:00
dmiller
1fd272f8dd const all the things! 2021-04-23 20:37:41 +00:00
dmiller
ef2bafb09c Report system error message when fopen fails 2020-12-28 17:51:16 +00:00
dmiller
9faf70fc78 Remove always-true condition, but be clear that n does not change in this function 2020-10-15 18:10:14 +00:00
dmiller
ef8213a36c Reintegrate Nmap 7.90 release branch 2020-10-05 23:00:30 +00:00
dmiller
3635595b24 Do not search NMAPDATADIR on Windows as it is not defined. See #2051 2020-08-28 15:06:08 +00:00
dmiller
df1874cedd Reduce CPU usage of OS scan by 50%
expr_match was wasting cycles implementing syntax not used or documented
elsewhere (boolean AND, "+" to mean non-zero), copying and allocating new
strings. Replacement reduces number of comparisons and performs parsing
in-place on the const input expression.
2020-05-20 05:23:47 +00:00
dmiller
dd0ace6d4a Split string pool functions into separate file from osscan.cc 2020-01-16 19:12:57 +00:00
dmiller
4a1c9424d3 Replace localtime calls with thread-safe alternative. See #1834 2019-12-15 05:05:57 +00:00
dmiller
d639a53088 Bump copyright date in license headers 2019-05-28 21:36:04 +00:00
dmiller
ab79382f93 Additional header includes for time_t, gettimeofday, timeval, etc. See #1317, #1363 2019-05-22 15:27:13 +00:00
fyodor
ff62300249 Bump copyright dates to 2018 and slightly improve wording (doesn't change meaning) of Nmap license header text 2018-01-28 21:18:17 +00:00
dmiller
185db9db96 Correct a function name in a comment 2017-09-06 18:01:45 +00:00
dmiller
9c7ea727a7 Update license terms for 2017 2017-06-07 12:32:38 +00:00
dmiller
86edcb0e5b Remove some unused includes 2017-04-19 19:06:47 +00:00
dmiller
77457d5f9b Remove an unused include 2017-04-19 14:23:42 +00:00
fyodor
4bd67aa2fb Update the Nmap license/header text to reflect latest updates to docs/legal-notices.xml 2016-12-14 00:12:23 +00:00
dmiller
6e33d6ac3c Bump date in copyright headers 2016-04-04 15:38:44 +00:00
dmiller
f4619edece Update http urls for nmap.org to https 2015-11-05 20:41:05 +00:00
dmiller
ea4096c681 Strip or relocate more includes from nmap.h 2015-07-01 21:25:39 +00:00
dmiller
5e47450bdc Use forward-declaration of class FingerPrintResults in Target.h 2015-06-30 04:04:51 +00:00
dmiller
84d0e45641 Remove some unneeded includes of utils.h 2015-06-23 15:52:55 +00:00
dmiller
68409b2226 Update copyright date to 2015 2015-06-03 13:01:29 +00:00
dmiller
5adfb3b1de Update copyright notice to 2014 2014-08-16 01:52:33 +00:00
jay
8d5ec9e310 Reapply r33420, r33421. Fix a missing right parenthesis. https://xkcd.com/859/ 2014-08-15 12:09:22 +00:00
fyodor
f6f59a7cd7 Auto regeneration with latest template files, etc. 2014-08-13 22:57:43 +00:00
jay
d4cf544df6 Fix a missing bracket at the end of the IMPORTANT NMAP LICENSE TERMS part in each file 2014-08-02 19:29:50 +00:00
d33tah
421176fc00 Get rid of double newline at the EOF I accidentally introduced in the
last commit.
2014-06-18 11:30:02 +00:00
d33tah
e3d1c178e3 Add newlines at the EOF in conformance to Daniel's coding standards
proposal. This only affects Nmap's root directory. We might also need to
modify the code which autogenerates Nmap's source code files such as IPv6
fingerprinting code.
2014-06-18 10:18:58 +00:00
dmiller
3f0d0c16f9 Spellcheck on Nmap, Nsock, Nbase source files 2014-02-20 18:44:12 +00:00
david
fb27ac625f DB cannot be NULL here.
I checked the history and it doesn't appear that DB was ever passed in
to this function, but always allocated locally.

Found using the STACK tool: http://css.csail.mit.edu/stack/.
2013-10-08 21:50:47 +00:00
d33tah
ccd0c02a4c Add a lacking space in the license comment. The command I used to do this is:
for file in `grep "* including the terms and conditions of this license text as well.       \*" * -r --files-with-match `; do sed "s/\* including the terms and conditions of this license text as well.       \*/* including the terms and conditions of this license text as well.        */g" -i $file; done
2013-09-11 19:06:20 +00:00