1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 04:31:29 +00:00
Files
nmap/libpcre/config.h.in
luis 003e23c4e8 Merge r17853:17879 from /nmap-exp/luis/nping-dedup.
------------------------------------------------------------------------
r17854 | luis | 2010-06-06 15:47:34 +0200 (Sun, 06 Jun 2010) | 1 line

Removed a few things from the documentation that were rerefenced but not yet implemented
------------------------------------------------------------------------
r17855 | luis | 2010-06-06 15:53:45 +0200 (Sun, 06 Jun 2010) | 1 line

Fixed a bug that caused ARP Requests to be sent no matter what the user supplied as the ARP operation code
------------------------------------------------------------------------
r17856 | luis | 2010-06-06 16:23:47 +0200 (Sun, 06 Jun 2010) | 1 line

Fixed a bug that produced a buffer overflow when non-RFC-compliant ICMP types were set. Now, if user supplies a weird ICMP type, a regular 8-byte ICMP header will be sent
------------------------------------------------------------------------
r17858 | luis | 2010-06-06 22:08:13 +0200 (Sun, 06 Jun 2010) | 1 line

Added a function (and a helper) so the number parsing in Nping is consistent. The new function, parse_unsigned_number() may parse 8, 16, or 32 bit unsigned integers, specified in hexadecimal, octal or decimal. Alternatively, source string may be the special value <<rand>> or <<random>>, and the function will generate a random number of the desired length. Function validate_number_spec() is needed due to the limitations of strtoul() that doesn't report errors on things like 1zzzppp, and gives undesired results when a minus sign is supplied. validate_number_spec() performs various checks, trying to detect bogus input. However, if something is not catched by it, strtoul() may take care of it. I've been testing both functions for hours, even with automatically generated input and I haven't been able to find any bug, so I think its safe to start using this.
------------------------------------------------------------------------
r17859 | luis | 2010-06-06 23:43:04 +0200 (Sun, 06 Jun 2010) | 1 line

Added the possibility to supply special value <<rand>> in MAC address specification
------------------------------------------------------------------------
r17860 | luis | 2010-06-07 00:01:30 +0200 (Mon, 07 Jun 2010) | 1 line

Added the possibility to specify the special value <<broadcast>> so the address FF:FF:FF:FF:FF:FF is set. Also, fixed move string length check so the function does not return OP_FAILURE before checking for these special values
------------------------------------------------------------------------
r17866 | luis | 2010-06-07 01:05:31 +0200 (Mon, 07 Jun 2010) | 1 line

Implemented function getRandomTextPayload() to support <<random>> value in payload string specification
------------------------------------------------------------------------
r17867 | luis | 2010-06-07 01:08:29 +0200 (Mon, 07 Jun 2010) | 1 line

Lots of changes in Nping's  command-line argument parser to use the new parse_unsigned_number() function. Now virtually all parameters may be specified in hexadecimal, octal or decimal base, or even using the special value <<random>>
------------------------------------------------------------------------
r17868 | luis | 2010-06-07 01:12:02 +0200 (Mon, 07 Jun 2010) | 1 line

Removed useless var declarations. There is already an aux32 var declared at the start of the function
------------------------------------------------------------------------
r17869 | luis | 2010-06-07 01:24:00 +0200 (Mon, 07 Jun 2010) | 1 line

Fixed a bug that caused the SYN flag to be set even when the user had specified --flags 0x00.
------------------------------------------------------------------------
r17870 | luis | 2010-06-07 01:27:33 +0200 (Mon, 07 Jun 2010) | 1 line

Fixed another bug in flag parsing. When an empty string was being passed, the SYN bit was being set. Now if an empty string is passed, no flags will be set
------------------------------------------------------------------------
r17873 | luis | 2010-06-07 13:12:36 +0200 (Mon, 07 Jun 2010) | 1 line

Fixed a bug that caused -g to be ignored in TCP-Connect or UDP unprivileged modes. Now, providing the user has enough privileges on his system, the specified source port will be set, at least in the first packet send to each target.  I've tested this on Linux and the OS complains when Nping attempts to use the same source port twice for the same target IP address in TCP-Connect mode. For this reason, a new warning was added so the users know that it will probably fail.
------------------------------------------------------------------------
r17875 | luis | 2010-06-07 13:25:04 +0200 (Mon, 07 Jun 2010) | 1 line

Fixed a bug that caused message <<Operation now in progress>> to be displayed in TCP-Connect mode when RST packets were being received. The problem was that errno was being used and by the time it was referenced, its value had changed so the wrong message was being printed. Now, the error code is obtained from nsock trough a call to nse_errorcode() and the correct message is displayed: <<Connection refused>>
------------------------------------------------------------------------
r17876 | luis | 2010-06-07 13:29:04 +0200 (Mon, 07 Jun 2010) | 1 line

Minor fix
------------------------------------------------------------------------
r17877 | luis | 2010-06-07 13:49:52 +0200 (Mon, 07 Jun 2010) | 1 line

Fixed a bug that caused Nping to fail when the first supplied target was not resolvable (eg: nping bogushost.fkz scanme.insecure.com tcpdump.com).
------------------------------------------------------------------------
r17878 | luis | 2010-06-07 14:56:02 +0200 (Mon, 07 Jun 2010) | 1 line

Fixed a bug that causes Nping to fail when scanning an IP address assigned to a local network interface. The problem is complex and difficult to solve due to the way Nping handles targets and determines things like src IP addresses. This patch introduces an ugly hack (an explicit check for a particular situation in route_dst() ). This is not the most elegant solution and it probably only works in Linux, but it should be OK until a better solution is found.
------------------------------------------------------------------------
r17879 | luis | 2010-06-07 18:46:44 +0200 (Mon, 07 Jun 2010) | 1 line

Added a few wrappers for the new parse_unsigned_number() function. This should minimize the risks of calling it with an invalid pointer type. Also, its prototype has been removed from utils.h and it has been declared static. Additionally, the validate_number_spec() function was removed, relying on strtoul() to perform the appropriate validation.
------------------------------------------------------------------------
2010-06-09 17:16:09 +00:00

237 lines
9.0 KiB
C

/* config.h.in. Generated from configure.ac by autoheader. */
/* On Unix-like systems config.h.in is converted by "configure" into config.h.
Some other environments also support the use of "configure". PCRE is written in
Standard C, but there are a few non-standard things it can cope with, allowing
it to run on SunOS4 and other "close to standard" systems.
If you are going to build PCRE "by hand" on a system without "configure" you
should copy the distributed config.h.generic to config.h, and then set up the
macro definitions the way you need them. You must then add -DHAVE_CONFIG_H to
all of your compile commands, so that config.h is included at the start of
every source.
Alternatively, you can avoid editing by using -D on the compiler command line
to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H.
PCRE uses memmove() if HAVE_MEMMOVE is set to 1; otherwise it uses bcopy() if
HAVE_BCOPY is set to 1. If your system has neither bcopy() nor memmove(), set
them both to 0; an emulation function will be used. */
/* By default, the \R escape sequence matches any Unicode line ending
character or sequence of characters. If BSR_ANYCRLF is defined, this is
changed so that backslash-R matches only CR, LF, or CRLF. The build- time
default can be overridden by the user of PCRE at runtime. On systems that
support it, "configure" can be used to override the default. */
#undef BSR_ANYCRLF
/* If you are compiling for a system that uses EBCDIC instead of ASCII
character codes, define this macro as 1. On systems that can use
"configure", this can be done via --enable-ebcdic. */
#undef EBCDIC
/* Define to 1 if you have the `bcopy' function. */
#undef HAVE_BCOPY
/* Define to 1 if you have the <bzlib.h> header file. */
#undef HAVE_BZLIB_H
/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if the system has the type `long long'. */
#undef HAVE_LONG_LONG
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <readline/history.h> header file. */
#undef HAVE_READLINE_HISTORY_H
/* Define to 1 if you have the <readline/readline.h> header file. */
#undef HAVE_READLINE_READLINE_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strtoll' function. */
#undef HAVE_STRTOLL
/* Define to 1 if you have the `strtoq' function. */
#undef HAVE_STRTOQ
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if the system has the type `unsigned long long'. */
#undef HAVE_UNSIGNED_LONG_LONG
/* Define to 1 if you have the <windows.h> header file. */
#undef HAVE_WINDOWS_H
/* Define to 1 if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H
/* Define to 1 if you have the `_strtoi64' function. */
#undef HAVE__STRTOI64
/* The value of LINK_SIZE determines the number of bytes used to store links
as offsets within the compiled regex. The default is 2, which allows for
compiled patterns up to 64K long. This covers the vast majority of cases.
However, PCRE can also be compiled to use 3 or 4 bytes instead. This allows
for longer patterns in extreme cases. On systems that support it,
"configure" can be used to override this default. */
#undef LINK_SIZE
/* Mac OS X on Intel */
#undef MACOSX
/* The value of MATCH_LIMIT determines the default number of times the
internal match() function can be called during a single execution of
pcre_exec(). There is a runtime interface for setting a different limit.
The limit exists in order to catch runaway regular expressions that take
for ever to determine that they do not match. The default is set very large
so that it does not accidentally catch legitimate cases. On systems that
support it, "configure" can be used to override this default default. */
#undef MATCH_LIMIT
/* The above limit applies to all calls of match(), whether or not they
increase the recursion depth. In some environments it is desirable to limit
the depth of recursive calls of match() more strictly, in order to restrict
the maximum amount of stack (or heap, if NO_RECURSE is defined) that is
used. The value of MATCH_LIMIT_RECURSION applies only to recursive calls of
match(). To have any useful effect, it must be less than the value of
MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT. There is
a runtime method for setting a different limit. On systems that support it,
"configure" can be used to override the default. */
#undef MATCH_LIMIT_RECURSION
/* This limit is parameterized just in case anybody ever wants to change it.
Care must be taken if it is increased, because it guards against integer
overflow caused by enormously large patterns. */
#undef MAX_NAME_COUNT
/* This limit is parameterized just in case anybody ever wants to change it.
Care must be taken if it is increased, because it guards against integer
overflow caused by enormously large patterns. */
#undef MAX_NAME_SIZE
/* The value of NEWLINE determines the newline character sequence. On systems
that support it, "configure" can be used to override the default, which is
10. The possible values are 10 (LF), 13 (CR), 3338 (CRLF), -1 (ANY), or -2
(ANYCRLF). */
#undef NEWLINE
/* PCRE uses recursive function calls to handle backtracking while matching.
This can sometimes be a problem on systems that have stacks of limited
size. Define NO_RECURSE to get a version that doesn't use recursion in the
match() function; instead it creates its own stack by steam using
pcre_recurse_malloc() to obtain memory from the heap. For more detail, see
the comments and other stuff just above the match() function. On systems
that support it, "configure" can be used to set this in the Makefile (use
--disable-stack-for-recursion). */
#undef NO_RECURSE
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* If you are compiling for a system other than a Unix-like system or
Win32, and it needs some magic to be inserted before the definition
of a function that is exported by the library, define this macro to
contain the relevant magic. If you do not define this macro, it
defaults to "extern" for a C compiler and "extern C" for a C++
compiler on non-Win32 systems. This macro apears at the start of
every exported function that is part of the external API. It does
not appear on functions that are "external" in the C sense, but
which are internal to the library. */
#undef PCRE_EXP_DEFN
/* Define if linking statically (TODO: make nice with Libtool) */
#undef PCRE_STATIC
/* When calling PCRE via the POSIX interface, additional working storage is
required for holding the pointers to capturing substrings because PCRE
requires three integers per substring, whereas the POSIX interface provides
only two. If the number of expected substrings is small, the wrapper
function uses space on the stack, because this is faster than using
malloc() for each call. The threshold above which the stack is no longer
used is defined by POSIX_MALLOC_THRESHOLD. On systems that support it,
"configure" can be used to override this default. */
#undef POSIX_MALLOC_THRESHOLD
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to allow pcregrep to be linked with libbz2, so that it is able to
handle .bz2 files. */
#undef SUPPORT_LIBBZ2
/* Define to allow pcretest to be linked with libreadline. */
#undef SUPPORT_LIBREADLINE
/* Define to allow pcregrep to be linked with libz, so that it is able to
handle .gz files. */
#undef SUPPORT_LIBZ
/* Define to enable support for Unicode properties */
#undef SUPPORT_UCP
/* Define to enable support for the UTF-8 Unicode encoding. */
#undef SUPPORT_UTF8
/* Version number of package */
#undef VERSION
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t