160 lines
3.7 KiB
C
160 lines
3.7 KiB
C
/* $OpenBSD: types.h,v 1.54 2024/02/15 20:10:45 tobhe Exp $ */
|
|
|
|
/*
|
|
* Copyright (c) 2019 Tobias Heider <tobias.heider@stusta.de>
|
|
* Copyright (c) 2010-2013 Reyk Floeter <reyk@openbsd.org>
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
|
|
#ifndef IKED_TYPES_H
|
|
#define IKED_TYPES_H
|
|
|
|
#ifndef IKED_USER
|
|
#define IKED_USER "_iked"
|
|
#endif
|
|
|
|
#ifndef IKED_CONFIG
|
|
#define IKED_CONFIG "/etc/iked.conf"
|
|
#endif
|
|
|
|
#define IKED_SOCKET "/var/run/iked.sock"
|
|
|
|
#ifndef IKED_CA
|
|
#define IKED_CA "/etc/iked/"
|
|
#endif
|
|
|
|
#define IKED_CA_DIR "ca/"
|
|
#define IKED_CRL_DIR "crls/"
|
|
#define IKED_CERT_DIR "certs/"
|
|
#define IKED_PUBKEY_DIR "pubkeys/"
|
|
#define IKED_PRIVKEY IKED_CA "private/local.key"
|
|
#define IKED_PUBKEY "local.pub"
|
|
|
|
#define IKED_VENDOR_ID "OpenIKED-"
|
|
|
|
#define IKED_OCSP_RESPCERT "ocsp/responder.crt"
|
|
|
|
#define IKED_OPT_VERBOSE 0x00000001
|
|
#define IKED_OPT_NOACTION 0x00000002
|
|
#define IKED_OPT_PASSIVE 0x00000004
|
|
|
|
#define IKED_IKE_PORT 500
|
|
#define IKED_NATT_PORT 4500
|
|
|
|
#define IKED_NONCE_MIN 16 /* XXX 128 bits */
|
|
#define IKED_NONCE_SIZE 32 /* XXX 256 bits */
|
|
|
|
#define IKED_COOKIE_MIN 1 /* min 1 bytes */
|
|
#define IKED_COOKIE_MAX 64 /* max 64 bytes */
|
|
|
|
#define IKED_COOKIE2_MIN 8 /* min 8 bytes */
|
|
#define IKED_COOKIE2_MAX 64 /* max 64 bytes */
|
|
|
|
#define IKED_ID_SIZE 1024 /* XXX should be dynamic */
|
|
#define IKED_PSK_SIZE 1024 /* XXX should be dynamic */
|
|
#define IKED_MSGBUF_MAX 8192
|
|
#define IKED_CFG_MAX 16 /* maximum CP attributes */
|
|
#define IKED_IPPROTO_MAX 16
|
|
#define IKED_TAG_SIZE 64
|
|
#define IKED_CYCLE_BUFFERS 8 /* # of static buffers for mapping */
|
|
#define IKED_PASSWORD_SIZE 256 /* limited by most EAP types */
|
|
|
|
#define IKED_LIFETIME_BYTES 4294967296ULL /* 4 GB */
|
|
#define IKED_LIFETIME_SECONDS 10800 /* 3 hours */
|
|
|
|
#define IKED_E 0x1000 /* Decrypted flag */
|
|
|
|
struct iked_constmap {
|
|
unsigned int cm_type;
|
|
const char *cm_name;
|
|
const char *cm_descr;
|
|
};
|
|
|
|
struct iked_transform {
|
|
uint8_t xform_type;
|
|
uint16_t xform_id;
|
|
uint16_t xform_length;
|
|
uint16_t xform_keylength;
|
|
unsigned int xform_score;
|
|
struct iked_constmap *xform_map;
|
|
};
|
|
|
|
enum imsg_type {
|
|
IMSG_NONE,
|
|
IMSG_CTL_OK,
|
|
IMSG_CTL_FAIL,
|
|
IMSG_CTL_VERBOSE,
|
|
IMSG_CTL_NOTIFY,
|
|
IMSG_CTL_RELOAD,
|
|
IMSG_CTL_RESET,
|
|
IMSG_CTL_COUPLE,
|
|
IMSG_CTL_DECOUPLE,
|
|
IMSG_CTL_ACTIVE,
|
|
IMSG_CTL_PASSIVE,
|
|
IMSG_CTL_RESET_ID,
|
|
IMSG_CTL_SHOW_SA,
|
|
IMSG_CTL_STATIC,
|
|
IMSG_COMPILE,
|
|
IMSG_UDP_SOCKET,
|
|
IMSG_PFKEY_SOCKET,
|
|
IMSG_IKE_MESSAGE,
|
|
IMSG_CFG_POLICY,
|
|
IMSG_CFG_FLOW,
|
|
IMSG_CFG_USER,
|
|
IMSG_CERTREQ,
|
|
IMSG_CERT,
|
|
IMSG_CERTVALID,
|
|
IMSG_CERTINVALID,
|
|
IMSG_SCERT,
|
|
IMSG_IF_ADDADDR,
|
|
IMSG_IF_DELADDR,
|
|
IMSG_VROUTE_ADD,
|
|
IMSG_VROUTE_DEL,
|
|
IMSG_VROUTE_CLONE,
|
|
IMSG_VDNS_ADD,
|
|
IMSG_VDNS_DEL,
|
|
IMSG_OCSP_FD,
|
|
IMSG_OCSP_CFG,
|
|
IMSG_AUTH,
|
|
IMSG_PRIVKEY,
|
|
IMSG_PUBKEY,
|
|
IMSG_CTL_SHOW_CERTSTORE,
|
|
IMSG_CTL_SHOW_STATS,
|
|
IMSG_CTL_PROCFD,
|
|
IMSG_CTL_PROCREADY,
|
|
};
|
|
|
|
enum privsep_procid {
|
|
PROC_PARENT = 0,
|
|
PROC_CONTROL,
|
|
PROC_CERT,
|
|
PROC_IKEV2,
|
|
PROC_MAX
|
|
};
|
|
|
|
enum flushmode {
|
|
RESET_RELOAD = 0,
|
|
RESET_ALL,
|
|
RESET_CA,
|
|
RESET_POLICY,
|
|
RESET_SA,
|
|
RESET_USER,
|
|
};
|
|
|
|
#ifndef nitems
|
|
#define nitems(_a) (sizeof((_a)) / sizeof((_a)[0]))
|
|
#endif
|
|
|
|
#endif /* IKED_TYPES_H */
|