# $OpenBSD: isakmp_fld.fld,v 1.8 2004/06/20 15:24:05 ho Exp $ # $EOM: isakmp_fld.fld,v 1.5 1999/04/25 13:38:22 niklas Exp $ # # Copyright (c) 1998, 2001 Niklas Hallqvist. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # # This code was written under funding by Ericsson Radio Systems. # # XXX There are num-declared fields below that really are csts. # The ISAKMP message header. ISAKMP_HDR # XXX I want a way to specify COOKIES as an overlay of ICOOKIE + RCOOKIE ICOOKIE raw 8 RCOOKIE raw 8 NEXT_PAYLOAD cst 1 isakmp_payload_cst VERSION num 1 EXCH_TYPE cst 1 ike_exch_cst,isakmp_exch_cst FLAGS mask 1 isakmp_flags_cst MESSAGE_ID raw 4 LENGTH num 4 . # Generic payload header. ISAKMP_GEN NEXT_PAYLOAD cst 1 isakmp_payload_cst RESERVED ign 1 LENGTH num 2 . # ISAKMP data attributes ISAKMP_ATTR TYPE num 2 ike_attr_cst,ipsec_attr_cst LENGTH_VALUE num 2 VALUE raw . # Security association payload. ISAKMP_SA : ISAKMP_GEN DOI num 4 isakmp_doi_cst,ipsec_doi_cst SIT raw . # Proposal payload. ISAKMP_PROP : ISAKMP_GEN NO num 1 PROTO cst 1 isakmp_proto_cst,ipsec_proto_cst SPI_SZ num 1 NTRANSFORMS num 1 SPI raw . # Transform payload. ISAKMP_TRANSFORM : ISAKMP_GEN NO num 1 ID num 1 RESERVED ign 2 SA_ATTRS raw . # Key exchange payload. ISAKMP_KE : ISAKMP_GEN DATA raw . # Identification payload. ISAKMP_ID : ISAKMP_GEN TYPE num 1 DOI_DATA raw 3 DATA raw . # Certificate payload. ISAKMP_CERT : ISAKMP_GEN ENCODING cst 1 isakmp_certenc_cst DATA raw . # Certificate request payload. ISAKMP_CERTREQ : ISAKMP_GEN TYPE cst 1 isakmp_certenc_cst AUTHORITY raw . # Hash payload. ISAKMP_HASH : ISAKMP_GEN DATA raw . # Signature payload. ISAKMP_SIG : ISAKMP_GEN DATA raw . # Nonce payload. ISAKMP_NONCE : ISAKMP_GEN DATA raw . # Notify payload. ISAKMP_NOTIFY : ISAKMP_GEN DOI cst 4 isakmp_doi_cst,ipsec_doi_cst PROTO cst 1 isakmp_proto_cst SPI_SZ num 1 MSG_TYPE cst 2 isakmp_notify_cst,ipsec_notify_cst SPI raw . # Delete payload. ISAKMP_DELETE : ISAKMP_GEN DOI cst 4 isakmp_doi_cst,ipsec_doi_cst PROTO cst 1 isakmp_proto_cst SPI_SZ num 1 NSPIS num 2 SPI raw . # Vendor ID payload. ISAKMP_VENDOR : ISAKMP_GEN ID raw . # Attribute payload. ISAKMP_ATTRIBUTE : ISAKMP_GEN TYPE num 1 isakmp_cfg_cst RESERVED ign 1 ID num 2 ATTRS raw . # NAT Discovery payload. ISAKMP_NAT_D : ISAKMP_GEN DATA raw . # NAT Original Address payload. ISAKMP_NAT_OA : ISAKMP_GEN TYPE num 1 RESERVED ign 3 DATA raw .