From f5d29c490f2bc7875c7cf07dd90ecea08963f2e5 Mon Sep 17 00:00:00 2001 From: dmiller Date: Sat, 5 Aug 2017 20:49:54 +0000 Subject: [PATCH] Move some private classes to TargetGroup.cc from TargetGroup.h --- TargetGroup.cc | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ TargetGroup.h | 52 -------------------------------------------------- 2 files changed, 51 insertions(+), 52 deletions(-) diff --git a/TargetGroup.cc b/TargetGroup.cc index 52c62c92a1..bf7c2c40f5 100644 --- a/TargetGroup.cc +++ b/TargetGroup.cc @@ -141,6 +141,14 @@ #include #include +#include // CHAR_BIT + +/* We use bit vectors to represent what values are allowed in an IPv4 octet. + Each vector is built up of an array of bitvector_t (any convenient integer + type). */ +typedef unsigned long bitvector_t; +/* A 256-element bit vector, representing legal values for one octet. */ +typedef bitvector_t octet_bitvector[(256 - 1) / (sizeof(unsigned long) * CHAR_BIT) + 1]; #define BITVECTOR_BITS (sizeof(bitvector_t) * CHAR_BIT) #define BIT_SET(v, n) ((v)[(n) / BITVECTOR_BITS] |= 1UL << ((n) % BITVECTOR_BITS)) @@ -148,6 +156,49 @@ extern NmapOps o; +class NetBlockIPv4Ranges : public NetBlock { +public: + octet_bitvector octets[4]; + + NetBlockIPv4Ranges(); + + bool next(struct sockaddr_storage *ss, size_t *sslen); + void apply_netmask(int bits); + std::string str() const; + +private: + unsigned int counter[4]; +}; + +class NetBlockIPv6Netmask : public NetBlock { +public: + void set_addr(const struct sockaddr_in6 *addr); + + bool next(struct sockaddr_storage *ss, size_t *sslen); + void apply_netmask(int bits); + std::string str() const; + +private: + bool exhausted; + struct sockaddr_in6 addr; + struct in6_addr start; + struct in6_addr cur; + struct in6_addr end; +}; + +class NetBlockHostname : public NetBlock { +public: + NetBlockHostname(const char *hostname, int af); + int af; + int bits; + + NetBlock *resolve(); + + bool next(struct sockaddr_storage *ss, size_t *sslen); + void apply_netmask(int bits); + std::string str() const; +}; + NewTargets *NewTargets::new_targets; /* Return a newly allocated string containing the part of expr up to the last diff --git a/TargetGroup.h b/TargetGroup.h index 9200bab482..d5cd1d14aa 100644 --- a/TargetGroup.h +++ b/TargetGroup.h @@ -135,20 +135,11 @@ #ifndef TARGETGROUP_H #define TARGETGROUP_H -#include - #include #include #include #include -/* We use bit vectors to represent what values are allowed in an IPv4 octet. - Each vector is built up of an array of bitvector_t (any convenient integer - type). */ -typedef unsigned long bitvector_t; -/* A 256-element bit vector, representing legal values for one octet. */ -typedef bitvector_t octet_bitvector[(256 - 1) / (sizeof(unsigned long) * CHAR_BIT) + 1]; - class NetBlock { public: virtual ~NetBlock() {} @@ -172,49 +163,6 @@ class NetBlock { virtual std::string str() const = 0; }; -class NetBlockIPv4Ranges : public NetBlock { -public: - octet_bitvector octets[4]; - - NetBlockIPv4Ranges(); - - bool next(struct sockaddr_storage *ss, size_t *sslen); - void apply_netmask(int bits); - std::string str() const; - -private: - unsigned int counter[4]; -}; - -class NetBlockIPv6Netmask : public NetBlock { -public: - void set_addr(const struct sockaddr_in6 *addr); - - bool next(struct sockaddr_storage *ss, size_t *sslen); - void apply_netmask(int bits); - std::string str() const; - -private: - bool exhausted; - struct sockaddr_in6 addr; - struct in6_addr start; - struct in6_addr cur; - struct in6_addr end; -}; - -class NetBlockHostname : public NetBlock { -public: - NetBlockHostname(const char *hostname, int af); - int af; - int bits; - - NetBlock *resolve(); - - bool next(struct sockaddr_storage *ss, size_t *sslen); - void apply_netmask(int bits); - std::string str() const; -}; - /* Adding new targets is for NSE scripts */ class NewTargets { public: