/** * $Id: fp_conf.h,v 1.10 2002/10/29 18:29:09 plasmahh Exp $ * $Revision: 1.10 $ * $Author: plasmahh $ * $Date: 2002/10/29 18:29:09 $ */ #ifndef __FP_CONF_H #define __FP_CONF_H #ifndef __FP_H #include "fp.h" #endif /** * @brief Server Configuration Fingerprint * * This class is the configuration fingerprint * of server answers. It will only save the rfc return codes * from server answers */ class fp_conf : public fp, public dllist { public : /** * constructs this fingerprint * @param Version stirng this fingerprint is of */ fp_conf( const mstring& ver ) : fp(ver,FP_Conf) {} /** * Constructs a fingerprint out of another * (copy constructor) */ fp_conf( const fp_conf &ofp) : fp(ofp.version,FP_Conf) { *this = ofp; } virtual ~fp_conf( ) { } /** * adds a return to this fingerprint. The fingerprint will * automatically determine what information will be used * @param string with the return to actual command */ virtual void add( const mstring& ret); /** * adds a value to the fingerprint. Most likely used to build * up a saved fingerprint instead of creating a new one from * server returns. */ virtual void add( unsigned long fp) { dllist::add(fp); } /** * Generates the error difference between the actualobject and */ virtual unsigned long gen_error( fp_conf & ofp ); // make the operators to friends here friend ostream& operator << ( ostream &o, fp_conf & v); friend bool operator < ( const fp_conf&, const fp_conf&); friend bool operator > ( const fp_conf&, const fp_conf&); }; #else #warning Multiple inclusion of fp_conf.h check this,shouldnt be possible #endif /** *$Log: fp_conf.h,v $ *Revision 1.10 2002/10/29 18:29:09 plasmahh *fix no-compile for gcc 3.2 * *Revision 1.9 2002/10/21 08:38:28 plasmahh *begin cleanup and structure changes for smtpmap 0.8-stable * *Revision 1.8 2002/06/20 20:59:36 plasmahh *internal documentation changes * *Revision 1.7 2002/06/17 21:32:36 plasmahh *Fixed, so it compiles on g++3.1 and later * *Revision 1.6 2002/05/27 06:26:16 plasmahh *Implemented, tested and fixed fingerprinting. Test Programs generate good fingerprints, only need to put all in a program and generateerror values * *Revision 1.5 2002/05/23 22:37:55 plasmahh *fixed small things in scanner *split fps into .cpp files, because of linker errors in operators * *Revision 1.4 2002/05/23 19:50:04 plasmahh *refined include structure. *implemented and fixed some parts, still not working *BUG !! FIX THIS !!! : multiple definition of some operators, we will never compile !! * *Revision 1.3 2002/05/13 13:56:46 plasmahh **** empty log message *** * *Revision 1.2 2002/05/06 21:27:44 plasmahh *redesigned the classes a bit... *begin implementing main & static * *Revision 1.1 2002/05/05 20:25:29 plasmahh *Added new fingerprint classes... will delete older soon * */