Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys for more strict rfc2367 conformance, move netkey/keyv2.h...



details:   https://anonhg.NetBSD.org/src/rev/7b8b680e7e2e
branches:  trunk
changeset: 481907:7b8b680e7e2e
user:      itojun <itojun%NetBSD.org@localhost>
date:      Wed Feb 09 03:27:29 2000 +0000

description:
for more strict rfc2367 conformance, move netkey/keyv2.h into net/pfkeyv2.h
(net/pfkeyv2.h used to just include netkey/keyv2.h).

netkey/keyv2.h includes #error only for several days, to inform
of file path change.  after that I plan to nuke the file.

diffstat:

 sys/net/pfkeyv2.h  |  394 ++++++++++++++++++++++++++++++++++++++++++++++++-
 sys/netkey/keyv2.h |  428 +----------------------------------------------------
 2 files changed, 394 insertions(+), 428 deletions(-)

diffs (truncated from 843 to 300 lines):

diff -r b85c6e159d4b -r 7b8b680e7e2e sys/net/pfkeyv2.h
--- a/sys/net/pfkeyv2.h Wed Feb 09 02:11:03 2000 +0000
+++ b/sys/net/pfkeyv2.h Wed Feb 09 03:27:29 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pfkeyv2.h,v 1.3 1999/07/06 12:23:19 itojun Exp $       */
+/*     $NetBSD: pfkeyv2.h,v 1.4 2000/02/09 03:27:29 itojun Exp $       */
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -29,9 +29,399 @@
  * SUCH DAMAGE.
  */
 
+/* KAME Id: keyv2.h,v 1.14 2000/01/29 06:21:03 itojun Exp */
+
+/*
+ * This file has been derived rfc 2367,
+ * And added some flags of SADB_KEY_FLAGS_ as SADB_X_EXT_.
+ *     sakane%ydc.co.jp@localhost
+ */
+
 #ifndef _NET_PFKEYV2_H_
 #define _NET_PFKEYV2_H_
 
-#include <netkey/keyv2.h>
+/*
+This file defines structures and symbols for the PF_KEY Version 2
+key management interface. It was written at the U.S. Naval Research
+Laboratory. This file is in the public domain. The authors ask that
+you leave this credit intact on any copies of this file.
+*/
+#ifndef __PFKEY_V2_H
+#define __PFKEY_V2_H 1
+
+#define PF_KEY_V2 2
+#define PFKEYV2_REVISION        199806L
+
+#define SADB_RESERVED    0
+#define SADB_GETSPI      1
+#define SADB_UPDATE      2
+#define SADB_ADD         3
+#define SADB_DELETE      4
+#define SADB_GET         5
+#define SADB_ACQUIRE     6
+#define SADB_REGISTER    7
+#define SADB_EXPIRE      8
+#define SADB_FLUSH       9
+#define SADB_DUMP        10
+#define SADB_X_PROMISC   11
+#define SADB_X_PCHANGE   12
+
+#define SADB_X_SPDUPDATE  13   /* not yet */
+#define SADB_X_SPDADD     14
+#define SADB_X_SPDDELETE  15
+#define SADB_X_SPDGET     16   /* not yet */
+#define SADB_X_SPDACQUIRE 17   /* not yet */
+#define SADB_X_SPDDUMP    18
+#define SADB_X_SPDFLUSH   19
+#define SADB_X_SPDSETIDX  20   /* add only SPD selector */
+#define SADB_X_SPDEXPIRE  21   /* not yet */
+#define SADB_MAX          21
+
+struct sadb_msg {
+  u_int8_t sadb_msg_version;
+  u_int8_t sadb_msg_type;
+  u_int8_t sadb_msg_errno;
+  u_int8_t sadb_msg_satype;
+  u_int16_t sadb_msg_len;
+  u_int8_t sadb_msg_mode;      /* XXX */
+  u_int8_t sadb_msg_reserved1;
+  u_int32_t sadb_msg_seq;
+  u_int32_t sadb_msg_pid;
+  u_int32_t sadb_msg_reqid;    /* XXX */
+                               /* when policy mng, value is zero. */
+  u_int32_t sadb_msg_reserved2;
+};
+
+struct sadb_ext {
+  u_int16_t sadb_ext_len;
+  u_int16_t sadb_ext_type;
+};
+
+struct sadb_sa {
+  u_int16_t sadb_sa_len;
+  u_int16_t sadb_sa_exttype;
+  u_int32_t sadb_sa_spi;
+  u_int8_t sadb_sa_replay;
+  u_int8_t sadb_sa_state;
+  u_int8_t sadb_sa_auth;
+  u_int8_t sadb_sa_encrypt;
+  u_int32_t sadb_sa_flags;
+};
+
+struct sadb_lifetime {
+  u_int16_t sadb_lifetime_len;
+  u_int16_t sadb_lifetime_exttype;
+  u_int32_t sadb_lifetime_allocations;
+  u_int64_t sadb_lifetime_bytes;
+  u_int64_t sadb_lifetime_addtime;
+  u_int64_t sadb_lifetime_usetime;
+};
+
+struct sadb_address {
+  u_int16_t sadb_address_len;
+  u_int16_t sadb_address_exttype;
+  u_int8_t sadb_address_proto;
+  u_int8_t sadb_address_prefixlen;
+  u_int16_t sadb_address_reserved;
+};
+
+struct sadb_key {
+  u_int16_t sadb_key_len;
+  u_int16_t sadb_key_exttype;
+  u_int16_t sadb_key_bits;
+  u_int16_t sadb_key_reserved;
+};
+
+struct sadb_ident {
+  u_int16_t sadb_ident_len;
+  u_int16_t sadb_ident_exttype;
+  u_int16_t sadb_ident_type;
+  u_int16_t sadb_ident_reserved;
+  u_int64_t sadb_ident_id;
+};
+/* in order to use to divide sadb_ident.sadb_ident_id */
+union sadb_x_ident_id {
+  u_int64_t sadb_x_ident_id;
+  struct _sadb_x_ident_id_addr {
+    u_int16_t prefix;
+    u_int16_t ul_proto;
+    u_int32_t reserved;
+  } sadb_x_ident_id_addr;
+};
+
+struct sadb_sens {
+  u_int16_t sadb_sens_len;
+  u_int16_t sadb_sens_exttype;
+  u_int32_t sadb_sens_dpd;
+  u_int8_t sadb_sens_sens_level;
+  u_int8_t sadb_sens_sens_len;
+  u_int8_t sadb_sens_integ_level;
+  u_int8_t sadb_sens_integ_len;
+  u_int32_t sadb_sens_reserved;
+};
+
+struct sadb_prop {
+  u_int16_t sadb_prop_len;
+  u_int16_t sadb_prop_exttype;
+  u_int8_t sadb_prop_replay;
+  u_int8_t sadb_prop_reserved[3];
+};
+
+struct sadb_comb {
+  u_int8_t sadb_comb_auth;
+  u_int8_t sadb_comb_encrypt;
+  u_int16_t sadb_comb_flags;
+  u_int16_t sadb_comb_auth_minbits;
+  u_int16_t sadb_comb_auth_maxbits;
+  u_int16_t sadb_comb_encrypt_minbits;
+  u_int16_t sadb_comb_encrypt_maxbits;
+  u_int32_t sadb_comb_reserved;
+  u_int32_t sadb_comb_soft_allocations;
+  u_int32_t sadb_comb_hard_allocations;
+  u_int64_t sadb_comb_soft_bytes;
+  u_int64_t sadb_comb_hard_bytes;
+  u_int64_t sadb_comb_soft_addtime;
+  u_int64_t sadb_comb_hard_addtime;
+  u_int64_t sadb_comb_soft_usetime;
+  u_int64_t sadb_comb_hard_usetime;
+};
+
+struct sadb_supported {
+  u_int16_t sadb_supported_len;
+  u_int16_t sadb_supported_exttype;
+  u_int32_t sadb_supported_reserved;
+};
+
+struct sadb_alg {
+  u_int8_t sadb_alg_id;
+  u_int8_t sadb_alg_ivlen;
+  u_int16_t sadb_alg_minbits;
+  u_int16_t sadb_alg_maxbits;
+  u_int16_t sadb_alg_reserved;
+};
+
+struct sadb_spirange {
+  u_int16_t sadb_spirange_len;
+  u_int16_t sadb_spirange_exttype;
+  u_int32_t sadb_spirange_min;
+  u_int32_t sadb_spirange_max;
+  u_int32_t sadb_spirange_reserved;
+};
+
+struct sadb_x_kmprivate {
+  u_int16_t sadb_x_kmprivate_len;
+  u_int16_t sadb_x_kmprivate_exttype;
+  u_int32_t sadb_x_kmprivate_reserved;
+};
+
+/* XXX Policy Extension */
+/* sizeof(struct sadb_x_policy) == 8 */
+struct sadb_x_policy {
+  u_int16_t sadb_x_policy_len;
+  u_int16_t sadb_x_policy_exttype;
+  u_int16_t sadb_x_policy_type;                /* See policy type of ipsec.h */
+  u_int8_t sadb_x_policy_dir;          /* direction, see ipsec.h */
+  u_int8_t sadb_x_policy_reserved;
+};
+/*
+ * When policy_type == IPSEC, it is followed by some of
+ * the ipsec policy request.
+ * [total length of ipsec policy requests]
+ *     = (sadb_x_policy_len * sizeof(uint64_t) - sizeof(struct sadb_x_policy))
+ */
+
+/* XXX IPsec Policy Request Extension */
+/*
+ * This structure is aligned 8 bytes.
+ */
+struct sadb_x_ipsecrequest {
+  u_int16_t sadb_x_ipsecrequest_len;   /* structure length aligned to 8 bytes.
+                                        * This value is true length of bytes.
+                                        * Not in units of 64 bits. */
+  u_int16_t sadb_x_ipsecrequest_proto; /* See ipsec.h */
+  u_int8_t sadb_x_ipsecrequest_mode;   /* See IPSEC_MODE_XX in ipsec.h. */
+  u_int8_t sadb_x_ipsecrequest_level;  /* See IPSEC_LEVEL_XX in ipsec.h */
+  u_int16_t sadb_x_ipsecrequest_reqid; /* See ipsec.h */
+
+  /*
+   * followed by source IP address of SA, and immediately followed by
+   * destination IP address of SA.  These encoded into two of sockaddr
+   * structure without any padding.  Must set each sa_len exactly.
+   * Each of length of the sockaddr structure are not aligned to 64bits,
+   * but sum of x_request and addresses is aligned to 64bits.
+   */
+};
+
+#define SADB_EXT_RESERVED             0
+#define SADB_EXT_SA                   1
+#define SADB_EXT_LIFETIME_CURRENT     2
+#define SADB_EXT_LIFETIME_HARD        3
+#define SADB_EXT_LIFETIME_SOFT        4
+#define SADB_EXT_ADDRESS_SRC          5
+#define SADB_EXT_ADDRESS_DST          6
+#define SADB_EXT_ADDRESS_PROXY        7
+#define SADB_EXT_KEY_AUTH             8
+#define SADB_EXT_KEY_ENCRYPT          9
+#define SADB_EXT_IDENTITY_SRC         10
+#define SADB_EXT_IDENTITY_DST         11
+#define SADB_EXT_SENSITIVITY          12
+#define SADB_EXT_PROPOSAL             13
+#define SADB_EXT_SUPPORTED_AUTH       14
+#define SADB_EXT_SUPPORTED_ENCRYPT    15
+#define SADB_EXT_SPIRANGE             16
+#define SADB_X_EXT_KMPRIVATE          17
+#define SADB_X_EXT_POLICY             18
+#define SADB_EXT_MAX                  18
+
+#define SADB_SATYPE_UNSPEC     0
+#define SADB_SATYPE_AH         2
+#define SADB_SATYPE_ESP                3
+#define SADB_SATYPE_RSVP       5
+#define SADB_SATYPE_OSPFV2     6
+#define SADB_SATYPE_RIPV2      7
+#define SADB_SATYPE_MIP                8
+#define SADB_X_SATYPE_IPCOMP   9
+#define SADB_SATYPE_MAX                9
+
+#define SADB_SASTATE_LARVAL   0
+#define SADB_SASTATE_MATURE   1
+#define SADB_SASTATE_DYING    2
+#define SADB_SASTATE_DEAD     3
+#define SADB_SASTATE_MAX      3
+
+#define SADB_SAFLAGS_PFS      1
+
+#define SADB_AALG_NONE          0
+#define SADB_AALG_MD5HMAC       1      /* 2 */
+#define SADB_AALG_SHA1HMAC      2      /* 3 */
+#define SADB_AALG_MD5           3       /* Keyed MD5 */
+#define SADB_AALG_SHA           4       /* Keyed SHA */
+#define SADB_AALG_NULL          5       /* null authentication */
+#define SADB_AALG_MAX           6
+
+#define SADB_EALG_NONE          0
+#define SADB_EALG_DESCBC        1      /* 2 */
+#define SADB_EALG_3DESCBC       2      /* 3 */
+#define SADB_EALG_NULL          3      /* 11 */
+#define SADB_EALG_BLOWFISHCBC   4
+#define SADB_EALG_CAST128CBC    5
+#if 0
+#define SADB_EALG_RC5CBC        6
+#define SADB_EALG_MAX           7
+#else
+#define SADB_EALG_MAX           6
+#endif
+
+#if 1  /*nonstandard */
+#define SADB_X_CALG_NONE       0
+#define SADB_X_CALG_OUI                1



Home | Main Index | Thread Index | Old Index