diff options
Diffstat (limited to 'src/libimcv/pwg/pwg_attr.c')
-rw-r--r-- | src/libimcv/pwg/pwg_attr.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/libimcv/pwg/pwg_attr.c b/src/libimcv/pwg/pwg_attr.c index 0301cc76d..f40eb7608 100644 --- a/src/libimcv/pwg/pwg_attr.c +++ b/src/libimcv/pwg/pwg_attr.c @@ -16,8 +16,10 @@ #include "pwg_attr.h" #include "generic/generic_attr_bool.h" +#include "generic/generic_attr_chunk.h" +#include "generic/generic_attr_string.h" #include "ietf/ietf_attr_port_filter.h" - +#include "pwg/pwg_attr_vendor_smi_code.h" ENUM_BEGIN(pwg_attr_names, PWG_HCD_ATTRS_NATURAL_LANG, PWG_HCD_VENDOR_SMI_CODE, @@ -96,17 +98,22 @@ pa_tnc_attr_t* pwg_attr_create_from_data(u_int32_t type, size_t length, chunk_t case PWG_HCD_RESIDENT_APP_NAME: case PWG_HCD_RESIDENT_APP_PATCHES: case PWG_HCD_RESIDENT_APP_STRING_VERSION: + return generic_attr_string_create_from_data(length, value, + pen_type_create(PEN_PWG, type)); + case PWG_HCD_FIRMWARE_VERSION: + case PWG_HCD_RESIDENT_APP_VERSION: + case PWG_HCD_USER_APP_VERSION: + return generic_attr_chunk_create_from_data(length, value, 16, + pen_type_create(PEN_PWG, type)); case PWG_HCD_CERTIFICATION_STATE: case PWG_HCD_CONFIGURATION_STATE: - return generic_attr_string_create_from_data(length, value, + return generic_attr_chunk_create_from_data(length, value, 0, pen_type_create(PEN_PWG, type)); + case PWG_HCD_VENDOR_SMI_CODE: + return pwg_attr_vendor_smi_code_create_from_data(length, value); case PWG_HCD_FIREWALL_SETTING: return ietf_attr_port_filter_create_from_data(length, value, pen_type_create(PEN_PWG, type)); - case PWG_HCD_VENDOR_SMI_CODE: - case PWG_HCD_FIRMWARE_VERSION: - case PWG_HCD_RESIDENT_APP_VERSION: - case PWG_HCD_USER_APP_VERSION: default: return NULL; } |