Use a seperate section for each nested struct member in INIT macro
This commit is contained in:
@@ -383,7 +383,9 @@ receiver_t *receiver_create()
|
||||
u_int32_t now = time_monotonic(NULL);
|
||||
|
||||
INIT(this,
|
||||
.public.destroy = _destroy,
|
||||
.public = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
.secret_switch = now,
|
||||
.secret_offset = random() % now,
|
||||
);
|
||||
|
||||
@@ -61,7 +61,11 @@ plugin_t *addrblock_plugin_create()
|
||||
private_addrblock_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.validator = addrblock_validator_create(),
|
||||
.narrower = addrblock_narrow_create(),
|
||||
);
|
||||
|
||||
@@ -79,8 +79,10 @@ plugin_t *android_plugin_create()
|
||||
private_android_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin = {
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.logger = android_logger_create(),
|
||||
.handler = android_handler_create(),
|
||||
|
||||
@@ -62,7 +62,11 @@ plugin_t *dhcp_plugin_create()
|
||||
private_dhcp_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.socket = dhcp_socket_create(),
|
||||
);
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@ eap_identity_t *eap_identity_create_peer(identification_t *server,
|
||||
|
||||
INIT(this,
|
||||
.public = {
|
||||
.eap_method_interface = {
|
||||
.eap_method = {
|
||||
.initiate = _initiate_peer,
|
||||
.process = _process_peer,
|
||||
.get_type = _get_type,
|
||||
@@ -182,13 +182,15 @@ eap_identity_t *eap_identity_create_server(identification_t *server,
|
||||
private_eap_identity_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.eap_method_interface = {
|
||||
.initiate = _initiate_server,
|
||||
.process = _process_server,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.eap_method = {
|
||||
.initiate = _initiate_server,
|
||||
.process = _process_server,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.peer = peer->clone(peer),
|
||||
.identity = chunk_empty,
|
||||
|
||||
@@ -33,7 +33,7 @@ struct eap_identity_t {
|
||||
/**
|
||||
* Implemented eap_method_t interface.
|
||||
*/
|
||||
eap_method_t eap_method_interface;
|
||||
eap_method_t eap_method;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -236,7 +236,7 @@ eap_md5_t *eap_md5_create_server(identification_t *server, identification_t *pee
|
||||
|
||||
INIT(this,
|
||||
.public = {
|
||||
.eap_method_interface = {
|
||||
.eap_method = {
|
||||
.initiate = _initiate_server,
|
||||
.process = _process_server,
|
||||
.get_type = _get_type,
|
||||
@@ -247,8 +247,6 @@ eap_md5_t *eap_md5_create_server(identification_t *server, identification_t *pee
|
||||
},
|
||||
.peer = peer->clone(peer),
|
||||
.server = server->clone(server),
|
||||
.challenge = chunk_empty,
|
||||
.identifier = 0,
|
||||
);
|
||||
|
||||
/* generate a non-zero identifier */
|
||||
@@ -267,18 +265,18 @@ eap_md5_t *eap_md5_create_peer(identification_t *server, identification_t *peer)
|
||||
private_eap_md5_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.eap_method_interface = {
|
||||
.initiate = _initiate_peer,
|
||||
.process = _process_peer,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.eap_method = {
|
||||
.initiate = _initiate_peer,
|
||||
.process = _process_peer,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.peer = peer->clone(peer),
|
||||
.server = server->clone(server),
|
||||
.challenge = chunk_empty,
|
||||
.identifier = 0,
|
||||
);
|
||||
|
||||
return &this->public;
|
||||
|
||||
@@ -33,7 +33,7 @@ struct eap_md5_t {
|
||||
/**
|
||||
* Implemented eap_method_t interface.
|
||||
*/
|
||||
eap_method_t eap_method_interface;
|
||||
eap_method_t eap_method;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -313,13 +313,15 @@ eap_radius_t *eap_radius_create(identification_t *server, identification_t *peer
|
||||
private_eap_radius_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.eap_method_interface = {
|
||||
.initiate = _initiate,
|
||||
.process = _process,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.eap_method = {
|
||||
.initiate = _initiate,
|
||||
.process = _process,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
/* initially EAP_RADIUS, but is set to the method selected by RADIUS */
|
||||
.type = EAP_RADIUS,
|
||||
|
||||
@@ -33,7 +33,7 @@ struct eap_radius_t {
|
||||
/**
|
||||
* Implemented eap_method_t interface.
|
||||
*/
|
||||
eap_method_t eap_method_interface;
|
||||
eap_method_t eap_method;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -151,7 +151,11 @@ plugin_t *eap_radius_plugin_create()
|
||||
private_eap_radius_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.servers = linked_list_create(),
|
||||
);
|
||||
|
||||
|
||||
@@ -85,8 +85,10 @@ plugin_t *eap_simaka_sql_plugin_create()
|
||||
"charon.plugins.eap-simaka-sql.remove_used", FALSE);
|
||||
|
||||
INIT(this,
|
||||
.public.plugin = {
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.db = db,
|
||||
.provider = eap_simaka_sql_provider_create(db, remove_used),
|
||||
|
||||
@@ -422,13 +422,15 @@ static eap_tls_t *eap_tls_create(identification_t *server,
|
||||
private_eap_tls_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.eap_method = {
|
||||
.initiate = _initiate,
|
||||
.process = _process,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.eap_method = {
|
||||
.initiate = _initiate,
|
||||
.process = _process,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.is_server = is_server,
|
||||
);
|
||||
|
||||
@@ -38,7 +38,9 @@ plugin_t *eap_tls_plugin_create()
|
||||
eap_tls_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.plugin.destroy = _destroy,
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
);
|
||||
|
||||
charon->eap->add_method(charon->eap, EAP_TLS, 0, EAP_SERVER,
|
||||
|
||||
@@ -431,13 +431,15 @@ static eap_ttls_t *eap_ttls_create(identification_t *server,
|
||||
private_eap_ttls_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.eap_method = {
|
||||
.initiate = _initiate,
|
||||
.process = _process,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.eap_method = {
|
||||
.initiate = _initiate,
|
||||
.process = _process,
|
||||
.get_type = _get_type,
|
||||
.is_mutual = _is_mutual,
|
||||
.get_msk = _get_msk,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.is_server = is_server,
|
||||
);
|
||||
|
||||
@@ -49,12 +49,12 @@ struct private_eap_ttls_peer_t {
|
||||
bool start_phase2;
|
||||
|
||||
/**
|
||||
* Current phase 2 EAP method
|
||||
* Current phase 2 EAP method
|
||||
*/
|
||||
eap_method_t *method;
|
||||
|
||||
/**
|
||||
* Pending outbound EAP message
|
||||
* Pending outbound EAP message
|
||||
*/
|
||||
eap_payload_t *out;
|
||||
|
||||
@@ -123,7 +123,7 @@ METHOD(tls_application_t, process, status_t,
|
||||
return NEED_MORE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
type = this->method->get_type(this->method, &vendor);
|
||||
|
||||
if (type != received_type || vendor != received_vendor)
|
||||
@@ -156,7 +156,7 @@ METHOD(tls_application_t, process, status_t,
|
||||
DBG1(DBG_IKE, "%N method failed", eap_type_names, type);
|
||||
}
|
||||
return FAILED;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
METHOD(tls_application_t, build, status_t,
|
||||
@@ -220,16 +220,16 @@ eap_ttls_peer_t *eap_ttls_peer_create(identification_t *server,
|
||||
private_eap_ttls_peer_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.application = {
|
||||
.process = _process,
|
||||
.build = _build,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.application = {
|
||||
.process = _process,
|
||||
.build = _build,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.server = server->clone(server),
|
||||
.peer = peer->clone(peer),
|
||||
.start_phase2 = TRUE,
|
||||
.method = NULL,
|
||||
.out = NULL,
|
||||
.avp = eap_ttls_avp_create(),
|
||||
);
|
||||
|
||||
|
||||
@@ -38,7 +38,9 @@ plugin_t *eap_ttls_plugin_create()
|
||||
eap_ttls_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.plugin.destroy = _destroy,
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
);
|
||||
|
||||
charon->eap->add_method(charon->eap, EAP_TTLS, 0, EAP_SERVER,
|
||||
|
||||
@@ -49,12 +49,12 @@ struct private_eap_ttls_server_t {
|
||||
bool start_phase2;
|
||||
|
||||
/**
|
||||
* Current phase 2 EAP method
|
||||
* Current phase 2 EAP method
|
||||
*/
|
||||
eap_method_t *method;
|
||||
|
||||
/**
|
||||
* Pending outbound EAP message
|
||||
* Pending outbound EAP message
|
||||
*/
|
||||
eap_payload_t *out;
|
||||
|
||||
@@ -118,7 +118,7 @@ METHOD(tls_application_t, process, status_t,
|
||||
return FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!received_vendor && received_type == EAP_IDENTITY)
|
||||
{
|
||||
chunk_t eap_id;
|
||||
@@ -184,7 +184,7 @@ METHOD(tls_application_t, process, status_t,
|
||||
return FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (this->method == 0)
|
||||
{
|
||||
DBG1(DBG_IKE, "no %N phase2 method installed", eap_type_names, EAP_TTLS);
|
||||
@@ -194,7 +194,7 @@ METHOD(tls_application_t, process, status_t,
|
||||
|
||||
status = this->method->process(this->method, in, &this->out);
|
||||
in->destroy(in);
|
||||
|
||||
|
||||
switch (status)
|
||||
{
|
||||
case SUCCESS:
|
||||
@@ -218,7 +218,7 @@ METHOD(tls_application_t, process, status_t,
|
||||
DBG1(DBG_IKE, "%N method failed", eap_type_names, type);
|
||||
}
|
||||
return FAILED;
|
||||
}
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -285,16 +285,16 @@ eap_ttls_server_t *eap_ttls_server_create(identification_t *server,
|
||||
private_eap_ttls_server_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.application = {
|
||||
.process = _process,
|
||||
.build = _build,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.application = {
|
||||
.process = _process,
|
||||
.build = _build,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.server = server->clone(server),
|
||||
.peer = peer->clone(peer),
|
||||
.start_phase2 = TRUE,
|
||||
.method = NULL,
|
||||
.out = NULL,
|
||||
.avp = eap_ttls_avp_create(),
|
||||
);
|
||||
|
||||
|
||||
@@ -60,7 +60,11 @@ plugin_t *farp_plugin_create()
|
||||
private_farp_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.listener = farp_listener_create(),
|
||||
);
|
||||
|
||||
|
||||
@@ -142,7 +142,11 @@ plugin_t *ha_plugin_create()
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
if (secret)
|
||||
|
||||
@@ -2598,18 +2598,20 @@ kernel_klips_ipsec_t *kernel_klips_ipsec_create()
|
||||
private_kernel_klips_ipsec_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.interface = {
|
||||
.get_spi = _get_spi,
|
||||
.get_cpi = _get_cpi,
|
||||
.add_sa = _add_sa,
|
||||
.update_sa = _update_sa,
|
||||
.query_sa = _query_sa,
|
||||
.del_sa = _del_sa,
|
||||
.add_policy = _add_policy,
|
||||
.query_policy = _query_policy,
|
||||
.del_policy = _del_policy,
|
||||
.bypass_socket = _bypass_socket,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.interface = {
|
||||
.get_spi = _get_spi,
|
||||
.get_cpi = _get_cpi,
|
||||
.add_sa = _add_sa,
|
||||
.update_sa = _update_sa,
|
||||
.query_sa = _query_sa,
|
||||
.del_sa = _del_sa,
|
||||
.add_policy = _add_policy,
|
||||
.query_policy = _query_policy,
|
||||
.del_policy = _del_policy,
|
||||
.bypass_socket = _bypass_socket,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.policies = linked_list_create(),
|
||||
.allocated_spis = linked_list_create(),
|
||||
|
||||
@@ -305,7 +305,7 @@ static u_int policy_hash(policy_entry_t *key)
|
||||
*/
|
||||
static bool policy_equals(policy_entry_t *key, policy_entry_t *other_key)
|
||||
{
|
||||
return memeq(&key->sel, &other_key->sel,
|
||||
return memeq(&key->sel, &other_key->sel,
|
||||
sizeof(struct xfrm_selector) + sizeof(u_int32_t)) &&
|
||||
key->direction == other_key->direction;
|
||||
}
|
||||
@@ -1379,7 +1379,7 @@ METHOD(kernel_ipsec_t, query_sa, status_t,
|
||||
case NLMSG_ERROR:
|
||||
{
|
||||
struct nlmsgerr *err = NLMSG_DATA(hdr);
|
||||
|
||||
|
||||
if (mark.value)
|
||||
{
|
||||
DBG1(DBG_KNL, "querying SAD entry with SPI %.8x "
|
||||
@@ -2202,18 +2202,20 @@ kernel_netlink_ipsec_t *kernel_netlink_ipsec_create()
|
||||
int fd;
|
||||
|
||||
INIT(this,
|
||||
.public.interface = {
|
||||
.get_spi = _get_spi,
|
||||
.get_cpi = _get_cpi,
|
||||
.add_sa = _add_sa,
|
||||
.update_sa = _update_sa,
|
||||
.query_sa = _query_sa,
|
||||
.del_sa = _del_sa,
|
||||
.add_policy = _add_policy,
|
||||
.query_policy = _query_policy,
|
||||
.del_policy = _del_policy,
|
||||
.bypass_socket = _bypass_socket,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.interface = {
|
||||
.get_spi = _get_spi,
|
||||
.get_cpi = _get_cpi,
|
||||
.add_sa = _add_sa,
|
||||
.update_sa = _update_sa,
|
||||
.query_sa = _query_sa,
|
||||
.del_sa = _del_sa,
|
||||
.add_policy = _add_policy,
|
||||
.query_policy = _query_policy,
|
||||
.del_policy = _del_policy,
|
||||
.bypass_socket = _bypass_socket,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.policies = hashtable_create((hashtable_hash_t)policy_hash,
|
||||
(hashtable_equals_t)policy_equals, 32),
|
||||
|
||||
@@ -2154,18 +2154,20 @@ kernel_pfkey_ipsec_t *kernel_pfkey_ipsec_create()
|
||||
private_kernel_pfkey_ipsec_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.interface = {
|
||||
.get_spi = _get_spi,
|
||||
.get_cpi = _get_cpi,
|
||||
.add_sa = _add_sa,
|
||||
.update_sa = _update_sa,
|
||||
.query_sa = _query_sa,
|
||||
.del_sa = _del_sa,
|
||||
.add_policy = _add_policy,
|
||||
.query_policy = _query_policy,
|
||||
.del_policy = _del_policy,
|
||||
.bypass_socket = _bypass_socket,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.interface = {
|
||||
.get_spi = _get_spi,
|
||||
.get_cpi = _get_cpi,
|
||||
.add_sa = _add_sa,
|
||||
.update_sa = _update_sa,
|
||||
.query_sa = _query_sa,
|
||||
.del_sa = _del_sa,
|
||||
.add_policy = _add_policy,
|
||||
.query_policy = _query_policy,
|
||||
.del_policy = _del_policy,
|
||||
.bypass_socket = _bypass_socket,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.policies = linked_list_create(),
|
||||
.mutex = mutex_create(MUTEX_TYPE_DEFAULT),
|
||||
|
||||
@@ -53,7 +53,11 @@ plugin_t *socket_default_plugin_create()
|
||||
private_socket_default_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.socket = socket_default_socket_create(),
|
||||
);
|
||||
|
||||
|
||||
@@ -53,7 +53,11 @@ plugin_t *socket_dynamic_plugin_create()
|
||||
private_socket_dynamic_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.socket = socket_dynamic_socket_create(),
|
||||
);
|
||||
|
||||
|
||||
@@ -53,7 +53,11 @@ plugin_t *socket_raw_plugin_create()
|
||||
private_socket_raw_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.socket = socket_raw_socket_create(),
|
||||
);
|
||||
|
||||
|
||||
@@ -136,9 +136,11 @@ inactivity_job_t *inactivity_job_create(u_int32_t reqid, u_int32_t timeout,
|
||||
private_inactivity_job_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.job_interface = {
|
||||
.execute = _execute,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.job_interface = {
|
||||
.execute = _execute,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.reqid = reqid,
|
||||
.timeout = timeout,
|
||||
|
||||
@@ -652,13 +652,6 @@ eap_authenticator_t *eap_authenticator_create_builder(ike_sa_t *ike_sa,
|
||||
.received_nonce = received_nonce,
|
||||
.sent_init = sent_init,
|
||||
.sent_nonce = sent_nonce,
|
||||
.msk = chunk_empty,
|
||||
.method = NULL,
|
||||
.eap_payload = NULL,
|
||||
.eap_complete = FALSE,
|
||||
.auth_complete = FALSE,
|
||||
.eap_identity = NULL,
|
||||
.require_mutual = FALSE,
|
||||
);
|
||||
|
||||
return &this->public;
|
||||
@@ -674,24 +667,19 @@ eap_authenticator_t *eap_authenticator_create_verifier(ike_sa_t *ike_sa,
|
||||
private_eap_authenticator_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.authenticator = {
|
||||
.build = _build_server,
|
||||
.process = _process_server,
|
||||
.is_mutual = _is_mutual,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.authenticator = {
|
||||
.build = _build_server,
|
||||
.process = _process_server,
|
||||
.is_mutual = _is_mutual,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ike_sa = ike_sa,
|
||||
.received_init = received_init,
|
||||
.received_nonce = received_nonce,
|
||||
.sent_init = sent_init,
|
||||
.sent_nonce = sent_nonce,
|
||||
.msk = chunk_empty,
|
||||
.method = NULL,
|
||||
.eap_payload = NULL,
|
||||
.eap_complete = FALSE,
|
||||
.auth_complete = FALSE,
|
||||
.eap_identity = NULL,
|
||||
.require_mutual = FALSE,
|
||||
);
|
||||
|
||||
return &this->public;
|
||||
|
||||
@@ -123,12 +123,14 @@ ike_vendor_t *ike_vendor_create(ike_sa_t *ike_sa, bool initiator)
|
||||
private_ike_vendor_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.task = {
|
||||
.build = _build,
|
||||
.process = _process,
|
||||
.migrate = _migrate,
|
||||
.get_type = _get_type,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.task = {
|
||||
.build = _build,
|
||||
.process = _process,
|
||||
.migrate = _migrate,
|
||||
.get_type = _get_type,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.initiator = initiator,
|
||||
.ike_sa = ike_sa,
|
||||
|
||||
@@ -1550,18 +1550,20 @@ aes_crypter_t *aes_crypter_create(encryption_algorithm_t algo, size_t key_size)
|
||||
#endif
|
||||
|
||||
INIT(this,
|
||||
.public.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.key_size = key_size,
|
||||
.aes_Nkey = key_size / 4,
|
||||
);
|
||||
|
||||
return &(this->public);
|
||||
return &this->public;
|
||||
}
|
||||
|
||||
@@ -47,7 +47,11 @@ plugin_t *aes_plugin_create()
|
||||
private_aes_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
lib->crypto->add_crypter(lib->crypto, ENCR_AES_CBC,
|
||||
|
||||
@@ -47,7 +47,11 @@ plugin_t *agent_plugin_create()
|
||||
private_agent_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
lib->creds->add_builder(lib->creds, CRED_PRIVATE_KEY, KEY_RSA,
|
||||
|
||||
@@ -402,19 +402,21 @@ agent_private_key_t *agent_private_key_open(key_type_t type, va_list args)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.equals = private_key_equals,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.equals = private_key_equals,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -177,14 +177,16 @@ blowfish_crypter_t *blowfish_crypter_create(encryption_algorithm_t algo,
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.key_size = key_size ?: 16,
|
||||
);
|
||||
|
||||
@@ -48,7 +48,11 @@ plugin_t *blowfish_plugin_create()
|
||||
private_blowfish_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
lib->crypto->add_crypter(lib->crypto, ENCR_BLOWFISH,
|
||||
|
||||
@@ -149,14 +149,16 @@ ctr_ipsec_crypter_t *ctr_ipsec_crypter_create(encryption_algorithm_t algo,
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.crypter = {
|
||||
.encrypt = _crypt,
|
||||
.decrypt = _crypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.crypter = {
|
||||
.encrypt = _crypt,
|
||||
.decrypt = _crypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.crypter = lib->crypto->create_crypter(lib->crypto, algo, key_size),
|
||||
);
|
||||
|
||||
@@ -49,7 +49,11 @@ plugin_t *ctr_plugin_create()
|
||||
private_ctr_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
lib->crypto->add_crypter(lib->crypto, ENCR_AES_CTR,
|
||||
|
||||
@@ -166,10 +166,12 @@ curl_fetcher_t *curl_fetcher_create()
|
||||
private_curl_fetcher_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.interface = {
|
||||
.fetch = _fetch,
|
||||
.set_option = _set_option,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.interface = {
|
||||
.fetch = _fetch,
|
||||
.set_option = _set_option,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.curl = curl_easy_init(),
|
||||
);
|
||||
|
||||
@@ -1563,11 +1563,13 @@ des_crypter_t *des_crypter_create(encryption_algorithm_t algo)
|
||||
private_des_crypter_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.crypter = {
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.crypter = {
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -47,7 +47,11 @@ plugin_t *des_plugin_create()
|
||||
private_des_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
lib->crypto->add_crypter(lib->crypto, ENCR_3DES,
|
||||
|
||||
@@ -278,14 +278,16 @@ gcrypt_crypter_t *gcrypt_crypter_create(encryption_algorithm_t algo,
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.alg = gcrypt_alg,
|
||||
.ctr_mode = mode == GCRY_CIPHER_MODE_CTR,
|
||||
|
||||
@@ -185,12 +185,14 @@ gcrypt_dh_t *gcrypt_dh_create(diffie_hellman_group_t group)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.dh = {
|
||||
.get_shared_secret = _get_shared_secret,
|
||||
.set_other_public_value = _set_other_public_value,
|
||||
.get_my_public_value = _get_my_public_value,
|
||||
.get_dh_group = _get_dh_group,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.dh = {
|
||||
.get_shared_secret = _get_shared_secret,
|
||||
.set_other_public_value = _set_other_public_value,
|
||||
.get_my_public_value = _get_my_public_value,
|
||||
.get_dh_group = _get_dh_group,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.group = group,
|
||||
.p_len = params->prime.len,
|
||||
|
||||
@@ -121,12 +121,14 @@ gcrypt_hasher_t *gcrypt_hasher_create(hash_algorithm_t algo)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.hasher = {
|
||||
.get_hash = _get_hash,
|
||||
.allocate_hash = _allocate_hash,
|
||||
.get_hash_size = _get_hash_size,
|
||||
.reset = _reset,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.hasher = {
|
||||
.get_hash = _get_hash,
|
||||
.allocate_hash = _allocate_hash,
|
||||
.get_hash_size = _get_hash_size,
|
||||
.reset = _reset,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -138,7 +138,11 @@ plugin_t *gcrypt_plugin_create()
|
||||
gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
/* hashers */
|
||||
|
||||
@@ -83,10 +83,12 @@ gcrypt_rng_t *gcrypt_rng_create(rng_quality_t quality)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.rng = {
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.rng = {
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.quality = quality,
|
||||
);
|
||||
|
||||
@@ -427,19 +427,21 @@ static private_gcrypt_rsa_private_key_t *create_empty()
|
||||
private_gcrypt_rsa_private_key_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -322,17 +322,19 @@ gcrypt_rsa_public_key_t *gcrypt_rsa_public_key_load(key_type_t type,
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.verify = _verify,
|
||||
.encrypt = _encrypt_,
|
||||
.equals = public_key_equals,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = public_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.verify = _verify,
|
||||
.encrypt = _encrypt_,
|
||||
.equals = public_key_equals,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = public_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -206,12 +206,14 @@ gmp_diffie_hellman_t *gmp_diffie_hellman_create(diffie_hellman_group_t group)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.dh = {
|
||||
.get_shared_secret = _get_shared_secret,
|
||||
.set_other_public_value = _set_other_public_value,
|
||||
.get_my_public_value = _get_my_public_value,
|
||||
.get_dh_group = _get_dh_group,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.dh = {
|
||||
.get_shared_secret = _get_shared_secret,
|
||||
.set_other_public_value = _set_other_public_value,
|
||||
.get_my_public_value = _get_my_public_value,
|
||||
.get_dh_group = _get_dh_group,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.group = group,
|
||||
.p_len = params->prime.len,
|
||||
|
||||
@@ -55,7 +55,11 @@ plugin_t *gmp_plugin_create()
|
||||
private_gmp_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
lib->crypto->add_dh(lib->crypto, MODP_2048_BIT,
|
||||
|
||||
@@ -566,19 +566,21 @@ static private_gmp_rsa_private_key_t *gmp_rsa_private_key_create_empty(void)
|
||||
private_gmp_rsa_private_key_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -471,17 +471,19 @@ gmp_rsa_public_key_t *gmp_rsa_public_key_load(key_type_t type, va_list args)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.verify = _verify,
|
||||
.encrypt = _encrypt_,
|
||||
.equals = public_key_equals,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = public_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.verify = _verify,
|
||||
.encrypt = _encrypt_,
|
||||
.equals = public_key_equals,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = public_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -50,7 +50,11 @@ plugin_t *hmac_plugin_create()
|
||||
private_hmac_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
lib->crypto->add_prf(lib->crypto, PRF_HMAC_SHA2_256,
|
||||
|
||||
@@ -108,13 +108,15 @@ hmac_prf_t *hmac_prf_create(pseudo_random_function_t algo)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.prf = {
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.prf = {
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.hmac = hmac,
|
||||
);
|
||||
|
||||
@@ -172,14 +172,16 @@ hmac_signer_t *hmac_signer_create(integrity_algorithm_t algo)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.signer = {
|
||||
.get_signature = _get_signature,
|
||||
.allocate_signature = _allocate_signature,
|
||||
.verify_signature = _verify_signature,
|
||||
.get_key_size = _get_key_size,
|
||||
.get_block_size = _get_block_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.signer = {
|
||||
.get_signature = _get_signature,
|
||||
.allocate_signature = _allocate_signature,
|
||||
.verify_signature = _verify_signature,
|
||||
.get_key_size = _get_key_size,
|
||||
.get_block_size = _get_block_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.block_size = min(trunc, hmac->get_block_size(hmac)),
|
||||
.hmac = hmac,
|
||||
|
||||
@@ -165,14 +165,16 @@ openssl_crypter_t *openssl_crypter_create(encryption_algorithm_t algo,
|
||||
private_openssl_crypter_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -143,12 +143,14 @@ openssl_diffie_hellman_t *openssl_diffie_hellman_create(diffie_hellman_group_t g
|
||||
private_openssl_diffie_hellman_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.dh = {
|
||||
.get_shared_secret = _get_shared_secret,
|
||||
.set_other_public_value = _set_other_public_value,
|
||||
.get_my_public_value = _get_my_public_value,
|
||||
.get_dh_group = _get_dh_group,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.dh = {
|
||||
.get_shared_secret = _get_shared_secret,
|
||||
.set_other_public_value = _set_other_public_value,
|
||||
.get_my_public_value = _get_my_public_value,
|
||||
.get_dh_group = _get_dh_group,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -269,12 +269,14 @@ openssl_ec_diffie_hellman_t *openssl_ec_diffie_hellman_create(diffie_hellman_gro
|
||||
private_openssl_ec_diffie_hellman_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.dh = {
|
||||
.get_shared_secret = _get_shared_secret,
|
||||
.set_other_public_value = _set_other_public_value,
|
||||
.get_my_public_value = _get_my_public_value,
|
||||
.get_dh_group = _get_dh_group,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.dh = {
|
||||
.get_shared_secret = _get_shared_secret,
|
||||
.set_other_public_value = _set_other_public_value,
|
||||
.get_my_public_value = _get_my_public_value,
|
||||
.get_dh_group = _get_dh_group,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.group = group,
|
||||
);
|
||||
|
||||
@@ -286,19 +286,21 @@ static private_openssl_ec_private_key_t *create_empty(void)
|
||||
private_openssl_ec_private_key_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -303,17 +303,19 @@ static private_openssl_ec_public_key_t *create_empty()
|
||||
private_openssl_ec_public_key_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.verify = _verify,
|
||||
.encrypt = _encrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.equals = public_key_equals,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = public_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.verify = _verify,
|
||||
.encrypt = _encrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.equals = public_key_equals,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = public_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -149,12 +149,14 @@ openssl_hasher_t *openssl_hasher_create(hash_algorithm_t algo)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.hasher = {
|
||||
.get_hash = _get_hash,
|
||||
.allocate_hash = _allocate_hash,
|
||||
.get_hash_size = _get_hash_size,
|
||||
.reset = _reset,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.hasher = {
|
||||
.get_hash = _get_hash,
|
||||
.allocate_hash = _allocate_hash,
|
||||
.get_hash_size = _get_hash_size,
|
||||
.reset = _reset,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -245,7 +245,11 @@ plugin_t *openssl_plugin_create()
|
||||
private_openssl_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
threading_init();
|
||||
|
||||
@@ -293,19 +293,21 @@ static private_openssl_rsa_private_key_t *create_empty()
|
||||
private_openssl_rsa_private_key_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -304,17 +304,19 @@ static private_openssl_rsa_public_key_t *create_empty()
|
||||
private_openssl_rsa_public_key_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.verify = _verify,
|
||||
.encrypt = _encrypt,
|
||||
.equals = public_key_equals,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = public_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.verify = _verify,
|
||||
.encrypt = _encrypt,
|
||||
.equals = public_key_equals,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = public_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -124,13 +124,15 @@ openssl_sha1_prf_t *openssl_sha1_prf_create(pseudo_random_function_t algo)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.prf = {
|
||||
.get_block_size = _get_block_size,
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.prf = {
|
||||
.get_block_size = _get_block_size,
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -177,14 +177,16 @@ padlock_aes_crypter_t *padlock_aes_crypter_create(encryption_algorithm_t algo,
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.crypter = {
|
||||
.encrypt = _encrypt,
|
||||
.decrypt = _decrypt,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_iv_size = _get_iv_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.key = chunk_alloc(key_size),
|
||||
);
|
||||
|
||||
@@ -134,7 +134,11 @@ plugin_t *padlock_plugin_create()
|
||||
private_padlock_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.features = get_padlock_features(),
|
||||
);
|
||||
|
||||
|
||||
@@ -104,10 +104,12 @@ padlock_rng_t *padlock_rng_create(rng_quality_t quality)
|
||||
private_padlock_rng_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.rng = {
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.rng = {
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -150,12 +150,14 @@ padlock_sha1_hasher_t *padlock_sha1_hasher_create(hash_algorithm_t algo)
|
||||
return NULL;
|
||||
}
|
||||
INIT(this,
|
||||
.public.hasher = {
|
||||
.get_hash = _get_hash,
|
||||
.allocate_hash = _allocate_hash,
|
||||
.get_hash_size = _get_hash_size,
|
||||
.reset = _reset,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.hasher = {
|
||||
.get_hash = _get_hash,
|
||||
.allocate_hash = _allocate_hash,
|
||||
.get_hash_size = _get_hash_size,
|
||||
.reset = _reset,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
return &this->public;
|
||||
|
||||
@@ -300,12 +300,14 @@ pkcs11_hasher_t *pkcs11_hasher_create(hash_algorithm_t algo)
|
||||
private_pkcs11_hasher_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.hasher = {
|
||||
.get_hash_size = _get_hash_size,
|
||||
.reset = _reset,
|
||||
.get_hash = _get_hash,
|
||||
.allocate_hash = _allocate_hash,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.hasher = {
|
||||
.get_hash_size = _get_hash_size,
|
||||
.reset = _reset,
|
||||
.get_hash = _get_hash,
|
||||
.allocate_hash = _allocate_hash,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.mutex = mutex_create(MUTEX_TYPE_DEFAULT),
|
||||
);
|
||||
|
||||
@@ -132,7 +132,11 @@ plugin_t *pkcs11_plugin_create()
|
||||
CK_SLOT_ID slot;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.creds = linked_list_create(),
|
||||
.mutex = mutex_create(MUTEX_TYPE_DEFAULT),
|
||||
);
|
||||
|
||||
@@ -531,19 +531,21 @@ pkcs11_private_key_t *pkcs11_private_key_connect(key_type_t type, va_list args)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.key = {
|
||||
.get_type = _get_type,
|
||||
.sign = _sign,
|
||||
.decrypt = _decrypt,
|
||||
.get_keysize = _get_keysize,
|
||||
.get_public_key = _get_public_key,
|
||||
.equals = private_key_equals,
|
||||
.belongs_to = private_key_belongs_to,
|
||||
.get_fingerprint = _get_fingerprint,
|
||||
.has_fingerprint = private_key_has_fingerprint,
|
||||
.get_encoding = _get_encoding,
|
||||
.get_ref = _get_ref,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.ref = 1,
|
||||
);
|
||||
|
||||
@@ -52,7 +52,11 @@ plugin_t *revocation_plugin_create()
|
||||
private_revocation_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.validator = revocation_validator_create(),
|
||||
);
|
||||
lib->credmgr->add_validator(lib->credmgr, &this->validator->validator);
|
||||
|
||||
@@ -50,7 +50,11 @@ plugin_t *xcbc_plugin_create()
|
||||
private_xcbc_plugin_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.plugin.destroy = _destroy,
|
||||
.public = {
|
||||
.plugin = {
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
lib->crypto->add_prf(lib->crypto, PRF_AES128_XCBC,
|
||||
|
||||
@@ -106,13 +106,15 @@ xcbc_prf_t *xcbc_prf_create(pseudo_random_function_t algo)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.prf = {
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.prf = {
|
||||
.get_bytes = _get_bytes,
|
||||
.allocate_bytes = _allocate_bytes,
|
||||
.get_block_size = _get_block_size,
|
||||
.get_key_size = _get_key_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.xcbc = xcbc,
|
||||
);
|
||||
|
||||
@@ -144,14 +144,16 @@ xcbc_signer_t *xcbc_signer_create(integrity_algorithm_t algo)
|
||||
}
|
||||
|
||||
INIT(this,
|
||||
.public.signer = {
|
||||
.get_signature = _get_signature,
|
||||
.allocate_signature = _allocate_signature,
|
||||
.verify_signature = _verify_signature,
|
||||
.get_key_size = _get_key_size,
|
||||
.get_block_size = _get_block_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.signer = {
|
||||
.get_signature = _get_signature,
|
||||
.allocate_signature = _allocate_signature,
|
||||
.verify_signature = _verify_signature,
|
||||
.get_key_size = _get_key_size,
|
||||
.get_block_size = _get_block_size,
|
||||
.set_key = _set_key,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.xcbc = xcbc,
|
||||
.block_size = min(trunc, xcbc->get_block_size(xcbc)),
|
||||
|
||||
@@ -645,20 +645,21 @@ tls_peer_t *tls_peer_create(tls_t *tls, tls_crypto_t *crypto,
|
||||
private_tls_peer_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.handshake = {
|
||||
.process = _process,
|
||||
.build = _build,
|
||||
.cipherspec_changed = _cipherspec_changed,
|
||||
.change_cipherspec = _change_cipherspec,
|
||||
.finished = _finished,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.handshake = {
|
||||
.process = _process,
|
||||
.build = _build,
|
||||
.cipherspec_changed = _cipherspec_changed,
|
||||
.change_cipherspec = _change_cipherspec,
|
||||
.finished = _finished,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.state = STATE_INIT,
|
||||
.tls = tls,
|
||||
.crypto = crypto,
|
||||
.peer = peer,
|
||||
.server = server,
|
||||
.peer_auth_requested = FALSE,
|
||||
.peer_auth = auth_cfg_create(),
|
||||
.server_auth = auth_cfg_create(),
|
||||
);
|
||||
|
||||
@@ -635,13 +635,15 @@ tls_server_t *tls_server_create(tls_t *tls, tls_crypto_t *crypto,
|
||||
private_tls_server_t *this;
|
||||
|
||||
INIT(this,
|
||||
.public.handshake = {
|
||||
.process = _process,
|
||||
.build = _build,
|
||||
.cipherspec_changed = _cipherspec_changed,
|
||||
.change_cipherspec = _change_cipherspec,
|
||||
.finished = _finished,
|
||||
.destroy = _destroy,
|
||||
.public = {
|
||||
.handshake = {
|
||||
.process = _process,
|
||||
.build = _build,
|
||||
.cipherspec_changed = _cipherspec_changed,
|
||||
.change_cipherspec = _change_cipherspec,
|
||||
.finished = _finished,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
},
|
||||
.tls = tls,
|
||||
.crypto = crypto,
|
||||
|
||||
Reference in New Issue
Block a user