Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

AnonymizeIPAddr Class Reference

#include <Anon.h>

Inheritance diagram for AnonymizeIPAddr:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ~AnonymizeIPAddr ()
ipaddr32_t Anonymize (ipaddr32_t addr)
virtual int PreservePrefix (ipaddr32_t, int)
virtual ipaddr32_t anonymize (ipaddr32_t addr)=0
int PreserveNet (ipaddr32_t input)

Protected Attributes

map< ipaddr32_t, ipaddr32_tmapping

Constructor & Destructor Documentation

virtual AnonymizeIPAddr::~AnonymizeIPAddr  )  [inline, virtual]
 

Definition at line 48 of file Anon.h.

References mapping.

00048 { mapping.clear(); }


Member Function Documentation

virtual ipaddr32_t AnonymizeIPAddr::anonymize ipaddr32_t  addr  )  [pure virtual]
 

Implemented in AnonymizeIPAddr_Seq, AnonymizeIPAddr_RandomMD5, AnonymizeIPAddr_PrefixMD5, and AnonymizeIPAddr_A50.

Referenced by Anonymize().

ipaddr32_t AnonymizeIPAddr::Anonymize ipaddr32_t  addr  ) 
 

Definition at line 56 of file Anon.cc.

References addr, anonymize(), ipaddr32_t, mapping, and p.

Referenced by anonymize_ip().

00057         {
00058         map<ipaddr32_t, ipaddr32_t>::iterator p = mapping.find(addr);
00059         if ( p != mapping.end() )
00060                 return p->second;
00061         else
00062                 {
00063                 ipaddr32_t new_addr = anonymize(addr);
00064                 mapping[addr] = new_addr;
00065 
00066                 return new_addr;
00067                 }
00068         }

int AnonymizeIPAddr::PreserveNet ipaddr32_t  input  ) 
 

Definition at line 70 of file Anon.cc.

References addr_to_class(), ipaddr32_t, and PreservePrefix().

00071         {
00072         switch ( addr_to_class(ntohl(input)) ) {
00073         case 'A':
00074                 return PreservePrefix(input, 8);
00075         case 'B':
00076                 return PreservePrefix(input, 16);
00077         case 'C':
00078                 return PreservePrefix(input, 24);
00079         default:
00080                 return 0;
00081         }
00082         }

virtual int AnonymizeIPAddr::PreservePrefix ipaddr32_t  ,
int 
[inline, virtual]
 

Reimplemented in AnonymizeIPAddr_A50.

Definition at line 53 of file Anon.h.

References internal_error().

Referenced by PreserveNet().

00054                 {
00055                 internal_error("prefix preserving is not supported for the anonymizer");
00056                 return 0;
00057                 }


Member Data Documentation

map<ipaddr32_t, ipaddr32_t> AnonymizeIPAddr::mapping [protected]
 

Definition at line 64 of file Anon.h.

Referenced by Anonymize(), and ~AnonymizeIPAddr().


The documentation for this class was generated from the following files:
Generated on Wed Sep 14 03:07:35 2005 for bro_docs by doxygen 1.3.5