00001 #ifndef N2NCFILTERBLOWFISH_H
00002 #define N2NCFILTERBLOWFISH_H
00003
00004 #include "filter.h"
00005 #include "blowfish.h"
00006 #include "packetmanager.h"
00007
00008 using namespace n2nc ;
00009
00010 namespace n2nc {
00011
00015 class FilterBlowFish : public n2nc::Filter{
00016 public:
00017 FilterBlowFish();
00018 virtual ~FilterBlowFish();
00019
00020 virtual Filter::status_t egress(void *inbuf, void *outbuf,size_t inlen,size_t *outlen) ;
00021 virtual Filter::status_t ingress(void *inbuf, void *outbuf,size_t inlen,size_t *outlen) ;
00022
00023 struct bfheader_t{
00024 uint32_t n_seq ;
00025
00026
00027 };
00028
00029 private:
00030 bool loadBF();
00031 security::BlowFish *m_bf ;
00032 bool m_bf_loaded ;
00033 void *m_tmpbuf ;
00034 };
00035
00036 }
00037
00038 #endif