15 #ifndef __included_ikev2_priv_h__ 16 #define __included_ikev2_priv_h__ 28 #include <openssl/rand.h> 29 #include <openssl/dh.h> 30 #include <openssl/hmac.h> 31 #include <openssl/evp.h> 33 #define IKEV2_DEBUG_PAYLOAD 1 35 #if IKEV2_DEBUG_PAYLOAD == 1 36 #define DBG_PLD(my_args...) clib_warning(my_args) 38 #define DBG_PLD(my_args...) 325 #define ikev2_payload_new_chain(V) vec_validate (V, 0) 326 #define ikev2_payload_destroy_chain(V) do { \ 327 vec_free((V)->data); \ ikev2_main_per_thread_data_t * per_thread_data
void ikev2_payload_add_sa(ikev2_payload_chain_t *c, ikev2_sa_proposal_t *proposals)
ikev2_transforms_set ike_ts
void ikev2_payload_add_notify(ikev2_payload_chain_t *c, u16 msg_type, u8 *data)
ikev2_transform_integ_type_t
u8 * ikev2_calc_prfplus(ikev2_sa_transform_t *tr, u8 *key, u8 *seed, int len)
ikev2_sa_transform_t * ikev2_sa_get_td_for_type(ikev2_sa_proposal_t *p, ikev2_transform_type_t type)
ikev2_profile_t * profiles
void ikev2_payload_add_id(ikev2_payload_chain_t *c, ikev2_id_t *id, u8 type)
u8 * last_sa_init_res_packet_data
ikev2_profile_t * profile
ikev2_ts_t * ikev2_parse_ts_payload(ike_payload_header_t *ikep)
ikev2_transform_dh_type_t
EVP_PKEY * ikev2_load_cert_file(u8 *file)
void ikev2_payload_add_ts(ikev2_payload_chain_t *c, ikev2_ts_t *ts, u8 type)
ikev2_sa_proposal_t * r_proposals
EVP_PKEY * ikev2_load_key_file(u8 *file)
ikev2_sa_proposal_t * i_proposals
int ikev2_verify_sign(EVP_PKEY *pkey, u8 *sigbuf, u8 *data)
ikev2_sa_transform_t * transforms
ikev2_responder_t responder
u8 * last_sa_init_req_packet_data
ikev2_sa_proposal_t * i_proposals
mhash_t profile_index_by_name
ikev2_sa_transform_t * supported_transforms
void ikev2_payload_chain_add_padding(ikev2_payload_chain_t *c, int bs)
u8 * ikev2_calc_sign(EVP_PKEY *pkey, u8 *data)
v8 * ikev2_calc_prf(ikev2_sa_transform_t *tr, v8 *key, v8 *data)
ikev2_delete_t * ikev2_parse_delete_payload(ike_payload_header_t *ikep)
The fine-grained event logger allows lightweight, thread-safe event logging at minimum cost...
ikev2_sa_proposal_t * ikev2_parse_sa_payload(ike_payload_header_t *ikep)
ikev2_transform_encr_type_t
v8 * ikev2_decrypt_data(ikev2_sa_t *sa, u8 *data, int len)
void ikev2_payload_add_nonce(ikev2_payload_chain_t *c, u8 *nonce)
ikev2_sa_proposal_t * r_proposals
ikev2_notify_t * ikev2_parse_notify_payload(ike_payload_header_t *ikep)
void ikev2_complete_dh(ikev2_sa_t *sa, ikev2_sa_transform_t *t)
ikev2_transform_esn_type_t
ikev2_sa_proposal_t * r_proposal
v8 * ikev2_calc_integr(ikev2_sa_transform_t *tr, v8 *key, u8 *data, int len)
ikev2_sa_proposal_t * i_proposal
void ikev2_crypto_init(ikev2_main_t *km)
u8 * last_res_packet_data
void ikev2_payload_add_auth(ikev2_payload_chain_t *c, ikev2_auth_t *auth)
void ikev2_payload_add_ke(ikev2_payload_chain_t *c, u16 dh_group, u8 *dh_data)
void ikev2_payload_add_notify_2(ikev2_payload_chain_t *c, u16 msg_type, u8 *data, ikev2_notify_t *notify)
ikev2_child_sa_t * childs
void ikev2_parse_vendor_payload(ike_payload_header_t *ikep)
int ikev2_encrypt_data(ikev2_sa_t *sa, v8 *src, u8 *dst)
void ikev2_payload_add_delete(ikev2_payload_chain_t *c, ikev2_delete_t *d)
ikev2_transform_prf_type_t
void ikev2_sa_free_proposal_vector(ikev2_sa_proposal_t **v)
ikev2_transforms_set esp_ts
void ikev2_generate_dh(ikev2_sa_t *sa, ikev2_sa_transform_t *t)