replaces four spaces by tabs, where appropriate
This commit is contained in:
@@ -52,7 +52,7 @@ struct private_backend_manager_t {
|
|||||||
typedef enum ike_cfg_match_t {
|
typedef enum ike_cfg_match_t {
|
||||||
MATCH_NONE = 0x00,
|
MATCH_NONE = 0x00,
|
||||||
MATCH_ANY = 0x01,
|
MATCH_ANY = 0x01,
|
||||||
MATCH_ME = 0x04,
|
MATCH_ME = 0x04,
|
||||||
MATCH_OTHER = 0x08,
|
MATCH_OTHER = 0x08,
|
||||||
} ike_cfg_match_t;
|
} ike_cfg_match_t;
|
||||||
|
|
||||||
|
|||||||
@@ -49,11 +49,11 @@ typedef struct peer_cfg_t peer_cfg_t;
|
|||||||
*/
|
*/
|
||||||
enum cert_policy_t {
|
enum cert_policy_t {
|
||||||
/** always send certificates, even when not requested */
|
/** always send certificates, even when not requested */
|
||||||
CERT_ALWAYS_SEND = 0,
|
CERT_ALWAYS_SEND = 0,
|
||||||
/** send certificate upon cert request */
|
/** send certificate upon cert request */
|
||||||
CERT_SEND_IF_ASKED = 1,
|
CERT_SEND_IF_ASKED = 1,
|
||||||
/** never send a certificate, even when requested */
|
/** never send a certificate, even when requested */
|
||||||
CERT_NEVER_SEND = 2,
|
CERT_NEVER_SEND = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ proposal_t *proposal_create_default(protocol_id_t protocol);
|
|||||||
*
|
*
|
||||||
* The string is in the same form as a in the ipsec.conf file.
|
* The string is in the same form as a in the ipsec.conf file.
|
||||||
* E.g.: aes128-sha2_256-modp2048
|
* E.g.: aes128-sha2_256-modp2048
|
||||||
* 3des-md5
|
* 3des-md5
|
||||||
* An additional '!' at the end of the string forces this proposal,
|
* An additional '!' at the end of the string forces this proposal,
|
||||||
* without it the peer may choose another algorithm we support.
|
* without it the peer may choose another algorithm we support.
|
||||||
*
|
*
|
||||||
@@ -215,9 +215,9 @@ proposal_t *proposal_create_from_string(protocol_id_t protocol, const char *algs
|
|||||||
* printf hook function for proposal_t.
|
* printf hook function for proposal_t.
|
||||||
*
|
*
|
||||||
* Arguments are:
|
* Arguments are:
|
||||||
* proposal_t *proposal
|
* proposal_t *proposal
|
||||||
* With the #-specifier, arguments are:
|
* With the #-specifier, arguments are:
|
||||||
* linked_list_t *list containing proposal_t*
|
* linked_list_t *list containing proposal_t*
|
||||||
*/
|
*/
|
||||||
int proposal_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
int proposal_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
||||||
const void *const *args);
|
const void *const *args);
|
||||||
|
|||||||
@@ -36,19 +36,19 @@ enum ts_type_t {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A range of IPv4 addresses, represented by two four (4) octet
|
* A range of IPv4 addresses, represented by two four (4) octet
|
||||||
* values. The first value is the beginning IPv4 address
|
* values. The first value is the beginning IPv4 address
|
||||||
* (inclusive) and the second value is the ending IPv4 address
|
* (inclusive) and the second value is the ending IPv4 address
|
||||||
* (inclusive). All addresses falling between the two specified
|
* (inclusive). All addresses falling between the two specified
|
||||||
* addresses are considered to be within the list.
|
* addresses are considered to be within the list.
|
||||||
*/
|
*/
|
||||||
TS_IPV4_ADDR_RANGE = 7,
|
TS_IPV4_ADDR_RANGE = 7,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A range of IPv6 addresses, represented by two sixteen (16)
|
* A range of IPv6 addresses, represented by two sixteen (16)
|
||||||
* octet values. The first value is the beginning IPv6 address
|
* octet values. The first value is the beginning IPv6 address
|
||||||
* (inclusive) and the second value is the ending IPv6 address
|
* (inclusive) and the second value is the ending IPv6 address
|
||||||
* (inclusive). All addresses falling between the two specified
|
* (inclusive). All addresses falling between the two specified
|
||||||
* addresses are considered to be within the list.
|
* addresses are considered to be within the list.
|
||||||
*/
|
*/
|
||||||
TS_IPV6_ADDR_RANGE = 8
|
TS_IPV6_ADDR_RANGE = 8
|
||||||
};
|
};
|
||||||
@@ -294,9 +294,9 @@ traffic_selector_t *traffic_selector_create_dynamic(u_int8_t protocol,
|
|||||||
* printf hook function for traffic_selector_t.
|
* printf hook function for traffic_selector_t.
|
||||||
*
|
*
|
||||||
* Arguments are:
|
* Arguments are:
|
||||||
* traffic_selector_t *ts
|
* traffic_selector_t *ts
|
||||||
* With the #-specifier, arguments are:
|
* With the #-specifier, arguments are:
|
||||||
* linked_list_t *list containing traffic_selector_t*
|
* linked_list_t *list containing traffic_selector_t*
|
||||||
*/
|
*/
|
||||||
int traffic_selector_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
int traffic_selector_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
||||||
const void *const *args);
|
const void *const *args);
|
||||||
|
|||||||
@@ -276,7 +276,7 @@ static enumerator_t *create_private(credential_set_t *set, private_data_t *data)
|
|||||||
*/
|
*/
|
||||||
static enumerator_t* create_private_enumerator(
|
static enumerator_t* create_private_enumerator(
|
||||||
private_credential_manager_t *this,
|
private_credential_manager_t *this,
|
||||||
key_type_t key, identification_t *keyid)
|
key_type_t key, identification_t *keyid)
|
||||||
{
|
{
|
||||||
private_data_t *data;
|
private_data_t *data;
|
||||||
|
|
||||||
@@ -529,7 +529,7 @@ static bool verify_ocsp(private_credential_manager_t *this,
|
|||||||
if (this->cache->issued_by(this->cache, subject, issuer))
|
if (this->cache->issued_by(this->cache, subject, issuer))
|
||||||
{
|
{
|
||||||
DBG1(DBG_CFG, " ocsp response correctly signed by \"%Y\"",
|
DBG1(DBG_CFG, " ocsp response correctly signed by \"%Y\"",
|
||||||
issuer->get_subject(issuer));
|
issuer->get_subject(issuer));
|
||||||
verified = TRUE;
|
verified = TRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -622,8 +622,8 @@ static certificate_t *get_better_ocsp(private_credential_manager_t *this,
|
|||||||
* validate a x509 certificate using OCSP
|
* validate a x509 certificate using OCSP
|
||||||
*/
|
*/
|
||||||
static cert_validation_t check_ocsp(private_credential_manager_t *this,
|
static cert_validation_t check_ocsp(private_credential_manager_t *this,
|
||||||
x509_t *subject, x509_t *issuer,
|
x509_t *subject, x509_t *issuer,
|
||||||
auth_cfg_t *auth)
|
auth_cfg_t *auth)
|
||||||
{
|
{
|
||||||
enumerator_t *enumerator;
|
enumerator_t *enumerator;
|
||||||
cert_validation_t valid = VALIDATION_SKIPPED;
|
cert_validation_t valid = VALIDATION_SKIPPED;
|
||||||
|
|||||||
@@ -190,9 +190,9 @@ struct credential_manager_t {
|
|||||||
void (*remove_set)(credential_manager_t *this, credential_set_t *set);
|
void (*remove_set)(credential_manager_t *this, credential_set_t *set);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a credential_manager instance.
|
* Destroy a credential_manager instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(credential_manager_t *this);
|
void (*destroy)(credential_manager_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -37,9 +37,9 @@ struct auth_cfg_wrapper_t {
|
|||||||
credential_set_t set;
|
credential_set_t set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a auth_cfg_wrapper instance.
|
* Destroy a auth_cfg_wrapper instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(auth_cfg_wrapper_t *this);
|
void (*destroy)(auth_cfg_wrapper_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -37,9 +37,9 @@ struct ocsp_response_wrapper_t {
|
|||||||
credential_set_t set;
|
credential_set_t set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a ocsp_response_wrapper instance.
|
* Destroy a ocsp_response_wrapper instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(ocsp_response_wrapper_t *this);
|
void (*destroy)(ocsp_response_wrapper_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+1
-1
@@ -742,7 +742,7 @@ int main(int argc, char *argv[])
|
|||||||
switch (c)
|
switch (c)
|
||||||
{
|
{
|
||||||
case EOF:
|
case EOF:
|
||||||
break;
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
usage(NULL);
|
usage(NULL);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -117,8 +117,8 @@ static status_t verify(private_configuration_attribute_t *this)
|
|||||||
|
|
||||||
switch (this->attribute_type)
|
switch (this->attribute_type)
|
||||||
{
|
{
|
||||||
case INTERNAL_IP4_ADDRESS:
|
case INTERNAL_IP4_ADDRESS:
|
||||||
case INTERNAL_IP4_NETMASK:
|
case INTERNAL_IP4_NETMASK:
|
||||||
case INTERNAL_IP4_DNS:
|
case INTERNAL_IP4_DNS:
|
||||||
case INTERNAL_IP4_NBNS:
|
case INTERNAL_IP4_NBNS:
|
||||||
case INTERNAL_ADDRESS_EXPIRY:
|
case INTERNAL_ADDRESS_EXPIRY:
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ enum notify_type_t {
|
|||||||
NO_NATS_ALLOWED = 16402,
|
NO_NATS_ALLOWED = 16402,
|
||||||
/* repeated authentication extension, RFC4478 */
|
/* repeated authentication extension, RFC4478 */
|
||||||
AUTH_LIFETIME = 16403,
|
AUTH_LIFETIME = 16403,
|
||||||
/* multiple authentication exchanges, RFC 4739 */
|
/* multiple authentication exchanges, RFC 4739 */
|
||||||
MULTIPLE_AUTH_SUPPORTED = 16404,
|
MULTIPLE_AUTH_SUPPORTED = 16404,
|
||||||
ANOTHER_AUTH_FOLLOWS = 16405,
|
ANOTHER_AUTH_FOLLOWS = 16405,
|
||||||
/* draft-eronen-ipsec-ikev2-eap-auth, not assigned by IANA yet */
|
/* draft-eronen-ipsec-ikev2-eap-auth, not assigned by IANA yet */
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ struct kernel_interface_t {
|
|||||||
* @param encap current use of UDP encapsulation
|
* @param encap current use of UDP encapsulation
|
||||||
* @param new_encap new use of UDP encapsulation
|
* @param new_encap new use of UDP encapsulation
|
||||||
* @return SUCCESS if operation completed, NOT_SUPPORTED if
|
* @return SUCCESS if operation completed, NOT_SUPPORTED if
|
||||||
* the kernel interface can't update the SA
|
* the kernel interface can't update the SA
|
||||||
*/
|
*/
|
||||||
status_t (*update_sa)(kernel_interface_t *this,
|
status_t (*update_sa)(kernel_interface_t *this,
|
||||||
u_int32_t spi, protocol_id_t protocol, u_int16_t cpi,
|
u_int32_t spi, protocol_id_t protocol, u_int16_t cpi,
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ struct kernel_ipsec_t {
|
|||||||
* @param encap current use of UDP encapsulation
|
* @param encap current use of UDP encapsulation
|
||||||
* @param new_encap new use of UDP encapsulation
|
* @param new_encap new use of UDP encapsulation
|
||||||
* @return SUCCESS if operation completed, NOT_SUPPORTED if
|
* @return SUCCESS if operation completed, NOT_SUPPORTED if
|
||||||
* the kernel interface can't update the SA
|
* the kernel interface can't update the SA
|
||||||
*/
|
*/
|
||||||
status_t (*update_sa)(kernel_ipsec_t *this,
|
status_t (*update_sa)(kernel_ipsec_t *this,
|
||||||
u_int32_t spi, protocol_id_t protocol, u_int16_t cpi,
|
u_int32_t spi, protocol_id_t protocol, u_int16_t cpi,
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ typedef struct receiver_t receiver_t;
|
|||||||
* find out wich key was used for cookie creation. Further, we can set a
|
* find out wich key was used for cookie creation. Further, we can set a
|
||||||
* lifetime for the cookie, which allows us to reuse the secret for a longer
|
* lifetime for the cookie, which allows us to reuse the secret for a longer
|
||||||
* time.
|
* time.
|
||||||
* COOKIE = time | sha1( IPi | SPIi | time | secret )
|
* COOKIE = time | sha1( IPi | SPIi | time | secret )
|
||||||
*
|
*
|
||||||
* The secret is changed after a certain amount of cookies sent. The old
|
* The secret is changed after a certain amount of cookies sent. The old
|
||||||
* secret is stored to allow a clean migration between secret changes.
|
* secret is stored to allow a clean migration between secret changes.
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ static status_t initiate_peer(private_eap_gtc_t *this, eap_payload_t **out)
|
|||||||
* PAM conv callback function
|
* PAM conv callback function
|
||||||
*/
|
*/
|
||||||
static int auth_conv(int num_msg, const struct pam_message **msg,
|
static int auth_conv(int num_msg, const struct pam_message **msg,
|
||||||
struct pam_response **resp, char *password)
|
struct pam_response **resp, char *password)
|
||||||
{
|
{
|
||||||
struct pam_response *response;
|
struct pam_response *response;
|
||||||
|
|
||||||
@@ -103,9 +103,9 @@ static int auth_conv(int num_msg, const struct pam_message **msg,
|
|||||||
*/
|
*/
|
||||||
static bool authenticate(char *service, char *user, char *password)
|
static bool authenticate(char *service, char *user, char *password)
|
||||||
{
|
{
|
||||||
pam_handle_t *pamh = NULL;
|
pam_handle_t *pamh = NULL;
|
||||||
static struct pam_conv conv;
|
static struct pam_conv conv;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
conv.conv = (void*)auth_conv;
|
conv.conv = (void*)auth_conv;
|
||||||
conv.appdata_ptr = password;
|
conv.appdata_ptr = password;
|
||||||
|
|||||||
@@ -709,7 +709,7 @@ static status_t peer_process_challenge(private_eap_sim_t *this,
|
|||||||
* process an EAP-SIM/Response/Challenge message
|
* process an EAP-SIM/Response/Challenge message
|
||||||
*/
|
*/
|
||||||
static status_t server_process_challenge(private_eap_sim_t *this,
|
static status_t server_process_challenge(private_eap_sim_t *this,
|
||||||
eap_payload_t *in, eap_payload_t **out)
|
eap_payload_t *in, eap_payload_t **out)
|
||||||
{
|
{
|
||||||
chunk_t message, data;
|
chunk_t message, data;
|
||||||
sim_attribute_t attribute;
|
sim_attribute_t attribute;
|
||||||
|
|||||||
@@ -952,17 +952,17 @@ static status_t manage_ipaddr(private_kernel_netlink_net_t *this, int nlmsg_type
|
|||||||
|
|
||||||
chunk = ip->get_address(ip);
|
chunk = ip->get_address(ip);
|
||||||
|
|
||||||
hdr = (struct nlmsghdr*)request;
|
hdr = (struct nlmsghdr*)request;
|
||||||
hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK | flags;
|
hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK | flags;
|
||||||
hdr->nlmsg_type = nlmsg_type;
|
hdr->nlmsg_type = nlmsg_type;
|
||||||
hdr->nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg));
|
hdr->nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg));
|
||||||
|
|
||||||
msg = (struct ifaddrmsg*)NLMSG_DATA(hdr);
|
msg = (struct ifaddrmsg*)NLMSG_DATA(hdr);
|
||||||
msg->ifa_family = ip->get_family(ip);
|
msg->ifa_family = ip->get_family(ip);
|
||||||
msg->ifa_flags = 0;
|
msg->ifa_flags = 0;
|
||||||
msg->ifa_prefixlen = 8 * chunk.len;
|
msg->ifa_prefixlen = 8 * chunk.len;
|
||||||
msg->ifa_scope = RT_SCOPE_UNIVERSE;
|
msg->ifa_scope = RT_SCOPE_UNIVERSE;
|
||||||
msg->ifa_index = if_index;
|
msg->ifa_index = if_index;
|
||||||
|
|
||||||
netlink_add_attribute(hdr, IFA_LOCAL, chunk, sizeof(request));
|
netlink_add_attribute(hdr, IFA_LOCAL, chunk, sizeof(request));
|
||||||
|
|
||||||
|
|||||||
@@ -682,8 +682,8 @@ static traffic_selector_t* sadb_address2ts(struct sadb_address *address)
|
|||||||
host_t *host;
|
host_t *host;
|
||||||
|
|
||||||
/* The Linux 2.6 kernel does not set the protocol and port information
|
/* The Linux 2.6 kernel does not set the protocol and port information
|
||||||
* in the src and dst sadb_address extensions of the SADB_ACQUIRE message.
|
* in the src and dst sadb_address extensions of the SADB_ACQUIRE message.
|
||||||
*/
|
*/
|
||||||
host = host_create_from_sockaddr((sockaddr_t*)&address[1]) ;
|
host = host_create_from_sockaddr((sockaddr_t*)&address[1]) ;
|
||||||
ts = traffic_selector_create_from_subnet(host, address->sadb_address_prefixlen,
|
ts = traffic_selector_create_from_subnet(host, address->sadb_address_prefixlen,
|
||||||
address->sadb_address_proto, host->get_port(host));
|
address->sadb_address_proto, host->get_port(host));
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ static enumerator_t* create_cert_enumerator(private_medcli_creds_t *this,
|
|||||||
*/
|
*/
|
||||||
static void destroy(private_medcli_creds_t *this)
|
static void destroy(private_medcli_creds_t *this)
|
||||||
{
|
{
|
||||||
free(this);
|
free(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ static enumerator_t* create_cert_enumerator(private_medsrv_creds_t *this,
|
|||||||
*/
|
*/
|
||||||
static void destroy(private_medsrv_creds_t *this)
|
static void destroy(private_medsrv_creds_t *this)
|
||||||
{
|
{
|
||||||
free(this);
|
free(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ static char* get_connection_type(char *uuid)
|
|||||||
if (found)
|
if (found)
|
||||||
{
|
{
|
||||||
key = g_strdup_printf ("%s/%s/%s", found,
|
key = g_strdup_printf ("%s/%s/%s", found,
|
||||||
NM_SETTING_VPN_SETTING_NAME, "method");
|
NM_SETTING_VPN_SETTING_NAME, "method");
|
||||||
method = gconf_client_get_string(client, key, NULL);
|
method = gconf_client_get_string(client, key, NULL);
|
||||||
g_free(found);
|
g_free(found);
|
||||||
g_free(key);
|
g_free(key);
|
||||||
|
|||||||
@@ -110,9 +110,9 @@ check_validity (StrongswanPluginUiWidget *self, GError **error)
|
|||||||
str = (char *) gtk_entry_get_text (GTK_ENTRY (widget));
|
str = (char *) gtk_entry_get_text (GTK_ENTRY (widget));
|
||||||
if (!str || !strlen (str)) {
|
if (!str || !strlen (str)) {
|
||||||
g_set_error (error,
|
g_set_error (error,
|
||||||
STRONGSWAN_PLUGIN_UI_ERROR,
|
STRONGSWAN_PLUGIN_UI_ERROR,
|
||||||
STRONGSWAN_PLUGIN_UI_ERROR_INVALID_PROPERTY,
|
STRONGSWAN_PLUGIN_UI_ERROR_INVALID_PROPERTY,
|
||||||
"address");
|
"address");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -275,8 +275,8 @@ get_widget (NMVpnPluginUiWidgetInterface *iface)
|
|||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
update_connection (NMVpnPluginUiWidgetInterface *iface,
|
update_connection (NMVpnPluginUiWidgetInterface *iface,
|
||||||
NMConnection *connection,
|
NMConnection *connection,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
StrongswanPluginUiWidget *self = STRONGSWAN_PLUGIN_UI_WIDGET (iface);
|
StrongswanPluginUiWidget *self = STRONGSWAN_PLUGIN_UI_WIDGET (iface);
|
||||||
StrongswanPluginUiWidgetPrivate *priv = STRONGSWAN_PLUGIN_UI_WIDGET_GET_PRIVATE (self);
|
StrongswanPluginUiWidgetPrivate *priv = STRONGSWAN_PLUGIN_UI_WIDGET_GET_PRIVATE (self);
|
||||||
@@ -358,7 +358,7 @@ update_connection (NMVpnPluginUiWidgetInterface *iface,
|
|||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
save_secrets (NMVpnPluginUiWidgetInterface *iface,
|
save_secrets (NMVpnPluginUiWidgetInterface *iface,
|
||||||
NMConnection *connection, GError **error)
|
NMConnection *connection, GError **error)
|
||||||
{
|
{
|
||||||
/* no secrets to save */
|
/* no secrets to save */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -386,7 +386,7 @@ nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error)
|
|||||||
priv->xml = glade_xml_new (glade_file, "strongswan-vbox", GETTEXT_PACKAGE);
|
priv->xml = glade_xml_new (glade_file, "strongswan-vbox", GETTEXT_PACKAGE);
|
||||||
if (priv->xml == NULL) {
|
if (priv->xml == NULL) {
|
||||||
g_set_error (error, STRONGSWAN_PLUGIN_UI_ERROR, 0,
|
g_set_error (error, STRONGSWAN_PLUGIN_UI_ERROR, 0,
|
||||||
"could not load required resources at %s", glade_file);
|
"could not load required resources at %s", glade_file);
|
||||||
g_free (glade_file);
|
g_free (glade_file);
|
||||||
g_object_unref (object);
|
g_object_unref (object);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|||||||
@@ -254,7 +254,7 @@ static gboolean connect_(NMVPNPlugin *plugin, NMConnection *connection,
|
|||||||
if (!address || !*address)
|
if (!address || !*address)
|
||||||
{
|
{
|
||||||
g_set_error(err, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS,
|
g_set_error(err, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS,
|
||||||
"Gateway address missing.");
|
"Gateway address missing.");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
str = nm_setting_vpn_get_data_item(vpn, "virtual");
|
str = nm_setting_vpn_get_data_item(vpn, "virtual");
|
||||||
@@ -297,7 +297,7 @@ static gboolean connect_(NMVPNPlugin *plugin, NMConnection *connection,
|
|||||||
if (!cert)
|
if (!cert)
|
||||||
{
|
{
|
||||||
g_set_error(err, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS,
|
g_set_error(err, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS,
|
||||||
"Loading gateway certificate failed.");
|
"Loading gateway certificate failed.");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
x509 = (x509_t*)cert;
|
x509 = (x509_t*)cert;
|
||||||
@@ -476,7 +476,7 @@ static gboolean connect_(NMVPNPlugin *plugin, NMConnection *connection,
|
|||||||
charon->ike_sa_manager->checkin_and_destroy(charon->ike_sa_manager, ike_sa);
|
charon->ike_sa_manager->checkin_and_destroy(charon->ike_sa_manager, ike_sa);
|
||||||
|
|
||||||
g_set_error(err, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_LAUNCH_FAILED,
|
g_set_error(err, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_LAUNCH_FAILED,
|
||||||
"Initiating failed.");
|
"Initiating failed.");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa);
|
charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa);
|
||||||
|
|||||||
@@ -508,8 +508,8 @@ static void request_query(xmlTextReaderPtr reader, xmlTextWriterPtr writer)
|
|||||||
{
|
{
|
||||||
/* <query> */
|
/* <query> */
|
||||||
xmlTextWriterStartElement(writer, "query");
|
xmlTextWriterStartElement(writer, "query");
|
||||||
while (xmlTextReaderRead(reader))
|
while (xmlTextReaderRead(reader))
|
||||||
{
|
{
|
||||||
if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT)
|
if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT)
|
||||||
{
|
{
|
||||||
if (streq(xmlTextReaderConstName(reader), "ikesalist"))
|
if (streq(xmlTextReaderConstName(reader), "ikesalist"))
|
||||||
@@ -535,8 +535,8 @@ static void request_control(xmlTextReaderPtr reader, xmlTextWriterPtr writer)
|
|||||||
{
|
{
|
||||||
/* <control> */
|
/* <control> */
|
||||||
xmlTextWriterStartElement(writer, "control");
|
xmlTextWriterStartElement(writer, "control");
|
||||||
while (xmlTextReaderRead(reader))
|
while (xmlTextReaderRead(reader))
|
||||||
{
|
{
|
||||||
if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT)
|
if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT)
|
||||||
{
|
{
|
||||||
if (streq(xmlTextReaderConstName(reader), "ikesaterminate"))
|
if (streq(xmlTextReaderConstName(reader), "ikesaterminate"))
|
||||||
@@ -649,8 +649,8 @@ static job_requeue_t process(int *fdp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* read message type and id */
|
/* read message type and id */
|
||||||
while (xmlTextReaderRead(reader))
|
while (xmlTextReaderRead(reader))
|
||||||
{
|
{
|
||||||
if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT &&
|
if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT &&
|
||||||
streq(xmlTextReaderConstName(reader), "message"))
|
streq(xmlTextReaderConstName(reader), "message"))
|
||||||
{
|
{
|
||||||
@@ -658,20 +658,20 @@ static job_requeue_t process(int *fdp)
|
|||||||
type = xmlTextReaderGetAttribute(reader, "type");
|
type = xmlTextReaderGetAttribute(reader, "type");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* process message */
|
/* process message */
|
||||||
if (id && type)
|
if (id && type)
|
||||||
{
|
{
|
||||||
if (streq(type, "request"))
|
if (streq(type, "request"))
|
||||||
{
|
{
|
||||||
request(reader, id, fd);
|
request(reader, id, fd);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* response(reader, id) */
|
/* response(reader, id) */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
xmlFreeTextReader(reader);
|
xmlFreeTextReader(reader);
|
||||||
return JOB_REQUEUE_FAIR;;
|
return JOB_REQUEUE_FAIR;;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,9 +36,9 @@ struct sql_attribute_t {
|
|||||||
attribute_provider_t provider;
|
attribute_provider_t provider;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a sql_attribute instance.
|
* Destroy a sql_attribute instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(sql_attribute_t *this);
|
void (*destroy)(sql_attribute_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -67,9 +67,9 @@ struct stroke_ca_t {
|
|||||||
void (*check_for_hash_and_url)(stroke_ca_t *this, certificate_t* cert);
|
void (*check_for_hash_and_url)(stroke_ca_t *this, certificate_t* cert);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a stroke_ca instance.
|
* Destroy a stroke_ca instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(stroke_ca_t *this);
|
void (*destroy)(stroke_ca_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -53,9 +53,9 @@ struct stroke_config_t {
|
|||||||
void (*del)(stroke_config_t *this, stroke_msg_t *msg);
|
void (*del)(stroke_config_t *this, stroke_msg_t *msg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a stroke_config instance.
|
* Destroy a stroke_config instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(stroke_config_t *this);
|
void (*destroy)(stroke_config_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ typedef struct stroke_socket_t stroke_socket_t;
|
|||||||
struct stroke_socket_t {
|
struct stroke_socket_t {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a stroke_socket instance.
|
* Destroy a stroke_socket instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(stroke_socket_t *this);
|
void (*destroy)(stroke_socket_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -49,15 +49,13 @@ struct migrate_job_t {
|
|||||||
* @param reqid reqid of the CHILD_SA to acquire
|
* @param reqid reqid of the CHILD_SA to acquire
|
||||||
* @param src_ts source traffic selector to be used in the policy
|
* @param src_ts source traffic selector to be used in the policy
|
||||||
* @param dst_ts destination traffic selector to be used in the policy
|
* @param dst_ts destination traffic selector to be used in the policy
|
||||||
* @param dir direction of the policy (in|out)
|
* @param dir direction of the policy (in|out)
|
||||||
* @param local local host address to be used in the IKE_SA
|
* @param local local host address to be used in the IKE_SA
|
||||||
* @param remote remote host address to be used in the IKE_SA
|
* @param remote remote host address to be used in the IKE_SA
|
||||||
* @return migrate_job_t object
|
* @return migrate_job_t object
|
||||||
*/
|
*/
|
||||||
migrate_job_t *migrate_job_create(u_int32_t reqid,
|
migrate_job_t *migrate_job_create(u_int32_t reqid,
|
||||||
traffic_selector_t *src_ts,
|
traffic_selector_t *src_ts, traffic_selector_t *dst_ts,
|
||||||
traffic_selector_t *dst_ts,
|
policy_dir_t dir, host_t *local, host_t *remote);
|
||||||
policy_dir_t dir,
|
|
||||||
host_t *local, host_t *remote);
|
|
||||||
|
|
||||||
#endif /** MIGRATE_JOB_H_ @}*/
|
#endif /** MIGRATE_JOB_H_ @}*/
|
||||||
|
|||||||
@@ -69,9 +69,9 @@ struct eap_manager_t {
|
|||||||
identification_t *peer);
|
identification_t *peer);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a eap_manager instance.
|
* Destroy a eap_manager instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(eap_manager_t *this);
|
void (*destroy)(eap_manager_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -937,7 +937,7 @@ child_sa_t * child_sa_create(host_t *me, host_t* other,
|
|||||||
|
|
||||||
/* MIPv6 proxy transport mode sets SA endpoints to TS hosts */
|
/* MIPv6 proxy transport mode sets SA endpoints to TS hosts */
|
||||||
if (config->get_mode(config) == MODE_TRANSPORT &&
|
if (config->get_mode(config) == MODE_TRANSPORT &&
|
||||||
config->use_proxy_mode(config))
|
config->use_proxy_mode(config))
|
||||||
{
|
{
|
||||||
ts_type_t type;
|
ts_type_t type;
|
||||||
int family;
|
int family;
|
||||||
|
|||||||
@@ -98,19 +98,19 @@ struct endpoint_pair_t {
|
|||||||
u_int64_t priority;
|
u_int64_t priority;
|
||||||
|
|
||||||
/** local endpoint */
|
/** local endpoint */
|
||||||
host_t *local;
|
host_t *local;
|
||||||
|
|
||||||
/** remote endpoint */
|
/** remote endpoint */
|
||||||
host_t *remote;
|
host_t *remote;
|
||||||
|
|
||||||
/** state */
|
/** state */
|
||||||
check_state_t state;
|
check_state_t state;
|
||||||
|
|
||||||
/** number of retransmissions */
|
/** number of retransmissions */
|
||||||
u_int32_t retransmitted;
|
u_int32_t retransmitted;
|
||||||
|
|
||||||
/** the generated packet */
|
/** the generated packet */
|
||||||
packet_t *packet;
|
packet_t *packet;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -119,8 +119,8 @@ struct endpoint_pair_t {
|
|||||||
static void endpoint_pair_destroy(endpoint_pair_t *this)
|
static void endpoint_pair_destroy(endpoint_pair_t *this)
|
||||||
{
|
{
|
||||||
DESTROY_IF(this->local);
|
DESTROY_IF(this->local);
|
||||||
DESTROY_IF(this->remote);
|
DESTROY_IF(this->remote);
|
||||||
DESTROY_IF(this->packet);
|
DESTROY_IF(this->packet);
|
||||||
free(this);
|
free(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,16 +183,16 @@ struct check_list_t {
|
|||||||
/** connect id */
|
/** connect id */
|
||||||
chunk_t connect_id;
|
chunk_t connect_id;
|
||||||
|
|
||||||
/** list of endpoint pairs */
|
/** list of endpoint pairs */
|
||||||
linked_list_t *pairs;
|
linked_list_t *pairs;
|
||||||
|
|
||||||
/** pairs queued for triggered checks */
|
/** pairs queued for triggered checks */
|
||||||
linked_list_t *triggered;
|
linked_list_t *triggered;
|
||||||
|
|
||||||
/** state */
|
/** state */
|
||||||
check_state_t state;
|
check_state_t state;
|
||||||
|
|
||||||
/** TRUE if this is the initiator */
|
/** TRUE if this is the initiator */
|
||||||
bool is_initiator;
|
bool is_initiator;
|
||||||
|
|
||||||
/** TRUE if the initiator is finishing the checks */
|
/** TRUE if the initiator is finishing the checks */
|
||||||
@@ -242,13 +242,13 @@ static check_list_t *check_list_create(identification_t *initiator, identificati
|
|||||||
|
|
||||||
this->responder.id = responder->clone(responder);
|
this->responder.id = responder->clone(responder);
|
||||||
this->responder.key = chunk_empty;
|
this->responder.key = chunk_empty;
|
||||||
this->responder.endpoints = NULL;
|
this->responder.endpoints = NULL;
|
||||||
|
|
||||||
this->pairs = linked_list_create();
|
this->pairs = linked_list_create();
|
||||||
this->triggered = linked_list_create();
|
this->triggered = linked_list_create();
|
||||||
this->state = CHECK_NONE;
|
this->state = CHECK_NONE;
|
||||||
this->is_initiator = is_initiator;
|
this->is_initiator = is_initiator;
|
||||||
this->is_finishing = FALSE;
|
this->is_finishing = FALSE;
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -319,8 +319,8 @@ struct check_t {
|
|||||||
/** raw endpoint payload (to verify the signature) */
|
/** raw endpoint payload (to verify the signature) */
|
||||||
chunk_t endpoint_raw;
|
chunk_t endpoint_raw;
|
||||||
|
|
||||||
/** connect auth */
|
/** connect auth */
|
||||||
chunk_t auth;
|
chunk_t auth;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -28,13 +28,13 @@ typedef struct peer_t peer_t;
|
|||||||
*/
|
*/
|
||||||
struct peer_t {
|
struct peer_t {
|
||||||
/** id of the peer */
|
/** id of the peer */
|
||||||
identification_t *id;
|
identification_t *id;
|
||||||
|
|
||||||
/** sa id of the peer, NULL if offline */
|
/** sa id of the peer, NULL if offline */
|
||||||
ike_sa_id_t *ike_sa_id;
|
ike_sa_id_t *ike_sa_id;
|
||||||
|
|
||||||
/** list of peer ids that reuested this peer */
|
/** list of peer ids that reuested this peer */
|
||||||
linked_list_t *requested_by;
|
linked_list_t *requested_by;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -43,8 +43,8 @@ struct peer_t {
|
|||||||
static void peer_destroy(peer_t *this)
|
static void peer_destroy(peer_t *this)
|
||||||
{
|
{
|
||||||
DESTROY_IF(this->id);
|
DESTROY_IF(this->id);
|
||||||
DESTROY_IF(this->ike_sa_id);
|
DESTROY_IF(this->ike_sa_id);
|
||||||
this->requested_by->destroy_offset(this->requested_by, offsetof(identification_t, destroy));
|
this->requested_by->destroy_offset(this->requested_by, offsetof(identification_t, destroy));
|
||||||
free(this);
|
free(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -57,8 +57,8 @@ static peer_t *peer_create(identification_t *id, ike_sa_id_t* ike_sa_id)
|
|||||||
|
|
||||||
/* clone everything */
|
/* clone everything */
|
||||||
this->id = id->clone(id);
|
this->id = id->clone(id);
|
||||||
this->ike_sa_id = ike_sa_id ? ike_sa_id->clone(ike_sa_id) : NULL;
|
this->ike_sa_id = ike_sa_id ? ike_sa_id->clone(ike_sa_id) : NULL;
|
||||||
this->requested_by = linked_list_create();
|
this->requested_by = linked_list_create();
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -241,11 +241,11 @@ static char* create_tap(private_iface_t *this)
|
|||||||
if (ioctl(tap, TUNSETIFF, &ifr) < 0 ||
|
if (ioctl(tap, TUNSETIFF, &ifr) < 0 ||
|
||||||
ioctl(tap, TUNSETPERSIST, 1) < 0 ||
|
ioctl(tap, TUNSETPERSIST, 1) < 0 ||
|
||||||
ioctl(tap, TUNSETOWNER, 0))
|
ioctl(tap, TUNSETOWNER, 0))
|
||||||
{
|
{
|
||||||
DBG1("creating new tap device failed: %m");
|
DBG1("creating new tap device failed: %m");
|
||||||
close(tap);
|
close(tap);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
close(tap);
|
close(tap);
|
||||||
return strdup(ifr.ifr_name);
|
return strdup(ifr.ifr_name);
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -173,7 +173,7 @@ static void quit()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
enumerator->destroy(enumerator);
|
enumerator->destroy(enumerator);
|
||||||
gtk_main_quit();
|
gtk_main_quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void error_dialog(char *msg)
|
static void error_dialog(char *msg)
|
||||||
@@ -492,7 +492,7 @@ int main(int argc, char *argv[])
|
|||||||
notebook = gtk_notebook_new();
|
notebook = gtk_notebook_new();
|
||||||
g_object_set(G_OBJECT(notebook), "homogeneous", TRUE, NULL);
|
g_object_set(G_OBJECT(notebook), "homogeneous", TRUE, NULL);
|
||||||
gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_BOTTOM);
|
gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_BOTTOM);
|
||||||
gtk_container_add(GTK_CONTAINER(vbox), notebook);
|
gtk_container_add(GTK_CONTAINER(vbox), notebook);
|
||||||
|
|
||||||
/* Dumm menu */
|
/* Dumm menu */
|
||||||
menu = gtk_menu_new();
|
menu = gtk_menu_new();
|
||||||
|
|||||||
+6
-6
@@ -73,16 +73,16 @@ struct mconsole_reply {
|
|||||||
typedef struct mconsole_notify mconsole_notify;
|
typedef struct mconsole_notify mconsole_notify;
|
||||||
/** mconsole notify message */
|
/** mconsole notify message */
|
||||||
struct mconsole_notify {
|
struct mconsole_notify {
|
||||||
u_int32_t magic;
|
u_int32_t magic;
|
||||||
u_int32_t version;
|
u_int32_t version;
|
||||||
enum {
|
enum {
|
||||||
MCONSOLE_SOCKET,
|
MCONSOLE_SOCKET,
|
||||||
MCONSOLE_PANIC,
|
MCONSOLE_PANIC,
|
||||||
MCONSOLE_HANG,
|
MCONSOLE_HANG,
|
||||||
MCONSOLE_USER_NOTIFY,
|
MCONSOLE_USER_NOTIFY,
|
||||||
} type;
|
} type;
|
||||||
u_int32_t len;
|
u_int32_t len;
|
||||||
char data[MCONSOLE_MAX_DATA];
|
char data[MCONSOLE_MAX_DATA];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -366,15 +366,15 @@ dispatcher_t *dispatcher_create(char *socket, bool debug, int timeout,
|
|||||||
this->context_constructor = constructor;
|
this->context_constructor = constructor;
|
||||||
pthread_mutex_init(&this->mutex, NULL);
|
pthread_mutex_init(&this->mutex, NULL);
|
||||||
this->param = param;
|
this->param = param;
|
||||||
this->fd = 0;
|
this->fd = 0;
|
||||||
this->timeout = timeout;
|
this->timeout = timeout;
|
||||||
this->debug = debug;
|
this->debug = debug;
|
||||||
this->threads = NULL;
|
this->threads = NULL;
|
||||||
|
|
||||||
FCGX_Init();
|
FCGX_Init();
|
||||||
|
|
||||||
if (socket)
|
if (socket)
|
||||||
{
|
{
|
||||||
unlink(socket);
|
unlink(socket);
|
||||||
this->fd = FCGX_OpenSocket(socket, 10);
|
this->fd = FCGX_OpenSocket(socket, 10);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ static void destroy(private_request_t *this)
|
|||||||
static void init(void)
|
static void init(void)
|
||||||
{
|
{
|
||||||
cgiwrap_init_emu(NULL, read_cb, writef_cb, write_cb,
|
cgiwrap_init_emu(NULL, read_cb, writef_cb, write_cb,
|
||||||
getenv_cb, putenv_cb, iterenv_cb);
|
getenv_cb, putenv_cb, iterenv_cb);
|
||||||
pthread_key_create(&this_key, NULL);
|
pthread_key_create(&this_key, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ static void process(private_session_t *this, request_t *request)
|
|||||||
param[i] = strdupa(start);
|
param[i] = strdupa(start);
|
||||||
|
|
||||||
if (run_filter(this, request, param[0], param[1], param[2], param[3],
|
if (run_filter(this, request, param[0], param[1], param[2], param[3],
|
||||||
param[4], param[5]))
|
param[4], param[5]))
|
||||||
{
|
{
|
||||||
enumerator = this->controllers->create_enumerator(this->controllers);
|
enumerator = this->controllers->create_enumerator(this->controllers);
|
||||||
while (enumerator->enumerate(enumerator, ¤t))
|
while (enumerator->enumerate(enumerator, ¤t))
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ int asn1_known_oid(chunk_t object)
|
|||||||
{
|
{
|
||||||
if (--object.len == 0 || oid_names[oid].down == 0)
|
if (--object.len == 0 || oid_names[oid].down == 0)
|
||||||
{
|
{
|
||||||
return oid; /* found terminal symbol */
|
return oid; /* found terminal symbol */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -455,11 +455,11 @@ bool asn1_parse_simple_object(chunk_t *object, asn1_t type, u_int level, const c
|
|||||||
* ASN.1 definition of an algorithmIdentifier
|
* ASN.1 definition of an algorithmIdentifier
|
||||||
*/
|
*/
|
||||||
static const asn1Object_t algorithmIdentifierObjects[] = {
|
static const asn1Object_t algorithmIdentifierObjects[] = {
|
||||||
{ 0, "algorithmIdentifier", ASN1_SEQUENCE, ASN1_NONE }, /* 0 */
|
{ 0, "algorithmIdentifier", ASN1_SEQUENCE, ASN1_NONE }, /* 0 */
|
||||||
{ 1, "algorithm", ASN1_OID, ASN1_BODY }, /* 1 */
|
{ 1, "algorithm", ASN1_OID, ASN1_BODY }, /* 1 */
|
||||||
{ 1, "parameters", ASN1_EOC, ASN1_RAW|ASN1_OPT }, /* 2 */
|
{ 1, "parameters", ASN1_EOC, ASN1_RAW|ASN1_OPT }, /* 2 */
|
||||||
{ 1, "end opt", ASN1_EOC, ASN1_END }, /* 3 */
|
{ 1, "end opt", ASN1_EOC, ASN1_END }, /* 3 */
|
||||||
{ 0, "exit", ASN1_EOC, ASN1_EXIT }
|
{ 0, "exit", ASN1_EOC, ASN1_EXIT }
|
||||||
};
|
};
|
||||||
#define ALGORITHM_ID_ALG 1
|
#define ALGORITHM_ID_ALG 1
|
||||||
#define ALGORITHM_ID_PARAMETERS 2
|
#define ALGORITHM_ID_PARAMETERS 2
|
||||||
|
|||||||
@@ -32,51 +32,51 @@
|
|||||||
* Definition of some primitive ASN1 types
|
* Definition of some primitive ASN1 types
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ASN1_EOC = 0x00,
|
ASN1_EOC = 0x00,
|
||||||
ASN1_BOOLEAN = 0x01,
|
ASN1_BOOLEAN = 0x01,
|
||||||
ASN1_INTEGER = 0x02,
|
ASN1_INTEGER = 0x02,
|
||||||
ASN1_BIT_STRING = 0x03,
|
ASN1_BIT_STRING = 0x03,
|
||||||
ASN1_OCTET_STRING = 0x04,
|
ASN1_OCTET_STRING = 0x04,
|
||||||
ASN1_NULL = 0x05,
|
ASN1_NULL = 0x05,
|
||||||
ASN1_OID = 0x06,
|
ASN1_OID = 0x06,
|
||||||
ASN1_ENUMERATED = 0x0A,
|
ASN1_ENUMERATED = 0x0A,
|
||||||
ASN1_UTF8STRING = 0x0C,
|
ASN1_UTF8STRING = 0x0C,
|
||||||
ASN1_NUMERICSTRING = 0x12,
|
ASN1_NUMERICSTRING = 0x12,
|
||||||
ASN1_PRINTABLESTRING = 0x13,
|
ASN1_PRINTABLESTRING = 0x13,
|
||||||
ASN1_T61STRING = 0x14,
|
ASN1_T61STRING = 0x14,
|
||||||
ASN1_VIDEOTEXSTRING = 0x15,
|
ASN1_VIDEOTEXSTRING = 0x15,
|
||||||
ASN1_IA5STRING = 0x16,
|
ASN1_IA5STRING = 0x16,
|
||||||
ASN1_UTCTIME = 0x17,
|
ASN1_UTCTIME = 0x17,
|
||||||
ASN1_GENERALIZEDTIME = 0x18,
|
ASN1_GENERALIZEDTIME = 0x18,
|
||||||
ASN1_GRAPHICSTRING = 0x19,
|
ASN1_GRAPHICSTRING = 0x19,
|
||||||
ASN1_VISIBLESTRING = 0x1A,
|
ASN1_VISIBLESTRING = 0x1A,
|
||||||
ASN1_GENERALSTRING = 0x1B,
|
ASN1_GENERALSTRING = 0x1B,
|
||||||
ASN1_UNIVERSALSTRING = 0x1C,
|
ASN1_UNIVERSALSTRING = 0x1C,
|
||||||
ASN1_BMPSTRING = 0x1E,
|
ASN1_BMPSTRING = 0x1E,
|
||||||
|
|
||||||
ASN1_CONSTRUCTED = 0x20,
|
ASN1_CONSTRUCTED = 0x20,
|
||||||
|
|
||||||
ASN1_SEQUENCE = 0x30,
|
ASN1_SEQUENCE = 0x30,
|
||||||
ASN1_SET = 0x31,
|
ASN1_SET = 0x31,
|
||||||
|
|
||||||
ASN1_CONTEXT_S_0 = 0x80,
|
ASN1_CONTEXT_S_0 = 0x80,
|
||||||
ASN1_CONTEXT_S_1 = 0x81,
|
ASN1_CONTEXT_S_1 = 0x81,
|
||||||
ASN1_CONTEXT_S_2 = 0x82,
|
ASN1_CONTEXT_S_2 = 0x82,
|
||||||
ASN1_CONTEXT_S_3 = 0x83,
|
ASN1_CONTEXT_S_3 = 0x83,
|
||||||
ASN1_CONTEXT_S_4 = 0x84,
|
ASN1_CONTEXT_S_4 = 0x84,
|
||||||
ASN1_CONTEXT_S_5 = 0x85,
|
ASN1_CONTEXT_S_5 = 0x85,
|
||||||
ASN1_CONTEXT_S_6 = 0x86,
|
ASN1_CONTEXT_S_6 = 0x86,
|
||||||
ASN1_CONTEXT_S_7 = 0x87,
|
ASN1_CONTEXT_S_7 = 0x87,
|
||||||
ASN1_CONTEXT_S_8 = 0x88,
|
ASN1_CONTEXT_S_8 = 0x88,
|
||||||
|
|
||||||
ASN1_CONTEXT_C_0 = 0xA0,
|
ASN1_CONTEXT_C_0 = 0xA0,
|
||||||
ASN1_CONTEXT_C_1 = 0xA1,
|
ASN1_CONTEXT_C_1 = 0xA1,
|
||||||
ASN1_CONTEXT_C_2 = 0xA2,
|
ASN1_CONTEXT_C_2 = 0xA2,
|
||||||
ASN1_CONTEXT_C_3 = 0xA3,
|
ASN1_CONTEXT_C_3 = 0xA3,
|
||||||
ASN1_CONTEXT_C_4 = 0xA4,
|
ASN1_CONTEXT_C_4 = 0xA4,
|
||||||
ASN1_CONTEXT_C_5 = 0xA5,
|
ASN1_CONTEXT_C_5 = 0xA5,
|
||||||
|
|
||||||
ASN1_INVALID = 0x100,
|
ASN1_INVALID = 0x100,
|
||||||
} asn1_t;
|
} asn1_t;
|
||||||
|
|
||||||
#define ASN1_INVALID_LENGTH 0xffffffff
|
#define ASN1_INVALID_LENGTH 0xffffffff
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ static bool iterate(private_asn1_parser_t *this, int *objectID, chunk_t *object)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->loopAddr[obj.level] = 0; /* exit loop or option*/
|
this->loopAddr[obj.level] = 0; /* exit loop or option*/
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,25 +69,25 @@ struct asn1_parser_t {
|
|||||||
* @return - FALSE if end of object syntax definition was reached
|
* @return - FALSE if end of object syntax definition was reached
|
||||||
* or a parsing error occurred
|
* or a parsing error occurred
|
||||||
* - TRUE otherwise
|
* - TRUE otherwise
|
||||||
*/
|
*/
|
||||||
bool (*iterate)(asn1_parser_t *this, int *objectID, chunk_t *object);
|
bool (*iterate)(asn1_parser_t *this, int *objectID, chunk_t *object);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current parsing level
|
* Get the current parsing level
|
||||||
*
|
*
|
||||||
* @return current level
|
* @return current level
|
||||||
*/
|
*/
|
||||||
u_int (*get_level)(asn1_parser_t *this);
|
u_int (*get_level)(asn1_parser_t *this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the top-most level
|
* Set the top-most level
|
||||||
*
|
*
|
||||||
* @param level top-most level
|
* @param level top-most level
|
||||||
*/
|
*/
|
||||||
void (*set_top_level)(asn1_parser_t *this, u_int level0);
|
void (*set_top_level)(asn1_parser_t *this, u_int level0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set implicit and private flags
|
* Set implicit and private flags
|
||||||
*
|
*
|
||||||
* @param implicit top-most type of object is implicit
|
* @param implicit top-most type of object is implicit
|
||||||
* @param private object data is private (use debug level 4)
|
* @param private object data is private (use debug level 4)
|
||||||
@@ -95,7 +95,7 @@ struct asn1_parser_t {
|
|||||||
void (*set_flags)(asn1_parser_t *this, bool implicit, bool private);
|
void (*set_flags)(asn1_parser_t *this, bool implicit, bool private);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show final parsing status
|
* Show final parsing status
|
||||||
*
|
*
|
||||||
* @return TRUE if parsing was successful, FALSE otherwise
|
* @return TRUE if parsing was successful, FALSE otherwise
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -274,7 +274,7 @@ u_int32_t chunk_hash_inc(chunk_t chunk, u_int32_t hash);
|
|||||||
* printf hook function for chunk_t.
|
* printf hook function for chunk_t.
|
||||||
*
|
*
|
||||||
* Arguments are:
|
* Arguments are:
|
||||||
* chunk_t *chunk
|
* chunk_t *chunk
|
||||||
* Use #-modifier to print a compact version
|
* Use #-modifier to print a compact version
|
||||||
*/
|
*/
|
||||||
int chunk_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
int chunk_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
||||||
|
|||||||
@@ -192,9 +192,9 @@ struct certificate_t {
|
|||||||
certificate_t* (*get_ref)(certificate_t *this);
|
certificate_t* (*get_ref)(certificate_t *this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a certificate.
|
* Destroy a certificate.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(certificate_t *this);
|
void (*destroy)(certificate_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /** CERTIFICATE_H_ @}*/
|
#endif /** CERTIFICATE_H_ @}*/
|
||||||
|
|||||||
@@ -32,14 +32,14 @@ typedef enum crl_reason_t crl_reason_t;
|
|||||||
* RFC 2459 CRL reason codes
|
* RFC 2459 CRL reason codes
|
||||||
*/
|
*/
|
||||||
enum crl_reason_t {
|
enum crl_reason_t {
|
||||||
CRL_REASON_UNSPECIFIED = 0,
|
CRL_REASON_UNSPECIFIED = 0,
|
||||||
CRL_REASON_KEY_COMPROMISE = 1,
|
CRL_REASON_KEY_COMPROMISE = 1,
|
||||||
CRL_REASON_CA_COMPROMISE = 2,
|
CRL_REASON_CA_COMPROMISE = 2,
|
||||||
CRL_REASON_AFFILIATION_CHANGED = 3,
|
CRL_REASON_AFFILIATION_CHANGED = 3,
|
||||||
CRL_REASON_SUPERSEDED = 4,
|
CRL_REASON_SUPERSEDED = 4,
|
||||||
CRL_REASON_CESSATION_OF_OPERATON = 5,
|
CRL_REASON_CESSATION_OF_OPERATON = 5,
|
||||||
CRL_REASON_CERTIFICATE_HOLD = 6,
|
CRL_REASON_CERTIFICATE_HOLD = 6,
|
||||||
CRL_REASON_REMOVE_FROM_CRL = 8,
|
CRL_REASON_REMOVE_FROM_CRL = 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -78,9 +78,9 @@ struct shared_key_t {
|
|||||||
shared_key_t* (*get_ref)(shared_key_t *this);
|
shared_key_t* (*get_ref)(shared_key_t *this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a shared_key instance if all references are gone.
|
* Destroy a shared_key instance if all references are gone.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(shared_key_t *this);
|
void (*destroy)(shared_key_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -56,9 +56,9 @@ enum encryption_algorithm_t {
|
|||||||
ENCR_CAMELLIA_CCM_ICV12 = 26,
|
ENCR_CAMELLIA_CCM_ICV12 = 26,
|
||||||
ENCR_CAMELLIA_CCM_ICV16 = 27,
|
ENCR_CAMELLIA_CCM_ICV16 = 27,
|
||||||
ENCR_UNDEFINED = 1024,
|
ENCR_UNDEFINED = 1024,
|
||||||
ENCR_DES_ECB = 1025,
|
ENCR_DES_ECB = 1025,
|
||||||
ENCR_SERPENT_CBC = 1026,
|
ENCR_SERPENT_CBC = 1026,
|
||||||
ENCR_TWOFISH_CBC = 1027
|
ENCR_TWOFISH_CBC = 1027
|
||||||
};
|
};
|
||||||
|
|
||||||
#define DES_BLOCK_SIZE 8
|
#define DES_BLOCK_SIZE 8
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ static crypter_t* create_crypter(private_crypto_factory_t *this,
|
|||||||
{
|
{
|
||||||
if (this->test_on_create &&
|
if (this->test_on_create &&
|
||||||
!this->tester->test_crypter(this->tester, algo, key_size,
|
!this->tester->test_crypter(this->tester, algo, key_size,
|
||||||
entry->create_crypter))
|
entry->create_crypter))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -727,7 +727,7 @@ chunk_t pkcs7_build_issuerAndSerialNumber(x509_t *cert)
|
|||||||
{
|
{
|
||||||
identification_t *issuer = cert->get_issuer(cert);
|
identification_t *issuer = cert->get_issuer(cert);
|
||||||
|
|
||||||
return asn1_wrap(ASN1_SEQUENCE, "cm",
|
return asn1_wrap(ASN1_SEQUENCE, "cm",
|
||||||
issuer->get_encoding(issuer),
|
issuer->get_encoding(issuer),
|
||||||
asn1_simple_object(ASN1_INTEGER, cert->get_serialNumber(cert)));
|
asn1_simple_object(ASN1_INTEGER, cert->get_serialNumber(cert)));
|
||||||
}
|
}
|
||||||
@@ -806,7 +806,7 @@ bool build_envelopedData(private_pkcs7_t *this, x509_t *cert,
|
|||||||
crypter->encrypt(crypter, in, iv, &out);
|
crypter->encrypt(crypter, in, iv, &out);
|
||||||
crypter->destroy(crypter);
|
crypter->destroy(crypter);
|
||||||
chunk_clear(&in);
|
chunk_clear(&in);
|
||||||
DBG3(" encrypted data: %B", &out);
|
DBG3(" encrypted data: %B", &out);
|
||||||
|
|
||||||
/* build pkcs7 enveloped data object */
|
/* build pkcs7 enveloped data object */
|
||||||
{
|
{
|
||||||
@@ -839,7 +839,7 @@ bool build_envelopedData(private_pkcs7_t *this, x509_t *cert,
|
|||||||
asn1_wrap(ASN1_SET, "m", recipientInfo),
|
asn1_wrap(ASN1_SET, "m", recipientInfo),
|
||||||
encryptedContentInfo);
|
encryptedContentInfo);
|
||||||
this->type = OID_PKCS7_ENVELOPED_DATA;
|
this->type = OID_PKCS7_ENVELOPED_DATA;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ static void build_encoding(private_pkcs9_t *this)
|
|||||||
while (iterator->iterate(iterator, (void**)&attribute))
|
while (iterator->iterate(iterator, (void**)&attribute))
|
||||||
{
|
{
|
||||||
memcpy(pos, attribute->encoding.ptr, attribute->encoding.len);
|
memcpy(pos, attribute->encoding.ptr, attribute->encoding.len);
|
||||||
pos += attribute->encoding.len;
|
pos += attribute->encoding.len;
|
||||||
}
|
}
|
||||||
iterator->destroy(iterator);
|
iterator->destroy(iterator);
|
||||||
}
|
}
|
||||||
@@ -428,7 +428,7 @@ static bool parse_attributes(chunk_t chunk, int level0, private_pkcs9_t* this)
|
|||||||
|
|
||||||
if (type != ASN1_EOC)
|
if (type != ASN1_EOC)
|
||||||
{
|
{
|
||||||
if (!asn1_parse_simple_object(&object, type,
|
if (!asn1_parse_simple_object(&object, type,
|
||||||
parser->get_level(parser)+1,
|
parser->get_level(parser)+1,
|
||||||
oid_names[oid].name))
|
oid_names[oid].name))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -21,10 +21,10 @@
|
|||||||
typedef struct proposal_token proposal_token_t;
|
typedef struct proposal_token proposal_token_t;
|
||||||
|
|
||||||
struct proposal_token {
|
struct proposal_token {
|
||||||
char *name;
|
char *name;
|
||||||
transform_type_t type;
|
transform_type_t type;
|
||||||
u_int16_t algorithm;
|
u_int16_t algorithm;
|
||||||
u_int16_t keysize;
|
u_int16_t keysize;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern const proposal_token_t* proposal_get_token(register const char *str,
|
extern const proposal_token_t* proposal_get_token(register const char *str,
|
||||||
|
|||||||
@@ -59,27 +59,27 @@ enum db_driver_t {
|
|||||||
* Interface for a database implementation.
|
* Interface for a database implementation.
|
||||||
*
|
*
|
||||||
* @code
|
* @code
|
||||||
int affected, rowid, aint;
|
int affected, rowid, aint;
|
||||||
char *atext;
|
char *atext;
|
||||||
database_t *db;
|
database_t *db;
|
||||||
enumerator_t *enumerator;
|
enumerator_t *enumerator;
|
||||||
|
|
||||||
db = lib->database->create("mysql://user:pass@host/database");
|
db = lib->database->create("mysql://user:pass@host/database");
|
||||||
affected = db->execute(db, &rowid, "INSERT INTO table VALUES (?, ?)",
|
affected = db->execute(db, &rowid, "INSERT INTO table VALUES (?, ?)",
|
||||||
DB_INT, 77, DB_TEXT, "a text");
|
DB_INT, 77, DB_TEXT, "a text");
|
||||||
printf("inserted %d row, new row ID: %d\n", affected, rowid);
|
printf("inserted %d row, new row ID: %d\n", affected, rowid);
|
||||||
|
|
||||||
enumerator = db->query(db, "SELECT aint, atext FROM table WHERE aint > ?",
|
enumerator = db->query(db, "SELECT aint, atext FROM table WHERE aint > ?",
|
||||||
DB_INT, 10, // 1 argument to SQL string
|
DB_INT, 10, // 1 argument to SQL string
|
||||||
DB_INT, DB_TEXT); // 2 enumerated types in query
|
DB_INT, DB_TEXT); // 2 enumerated types in query
|
||||||
if (enumerator)
|
if (enumerator)
|
||||||
{
|
{
|
||||||
while (enumerator->enumerate(enumerator, &aint, &atext))
|
while (enumerator->enumerate(enumerator, &aint, &atext))
|
||||||
{
|
{
|
||||||
printf("%d: %s\n", aint, atext);
|
printf("%d: %s\n", aint, atext);
|
||||||
}
|
}
|
||||||
enumerator->destroy(enumerator);
|
enumerator->destroy(enumerator);
|
||||||
}
|
}
|
||||||
@endcode
|
@endcode
|
||||||
*/
|
*/
|
||||||
struct database_t {
|
struct database_t {
|
||||||
@@ -89,7 +89,7 @@ struct database_t {
|
|||||||
*
|
*
|
||||||
* @param sql sql query string, containing '?' placeholders
|
* @param sql sql query string, containing '?' placeholders
|
||||||
* @param ... list of sql placeholder db_type_t followed by its value,
|
* @param ... list of sql placeholder db_type_t followed by its value,
|
||||||
* followed by enumerators arguments as db_type_t's
|
* followed by enumerators arguments as db_type_t's
|
||||||
* @return enumerator as defined with arguments, NULL on failure
|
* @return enumerator as defined with arguments, NULL on failure
|
||||||
*/
|
*/
|
||||||
enumerator_t* (*query)(database_t *this, char *sql, ...);
|
enumerator_t* (*query)(database_t *this, char *sql, ...);
|
||||||
@@ -115,9 +115,9 @@ struct database_t {
|
|||||||
db_driver_t (*get_driver)(database_t *this);
|
db_driver_t (*get_driver)(database_t *this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a database connection.
|
* Destroy a database connection.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(database_t *this);
|
void (*destroy)(database_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /** DATABASE_H_ @}*/
|
#endif /** DATABASE_H_ @}*/
|
||||||
|
|||||||
@@ -60,9 +60,9 @@ struct database_factory_t {
|
|||||||
void (*remove_database)(database_factory_t *this, database_constructor_t create);
|
void (*remove_database)(database_factory_t *this, database_constructor_t create);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a database_factory instance.
|
* Destroy a database_factory instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(database_factory_t *this);
|
void (*destroy)(database_factory_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ struct enum_name_t {
|
|||||||
* printf hook function for enum_names_t.
|
* printf hook function for enum_names_t.
|
||||||
*
|
*
|
||||||
* Arguments are:
|
* Arguments are:
|
||||||
* enum_names_t *names, int value
|
* enum_names_t *names, int value
|
||||||
*/
|
*/
|
||||||
int enum_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
int enum_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
||||||
const void *const *args);
|
const void *const *args);
|
||||||
|
|||||||
@@ -61,9 +61,9 @@ struct fetcher_manager_t {
|
|||||||
fetcher_constructor_t constructor);
|
fetcher_constructor_t constructor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a fetcher_manager instance.
|
* Destroy a fetcher_manager instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(fetcher_manager_t *this);
|
void (*destroy)(fetcher_manager_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ struct private_curl_fetcher_t {
|
|||||||
CURL* curl;
|
CURL* curl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Optional HTTP headers
|
* Optional HTTP headers
|
||||||
*/
|
*/
|
||||||
struct curl_slist *headers;
|
struct curl_slist *headers;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -34,9 +34,9 @@ struct curl_fetcher_t {
|
|||||||
fetcher_t interface;
|
fetcher_t interface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a curl_fetcher instance.
|
* Destroy a curl_fetcher instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(curl_fetcher_t *this);
|
void (*destroy)(curl_fetcher_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -66,12 +66,12 @@ plugin_t *plugin_create()
|
|||||||
(fetcher_constructor_t)curl_fetcher_create, "https://");
|
(fetcher_constructor_t)curl_fetcher_create, "https://");
|
||||||
lib->fetcher->add_fetcher(lib->fetcher,
|
lib->fetcher->add_fetcher(lib->fetcher,
|
||||||
(fetcher_constructor_t)curl_fetcher_create, "ftp://");
|
(fetcher_constructor_t)curl_fetcher_create, "ftp://");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DBG1("global libcurl initializing failed: %s, curl disabled",
|
DBG1("global libcurl initializing failed: %s, curl disabled",
|
||||||
curl_easy_strerror(res));
|
curl_easy_strerror(res));
|
||||||
}
|
}
|
||||||
return &this->public.plugin;
|
return &this->public.plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -443,11 +443,11 @@ static void set_other_public_value(private_gmp_diffie_hellman_t *this, chunk_t v
|
|||||||
static void get_my_public_value(private_gmp_diffie_hellman_t *this,chunk_t *value)
|
static void get_my_public_value(private_gmp_diffie_hellman_t *this,chunk_t *value)
|
||||||
{
|
{
|
||||||
value->len = this->p_len;
|
value->len = this->p_len;
|
||||||
value->ptr = mpz_export(NULL, NULL, 1, value->len, 1, 0, this->ya);
|
value->ptr = mpz_export(NULL, NULL, 1, value->len, 1, 0, this->ya);
|
||||||
if (value->ptr == NULL)
|
if (value->ptr == NULL)
|
||||||
{
|
{
|
||||||
value->len = 0;
|
value->len = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -103,8 +103,8 @@ struct private_md5_hasher_t {
|
|||||||
* State of the hasher.
|
* State of the hasher.
|
||||||
*/
|
*/
|
||||||
u_int32_t state[5];
|
u_int32_t state[5];
|
||||||
u_int32_t count[2];
|
u_int32_t count[2];
|
||||||
u_int8_t buffer[64];
|
u_int8_t buffer[64];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -260,7 +260,7 @@ static void MD5Update(private_md5_hasher_t *this, u_int8_t *input, size_t inputL
|
|||||||
|
|
||||||
for (i = partLen; i + 63 < inputLen; i += 64)
|
for (i = partLen; i + 63 < inputLen; i += 64)
|
||||||
{
|
{
|
||||||
MD5Transform (this->state, &input[i]);
|
MD5Transform (this->state, &input[i]);
|
||||||
}
|
}
|
||||||
index = 0;
|
index = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,8 +54,8 @@ struct private_mysql_database_t {
|
|||||||
mutex_t *mutex;
|
mutex_t *mutex;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hostname to connect to
|
* hostname to connect to
|
||||||
*/
|
*/
|
||||||
char *host;
|
char *host;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -235,14 +235,14 @@ static MYSQL_STMT* run(MYSQL *mysql, char *sql, va_list *args)
|
|||||||
stmt = mysql_stmt_init(mysql);
|
stmt = mysql_stmt_init(mysql);
|
||||||
if (stmt == NULL)
|
if (stmt == NULL)
|
||||||
{
|
{
|
||||||
DBG1("creating MySQL statement failed: %s", mysql_error(mysql));
|
DBG1("creating MySQL statement failed: %s", mysql_error(mysql));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (mysql_stmt_prepare(stmt, sql, strlen(sql)))
|
if (mysql_stmt_prepare(stmt, sql, strlen(sql)))
|
||||||
{
|
{
|
||||||
DBG1("preparing MySQL statement failed: %s", mysql_stmt_error(stmt));
|
DBG1("preparing MySQL statement failed: %s", mysql_stmt_error(stmt));
|
||||||
mysql_stmt_close(stmt);
|
mysql_stmt_close(stmt);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
params = mysql_stmt_param_count(stmt);
|
params = mysql_stmt_param_count(stmt);
|
||||||
if (params > 0)
|
if (params > 0)
|
||||||
@@ -300,28 +300,28 @@ static MYSQL_STMT* run(MYSQL *mysql, char *sql, va_list *args)
|
|||||||
bind[i].buffer_length = sizeof(double);
|
bind[i].buffer_length = sizeof(double);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DB_NULL:
|
case DB_NULL:
|
||||||
{
|
{
|
||||||
bind[i].buffer_type = MYSQL_TYPE_NULL;
|
bind[i].buffer_type = MYSQL_TYPE_NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
DBG1("invalid data type supplied");
|
DBG1("invalid data type supplied");
|
||||||
mysql_stmt_close(stmt);
|
mysql_stmt_close(stmt);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mysql_stmt_bind_param(stmt, bind))
|
if (mysql_stmt_bind_param(stmt, bind))
|
||||||
{
|
{
|
||||||
DBG1("binding MySQL param failed: %s", mysql_stmt_error(stmt));
|
DBG1("binding MySQL param failed: %s", mysql_stmt_error(stmt));
|
||||||
mysql_stmt_close(stmt);
|
mysql_stmt_close(stmt);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mysql_stmt_execute(stmt))
|
if (mysql_stmt_execute(stmt))
|
||||||
{
|
{
|
||||||
DBG1("executing MySQL statement failed: %s", mysql_stmt_error(stmt));
|
DBG1("executing MySQL statement failed: %s", mysql_stmt_error(stmt));
|
||||||
mysql_stmt_close(stmt);
|
mysql_stmt_close(stmt);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return stmt;
|
return stmt;
|
||||||
@@ -445,9 +445,9 @@ static bool mysql_enumerator_enumerate(mysql_enumerator_t *this, ...)
|
|||||||
this->bind[i].buffer = malloc(this->length[i]+1);
|
this->bind[i].buffer = malloc(this->length[i]+1);
|
||||||
this->bind[i].buffer_length = this->length[i];
|
this->bind[i].buffer_length = this->length[i];
|
||||||
*value = this->bind[i].buffer;
|
*value = this->bind[i].buffer;
|
||||||
mysql_stmt_fetch_column(this->stmt, &this->bind[i], i, 0);
|
mysql_stmt_fetch_column(this->stmt, &this->bind[i], i, 0);
|
||||||
((char*)this->bind[i].buffer)[this->length[i]] = '\0';
|
((char*)this->bind[i].buffer)[this->length[i]] = '\0';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MYSQL_TYPE_BLOB:
|
case MYSQL_TYPE_BLOB:
|
||||||
{
|
{
|
||||||
@@ -456,8 +456,8 @@ static bool mysql_enumerator_enumerate(mysql_enumerator_t *this, ...)
|
|||||||
this->bind[i].buffer_length = this->length[i];
|
this->bind[i].buffer_length = this->length[i];
|
||||||
value->ptr = this->bind[i].buffer;
|
value->ptr = this->bind[i].buffer;
|
||||||
value->len = this->length[i];
|
value->len = this->length[i];
|
||||||
mysql_stmt_fetch_column(this->stmt, &this->bind[i], i, 0);
|
mysql_stmt_fetch_column(this->stmt, &this->bind[i], i, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MYSQL_TYPE_DOUBLE:
|
case MYSQL_TYPE_DOUBLE:
|
||||||
{
|
{
|
||||||
@@ -539,17 +539,17 @@ static enumerator_t* query(private_mysql_database_t *this, char *sql, ...)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
DBG1("invalid result data type supplied");
|
DBG1("invalid result data type supplied");
|
||||||
mysql_enumerator_destroy(enumerator);
|
mysql_enumerator_destroy(enumerator);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mysql_stmt_bind_result(stmt, enumerator->bind))
|
if (mysql_stmt_bind_result(stmt, enumerator->bind))
|
||||||
{
|
{
|
||||||
DBG1("binding MySQL result failed: %s", mysql_stmt_error(stmt));
|
DBG1("binding MySQL result failed: %s", mysql_stmt_error(stmt));
|
||||||
mysql_enumerator_destroy(enumerator);
|
mysql_enumerator_destroy(enumerator);
|
||||||
enumerator = NULL;
|
enumerator = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -693,8 +693,8 @@ mysql_database_t *mysql_database_create(char *uri)
|
|||||||
conn = conn_get(this);
|
conn = conn_get(this);
|
||||||
if (!conn)
|
if (!conn)
|
||||||
{
|
{
|
||||||
destroy(this);
|
destroy(this);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
conn_release(conn);
|
conn_release(conn);
|
||||||
return &this->public;
|
return &this->public;
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ struct private_padlock_sha1_hasher_t {
|
|||||||
static void padlock_sha1(int len, u_char *in, u_char *out)
|
static void padlock_sha1(int len, u_char *in, u_char *out)
|
||||||
{
|
{
|
||||||
/* rep xsha1 */
|
/* rep xsha1 */
|
||||||
asm volatile (
|
asm volatile (
|
||||||
".byte 0xf3, 0x0f, 0xa6, 0xc8"
|
".byte 0xf3, 0x0f, 0xa6, 0xc8"
|
||||||
: "+S"(in), "+D"(out)
|
: "+S"(in), "+D"(out)
|
||||||
: "c"(len), "a"(0));
|
: "c"(len), "a"(0));
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ typedef struct plugin_t plugin_t;
|
|||||||
struct plugin_t {
|
struct plugin_t {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a plugin instance.
|
* Destroy a plugin instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(plugin_t *this);
|
void (*destroy)(plugin_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -59,8 +59,8 @@ struct private_sha1_hasher_t {
|
|||||||
* State of the hasher. Shared with sha1_prf.c, do not change it!!!
|
* State of the hasher. Shared with sha1_prf.c, do not change it!!!
|
||||||
*/
|
*/
|
||||||
u_int32_t state[5];
|
u_int32_t state[5];
|
||||||
u_int32_t count[2];
|
u_int32_t count[2];
|
||||||
u_int8_t buffer[64];
|
u_int8_t buffer[64];
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -70,48 +70,48 @@ static void SHA1Transform(u_int32_t state[5], const unsigned char buffer[64])
|
|||||||
{
|
{
|
||||||
u_int32_t a, b, c, d, e;
|
u_int32_t a, b, c, d, e;
|
||||||
typedef union {
|
typedef union {
|
||||||
u_int8_t c[64];
|
u_int8_t c[64];
|
||||||
u_int32_t l[16];
|
u_int32_t l[16];
|
||||||
} CHAR64LONG16;
|
} CHAR64LONG16;
|
||||||
CHAR64LONG16 block[1]; /* use array to appear as a pointer */
|
CHAR64LONG16 block[1]; /* use array to appear as a pointer */
|
||||||
memcpy(block, buffer, 64);
|
memcpy(block, buffer, 64);
|
||||||
|
|
||||||
/* Copy context->state[] to working vars */
|
/* Copy context->state[] to working vars */
|
||||||
a = state[0];
|
a = state[0];
|
||||||
b = state[1];
|
b = state[1];
|
||||||
c = state[2];
|
c = state[2];
|
||||||
d = state[3];
|
d = state[3];
|
||||||
e = state[4];
|
e = state[4];
|
||||||
/* 4 rounds of 20 operations each. Loop unrolled. */
|
/* 4 rounds of 20 operations each. Loop unrolled. */
|
||||||
R0(a,b,c,d,e, 0); R0(e,a,b,c,d, 1); R0(d,e,a,b,c, 2); R0(c,d,e,a,b, 3);
|
R0(a,b,c,d,e, 0); R0(e,a,b,c,d, 1); R0(d,e,a,b,c, 2); R0(c,d,e,a,b, 3);
|
||||||
R0(b,c,d,e,a, 4); R0(a,b,c,d,e, 5); R0(e,a,b,c,d, 6); R0(d,e,a,b,c, 7);
|
R0(b,c,d,e,a, 4); R0(a,b,c,d,e, 5); R0(e,a,b,c,d, 6); R0(d,e,a,b,c, 7);
|
||||||
R0(c,d,e,a,b, 8); R0(b,c,d,e,a, 9); R0(a,b,c,d,e,10); R0(e,a,b,c,d,11);
|
R0(c,d,e,a,b, 8); R0(b,c,d,e,a, 9); R0(a,b,c,d,e,10); R0(e,a,b,c,d,11);
|
||||||
R0(d,e,a,b,c,12); R0(c,d,e,a,b,13); R0(b,c,d,e,a,14); R0(a,b,c,d,e,15);
|
R0(d,e,a,b,c,12); R0(c,d,e,a,b,13); R0(b,c,d,e,a,14); R0(a,b,c,d,e,15);
|
||||||
R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19);
|
R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19);
|
||||||
R2(a,b,c,d,e,20); R2(e,a,b,c,d,21); R2(d,e,a,b,c,22); R2(c,d,e,a,b,23);
|
R2(a,b,c,d,e,20); R2(e,a,b,c,d,21); R2(d,e,a,b,c,22); R2(c,d,e,a,b,23);
|
||||||
R2(b,c,d,e,a,24); R2(a,b,c,d,e,25); R2(e,a,b,c,d,26); R2(d,e,a,b,c,27);
|
R2(b,c,d,e,a,24); R2(a,b,c,d,e,25); R2(e,a,b,c,d,26); R2(d,e,a,b,c,27);
|
||||||
R2(c,d,e,a,b,28); R2(b,c,d,e,a,29); R2(a,b,c,d,e,30); R2(e,a,b,c,d,31);
|
R2(c,d,e,a,b,28); R2(b,c,d,e,a,29); R2(a,b,c,d,e,30); R2(e,a,b,c,d,31);
|
||||||
R2(d,e,a,b,c,32); R2(c,d,e,a,b,33); R2(b,c,d,e,a,34); R2(a,b,c,d,e,35);
|
R2(d,e,a,b,c,32); R2(c,d,e,a,b,33); R2(b,c,d,e,a,34); R2(a,b,c,d,e,35);
|
||||||
R2(e,a,b,c,d,36); R2(d,e,a,b,c,37); R2(c,d,e,a,b,38); R2(b,c,d,e,a,39);
|
R2(e,a,b,c,d,36); R2(d,e,a,b,c,37); R2(c,d,e,a,b,38); R2(b,c,d,e,a,39);
|
||||||
R3(a,b,c,d,e,40); R3(e,a,b,c,d,41); R3(d,e,a,b,c,42); R3(c,d,e,a,b,43);
|
R3(a,b,c,d,e,40); R3(e,a,b,c,d,41); R3(d,e,a,b,c,42); R3(c,d,e,a,b,43);
|
||||||
R3(b,c,d,e,a,44); R3(a,b,c,d,e,45); R3(e,a,b,c,d,46); R3(d,e,a,b,c,47);
|
R3(b,c,d,e,a,44); R3(a,b,c,d,e,45); R3(e,a,b,c,d,46); R3(d,e,a,b,c,47);
|
||||||
R3(c,d,e,a,b,48); R3(b,c,d,e,a,49); R3(a,b,c,d,e,50); R3(e,a,b,c,d,51);
|
R3(c,d,e,a,b,48); R3(b,c,d,e,a,49); R3(a,b,c,d,e,50); R3(e,a,b,c,d,51);
|
||||||
R3(d,e,a,b,c,52); R3(c,d,e,a,b,53); R3(b,c,d,e,a,54); R3(a,b,c,d,e,55);
|
R3(d,e,a,b,c,52); R3(c,d,e,a,b,53); R3(b,c,d,e,a,54); R3(a,b,c,d,e,55);
|
||||||
R3(e,a,b,c,d,56); R3(d,e,a,b,c,57); R3(c,d,e,a,b,58); R3(b,c,d,e,a,59);
|
R3(e,a,b,c,d,56); R3(d,e,a,b,c,57); R3(c,d,e,a,b,58); R3(b,c,d,e,a,59);
|
||||||
R4(a,b,c,d,e,60); R4(e,a,b,c,d,61); R4(d,e,a,b,c,62); R4(c,d,e,a,b,63);
|
R4(a,b,c,d,e,60); R4(e,a,b,c,d,61); R4(d,e,a,b,c,62); R4(c,d,e,a,b,63);
|
||||||
R4(b,c,d,e,a,64); R4(a,b,c,d,e,65); R4(e,a,b,c,d,66); R4(d,e,a,b,c,67);
|
R4(b,c,d,e,a,64); R4(a,b,c,d,e,65); R4(e,a,b,c,d,66); R4(d,e,a,b,c,67);
|
||||||
R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71);
|
R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71);
|
||||||
R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75);
|
R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75);
|
||||||
R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79);
|
R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79);
|
||||||
/* Add the working vars back into context.state[] */
|
/* Add the working vars back into context.state[] */
|
||||||
state[0] += a;
|
state[0] += a;
|
||||||
state[1] += b;
|
state[1] += b;
|
||||||
state[2] += c;
|
state[2] += c;
|
||||||
state[3] += d;
|
state[3] += d;
|
||||||
state[4] += e;
|
state[4] += e;
|
||||||
/* Wipe variables */
|
/* Wipe variables */
|
||||||
a = b = c = d = e = 0;
|
a = b = c = d = e = 0;
|
||||||
memset(block, '\0', sizeof(block));
|
memset(block, '\0', sizeof(block));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -122,28 +122,28 @@ void SHA1Update(private_sha1_hasher_t* this, u_int8_t *data, u_int32_t len)
|
|||||||
u_int32_t i;
|
u_int32_t i;
|
||||||
u_int32_t j;
|
u_int32_t j;
|
||||||
|
|
||||||
j = this->count[0];
|
j = this->count[0];
|
||||||
if ((this->count[0] += len << 3) < j)
|
if ((this->count[0] += len << 3) < j)
|
||||||
{
|
{
|
||||||
this->count[1]++;
|
this->count[1]++;
|
||||||
}
|
}
|
||||||
this->count[1] += (len>>29);
|
this->count[1] += (len>>29);
|
||||||
j = (j >> 3) & 63;
|
j = (j >> 3) & 63;
|
||||||
if ((j + len) > 63)
|
if ((j + len) > 63)
|
||||||
{
|
{
|
||||||
memcpy(&this->buffer[j], data, (i = 64-j));
|
memcpy(&this->buffer[j], data, (i = 64-j));
|
||||||
SHA1Transform(this->state, this->buffer);
|
SHA1Transform(this->state, this->buffer);
|
||||||
for ( ; i + 63 < len; i += 64)
|
for ( ; i + 63 < len; i += 64)
|
||||||
{
|
{
|
||||||
SHA1Transform(this->state, &data[i]);
|
SHA1Transform(this->state, &data[i]);
|
||||||
}
|
}
|
||||||
j = 0;
|
j = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
i = 0;
|
i = 0;
|
||||||
}
|
}
|
||||||
memcpy(&this->buffer[j], &data[i], len - i);
|
memcpy(&this->buffer[j], &data[i], len - i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -156,23 +156,23 @@ static void SHA1Final(private_sha1_hasher_t *this, u_int8_t *digest)
|
|||||||
u_int8_t finalcount[8];
|
u_int8_t finalcount[8];
|
||||||
u_int8_t c;
|
u_int8_t c;
|
||||||
|
|
||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
finalcount[i] = (u_int8_t)((this->count[(i >= 4 ? 0 : 1)]
|
finalcount[i] = (u_int8_t)((this->count[(i >= 4 ? 0 : 1)]
|
||||||
>> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */
|
>> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */
|
||||||
}
|
}
|
||||||
c = 0200;
|
c = 0200;
|
||||||
SHA1Update(this, &c, 1);
|
SHA1Update(this, &c, 1);
|
||||||
while ((this->count[0] & 504) != 448)
|
while ((this->count[0] & 504) != 448)
|
||||||
{
|
{
|
||||||
c = 0000;
|
c = 0000;
|
||||||
SHA1Update(this, &c, 1);
|
SHA1Update(this, &c, 1);
|
||||||
}
|
}
|
||||||
SHA1Update(this, finalcount, 8); /* Should cause a SHA1Transform() */
|
SHA1Update(this, finalcount, 8); /* Should cause a SHA1Transform() */
|
||||||
for (i = 0; i < 20; i++)
|
for (i = 0; i < 20; i++)
|
||||||
{
|
{
|
||||||
digest[i] = (u_int8_t)((this->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255);
|
digest[i] = (u_int8_t)((this->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -181,12 +181,12 @@ static void SHA1Final(private_sha1_hasher_t *this, u_int8_t *digest)
|
|||||||
static void reset(private_sha1_hasher_t *this)
|
static void reset(private_sha1_hasher_t *this)
|
||||||
{
|
{
|
||||||
this->state[0] = 0x67452301;
|
this->state[0] = 0x67452301;
|
||||||
this->state[1] = 0xEFCDAB89;
|
this->state[1] = 0xEFCDAB89;
|
||||||
this->state[2] = 0x98BADCFE;
|
this->state[2] = 0x98BADCFE;
|
||||||
this->state[3] = 0x10325476;
|
this->state[3] = 0x10325476;
|
||||||
this->state[4] = 0xC3D2E1F0;
|
this->state[4] = 0xC3D2E1F0;
|
||||||
this->count[0] = 0;
|
this->count[0] = 0;
|
||||||
this->count[1] = 0;
|
this->count[1] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ struct private_sha1_hasher_t {
|
|||||||
* State of the hasher. From sha1_hasher.c, do not change it!
|
* State of the hasher. From sha1_hasher.c, do not change it!
|
||||||
*/
|
*/
|
||||||
u_int32_t state[5];
|
u_int32_t state[5];
|
||||||
u_int32_t count[2];
|
u_int32_t count[2];
|
||||||
u_int8_t buffer[64];
|
u_int8_t buffer[64];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -87,11 +87,11 @@ static int ietfAttr_compare(const ietfAttr_t *this ,const ietfAttr_t *other)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
cmp_len = this->value.len - other->value.len;
|
cmp_len = this->value.len - other->value.len;
|
||||||
len = (cmp_len < 0)? this->value.len : other->value.len;
|
len = (cmp_len < 0)? this->value.len : other->value.len;
|
||||||
cmp_value = memcmp(this->value.ptr, other->value.ptr, len);
|
cmp_value = memcmp(this->value.ptr, other->value.ptr, len);
|
||||||
|
|
||||||
return (cmp_value == 0)? cmp_len : cmp_value;
|
return (cmp_value == 0)? cmp_len : cmp_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -235,9 +235,9 @@ void ietfAttr_list_list(linked_list_t *list, FILE *out)
|
|||||||
fprintf(out, "%s", oid_names[oid]);
|
fprintf(out, "%s", oid_names[oid]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
iterator->destroy(iterator);
|
iterator->destroy(iterator);
|
||||||
|
|||||||
@@ -634,7 +634,7 @@ static chunk_t build_attr_cert_info(private_x509_ac_t *this)
|
|||||||
static chunk_t build_ac(private_x509_ac_t *this)
|
static chunk_t build_ac(private_x509_ac_t *this)
|
||||||
{
|
{
|
||||||
chunk_t signatureValue;
|
chunk_t signatureValue;
|
||||||
chunk_t attributeCertificateInfo;
|
chunk_t attributeCertificateInfo;
|
||||||
|
|
||||||
attributeCertificateInfo = build_attr_cert_info(this);
|
attributeCertificateInfo = build_attr_cert_info(this);
|
||||||
|
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ static chunk_t build_acceptableResponses(private_x509_ocsp_request_t *this)
|
|||||||
*/
|
*/
|
||||||
static chunk_t build_requestExtensions(private_x509_ocsp_request_t *this)
|
static chunk_t build_requestExtensions(private_x509_ocsp_request_t *this)
|
||||||
{
|
{
|
||||||
return asn1_wrap(ASN1_CONTEXT_C_2, "m",
|
return asn1_wrap(ASN1_CONTEXT_C_2, "m",
|
||||||
asn1_wrap(ASN1_SEQUENCE, "mm",
|
asn1_wrap(ASN1_SEQUENCE, "mm",
|
||||||
build_nonce(this),
|
build_nonce(this),
|
||||||
build_acceptableResponses(this)));
|
build_acceptableResponses(this)));
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ static bool parse_singleResponse(private_x509_ocsp_response_t *this,
|
|||||||
{
|
{
|
||||||
response->revocationReason = *object.ptr;
|
response->revocationReason = *object.ptr;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SINGLE_RESPONSE_CERT_STATUS_UNKNOWN:
|
case SINGLE_RESPONSE_CERT_STATUS_UNKNOWN:
|
||||||
response->status = VALIDATION_FAILED;
|
response->status = VALIDATION_FAILED;
|
||||||
break;
|
break;
|
||||||
@@ -372,7 +372,7 @@ static bool parse_singleResponse(private_x509_ocsp_response_t *this,
|
|||||||
{
|
{
|
||||||
this->usableUntil = response->nextUpdate;
|
this->usableUntil = response->nextUpdate;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
success = parser->success(parser);
|
success = parser->success(parser);
|
||||||
@@ -624,15 +624,15 @@ static bool parse_OCSPResponse(private_x509_ocsp_response_t *this)
|
|||||||
case OCSP_RESPONSE_STATUS:
|
case OCSP_RESPONSE_STATUS:
|
||||||
status = (ocsp_status_t)*object.ptr;
|
status = (ocsp_status_t)*object.ptr;
|
||||||
switch (status)
|
switch (status)
|
||||||
{
|
{
|
||||||
case OCSP_SUCCESSFUL:
|
case OCSP_SUCCESSFUL:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
DBG1(" ocsp response status: %N",
|
DBG1(" ocsp response status: %N",
|
||||||
ocsp_status_names, status);
|
ocsp_status_names, status);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case OCSP_RESPONSE_TYPE:
|
case OCSP_RESPONSE_TYPE:
|
||||||
responseType = asn1_known_oid(object);
|
responseType = asn1_known_oid(object);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -139,9 +139,9 @@ struct printf_hook_t {
|
|||||||
printf_hook_function_t hook, ...);
|
printf_hook_function_t hook, ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a printf_hook instance.
|
* Destroy a printf_hook instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(printf_hook_t *this);
|
void (*destroy)(printf_hook_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -369,7 +369,7 @@ int mem_printf_hook(char *dst, size_t dstlen,
|
|||||||
ascii_buffer[i] = '\0';
|
ascii_buffer[i] = '\0';
|
||||||
|
|
||||||
written += print_in_hook(dst, dstlen, "\n%4d: %s %s",
|
written += print_in_hook(dst, dstlen, "\n%4d: %s %s",
|
||||||
line_start, buffer, ascii_buffer);
|
line_start, buffer, ascii_buffer);
|
||||||
|
|
||||||
buffer_pos = buffer;
|
buffer_pos = buffer;
|
||||||
line_start += BYTES_PER_LINE;
|
line_start += BYTES_PER_LINE;
|
||||||
|
|||||||
@@ -354,7 +354,7 @@ bool ref_put(refcount_t *ref);
|
|||||||
* printf hook for time_t.
|
* printf hook for time_t.
|
||||||
*
|
*
|
||||||
* Arguments are:
|
* Arguments are:
|
||||||
* time_t* time, bool utc
|
* time_t* time, bool utc
|
||||||
*/
|
*/
|
||||||
int time_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
int time_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
||||||
const void *const *args);
|
const void *const *args);
|
||||||
@@ -363,7 +363,7 @@ int time_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
|||||||
* printf hook for time_t deltas.
|
* printf hook for time_t deltas.
|
||||||
*
|
*
|
||||||
* Arguments are:
|
* Arguments are:
|
||||||
* time_t* begin, time_t* end
|
* time_t* begin, time_t* end
|
||||||
*/
|
*/
|
||||||
int time_delta_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
int time_delta_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
||||||
const void *const *args);
|
const void *const *args);
|
||||||
@@ -372,7 +372,7 @@ int time_delta_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
|||||||
* printf hook for memory areas.
|
* printf hook for memory areas.
|
||||||
*
|
*
|
||||||
* Arguments are:
|
* Arguments are:
|
||||||
* u_char *ptr, int len
|
* u_char *ptr, int len
|
||||||
*/
|
*/
|
||||||
int mem_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
int mem_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
||||||
const void *const *args);
|
const void *const *args);
|
||||||
|
|||||||
@@ -42,9 +42,9 @@ struct enumerator_t {
|
|||||||
bool (*enumerate)(enumerator_t *this, ...);
|
bool (*enumerate)(enumerator_t *this, ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a enumerator instance.
|
* Destroy a enumerator instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(enumerator_t *this);
|
void (*destroy)(enumerator_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ host_t *host_create_any(int family);
|
|||||||
* printf hook function for host_t.
|
* printf hook function for host_t.
|
||||||
*
|
*
|
||||||
* Arguments are:
|
* Arguments are:
|
||||||
* host_t *host
|
* host_t *host
|
||||||
* Use #-modifier to include port number
|
* Use #-modifier to include port number
|
||||||
*/
|
*/
|
||||||
int host_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
int host_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
||||||
|
|||||||
@@ -79,8 +79,8 @@ enum id_type_t {
|
|||||||
* An example of an ID_RFC822_ADDR is "[email protected]".
|
* An example of an ID_RFC822_ADDR is "[email protected]".
|
||||||
* The string MUST NOT contain any terminators.
|
* The string MUST NOT contain any terminators.
|
||||||
*/
|
*/
|
||||||
ID_USER_FQDN = 3, /* IKEv1 only */
|
ID_USER_FQDN = 3, /* IKEv1 only */
|
||||||
ID_RFC822_ADDR = 3, /* IKEv2 only */
|
ID_RFC822_ADDR = 3, /* IKEv2 only */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ID data is an IPv4 subnet (IKEv1 only)
|
* ID data is an IPv4 subnet (IKEv1 only)
|
||||||
@@ -326,7 +326,7 @@ identification_t * identification_create_from_encoding(id_type_t type, chunk_t e
|
|||||||
* printf hook function for identification_t.
|
* printf hook function for identification_t.
|
||||||
*
|
*
|
||||||
* Arguments are:
|
* Arguments are:
|
||||||
* identification_t *identification
|
* identification_t *identification
|
||||||
*/
|
*/
|
||||||
int identification_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
int identification_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec,
|
||||||
const void *const *args);
|
const void *const *args);
|
||||||
|
|||||||
@@ -303,12 +303,12 @@ void *malloc_hook(size_t bytes, const void *caller)
|
|||||||
memory_header_t *hdr;
|
memory_header_t *hdr;
|
||||||
memory_tail_t *tail;
|
memory_tail_t *tail;
|
||||||
pthread_t thread_id = pthread_self();
|
pthread_t thread_id = pthread_self();
|
||||||
int oldpolicy;
|
int oldpolicy;
|
||||||
struct sched_param oldparams, params;
|
struct sched_param oldparams, params;
|
||||||
|
|
||||||
pthread_getschedparam(thread_id, &oldpolicy, &oldparams);
|
pthread_getschedparam(thread_id, &oldpolicy, &oldparams);
|
||||||
|
|
||||||
params.__sched_priority = sched_get_priority_max(SCHED_FIFO);
|
params.__sched_priority = sched_get_priority_max(SCHED_FIFO);
|
||||||
pthread_setschedparam(thread_id, SCHED_FIFO, ¶ms);
|
pthread_setschedparam(thread_id, SCHED_FIFO, ¶ms);
|
||||||
|
|
||||||
count_malloc++;
|
count_malloc++;
|
||||||
@@ -346,10 +346,10 @@ void free_hook(void *ptr, const void *caller)
|
|||||||
{
|
{
|
||||||
memory_header_t *hdr;
|
memory_header_t *hdr;
|
||||||
memory_tail_t *tail;
|
memory_tail_t *tail;
|
||||||
backtrace_t *backtrace;
|
backtrace_t *backtrace;
|
||||||
pthread_t thread_id = pthread_self();
|
pthread_t thread_id = pthread_self();
|
||||||
int oldpolicy;
|
int oldpolicy;
|
||||||
struct sched_param oldparams, params;
|
struct sched_param oldparams, params;
|
||||||
|
|
||||||
/* allow freeing of NULL */
|
/* allow freeing of NULL */
|
||||||
if (ptr == NULL)
|
if (ptr == NULL)
|
||||||
@@ -361,7 +361,7 @@ void free_hook(void *ptr, const void *caller)
|
|||||||
|
|
||||||
pthread_getschedparam(thread_id, &oldpolicy, &oldparams);
|
pthread_getschedparam(thread_id, &oldpolicy, &oldparams);
|
||||||
|
|
||||||
params.__sched_priority = sched_get_priority_max(SCHED_FIFO);
|
params.__sched_priority = sched_get_priority_max(SCHED_FIFO);
|
||||||
pthread_setschedparam(thread_id, SCHED_FIFO, ¶ms);
|
pthread_setschedparam(thread_id, SCHED_FIFO, ¶ms);
|
||||||
|
|
||||||
count_free++;
|
count_free++;
|
||||||
@@ -405,8 +405,8 @@ void *realloc_hook(void *old, size_t bytes, const void *caller)
|
|||||||
memory_tail_t *tail;
|
memory_tail_t *tail;
|
||||||
backtrace_t *backtrace;
|
backtrace_t *backtrace;
|
||||||
pthread_t thread_id = pthread_self();
|
pthread_t thread_id = pthread_self();
|
||||||
int oldpolicy;
|
int oldpolicy;
|
||||||
struct sched_param oldparams, params;
|
struct sched_param oldparams, params;
|
||||||
|
|
||||||
/* allow reallocation of NULL */
|
/* allow reallocation of NULL */
|
||||||
if (old == NULL)
|
if (old == NULL)
|
||||||
|
|||||||
@@ -34,9 +34,9 @@ typedef struct leak_detective_t leak_detective_t;
|
|||||||
struct leak_detective_t {
|
struct leak_detective_t {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a leak_detective instance.
|
* Destroy a leak_detective instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(leak_detective_t *this);
|
void (*destroy)(leak_detective_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+1
-1
@@ -75,6 +75,6 @@ int main (int arc, char *argv[])
|
|||||||
|
|
||||||
library_deinit();
|
library_deinit();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,9 +52,9 @@ struct storage_t {
|
|||||||
enumerator_t* (*create_gateway_enumerator)(storage_t *this, int user);
|
enumerator_t* (*create_gateway_enumerator)(storage_t *this, int user);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a storage instance.
|
* Destroy a storage instance.
|
||||||
*/
|
*/
|
||||||
void (*destroy)(storage_t *this);
|
void (*destroy)(storage_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+2
-2
@@ -292,11 +292,11 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
if (*optarg == '/') /* absolute pathname */
|
if (*optarg == '/') /* absolute pathname */
|
||||||
{
|
{
|
||||||
strncpy(path, optarg, BUF_LEN);
|
strncpy(path, optarg, BUF_LEN);
|
||||||
}
|
}
|
||||||
else /* relative pathname */
|
else /* relative pathname */
|
||||||
{
|
{
|
||||||
snprintf(path, BUF_LEN, "%s/%s", OPENAC_PATH, optarg);
|
snprintf(path, BUF_LEN, "%s/%s", OPENAC_PATH, optarg);
|
||||||
}
|
}
|
||||||
if (!options->from(options, path, &argc, &argv, optind))
|
if (!options->from(options, path, &argc, &argv, optind))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user