libimcv: Added IETF Software PA-TNC attributes
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2011-2015 Andreas Steffen
|
* Copyright (C) 2011-2017 Andreas Steffen
|
||||||
* HSR Hochschule fuer Technik Rapperswil
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -28,7 +28,8 @@
|
|||||||
#include "generic/generic_attr_bool.h"
|
#include "generic/generic_attr_bool.h"
|
||||||
|
|
||||||
|
|
||||||
ENUM(ietf_attr_names, IETF_ATTR_TESTING, IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED,
|
ENUM_BEGIN(ietf_attr_names, IETF_ATTR_TESTING,
|
||||||
|
IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED,
|
||||||
"Testing",
|
"Testing",
|
||||||
"Attribute Request",
|
"Attribute Request",
|
||||||
"Product Information",
|
"Product Information",
|
||||||
@@ -43,6 +44,20 @@ ENUM(ietf_attr_names, IETF_ATTR_TESTING, IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED,
|
|||||||
"Forwarding Enabled",
|
"Forwarding Enabled",
|
||||||
"Factory Default Password Enabled",
|
"Factory Default Password Enabled",
|
||||||
);
|
);
|
||||||
|
ENUM_NEXT(ietf_attr_names, IETF_ATTR_SW_REQUEST,
|
||||||
|
IETF_ATTR_SRC_METADATA_RESP,
|
||||||
|
IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED,
|
||||||
|
"SW Request",
|
||||||
|
"SW Identifier Inventory",
|
||||||
|
"SW Identifier Events",
|
||||||
|
"SW Inventory",
|
||||||
|
"SW Events",
|
||||||
|
"SW Subscription Status Request",
|
||||||
|
"SW Subscription Status Response",
|
||||||
|
"SW Source Metadata Request",
|
||||||
|
"SW Source Metadata Response",
|
||||||
|
);
|
||||||
|
ENUM_END(ietf_attr_names, IETF_ATTR_SRC_METADATA_RESP);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* See header
|
* See header
|
||||||
@@ -81,6 +96,16 @@ pa_tnc_attr_t* ietf_attr_create_from_data(uint32_t type, size_t length,
|
|||||||
pen_type_create(PEN_IETF, type));
|
pen_type_create(PEN_IETF, type));
|
||||||
case IETF_ATTR_TESTING:
|
case IETF_ATTR_TESTING:
|
||||||
case IETF_ATTR_RESERVED:
|
case IETF_ATTR_RESERVED:
|
||||||
|
/* unsupported IETF/SWIMA attributes */
|
||||||
|
case IETF_ATTR_SW_REQUEST:
|
||||||
|
case IETF_ATTR_SW_ID_INVENTORY:
|
||||||
|
case IETF_ATTR_SW_ID_EVENTS:
|
||||||
|
case IETF_ATTR_SW_INVENTORY:
|
||||||
|
case IETF_ATTR_SW_EVENTS:
|
||||||
|
case IETF_ATTR_SUBSCRIPTION_STATUS_REQ:
|
||||||
|
case IETF_ATTR_SUBSCRIPTION_STATUS_RESP:
|
||||||
|
case IETF_ATTR_SRC_METADATA_REQ:
|
||||||
|
case IETF_ATTR_SRC_METADATA_RESP:
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2011-2014 Andreas Steffen
|
* Copyright (C) 2011-2017 Andreas Steffen
|
||||||
* HSR Hochschule fuer Technik Rapperswil
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -28,9 +28,11 @@
|
|||||||
typedef enum ietf_attr_t ietf_attr_t;
|
typedef enum ietf_attr_t ietf_attr_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IETF standard PA-TNC attribute types defined by RFC 5792
|
* IETF standard PA-TNC attribute types
|
||||||
*/
|
*/
|
||||||
enum ietf_attr_t {
|
enum ietf_attr_t {
|
||||||
|
|
||||||
|
/* RFC 5792 */
|
||||||
IETF_ATTR_TESTING = 0,
|
IETF_ATTR_TESTING = 0,
|
||||||
IETF_ATTR_ATTRIBUTE_REQUEST = 1,
|
IETF_ATTR_ATTRIBUTE_REQUEST = 1,
|
||||||
IETF_ATTR_PRODUCT_INFORMATION = 2,
|
IETF_ATTR_PRODUCT_INFORMATION = 2,
|
||||||
@@ -44,6 +46,18 @@ enum ietf_attr_t {
|
|||||||
IETF_ATTR_REMEDIATION_INSTRUCTIONS = 10,
|
IETF_ATTR_REMEDIATION_INSTRUCTIONS = 10,
|
||||||
IETF_ATTR_FORWARDING_ENABLED = 11,
|
IETF_ATTR_FORWARDING_ENABLED = 11,
|
||||||
IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED = 12,
|
IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED = 12,
|
||||||
|
|
||||||
|
/* draft-ietf-sacm-nea-swid-patnc */
|
||||||
|
IETF_ATTR_SW_REQUEST = 17,
|
||||||
|
IETF_ATTR_SW_ID_INVENTORY = 18,
|
||||||
|
IETF_ATTR_SW_ID_EVENTS = 19,
|
||||||
|
IETF_ATTR_SW_INVENTORY = 20,
|
||||||
|
IETF_ATTR_SW_EVENTS = 21,
|
||||||
|
IETF_ATTR_SUBSCRIPTION_STATUS_REQ = 22,
|
||||||
|
IETF_ATTR_SUBSCRIPTION_STATUS_RESP = 23,
|
||||||
|
IETF_ATTR_SRC_METADATA_REQ = 24,
|
||||||
|
IETF_ATTR_SRC_METADATA_RESP = 25,
|
||||||
|
|
||||||
IETF_ATTR_RESERVED = 0xffffffff,
|
IETF_ATTR_RESERVED = 0xffffffff,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2011-2014 Andreas Steffen
|
* Copyright (C) 2011-2017 Andreas Steffen
|
||||||
* HSR Hochschule fuer Technik Rapperswil
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -20,13 +20,23 @@
|
|||||||
#include <bio/bio_reader.h>
|
#include <bio/bio_reader.h>
|
||||||
#include <utils/debug.h>
|
#include <utils/debug.h>
|
||||||
|
|
||||||
ENUM(pa_tnc_error_code_names, PA_ERROR_RESERVED,
|
ENUM_BEGIN(pa_tnc_error_code_names, PA_ERROR_RESERVED,
|
||||||
PA_ERROR_ATTR_TYPE_NOT_SUPPORTED,
|
PA_ERROR_ATTR_TYPE_NOT_SUPPORTED,
|
||||||
"Reserved",
|
"Reserved",
|
||||||
"Invalid Parameter",
|
"Invalid Parameter",
|
||||||
"Version Not Supported",
|
"Version Not Supported",
|
||||||
"Attribute Type Not Supported"
|
"Attribute Type Not Supported"
|
||||||
);
|
);
|
||||||
|
ENUM_NEXT(pa_tnc_error_code_names, PA_ERROR_SW,
|
||||||
|
PA_ERROR_SW_SUBSCRIPTION_ID_REUSE,
|
||||||
|
PA_ERROR_ATTR_TYPE_NOT_SUPPORTED,
|
||||||
|
"SW Error",
|
||||||
|
"SW Subscription Denied",
|
||||||
|
"SW Response Too Large",
|
||||||
|
"SW Subscription Fulfillment Error",
|
||||||
|
"SW Subscription ID Reuse"
|
||||||
|
);
|
||||||
|
ENUM_END(pa_tnc_error_code_names, PA_ERROR_SW_SUBSCRIPTION_ID_REUSE);
|
||||||
|
|
||||||
typedef struct private_ietf_attr_pa_tnc_error_t private_ietf_attr_pa_tnc_error_t;
|
typedef struct private_ietf_attr_pa_tnc_error_t private_ietf_attr_pa_tnc_error_t;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2011-2014 Andreas Steffen
|
* Copyright (C) 2011-2017 Andreas Steffen
|
||||||
* HSR Hochschule fuer Technik Rapperswil
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -27,15 +27,23 @@ typedef enum pa_tnc_error_code_t pa_tnc_error_code_t;
|
|||||||
#include "ietf_attr.h"
|
#include "ietf_attr.h"
|
||||||
#include "pa_tnc/pa_tnc_attr.h"
|
#include "pa_tnc/pa_tnc_attr.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IETF Standard PA-TNC Error Codes as defined in section 4.2.8 of RFC 5792
|
* IETF Standard PA-TNC Error Codes as defined in section 4.2.8 of RFC 5792
|
||||||
*/
|
*/
|
||||||
enum pa_tnc_error_code_t {
|
enum pa_tnc_error_code_t {
|
||||||
PA_ERROR_RESERVED = 0,
|
|
||||||
PA_ERROR_INVALID_PARAMETER = 1,
|
/* RFC 5792 PA-TNC */
|
||||||
PA_ERROR_VERSION_NOT_SUPPORTED = 2,
|
PA_ERROR_RESERVED = 0,
|
||||||
PA_ERROR_ATTR_TYPE_NOT_SUPPORTED = 3,
|
PA_ERROR_INVALID_PARAMETER = 1,
|
||||||
|
PA_ERROR_VERSION_NOT_SUPPORTED = 2,
|
||||||
|
PA_ERROR_ATTR_TYPE_NOT_SUPPORTED = 3,
|
||||||
|
|
||||||
|
/* draft-ietf-sacm-nea-swid-patnc (SWIMA) */
|
||||||
|
PA_ERROR_SW = 32,
|
||||||
|
PA_ERROR_SW_SUBSCRIPTION_DENIED = 33,
|
||||||
|
PA_ERROR_SW_RESPONSE_TOO_LARGE = 34,
|
||||||
|
PA_ERROR_SW_SUBSCRIPTION_FULFILLMENT = 35,
|
||||||
|
PA_ERROR_SW_SUBSCRIPTION_ID_REUSE = 36
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user