Show contents of the CP payload in message_t stringification
This commit is contained in:
parent
1e723d739c
commit
6a4a47511f
|
@ -31,6 +31,7 @@
|
|||
#include <encoding/payloads/payload.h>
|
||||
#include <encoding/payloads/encryption_payload.h>
|
||||
#include <encoding/payloads/unknown_payload.h>
|
||||
#include <encoding/payloads/cp_payload.h>
|
||||
|
||||
/**
|
||||
* Max number of notify payloads per IKEv2 Message
|
||||
|
@ -975,6 +976,39 @@ static char* get_string(private_message_t *this, char *buf, int len)
|
|||
pos += written;
|
||||
len -= written;
|
||||
}
|
||||
if (payload->get_type(payload) == CONFIGURATION)
|
||||
{
|
||||
cp_payload_t *cp = (cp_payload_t*)payload;
|
||||
enumerator_t *attributes;
|
||||
configuration_attribute_t *attribute;
|
||||
bool first = TRUE;
|
||||
|
||||
attributes = cp->create_attribute_enumerator(cp);
|
||||
while (attributes->enumerate(attributes, &attribute))
|
||||
{
|
||||
written = snprintf(pos, len, "%s%N", first ? "(" : " ",
|
||||
configuration_attribute_type_short_names,
|
||||
attribute->get_type(attribute));
|
||||
if (written >= len || written < 0)
|
||||
{
|
||||
return buf;
|
||||
}
|
||||
pos += written;
|
||||
len -= written;
|
||||
first = FALSE;
|
||||
}
|
||||
attributes->destroy(attributes);
|
||||
if (!first)
|
||||
{
|
||||
written = snprintf(pos, len, ")");
|
||||
if (written >= len || written < 0)
|
||||
{
|
||||
return buf;
|
||||
}
|
||||
pos += written;
|
||||
len -= written;
|
||||
}
|
||||
}
|
||||
}
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
|
|
|
@ -64,3 +64,49 @@ ENUM_NEXT(configuration_attribute_type_names, UNITY_BANNER, UNITY_DDNS_HOSTNAME,
|
|||
"UNITY_DDNS_HOSTNAME");
|
||||
ENUM_END(configuration_attribute_type_names, UNITY_DDNS_HOSTNAME);
|
||||
|
||||
ENUM_BEGIN(configuration_attribute_type_short_names, INTERNAL_IP4_ADDRESS, INTERNAL_IP6_PREFIX,
|
||||
"ADDR",
|
||||
"MASK",
|
||||
"DNS",
|
||||
"NBNS",
|
||||
"EXP",
|
||||
"DHCP",
|
||||
"VER",
|
||||
"ADDR6",
|
||||
"MASK6",
|
||||
"DNS6",
|
||||
"NBNS6",
|
||||
"DHCP6",
|
||||
"SUBNET",
|
||||
"SUPPORTED",
|
||||
"SUBNET6",
|
||||
"MIP6HPFX",
|
||||
"LINK6",
|
||||
"PFX6");
|
||||
ENUM_NEXT(configuration_attribute_type_short_names, XAUTH_TYPE, XAUTH_ANSWER, INTERNAL_IP6_PREFIX,
|
||||
"XAUTH_TYPE",
|
||||
"XAUTH_USER_NAME",
|
||||
"XAUTH_USER_PASSWORD",
|
||||
"XAUTH_PASSCODE",
|
||||
"XAUTH_MESSAGE",
|
||||
"XAUTH_CHALLENGE",
|
||||
"XAUTH_DOMAIN",
|
||||
"XAUTH_STATUS",
|
||||
"XAUTH_NEXT_PIN",
|
||||
"XAUTH_ANSWER");
|
||||
ENUM_NEXT(configuration_attribute_type_short_names, INTERNAL_IP4_SERVER, INTERNAL_IP6_SERVER, XAUTH_ANSWER,
|
||||
"SRV",
|
||||
"SRV6");
|
||||
ENUM_NEXT(configuration_attribute_type_short_names, UNITY_BANNER, UNITY_DDNS_HOSTNAME, INTERNAL_IP6_SERVER,
|
||||
"UNITY_BANNER",
|
||||
"UNITY_SAVE_PASSWD",
|
||||
"UNITY_DEF_DOMAIN",
|
||||
"UNITY_SPLITDNS_NAME",
|
||||
"UNITY_SPLIT_INCLUDE",
|
||||
"UNITY_NATT_PORT",
|
||||
"UNITY_LOCAL_LAN",
|
||||
"UNITY_PFS",
|
||||
"UNITY_FW_TYPE",
|
||||
"UNITY_BACKUP_SERVERS",
|
||||
"UNITY_DDNS_HOSTNAME");
|
||||
ENUM_END(configuration_attribute_type_short_names, UNITY_DDNS_HOSTNAME);
|
||||
|
|
|
@ -81,5 +81,10 @@ enum configuration_attribute_type_t {
|
|||
*/
|
||||
extern enum_name_t *configuration_attribute_type_names;
|
||||
|
||||
/**
|
||||
* Short enum names for configuration_attribute_type_t.
|
||||
*/
|
||||
extern enum_name_t *configuration_attribute_type_short_names;
|
||||
|
||||
|
||||
#endif /** ATTRIBUTES_H_ @}*/
|
||||
|
|
Loading…
Reference in New Issue