X-Git-Url: https://git.saurik.com/apple/ipsec.git/blobdiff_plain/52b7d2ce06d68d0a9160d16f6e7c08c21c149d0d..e627a751fc4d26304657fc20440abb72632b1e6e:/ipsec-tools/racoon/isakmp_frag.h?ds=sidebyside diff --git a/ipsec-tools/racoon/isakmp_frag.h b/ipsec-tools/racoon/isakmp_frag.h index 52ee10a..7a23ec0 100644 --- a/ipsec-tools/racoon/isakmp_frag.h +++ b/ipsec-tools/racoon/isakmp_frag.h @@ -1,4 +1,6 @@ -/* $Id: isakmp_frag.h,v 1.2 2004/10/24 16:51:24 manubsd Exp $ */ +/* $NetBSD: isakmp_frag.h,v 1.5 2006/09/18 20:32:40 manu Exp $ */ + +/* Id: isakmp_frag.h,v 1.3 2005/04/09 16:25:24 manubsd Exp */ /* * Copyright (C) 2004 Emmanuel Dreyfus @@ -29,21 +31,39 @@ * SUCH DAMAGE. */ +#ifndef _ISAKMP_FRAG_H +#define _ISAKMP_FRAG_H + +#include "racoon_types.h" + +/* These are the values from parsing "remote {}" + block of the config file. */ +#define ISAKMP_FRAG_OFF FALSE /* = 0 */ +#define ISAKMP_FRAG_ON TRUE /* = 1 */ +#define ISAKMP_FRAG_FORCE 2 + /* IKE fragmentation capabilities */ +#define VENDORID_FRAG_IDENT 0x80000000 #define VENDORID_FRAG_BASE 0x40000000 #define VENDORID_FRAG_AGG 0x80000000 -#define ISAKMP_FRAG_MAXLEN 552 +#define ISAKMP_FRAG_MAXLEN 1280 // TODO: make configurable (for now, use 1280 to make enough room for typical overhead) + +#define FRAG_PUT_NON_ESP_MARKER 1 struct isakmp_frag_item { int frag_num; int frag_last; + u_int16_t frag_id; struct isakmp_frag_item *frag_next; vchar_t *frag_packet; }; -int isakmp_sendfrags(struct ph1handle *, vchar_t *); -unsigned int vendorid_frag_cap(struct isakmp_gen *); -int isakmp_frag_extract(struct ph1handle *, vchar_t *); -vchar_t *isakmp_frag_reassembly(struct ph1handle *); -vchar_t *isakmp_frag_addcap(vchar_t *, int); +int isakmp_sendfrags (phase1_handle_t *, vchar_t *); +unsigned int vendorid_frag_cap (struct isakmp_gen *); +int isakmp_frag_extract (phase1_handle_t *, vchar_t *); +vchar_t *isakmp_frag_reassembly (phase1_handle_t *); +vchar_t *isakmp_frag_addcap (vchar_t *, int); +int sendfragsfromto (int s, vchar_t *, struct sockaddr_storage *, struct sockaddr_storage *, int, u_int32_t); + +#endif /* _ISAKMP_FRAG_H */