diff options
Diffstat (limited to 'packet.h')
-rw-r--r-- | packet.h | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/packet.h b/packet.h deleted file mode 100644 index 72c7b6b..0000000 --- a/packet.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * anytun - * - * The secure anycast tunneling protocol (satp) defines a protocol used - * for communication between any combination of unicast and anycast - * tunnel endpoints. It has less protocol overhead than IPSec in Tunnel - * mode and allows tunneling of every ETHER TYPE protocol (e.g. - * ethernet, ip, arp ...). satp directly includes cryptography and - * message authentication based on the methodes used by SRTP. It is - * intended to deliver a generic, scaleable and secure solution for - * tunneling and relaying of packets of any protocol. - * - * - * Copyright (C) 2007 anytun.org <satp@wirdorange.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program (see the file COPYING included with this - * distribution); if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef _PACKET_H_ -#define _PACKET_H_ - -#include "datatypes.h" -#include "buffer.h" -#include "authTag.h" - -class Packet : public Buffer -{ -public: - Packet(); - - /** - * Packet Constructor - * @param payload_length Payload Length - */ - Packet(u_int32_t payload_length); - Packet(const Buffer &src); - - bool hasHeader() const; - Packet& withHeader(bool b); - seq_nr_t getSeqNr() const; - sender_id_t getSenderId() const; - Packet& addHeader(seq_nr_t seq_nr, sender_id_t sender_id); - Packet& removeHeader(); - Packet& setSeqNr(seq_nr_t seq_nr); - Packet& setSenderId(sender_id_t sender_id); - - bool hasPayloadType() const; - Packet& withPayloadType(bool b); - payload_type_t getPayloadType() const; - Packet& addPayloadType(payload_type_t payload_type); - Packet& removePayloadType(); - - bool hasAuthTag() const; - Packet& withAuthTag(bool b); - AuthTag getAuthTag() const; - Packet& addAuthTag(AuthTag auth_tag); - Packet& removeAuthTag(); - -private: - struct HeaderStruct - { - seq_nr_t seq_nr; - sender_id_t sender_id; - }__attribute__((__packed__)); - bool has_header_; - bool has_payload_type_; - bool has_auth_tag_; - - struct HeaderStruct* header_; - payload_type_t* payload_type_; - AuthTag* auth_tag_; - - static const u_int32_t AUTHTAG_SIZE = 10; -}; - -#endif |