1# $OpenBSD: isakmp_fld.fld,v 1.8 2004/06/20 15:24:05 ho Exp $ 2# $EOM: isakmp_fld.fld,v 1.5 1999/04/25 13:38:22 niklas Exp $ 3 4# 5# Copyright (c) 1998, 2001 Niklas Hallqvist. All rights reserved. 6# 7# Redistribution and use in source and binary forms, with or without 8# modification, are permitted provided that the following conditions 9# are met: 10# 1. Redistributions of source code must retain the above copyright 11# notice, this list of conditions and the following disclaimer. 12# 2. Redistributions in binary form must reproduce the above copyright 13# notice, this list of conditions and the following disclaimer in the 14# documentation and/or other materials provided with the distribution. 15# 16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26# 27 28# 29# This code was written under funding by Ericsson Radio Systems. 30# 31 32# XXX There are num-declared fields below that really are csts. 33 34# The ISAKMP message header. 35ISAKMP_HDR 36# XXX I want a way to specify COOKIES as an overlay of ICOOKIE + RCOOKIE 37 ICOOKIE raw 8 38 RCOOKIE raw 8 39 NEXT_PAYLOAD cst 1 isakmp_payload_cst 40 VERSION num 1 41 EXCH_TYPE cst 1 ike_exch_cst,isakmp_exch_cst 42 FLAGS mask 1 isakmp_flags_cst 43 MESSAGE_ID raw 4 44 LENGTH num 4 45. 46 47# Generic payload header. 48ISAKMP_GEN 49 NEXT_PAYLOAD cst 1 isakmp_payload_cst 50 RESERVED ign 1 51 LENGTH num 2 52. 53 54# ISAKMP data attributes 55ISAKMP_ATTR 56 TYPE num 2 ike_attr_cst,ipsec_attr_cst 57 LENGTH_VALUE num 2 58 VALUE raw 59. 60 61# Security association payload. 62ISAKMP_SA : ISAKMP_GEN 63 DOI num 4 isakmp_doi_cst,ipsec_doi_cst 64 SIT raw 65. 66 67# Proposal payload. 68ISAKMP_PROP : ISAKMP_GEN 69 NO num 1 70 PROTO cst 1 isakmp_proto_cst,ipsec_proto_cst 71 SPI_SZ num 1 72 NTRANSFORMS num 1 73 SPI raw 74. 75 76# Transform payload. 77ISAKMP_TRANSFORM : ISAKMP_GEN 78 NO num 1 79 ID num 1 80 RESERVED ign 2 81 SA_ATTRS raw 82. 83 84# Key exchange payload. 85ISAKMP_KE : ISAKMP_GEN 86 DATA raw 87. 88 89# Identification payload. 90ISAKMP_ID : ISAKMP_GEN 91 TYPE num 1 92 DOI_DATA raw 3 93 DATA raw 94. 95 96# Certificate payload. 97ISAKMP_CERT : ISAKMP_GEN 98 ENCODING cst 1 isakmp_certenc_cst 99 DATA raw 100. 101 102# Certificate request payload. 103ISAKMP_CERTREQ : ISAKMP_GEN 104 TYPE cst 1 isakmp_certenc_cst 105 AUTHORITY raw 106. 107 108# Hash payload. 109ISAKMP_HASH : ISAKMP_GEN 110 DATA raw 111. 112 113# Signature payload. 114ISAKMP_SIG : ISAKMP_GEN 115 DATA raw 116. 117 118# Nonce payload. 119ISAKMP_NONCE : ISAKMP_GEN 120 DATA raw 121. 122 123# Notify payload. 124ISAKMP_NOTIFY : ISAKMP_GEN 125 DOI cst 4 isakmp_doi_cst,ipsec_doi_cst 126 PROTO cst 1 isakmp_proto_cst 127 SPI_SZ num 1 128 MSG_TYPE cst 2 isakmp_notify_cst,ipsec_notify_cst 129 SPI raw 130. 131 132# Delete payload. 133ISAKMP_DELETE : ISAKMP_GEN 134 DOI cst 4 isakmp_doi_cst,ipsec_doi_cst 135 PROTO cst 1 isakmp_proto_cst 136 SPI_SZ num 1 137 NSPIS num 2 138 SPI raw 139. 140 141# Vendor ID payload. 142ISAKMP_VENDOR : ISAKMP_GEN 143 ID raw 144. 145 146# Attribute payload. 147ISAKMP_ATTRIBUTE : ISAKMP_GEN 148 TYPE num 1 isakmp_cfg_cst 149 RESERVED ign 1 150 ID num 2 151 ATTRS raw 152. 153 154# NAT Discovery payload. 155ISAKMP_NAT_D : ISAKMP_GEN 156 DATA raw 157. 158 159# NAT Original Address payload. 160ISAKMP_NAT_OA : ISAKMP_GEN 161 TYPE num 1 162 RESERVED ign 3 163 DATA raw 164. 165