#include "system.h"
-#include "cipher.h"
-#include "digest.h"
+#include "chacha-poly1305/chacha-poly1305.h"
#include "ecdh.h"
#include "ecdsa.h"
#define SPTPS_SIG 3 // Waiting for a SIGnature record
#define SPTPS_ACK 4 // Waiting for an ACKnowledgement record
+// Overhead for datagrams
+#define SPTPS_DATAGRAM_OVERHEAD 21
+
typedef bool (*send_data_t)(void *handle, uint8_t type, const char *data, size_t len);
typedef bool (*receive_record_t)(void *handle, uint8_t type, const char *data, uint16_t len);
uint16_t reclen;
bool instate;
- cipher_t *incipher;
- digest_t *indigest;
+ chacha_poly1305_ctx_t *incipher;
uint32_t inseqno;
uint32_t received;
unsigned int replaywin;
char *late;
bool outstate;
- cipher_t *outcipher;
- digest_t *outdigest;
+ chacha_poly1305_ctx_t *outcipher;
uint32_t outseqno;
ecdsa_t *mykey;