dmiller
687061d534
Avoid extra parsing/copying
2026-06-25 16:33:13 +00:00
dmiller
c86a45ef6e
Consolidate TCP option parsing
nmap multiplatform autobuilds / build (arm64, gcc, ubuntu-latest-gcc-arm64, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (clang, freebsd-15-clang, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (clang, macos-15-clang, macos-15) (push) Waiting to run
nmap multiplatform autobuilds / build (clang, macos-26-clang, macos-26) (push) Waiting to run
nmap multiplatform autobuilds / build (clang, netbsd-10-clang, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (clang, openbsd-7-clang, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (clang, solaris-11-clang, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (clang, ubuntu-latest-clang, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (egcc, openbsd-7-gcc, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (gcc, freebsd-15-gcc, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (gcc, netbsd-10-gcc, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (gcc, solaris-11-gcc, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (gcc, ubuntu-latest-gcc, ubuntu-latest) (push) Waiting to run
nmap multiplatform autobuilds / build (msvc, windows-latest-msvc, windows-latest) (push) Waiting to run
2026-06-24 14:47:12 +00:00
dmiller
2a16e04500
Fix an issue with trusting packet ip_len field.
nmap multiplatform autobuilds / build (arm64, gcc, ubuntu-latest-gcc-arm64, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (clang, freebsd-15-clang, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (clang, macos-15-clang, macos-15) (push) Has been cancelled
nmap multiplatform autobuilds / build (clang, macos-26-clang, macos-26) (push) Has been cancelled
nmap multiplatform autobuilds / build (clang, netbsd-10-clang, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (clang, openbsd-7-clang, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (clang, solaris-11-clang, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (clang, ubuntu-latest-clang, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (egcc, openbsd-7-gcc, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (gcc, freebsd-15-gcc, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (gcc, netbsd-10-gcc, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (gcc, solaris-11-gcc, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (gcc, ubuntu-latest-gcc, ubuntu-latest) (push) Has been cancelled
nmap multiplatform autobuilds / build (msvc, windows-latest-msvc, windows-latest) (push) Has been cancelled
2026-06-03 21:42:20 +00:00
dmiller
dc6b27be7e
Use existing aligned header structs in osscan functions
2026-04-22 16:13:08 +00:00
dmiller
8ef3ed1471
Avoid undefined behavior from unaligned accesses
2026-04-20 15:21:55 +00:00
dmiller
95d380b836
Bump copyright date to 2026 [skip ci]
2026-02-16 22:33:40 +00:00
dmiller
3499025302
Wrap dnet eth functions for non-Ethernet links
2025-06-23 20:54:32 +00:00
dmiller
6db5c9cb85
Bump copyright date
2025-02-26 17:44:43 +00:00
dmiller
f999182d0f
Bump date and reapply header templates
2024-02-28 18:46:45 +00:00
dmiller
6f6b2de214
Apply new license templates, bump copyright date
2023-04-14 17:11:46 +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
fb64aa9738
Don't use string_pool for ephemeral OS fingerprint results
2022-09-16 21:58:42 +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
ef8213a36c
Reintegrate Nmap 7.90 release branch
2020-10-05 23:00:30 +00:00
dmiller
d639a53088
Bump copyright date in license headers
2019-05-28 21:36:04 +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
9c7ea727a7
Update license terms for 2017
2017-06-07 12:32:38 +00:00
dmiller
e813de759a
Reduce use of utils.h for error functions
2017-04-20 22:39:08 +00:00
dmiller
891c3be3b9
remove tcpip.h from other headers' includes
2017-04-19 13:53:57 +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
e124565c58
Use time_t instead of long and double for storing uptime
...
Fixes #275 .
This results in fewer casts and less subtraction than the previous
method, and should still be portable. Only division and subtraction and
difftime are performed on the value, so it will not overflow. And the
TCP timestamp itself is a 32-bit value, so it can't refer to a time
farther in the past than the 32-bit epoch. One explicit cast (to long
long) is used in order to ensure the format string can handle any
conceivable value according to the compiler and avoid a warning message.
2016-01-13 20:53:39 +00:00
dmiller
b99e76ec60
Fix a few more structs forward-declared as class.
2015-07-08 14:25:45 +00:00
dmiller
ffad433b43
Reduce more inclusions of .h files by forward-declaring classes
2015-07-02 04:14:51 +00:00
dmiller
e9bdcd811a
Strip tcpip.h of some unnecessary includes
2015-06-30 18:34:28 +00:00
dmiller
638a123ba6
Move osscan structs from global_structures to osscan2.h
2015-06-23 15:53:05 +00:00
dmiller
764cb886ae
Remove or relocate some old structs from global_structures.h
2015-06-23 15:53:00 +00:00
dmiller
618cd6cfb2
Move some structs from global_structures.h to timing.h
2015-06-23 15:52:52 +00:00
dmiller
dfa969f3a2
Remove unneeded nmap.h and global_structures.h includes in .h files
2015-06-23 00:09:05 +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
jay
f5e438b966
Got rid of (unnecessary) spaces in blank lines in *.cc and *.h files.
...
sed -i 's/^\s*$//'
2014-06-19 11:36:10 +00:00
dmiller
3f0d0c16f9
Spellcheck on Nmap, Nsock, Nbase source files
2014-02-20 18:44:12 +00:00
dmiller
45179297f5
Use u32 instead of int for all ipids
...
IP ID is an unsigned value. Explicit wrapping checks were needed to
support using a signed int, and a few users were reporting compile
errors because of a large constant:
http://seclists.org/nmap-dev/2013/q4/247
2013-12-04 12:51:59 +00:00
dmiller
866db7eea3
Revert r32528, was not tested on Windows
2013-11-27 13:32:05 +00:00
dmiller
9c36367eea
header file cleanup
...
see http://seclists.org/nmap-dev/2013/q4/168
Move some includes out of nmap.h: nmap.h gets included lots of places,
and unconditionally included math.h, ctype.h, errno.h, stdio.h,
sys/stat.h, fcntl.h, sys/types.h, and stdarg.h. This commit moves those
includes into the .cc files where they are necessary and out of nmap.h
Remove redundant include global_structures.h, included from nmap.h
Removed redundant code included from nmap.h
Removing #include nbase.h when nmap.h is included (redundant)
Remove duplicate #include lines
Add ifndef guards to a few .h files
2013-11-26 20:55:29 +00:00
dmiller
c47c0e2567
Remove unused member OSScan::ip_ver
2013-11-25 22:09:40 +00:00
david
36bea16af7
IPv6 idle scan patch by Mathias Morbitzer.
...
http://seclists.org/nmap-dev/2013/q3/549
2013-10-27 06:33:49 +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
fyodor
6e01ecd452
Update an email address, fix a typo, and slightly reword a sentence.
2013-07-30 00:02:00 +00:00
fyodor
83fb10ec56
Update the Nmap copyright/license files. This isn't the new Nmap Public Source License we've been discussing on the list, but rather just a 'quick patch' to hopefully prevent some of the abuse we've been seeing from companies lately. More details on the changes will be posted to the dev list. Also, the copyright year was updated to 2013 (which is the only change to Nsock license statements).
2013-07-28 22:05:05 +00:00
fyodor
6a42ef47c0
Update the Nmap and Nsock source code headers to note new Nmap dev mailing list email address and a better URL for Nmap license.
2012-12-06 01:21:42 +00:00
david
9698ccabaf
Get rid of "using namespace std".
...
This entails using names like std::vector and std::list rather than bare
vector and list, which was already the prevailing style. The immediate
cause of this is a header file on Solaris 10 that uses a "struct map"
that conflicts with std::map.
In file included from struct_ip.h:40:0,
from tcpip.cc:108:
/usr/include/net/if.h:99:9: error: template argument required for 'struct map'
2012-03-19 16:48:27 +00:00
fyodor
684f42c4ad
One more adjustment to the license text. Notes that Zenmap, Ncat, and Nping use this license. Note that contributions made directly in the src repository are treated the same as those in the mailing list.
2012-03-01 06:53:35 +00:00
fyodor
e96a7b7b24
Update the headers for each code file. This updates code copyright dates to 2012, notes the awesome NSE in the list of technology, and slightly rewords the derivative works clarification
2012-03-01 06:32:23 +00:00