libimcv: Updated IANA numbers assigned to SWIMA
authorAndreas Steffen <andreas.steffen@strongswan.org>
Wed, 28 Feb 2018 18:23:59 +0000 (19:23 +0100)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 12 Jun 2018 15:53:06 +0000 (17:53 +0200)
src/libimcv/ietf/ietf_attr.c
src/libimcv/ietf/ietf_attr.h
src/libimcv/ietf/ietf_attr_pa_tnc_error.c
src/libimcv/ietf/ietf_attr_pa_tnc_error.h
src/libimcv/suites/test_imcv_swima.c
src/libimcv/swima/swima_data_model.c

index 44e0ef2..b1bcd92 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2017 Andreas Steffen
+ * Copyright (C) 2011-2018 Andreas Steffen
  * HSR Hochschule fuer Technik Rapperswil
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -30,9 +30,7 @@
 #include "ietf/swima/ietf_swima_attr_sw_ev.h"
 #include "generic/generic_attr_bool.h"
 
-
-ENUM_BEGIN(ietf_attr_names, IETF_ATTR_TESTING,
-                                                       IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED,
+ENUM(ietf_attr_names, IETF_ATTR_TESTING, IETF_ATTR_SRC_METADATA_RESP,
        "Testing",
        "Attribute Request",
        "Product Information",
@@ -46,10 +44,6 @@ ENUM_BEGIN(ietf_attr_names, IETF_ATTR_TESTING,
        "Remediation Instructions",
        "Forwarding Enabled",
        "Factory Default Password Enabled",
-);
-ENUM_NEXT(ietf_attr_names,  IETF_ATTR_SWIMA_REQUEST,
-                                                       IETF_ATTR_SRC_METADATA_RESP,
-                                                       IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED,
        "SWIMA Request",
        "SW Identifier Inventory",
        "SW Identifier Events",
@@ -60,7 +54,6 @@ ENUM_NEXT(ietf_attr_names,  IETF_ATTR_SWIMA_REQUEST,
        "SW Source Metadata Request",
        "SW Source Metadata Response",
 );
-ENUM_END(ietf_attr_names,      IETF_ATTR_SRC_METADATA_RESP);
 
 /**
  * See header
index cbf4a49..6e264bc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2017 Andreas Steffen
+ * Copyright (C) 2011-2018 Andreas Steffen
  * HSR Hochschule fuer Technik Rapperswil
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -48,15 +48,15 @@ enum ietf_attr_t {
        IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED =       12,
 
        /* draft-ietf-sacm-nea-swid-patnc */
-       IETF_ATTR_SWIMA_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_SWIMA_REQUEST =                     13,
+       IETF_ATTR_SW_ID_INVENTORY =                   14,
+       IETF_ATTR_SW_ID_EVENTS =                      15,
+       IETF_ATTR_SW_INVENTORY =                      16,
+       IETF_ATTR_SW_EVENTS =                         17,
+       IETF_ATTR_SUBSCRIPTION_STATUS_REQ =           18,
+       IETF_ATTR_SUBSCRIPTION_STATUS_RESP =          19,
+       IETF_ATTR_SRC_METADATA_REQ =                  20,
+       IETF_ATTR_SRC_METADATA_RESP =                 21,
 
        IETF_ATTR_RESERVED =                  0xffffffff,
 };
index 75f2792..7cfe6ef 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2017 Andreas Steffen
+ * Copyright (C) 2011-2018 Andreas Steffen
  * HSR Hochschule fuer Technik Rapperswil
  *
  * This program is free software; you can redistribute it and/or modify it
 #include <bio/bio_reader.h>
 #include <utils/debug.h>
 
-ENUM_BEGIN(pa_tnc_error_code_names,    PA_ERROR_RESERVED,
-                                                                       PA_ERROR_ATTR_TYPE_NOT_SUPPORTED,
+ENUM(pa_tnc_error_code_names, PA_ERROR_RESERVED,
+                                                         PA_ERROR_SWIMA_SUBSCRIPTION_ID_REUSE,
        "Reserved",
        "Invalid Parameter",
        "Version Not Supported",
        "Attribute Type Not Supported"
-);
-ENUM_NEXT(pa_tnc_error_code_names,     PA_ERROR_SWIMA,
-                                                                       PA_ERROR_SWIMA_SUBSCRIPTION_ID_REUSE,
-                                                                       PA_ERROR_ATTR_TYPE_NOT_SUPPORTED,
        "SWIMA Error",
        "SWIMA Subscription Denied",
        "SWIMA Response Too Large",
        "SWIMA Subscription Fulfillment Error",
        "SWIMA Subscription ID Reuse"
 );
-ENUM_END(pa_tnc_error_code_names,      PA_ERROR_SWIMA_SUBSCRIPTION_ID_REUSE);
 
 typedef struct private_ietf_attr_pa_tnc_error_t private_ietf_attr_pa_tnc_error_t;
 
index dd0be72..ee2a92c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2017 Andreas Steffen
+ * Copyright (C) 2011-2018 Andreas Steffen
  * HSR Hochschule fuer Technik Rapperswil
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -28,7 +28,7 @@ typedef enum pa_tnc_error_code_t pa_tnc_error_code_t;
 #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
  */
 enum  pa_tnc_error_code_t {
 
@@ -40,11 +40,11 @@ enum  pa_tnc_error_code_t {
        PA_ERROR_PA_TNC_MSG_ROOF =                  3,
 
        /* draft-ietf-sacm-nea-swid-patnc (SWIMA) */
-       PA_ERROR_SWIMA =                           32,
-       PA_ERROR_SWIMA_SUBSCRIPTION_DENIED =       33,
-       PA_ERROR_SWIMA_RESPONSE_TOO_LARGE =        34,
-       PA_ERROR_SWIMA_SUBSCRIPTION_FULFILLMENT =  35,
-       PA_ERROR_SWIMA_SUBSCRIPTION_ID_REUSE =     36
+       PA_ERROR_SWIMA =                            4,
+       PA_ERROR_SWIMA_SUBSCRIPTION_DENIED =        5,
+       PA_ERROR_SWIMA_RESPONSE_TOO_LARGE =         6,
+       PA_ERROR_SWIMA_SUBSCRIPTION_FULFILLMENT =   7,
+       PA_ERROR_SWIMA_SUBSCRIPTION_ID_REUSE =      8
 };
 
 /**
index a579f73..0fe7e7f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 Andreas Steffen
+ * Copyright (C) 2017-2018 Andreas Steffen
  * HSR Hochschule fuer Technik Rapperswil
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -182,7 +182,7 @@ START_TEST(test_imcv_swima_sw_req)
 
        targets = c_attr->get_targets(c_attr);
        ck_assert(targets->get_eid(targets, NULL) == req_data[_i].earliest_eid);
-       
+
        enumerator = targets->create_enumerator(targets);
        ck_assert(enumerator);
        n = 0;
@@ -268,7 +268,7 @@ static sw_inv_data_t sw_inv_data[] = {
          chunk_from_chars(
                0x00, 0x00, 0x00, 0x01, 0xAA, 0xBB, 0xCC, 0xD2, 0x12, 0x34,
                0x56, 0x78, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x1F, 0x73, 0x74, 0x72,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x73, 0x74, 0x72,
                0x6F, 0x6E, 0x67, 0x73, 0x77, 0x61, 0x6E, 0x2E, 0x6F, 0x72,
                0x67, 0x5F, 0x73, 0x74, 0x72, 0x6F, 0x6E, 0x67, 0x53, 0x77,
                0x61, 0x6E, 0x5F, 0x35, 0x2E, 0x33, 0x2E, 0x33, 0x00, 0x00,
@@ -283,7 +283,7 @@ static sw_inv_data_t sw_inv_data[] = {
          chunk_from_chars(
                0x00, 0x00, 0x00, 0x01, 0xAA, 0xBB, 0xCC, 0xD3, 0x12, 0x34,
                0x56, 0x78, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x1F, 0x73, 0x74, 0x72,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x73, 0x74, 0x72,
                0x6F, 0x6E, 0x67, 0x73, 0x77, 0x61, 0x6E, 0x2E, 0x6F, 0x72,
                0x67, 0x5F, 0x73, 0x74, 0x72, 0x6F, 0x6E, 0x67, 0x53, 0x77,
         0x61, 0x6E, 0x5F, 0x35, 0x2E, 0x33, 0x2E, 0x33, 0x00, 0x00)
@@ -292,7 +292,7 @@ static sw_inv_data_t sw_inv_data[] = {
          chunk_from_chars(
                0x80, 0x00, 0x00, 0x02, 0xAA, 0xBB, 0xCC, 0xD4, 0x12, 0x34,
                0x56, 0x78, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x1F, 0x73, 0x74, 0x72,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x73, 0x74, 0x72,
                0x6F, 0x6E, 0x67, 0x73, 0x77, 0x61, 0x6E, 0x2E, 0x6F, 0x72,
                0x67, 0x5F, 0x73, 0x74, 0x72, 0x6F, 0x6E, 0x67, 0x53, 0x77,
                0x61, 0x6E, 0x5F, 0x35, 0x2E, 0x33, 0x2E, 0x33, 0x00, 0x00,
@@ -318,7 +318,7 @@ static sw_inv_data_t sw_inv_data[] = {
          chunk_from_chars(
                0x80, 0x00, 0x00, 0x02, 0xAA, 0xBB, 0xCC, 0xD5, 0x12, 0x34,
                0x56, 0x78, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x1F, 0x73, 0x74, 0x72,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x73, 0x74, 0x72,
                0x6F, 0x6E, 0x67, 0x73, 0x77, 0x61, 0x6E, 0x2E, 0x6F, 0x72,
                0x67, 0x5F, 0x73, 0x74, 0x72, 0x6F, 0x6E, 0x67, 0x53, 0x77,
                0x61, 0x6E, 0x5F, 0x35, 0x2E, 0x33, 0x2E, 0x33, 0x00, 0x00,
@@ -351,7 +351,7 @@ START_TEST(test_imcv_swima_inv)
                                                                                 sw_id_only);
 
        sw_inv = swima_inventory_create();
-       sw_inv->set_eid(sw_inv, sw_inv_data[_i].last_eid, sw_inv_data[_i].eid_epoch); 
+       sw_inv->set_eid(sw_inv, sw_inv_data[_i].last_eid, sw_inv_data[_i].eid_epoch);
        for (n = 0; n < _i/2; n++)
        {
                sw_id = chunk_from_str(sw_id_str[n]);
@@ -626,7 +626,7 @@ static sw_ev_data_t sw_ev_data[] = {
                0x00, 0x00, 0x00, 0x30,  '2',  '0',  '1',  '7',  '-',  '0',
                 '5',  '-',  '3',  '0',  'T',  '1',  '8',  ':',  '0',  '9',
                 ':',  '2',  '5',  'Z', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x01, 0x00, 0x01, 0x00, 0x1F, 0x73, 0x74, 0x72, 0x6F,
+               0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x73, 0x74, 0x72, 0x6F,
                0x6E, 0x67, 0x73, 0x77, 0x61, 0x6E, 0x2E, 0x6F, 0x72, 0x67,
                0x5F, 0x73, 0x74, 0x72, 0x6F, 0x6E, 0x67, 0x53, 0x77, 0x61,
                0x6E, 0x5F, 0x35, 0x2E, 0x33, 0x2E, 0x33, 0x00, 0x00, 0x00,
@@ -644,7 +644,7 @@ static sw_ev_data_t sw_ev_data[] = {
                0x00, 0x00, 0x00, 0x30,  '2',  '0',  '1',  '7',  '-',  '0',
                 '5',  '-',  '3',  '0',  'T',  '1',  '8',  ':',  '0',  '9',
                 ':',  '2',  '5',  'Z', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x01, 0x00, 0x01, 0x00, 0x1F, 0x73, 0x74, 0x72, 0x6F,
+               0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x73, 0x74, 0x72, 0x6F,
                0x6E, 0x67, 0x73, 0x77, 0x61, 0x6E, 0x2E, 0x6F, 0x72, 0x67,
                0x5F, 0x73, 0x74, 0x72, 0x6F, 0x6E, 0x67, 0x53, 0x77, 0x61,
                0x6E, 0x5F, 0x35, 0x2E, 0x33, 0x2E, 0x33, 0x00, 0x00)
@@ -656,7 +656,7 @@ static sw_ev_data_t sw_ev_data[] = {
                0x00, 0x00, 0x00, 0x30,  '2',  '0',  '1',  '7',  '-',  '0',
                 '5',  '-',  '3',  '0',  'T',  '1',  '8',  ':',  '0',  '9',
                 ':',  '2',  '5',  'Z', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x01, 0x00, 0x01, 0x00, 0x1F, 0x73, 0x74, 0x72, 0x6F,
+               0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x73, 0x74, 0x72, 0x6F,
                0x6E, 0x67, 0x73, 0x77, 0x61, 0x6E, 0x2E, 0x6F, 0x72, 0x67,
                0x5F, 0x73, 0x74, 0x72, 0x6F, 0x6E, 0x67, 0x53, 0x77, 0x61,
                0x6E, 0x5F, 0x35, 0x2E, 0x33, 0x2E, 0x33, 0x00, 0x00, 0x00,
@@ -688,7 +688,7 @@ static sw_ev_data_t sw_ev_data[] = {
                0x00, 0x00, 0x00, 0x30,  '2',  '0',  '1',  '7',  '-',  '0',
                 '5',  '-',  '3',  '0',  'T',  '1',  '8',  ':',  '0',  '9',
                 ':',  '2',  '5',  'Z', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x01, 0x00, 0x01, 0x00, 0x1F, 0x73, 0x74, 0x72, 0x6F,
+               0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x73, 0x74, 0x72, 0x6F,
                0x6E, 0x67, 0x73, 0x77, 0x61, 0x6E, 0x2E, 0x6F, 0x72, 0x67,
                0x5F, 0x73, 0x74, 0x72, 0x6F, 0x6E, 0x67, 0x53, 0x77, 0x61,
                0x6E, 0x5F, 0x35, 0x2E, 0x33, 0x2E, 0x33, 0x00, 0x00, 0x00,
@@ -827,8 +827,8 @@ END_TEST
  *
  *   0 constant header
  *  16   segment  1  -  16 octets
- *  20 eid 
- *  22   segment  2  -   6 octets 
+ *  20 eid
+ *  22   segment  2  -   6 octets
  *  24 timestamp
  *  26   segment  3  -   4 octets
  *  44 record_id
index f444724..f38d921 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 Andreas Steffen
+ * Copyright (C) 2017-2018 Andreas Steffen
  * HSR Hochschule fuer Technik Rapperswil
  *
  * This program is free software; you can redistribute it and/or modify it
  * ISO/IEC 19770-2-2015: Information Technology - Software Asset Management -
  * Part 2: Software Identification Tag
  */
-pen_type_t swima_data_model_iso_2015_swid_xml = { PEN_IETF, 1 };
+pen_type_t swima_data_model_iso_2015_swid_xml = { PEN_IETF, 0 };
 
 /**
  * ISO/IEC 19770-2-2009: Information Technology - Software Asset Management -
  * Part 2: Software Identification Tag
  */
-pen_type_t swima_data_model_iso_2009_swid_xml = { PEN_IETF, 2 };
+pen_type_t swima_data_model_iso_2009_swid_xml = { PEN_IETF, 1 };