Date   

Re: Server sometimes can not receive request. And Question about Patch.

김정진
 

Hi.

Thanks, Kishen.

As Kishen said, I call oc_set_max_app_data_size(16384), sadly it did not solve the problem.
What means 16384? In sample program, I found just 2 case.
16384 does not solve the problem, so I tried 1638400 but only error occurs.

My client program still fail  oic/res called after Reset to RFOTM occasionally.
So I trace the CTT pcap log, then I saw CTT sent multicast oic/res.
Then my client received the request.
But I'm not sure that my client program responded properly.
Because the logs went quickly with other test cases.

So, I want to know how to diagnostics and debugging this issue.
But I have no good idea.
I need any advice,please.

Best regards.



2019년 11월 26일 (화) 오후 4:59, Kishen Maloor <kishen.maloor@...>님이 작성:

Hello,

 

> I did not use patches, eventhough there are patches in the directory.

 

If you used the Linux Makefile to build the stack, it would've included the patches.

(By the way, you need to apply those patches for anything to work)

 

> Sometimes, the server in my client program can not get a request from test program.

> 

> Especially, oic/d and oic/res do not.

 

You can try setting a larger buffer size. E.g. call oc_set_max_app_data_size(16384) before oc_main_init().

 

> While running CT1.2.2, I sometimes get an error with "DTLS PSK Client: Alert unknown_psk_identity(115) was received"

 

There's no known issue here. But if you are testing against a later spec release, it may fail. It may help if you

shared your CTT logs.

 

> I googled, I saw the issue - https://jira.iotivity.org/browse/IOT-3125.

> So, I think I missed something from patches.

 

No, that is very old and from what I can see on the ticket was  between an IoTivity (not -Lite) Client and -Lite Server.

Even so, you shouldn't see that issue any more, and as such, I think it's unrelated to what you may be seeing.

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of "kimjeongjin@..." <kimjeongjin@...>
Date: Monday, November 25, 2019 at 5:26 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: [dev] Server sometimes can not receive request. And Question about Patch.

 

Hello.

I'm testing with CTT until now.
Sometimes, the server in my client program can not get a request from test program.

Especially, oic/d and oic/res do not.
Now I'm suspicious for mbedtls configurations.
I did not use patches, eventhough there are patches in the directory.

Does  anyone explain about patches?
Is there problems whether using patches or not?

While running CT1.2.2, I sometimes get an error with "DTLS PSK Client: Alert unknown_psk_identity(115) was received"
(make SECURE=1 IPV4=1 PKI=1 DYNAMIC=1 DEBUG=0)

I googled, I saw the issue - https://jira.iotivity.org/browse/IOT-3125.
So, I think I missed something from patches.

Thanks.



--

김정진 책임연구원 (Jeongjin Kim) Mobile. 010-4223-8152  j.jin@vinetech.com

㈜바인테크 Vinetech Co., Ltd. | IoT Platform Lab | New Technology BU (신기술사업부)

Dir Tel: 82-2-2182-8392  | Tel: 82-2-2182-8300 | Fax: 82-2-2182-8399

(05836) 서울시 송파구 법원로11길 7, C동 1207호 (문정동, 현대지식산업센터)

#1207~1210, 7, Beobwon-ro 11-gil, Songpa-gu, Seoul, 05836, Rep. of KOREA

 


Re: Server sometimes can not receive request. And Question about Patch.

Kishen Maloor
 

Hello,

 

> I did not use patches, eventhough there are patches in the directory.

 

If you used the Linux Makefile to build the stack, it would've included the patches.

(By the way, you need to apply those patches for anything to work)

 

> Sometimes, the server in my client program can not get a request from test program.

> Especially, oic/d and oic/res do not.

 

You can try setting a larger buffer size. E.g. call oc_set_max_app_data_size(16384) before oc_main_init().

 

> While running CT1.2.2, I sometimes get an error with "DTLS PSK Client: Alert unknown_psk_identity(115) was received"

 

There's no known issue here. But if you are testing against a later spec release, it may fail. It may help if you

shared your CTT logs.

 

> I googled, I saw the issue - https://jira.iotivity.org/browse/IOT-3125.

> So, I think I missed something from patches.

 

No, that is very old and from what I can see on the ticket was  between an IoTivity (not -Lite) Client and -Lite Server.

Even so, you shouldn't see that issue any more, and as such, I think it's unrelated to what you may be seeing.

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of "kimjeongjin@..." <kimjeongjin@...>
Date: Monday, November 25, 2019 at 5:26 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: [dev] Server sometimes can not receive request. And Question about Patch.

 

Hello.

I'm testing with CTT until now.
Sometimes, the server in my client program can not get a request from test program.

Especially, oic/d and oic/res do not.
Now I'm suspicious for mbedtls configurations.
I did not use patches, eventhough there are patches in the directory.

Does  anyone explain about patches?
Is there problems whether using patches or not?

While running CT1.2.2, I sometimes get an error with "DTLS PSK Client: Alert unknown_psk_identity(115) was received"
(make SECURE=1 IPV4=1 PKI=1 DYNAMIC=1 DEBUG=0)

I googled, I saw the issue - https://jira.iotivity.org/browse/IOT-3125.
So, I think I missed something from patches.

Thanks.


Server sometimes can not receive request. And Question about Patch.

kimjeongjin@...
 

Hello.

I'm testing with CTT until now.
Sometimes, the server in my client program can not get a request from test program.

Especially, oic/d and oic/res do not.
Now I'm suspicious for mbedtls configurations.
I did not use patches, eventhough there are patches in the directory.

Does  anyone explain about patches?
Is there problems whether using patches or not?

While running CT1.2.2, I sometimes get an error with "DTLS PSK Client: Alert unknown_psk_identity(115) was received"
(make SECURE=1 IPV4=1 PKI=1 DYNAMIC=1 DEBUG=0)

I googled, I saw the issue - https://jira.iotivity.org/browse/IOT-3125.
So, I think I missed something from patches.

Thanks.


Re: What should I implement for client to pass CT1.2.6 and CT1.3.2.2

김정진
 

Hello, Kishen.

Thank you so much.

I could not find Certification Workgroup in lists.iotivity.org, so I sent an email to cert_wg@....
Is it correct? I'm not sure, so I have a concert. 

Best regards.

2019년 11월 20일 (수) 오후 3:21, Maloor, Kishen <kishen.maloor@...>님이 작성:

Hello,

 

> I will ask for the OCF Certification Workgroup.

 

Yes, that’s the way to go. Also, a quick tip: when you discuss your CTT issues, it might help if you also provide your swagger (JSON) file so people can review.

 

Good luck!

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: 김정진 <j.jin@...>
Date: Tuesday, November 19, 2019 at 9:39 PM
To: "Maloor, Kishen" <kishen.maloor@...>
Cc: "kimjeongjin@..." <kimjeongjin@...>, "iotivity-dev@..." <iotivity-dev@...>
Subject: Re: [dev] What should I implement for client to pass CT1.2.6 and CT1.3.2.2

 

Hi.

 

Yes, I will take a step to certify client, soon.

I will ask for the OCF Certification Workgroup.

 

Thanks.

 

 

2019 11 20 () 오전 2:00, Kishen Maloor <kishen.maloor@...>님이 작성:

Hello,

 

From a stack perspective, you just need to provide the right IDD encoded as CBOR, and dump those bytes into the array in server_introspection.dat.h (or

supply it via the API as I last conveyed). Any other matters beyond this are outside the purview of the stack.

 

Are you planning to certify your Client?

If so, would you please direct your request to the OCF Certification Workgroup reflector for further assistance?

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of "kimjeongjin@..." <kimjeongjin@...>
Date: Tuesday, November 19, 2019 at 2:58 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: Re: [dev] What should I implement for client to pass CT1.2.6 and CT1.3.2.2

 

Hello, again.

I changed server_introspection.dat.h referenced client json files in DeviceBuilder/test/ref/ctt_client/ , DeviceBuilder/src/introspection-client-iotivity-ioc-p.json and reversed json file from include/server_introspection.dat.h.


But still I can have a problem in CT1.3.2.2 as last post. (CTT 1903.0.0 I reinstalled it several times).

Introspection_CT1.3.2.2.py line 214:
swagger.Definitions.RawObject.ChildrenTokens is None.
swagger.Definitions.RawObject is not None.

Would you advice what I am missing?

I printed it  swagger.Definitions.RawObject:

 

Definitions : {
  "Platform": {
    "properties": {
      "id": {
        "anyOf": [
          {
            "maxLength": 64,
            "type": "string"
          },
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          }
        ],
        "description": "",
        "readOnly": true
      },
      "if": {
        "description": "",
        "items": {
          "enum": [
            "oic.if.baseline",
            "oic.if.r"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 2,
        "readOnly": true,
        "type": "array",
        "uniqueItems": true
      },
      "mndt": {
        "allOf": [
          {
            "description": "",
            "pattern": "^([0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|2[0-9]|1[0-9]|0[1-9])$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "mnfv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnhw": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnml": {
        "description": "",
        "format": "uri",
        "maxLength": 256,
        "readOnly": true,
        "type": "string"
      },
      "mnmn": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnmo": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnos": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnpv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "pi": {
        "allOf": [
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "rt": {
        "default": [
          "oic.wk.p"
        ],
        "description": "",
        "items": {
          "enum": [
            "oic.wk.p"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 1,
        "readOnly": true,
        "type": "array"
      },
      "st": {
        "description": "",
        "format": "date-time",
        "readOnly": true,
        "type": "string"
      }
    },
    "required": [
      "pi",
      "mnmn"
    ],
    "type": "object"
  }
}

Thanks.


 

--

 

김정진 책임연구원 (Jeongjin Kim) Mobile. 010-4223-8152  j.jin@vinetech.com

㈜바인테크 Vinetech Co., Ltd. | IoT Platform Lab | New Technology BU (신기술사업부)

Dir Tel: 82-2-2182-8392  | Tel: 82-2-2182-8300 | Fax: 82-2-2182-8399

(05836) 서울시 송파구 법원로11 7, C 1207 (문정동, 현대지식산업센터)

#1207~1210, 7, Beobwon-ro 11-gil, Songpa-gu, Seoul, 05836, Rep. of KOREA

 



--

김정진 책임연구원 (Jeongjin Kim) Mobile. 010-4223-8152  j.jin@vinetech.com

㈜바인테크 Vinetech Co., Ltd. | IoT Platform Lab | New Technology BU (신기술사업부)

Dir Tel: 82-2-2182-8392  | Tel: 82-2-2182-8300 | Fax: 82-2-2182-8399

(05836) 서울시 송파구 법원로11길 7, C동 1207호 (문정동, 현대지식산업센터)

#1207~1210, 7, Beobwon-ro 11-gil, Songpa-gu, Seoul, 05836, Rep. of KOREA

 


Re: What should I implement for client to pass CT1.2.6 and CT1.3.2.2

Kishen Maloor
 

Hello,

 

> I will ask for the OCF Certification Workgroup.

 

Yes, that’s the way to go. Also, a quick tip: when you discuss your CTT issues, it might help if you also provide your swagger (JSON) file so people can review.

 

Good luck!

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: 김정진 <j.jin@...>
Date: Tuesday, November 19, 2019 at 9:39 PM
To: "Maloor, Kishen" <kishen.maloor@...>
Cc: "kimjeongjin@..." <kimjeongjin@...>, "iotivity-dev@..." <iotivity-dev@...>
Subject: Re: [dev] What should I implement for client to pass CT1.2.6 and CT1.3.2.2

 

Hi.

 

Yes, I will take a step to certify client, soon.

I will ask for the OCF Certification Workgroup.

 

Thanks.

 

 

2019 11 20 () 오전 2:00, Kishen Maloor <kishen.maloor@...>님이 작성:

Hello,

 

From a stack perspective, you just need to provide the right IDD encoded as CBOR, and dump those bytes into the array in server_introspection.dat.h (or

supply it via the API as I last conveyed). Any other matters beyond this are outside the purview of the stack.

 

Are you planning to certify your Client?

If so, would you please direct your request to the OCF Certification Workgroup reflector for further assistance?

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of "kimjeongjin@..." <kimjeongjin@...>
Date: Tuesday, November 19, 2019 at 2:58 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: Re: [dev] What should I implement for client to pass CT1.2.6 and CT1.3.2.2

 

Hello, again.

I changed server_introspection.dat.h referenced client json files in DeviceBuilder/test/ref/ctt_client/ , DeviceBuilder/src/introspection-client-iotivity-ioc-p.json and reversed json file from include/server_introspection.dat.h.


But still I can have a problem in CT1.3.2.2 as last post. (CTT 1903.0.0 I reinstalled it several times).

Introspection_CT1.3.2.2.py line 214:
swagger.Definitions.RawObject.ChildrenTokens is None.
swagger.Definitions.RawObject is not None.

Would you advice what I am missing?

I printed it  swagger.Definitions.RawObject:

 

Definitions : {
  "Platform": {
    "properties": {
      "id": {
        "anyOf": [
          {
            "maxLength": 64,
            "type": "string"
          },
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          }
        ],
        "description": "",
        "readOnly": true
      },
      "if": {
        "description": "",
        "items": {
          "enum": [
            "oic.if.baseline",
            "oic.if.r"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 2,
        "readOnly": true,
        "type": "array",
        "uniqueItems": true
      },
      "mndt": {
        "allOf": [
          {
            "description": "",
            "pattern": "^([0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|2[0-9]|1[0-9]|0[1-9])$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "mnfv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnhw": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnml": {
        "description": "",
        "format": "uri",
        "maxLength": 256,
        "readOnly": true,
        "type": "string"
      },
      "mnmn": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnmo": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnos": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnpv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "pi": {
        "allOf": [
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "rt": {
        "default": [
          "oic.wk.p"
        ],
        "description": "",
        "items": {
          "enum": [
            "oic.wk.p"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 1,
        "readOnly": true,
        "type": "array"
      },
      "st": {
        "description": "",
        "format": "date-time",
        "readOnly": true,
        "type": "string"
      }
    },
    "required": [
      "pi",
      "mnmn"
    ],
    "type": "object"
  }
}

Thanks.


 

--

 

김정진 책임연구원 (Jeongjin Kim) Mobile. 010-4223-8152  j.jin@vinetech.com

㈜바인테크 Vinetech Co., Ltd. | IoT Platform Lab | New Technology BU (신기술사업부)

Dir Tel: 82-2-2182-8392  | Tel: 82-2-2182-8300 | Fax: 82-2-2182-8399

(05836) 서울시 송파구 법원로11 7, C 1207 (문정동, 현대지식산업센터)

#1207~1210, 7, Beobwon-ro 11-gil, Songpa-gu, Seoul, 05836, Rep. of KOREA

 


Re: What should I implement for client to pass CT1.2.6 and CT1.3.2.2

김정진
 

Hi.

Yes, I will take a step to certify client, soon.
I will ask for the OCF Certification Workgroup.

Thanks.


2019년 11월 20일 (수) 오전 2:00, Kishen Maloor <kishen.maloor@...>님이 작성:

Hello,

 

From a stack perspective, you just need to provide the right IDD encoded as CBOR, and dump those bytes into the array in server_introspection.dat.h (or

supply it via the API as I last conveyed). Any other matters beyond this are outside the purview of the stack.

 

Are you planning to certify your Client?

If so, would you please direct your request to the OCF Certification Workgroup reflector for further assistance?

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of "kimjeongjin@..." <kimjeongjin@...>
Date: Tuesday, November 19, 2019 at 2:58 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: Re: [dev] What should I implement for client to pass CT1.2.6 and CT1.3.2.2

 

Hello, again.

I changed server_introspection.dat.h referenced client json files in DeviceBuilder/test/ref/ctt_client/ , DeviceBuilder/src/introspection-client-iotivity-ioc-p.json and reversed json file from include/server_introspection.dat.h.


But still I can have a problem in CT1.3.2.2 as last post. (CTT 1903.0.0 I reinstalled it several times).

Introspection_CT1.3.2.2.py line 214:
swagger.Definitions.RawObject.ChildrenTokens is None.
swagger.Definitions.RawObject is not None.

Would you advice what I am missing?

I printed it  swagger.Definitions.RawObject:

 

Definitions : {
  "Platform": {
    "properties": {
      "id": {
        "anyOf": [
          {
            "maxLength": 64,
            "type": "string"
          },
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          }
        ],
        "description": "",
        "readOnly": true
      },
      "if": {
        "description": "",
        "items": {
          "enum": [
            "oic.if.baseline",
            "oic.if.r"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 2,
        "readOnly": true,
        "type": "array",
        "uniqueItems": true
      },
      "mndt": {
        "allOf": [
          {
            "description": "",
            "pattern": "^([0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|2[0-9]|1[0-9]|0[1-9])$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "mnfv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnhw": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnml": {
        "description": "",
        "format": "uri",
        "maxLength": 256,
        "readOnly": true,
        "type": "string"
      },
      "mnmn": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnmo": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnos": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnpv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "pi": {
        "allOf": [
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "rt": {
        "default": [
          "oic.wk.p"
        ],
        "description": "",
        "items": {
          "enum": [
            "oic.wk.p"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 1,
        "readOnly": true,
        "type": "array"
      },
      "st": {
        "description": "",
        "format": "date-time",
        "readOnly": true,
        "type": "string"
      }
    },
    "required": [
      "pi",
      "mnmn"
    ],
    "type": "object"
  }
}

Thanks.



--

김정진 책임연구원 (Jeongjin Kim) Mobile. 010-4223-8152  j.jin@vinetech.com

㈜바인테크 Vinetech Co., Ltd. | IoT Platform Lab | New Technology BU (신기술사업부)

Dir Tel: 82-2-2182-8392  | Tel: 82-2-2182-8300 | Fax: 82-2-2182-8399

(05836) 서울시 송파구 법원로11길 7, C동 1207호 (문정동, 현대지식산업센터)

#1207~1210, 7, Beobwon-ro 11-gil, Songpa-gu, Seoul, 05836, Rep. of KOREA

 


Re: What should I implement for client to pass CT1.2.6 and CT1.3.2.2

Kishen Maloor
 

Hello,

 

From a stack perspective, you just need to provide the right IDD encoded as CBOR, and dump those bytes into the array in server_introspection.dat.h (or

supply it via the API as I last conveyed). Any other matters beyond this are outside the purview of the stack.

 

Are you planning to certify your Client?

If so, would you please direct your request to the OCF Certification Workgroup reflector for further assistance?

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of "kimjeongjin@..." <kimjeongjin@...>
Date: Tuesday, November 19, 2019 at 2:58 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: Re: [dev] What should I implement for client to pass CT1.2.6 and CT1.3.2.2

 

Hello, again.

I changed server_introspection.dat.h referenced client json files in DeviceBuilder/test/ref/ctt_client/ , DeviceBuilder/src/introspection-client-iotivity-ioc-p.json and reversed json file from include/server_introspection.dat.h.


But still I can have a problem in CT1.3.2.2 as last post. (CTT 1903.0.0 I reinstalled it several times).

Introspection_CT1.3.2.2.py line 214:
swagger.Definitions.RawObject.ChildrenTokens is None.
swagger.Definitions.RawObject is not None.

Would you advice what I am missing?

I printed it  swagger.Definitions.RawObject:

 

Definitions : {
  "Platform": {
    "properties": {
      "id": {
        "anyOf": [
          {
            "maxLength": 64,
            "type": "string"
          },
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          }
        ],
        "description": "",
        "readOnly": true
      },
      "if": {
        "description": "",
        "items": {
          "enum": [
            "oic.if.baseline",
            "oic.if.r"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 2,
        "readOnly": true,
        "type": "array",
        "uniqueItems": true
      },
      "mndt": {
        "allOf": [
          {
            "description": "",
            "pattern": "^([0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|2[0-9]|1[0-9]|0[1-9])$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "mnfv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnhw": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnml": {
        "description": "",
        "format": "uri",
        "maxLength": 256,
        "readOnly": true,
        "type": "string"
      },
      "mnmn": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnmo": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnos": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnpv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "pi": {
        "allOf": [
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "rt": {
        "default": [
          "oic.wk.p"
        ],
        "description": "",
        "items": {
          "enum": [
            "oic.wk.p"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 1,
        "readOnly": true,
        "type": "array"
      },
      "st": {
        "description": "",
        "format": "date-time",
        "readOnly": true,
        "type": "string"
      }
    },
    "required": [
      "pi",
      "mnmn"
    ],
    "type": "object"
  }
}

Thanks.


Re: What should I implement for client to pass CT1.2.6 and CT1.3.2.2

kimjeongjin@...
 

Hello, again.

I changed server_introspection.dat.h referenced client json files in DeviceBuilder/test/ref/ctt_client/ , DeviceBuilder/src/introspection-client-iotivity-ioc-p.json and reversed json file from include/
server_introspection.dat.h.

But still I can have a problem in CT1.3.2.2 as last post. (CTT 1903.0.0 I reinstalled it several times).

Introspection_CT1.3.2.2.py line 214:
swagger.Definitions.RawObject.ChildrenTokens is None.
swagger.Definitions.RawObject is not None.

Would you advice what I am missing?

I printed it  
swagger.Definitions.RawObject:
 
Definitions : {
  "Platform": {
    "properties": {
      "id": {
        "anyOf": [
          {
            "maxLength": 64,
            "type": "string"
          },
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          }
        ],
        "description": "",
        "readOnly": true
      },
      "if": {
        "description": "",
        "items": {
          "enum": [
            "oic.if.baseline",
            "oic.if.r"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 2,
        "readOnly": true,
        "type": "array",
        "uniqueItems": true
      },
      "mndt": {
        "allOf": [
          {
            "description": "",
            "pattern": "^([0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|2[0-9]|1[0-9]|0[1-9])$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "mnfv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnhw": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnml": {
        "description": "",
        "format": "uri",
        "maxLength": 256,
        "readOnly": true,
        "type": "string"
      },
      "mnmn": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnmo": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnos": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "mnpv": {
        "description": "",
        "maxLength": 64,
        "readOnly": true,
        "type": "string"
      },
      "pi": {
        "allOf": [
          {
            "description": "",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
            "type": "string"
          },
          {
            "description": "",
            "readOnly": true
          }
        ]
      },
      "rt": {
        "default": [
          "oic.wk.p"
        ],
        "description": "",
        "items": {
          "enum": [
            "oic.wk.p"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "minItems": 1,
        "readOnly": true,
        "type": "array"
      },
      "st": {
        "description": "",
        "format": "date-time",
        "readOnly": true,
        "type": "string"
      }
    },
    "required": [
      "pi",
      "mnmn"
    ],
    "type": "object"
  }
}

Thanks.


Re: What should I implement for client to pass CT1.2.6 and CT1.3.2.2

Kishen Maloor
 

Hello,

 

Both your CTT errors are unrelated to the stack.

 

For CT1.3.2.2, you need to prepare and supply the appropriate introspection file corresponding to your application. A default is provided in

include/server_introspection.dat.h and if you were to update it with your own CBOR-encoded Swagger definition in that format, i.e. setting the

introspection_data array (and its size) with the entire sequence bytes, that would be served up by the stack.

Alternatively, you can rebuild the stack and your app after adding -DOC_IDD_API to CFLAGS, and then provide that byte array using the

oc_set_introspection_data() API. Either way, providing the right introspection data is the application developer's responsibility.

 

For CT1.7.4.5, it's either a matter with your environment or with the certification tool. There's no known issue in the stack, and in fact that test passes even when run

as part of the whole sequence. In some test cases, I've noticed the tool ask to "Reset to RFOTM" more than once in attempting to discover the device, and it

eventually goes through. I'd only suggest that you compile the stack with IPV4=1 if you aren't already, just in case something is blocking the multicast packet over

IPv6.

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of "kimjeongjin@..." <kimjeongjin@...>
Date: Friday, November 15, 2019 at 1:52 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: Re: [dev] What should I implement for client to pass CT1.2.6 and CT1.3.2.2

 

Hi, again.

I wrote more, but I sent wrong way. So I'm writing again.

As Kishen said, I removed "oic.wk.con" in PICS and oc_set_con_res_announced(false).
So my client passed CT1.2.6. Thanks so much, Kishen.

Anyway, CT1.3.2.2 started to pour another error.

----

1.428s 11:37:35 INFO:    ======= Testing resource /oic/sec/roles using schema from coap://[fe80::ba27:ebff:fe0a:6549]:41308/oc/introspection =======

1.428s 11:37:35 INFO:   

1.428s 11:37:35 DEBUG: Schemas not found for interface oic.if.baseline

1.428s 11:37:35 INFO: Sending unicast CON RETRIEVE request with /oic/sec/roles?if=oic.if.baseline

1.428s 11:37:35 INFO: Prompting "Waiting for CoAP response... "

1.428s 11:37:35 VERBOSE: CTT Client -> [fe80::3c5f:2adb:8baf:a357%20]:49703->[fe80::ba27:ebff:fe0a:6549]:45036 CON-GET ID=10382, Token=382137BE, Options=[URI-Port=45036, URI-Path=oic, sec, roles, AcceptVersion=1.0.0, URI-Query=if=oic.if.baseline, Accept=application/vnd.ocf+cbor], Secured=true

1.438s 11:37:35 VERBOSE: CTT Client <- [fe80::ba27:ebff:fe0a:6549%20]:45036->[fe80::3c5f:2adb:8baf:a357%20]:49703 ACK-2.05 Content ID=10382, Token=382137BE, Options=[ContentFormatVersion=1.0.0, Content-Type=application/vnd.ocf+cbor], Secured=true

1.438s 11:37:35 VERBOSE: CTT Client <- msgId=10382: {"rt":["oic.r.roles"],"if":["oic.if.baseline"],"roles":[]}

1.446s 11:37:35 DEBUG: AgentBase multiple action complete

1.446s 11:37:35 DEBUG: Starting verification with ID:"CT_Assert_elements"...

1.446s 11:37:35 INFO: CT_Assert_elements: Device respond to /oic/sec/roles?if=oic.if.baseline (CON-GET ID:10382)

1.446s 11:37:35 DEBUG: Verification with ID:"CT_Assert_elements" ended with result: PASSED

1.446s 11:37:35 DEBUG: Starting verification with ID:"CT_Assert_success"...

1.446s 11:37:35 INFO: CT_Assert_success: 1 message(s) has code 2.xx

1.446s 11:37:35 DEBUG: Verification with ID:"CT_Assert_success" ended with result: PASSED

1.446s 11:37:35 DEBUG: Schema for get 205 not found try with code 200

1.446s 11:37:35 DEBUG: Starting verification with ID:"CT1.3.2.2_Check_8"...

1.448s 11:37:35 DEBUG: Traceback (most recent call last):

  File "C:\Program Files (x86)\OCF Conformance Test Tool\Python\helpers.py", line 163, in performVerification

    result, message = verificationCode()

  File "C:\Program Files (x86)\OCF Conformance Test Tool\Configuration\OCF\TestCases\Introspection_CT1.3.2-2.py", line 524, in <lambda$12599>

    performVerification(info.Id+"_Check_8", lambda: validate_swagger_empty_file(swagger))

  File "C:\Program Files (x86)\OCF Conformance Test Tool\Configuration\OCF\TestCases\Introspection_CT1.3.2-2.py", line 213, in validate_swagger_empty_file

    if len(swagger.Paths.Paths) and len(swagger.Definitions.RawObject.ChildrenTokens) == 0:

TypeError: len() of unsized object

1.448s 11:37:35 ERROR: CT1.3.2.2_Check_8: Verification with ID "CT1.3.2.2_Check_8" threw the exception: len() of unsized object

 


So I digged the Introspection_CT1.3.2-2.py

def validate_swagger_empty_file(swagger):

    if len(swagger.Paths.Paths) and len(swagger.Definitions.RawObject.ChildrenTokens) == 0:

        return TestCaseResults.PASSED, "Swagger file is empty as expected"

    return TestCaseResults.PASSED, "Swagger file shall be empty"


I print out 2 variables :
swagger.Paths.Paths : /oic/p
swagger.Definitions.RawObject.ChildrenTokens : None



===
Other problems occured, sadly. :-(
CT1.7.4.5 started to not pass(it was passed yesterday.)
When I run CT1.7.4.5 alone, it passes.
When I run Test sequencely,  RUN CT1.7.4.4 then  CT1.7.4.5 failed.

18:29:51 INFO Test case "CT1.7.4.5 Verify that the device handles role credentials" started

18:29:51 INFO Timestamp: 2019-11-15 18:29:51. Tool version: 1903.0.0.0

18:29:51 INFO Rediscovering IUT...

18:29:51 INFO Rediscovering CLIENT_A...

18:30:22 INFO Prompting "Please revert IUT to RFOTM / reset the device"

18:30:28 INFO Rediscovering CLIENT_A...

18:30:58 ERROR OCTT did not re-discover IUT. Check if IUT is in the network and responds to /oic/res on multicast.

18:30:58 ERROR Test case result: FAILED

18:30:58 INFO Execution of test case "CT1.7.4.5" completed. Timestamp: 2019-11-15 18:30:58


I wonder later problems is related with previous changes.
But I can not figure out.

Thank you for reading.


Re: What should I implement for client to pass CT1.2.6 and CT1.3.2.2

kimjeongjin@...
 

Hi, again.

I wrote more, but I sent wrong way. So I'm writing again.

As Kishen said, I removed "oic.wk.con" in PICS and oc_set_con_res_announced(false).
So my client passed CT1.2.6. Thanks so much, Kishen.

Anyway, CT1.3.2.2 started to pour another error.

----
1.428s 11:37:35 INFO:    ======= Testing resource /oic/sec/roles using schema from coap://[fe80::ba27:ebff:fe0a:6549]:41308/oc/introspection =======
1.428s 11:37:35 INFO:   
1.428s 11:37:35 DEBUG: Schemas not found for interface oic.if.baseline
1.428s 11:37:35 INFO: Sending unicast CON RETRIEVE request with /oic/sec/roles?if=oic.if.baseline
1.428s 11:37:35 INFO: Prompting "Waiting for CoAP response... "
1.428s 11:37:35 VERBOSE: CTT Client -> [fe80::3c5f:2adb:8baf:a357%20]:49703->[fe80::ba27:ebff:fe0a:6549]:45036 CON-GET ID=10382, Token=382137BE, Options=[URI-Port=45036, URI-Path=oic, sec, roles, AcceptVersion=1.0.0, URI-Query=if=oic.if.baseline, Accept=application/vnd.ocf+cbor], Secured=true
1.438s 11:37:35 VERBOSE: CTT Client <- [fe80::ba27:ebff:fe0a:6549%20]:45036->[fe80::3c5f:2adb:8baf:a357%20]:49703 ACK-2.05 Content ID=10382, Token=382137BE, Options=[ContentFormatVersion=1.0.0, Content-Type=application/vnd.ocf+cbor], Secured=true
1.438s 11:37:35 VERBOSE: CTT Client <- msgId=10382: {"rt":["oic.r.roles"],"if":["oic.if.baseline"],"roles":[]}
1.446s 11:37:35 DEBUG: AgentBase multiple action complete
1.446s 11:37:35 DEBUG: Starting verification with ID:"CT_Assert_elements"...
1.446s 11:37:35 INFO: CT_Assert_elements: Device respond to /oic/sec/roles?if=oic.if.baseline (CON-GET ID:10382)
1.446s 11:37:35 DEBUG: Verification with ID:"CT_Assert_elements" ended with result: PASSED
1.446s 11:37:35 DEBUG: Starting verification with ID:"CT_Assert_success"...
1.446s 11:37:35 INFO: CT_Assert_success: 1 message(s) has code 2.xx
1.446s 11:37:35 DEBUG: Verification with ID:"CT_Assert_success" ended with result: PASSED
1.446s 11:37:35 DEBUG: Schema for get 205 not found try with code 200
1.446s 11:37:35 DEBUG: Starting verification with ID:"CT1.3.2.2_Check_8"...
1.448s 11:37:35 DEBUG: Traceback (most recent call last):
  File "C:\Program Files (x86)\OCF Conformance Test Tool\Python\helpers.py", line 163, in performVerification
    result, message = verificationCode()
  File "C:\Program Files (x86)\OCF Conformance Test Tool\Configuration\OCF\TestCases\Introspection_CT1.3.2-2.py", line 524, in <lambda$12599>
    performVerification(info.Id+"_Check_8", lambda: validate_swagger_empty_file(swagger))
  File "C:\Program Files (x86)\OCF Conformance Test Tool\Configuration\OCF\TestCases\Introspection_CT1.3.2-2.py", line 213, in validate_swagger_empty_file
    if len(swagger.Paths.Paths) and len(swagger.Definitions.RawObject.ChildrenTokens) == 0:
TypeError: len() of unsized object
1.448s 11:37:35 ERROR: CT1.3.2.2_Check_8: Verification with ID "CT1.3.2.2_Check_8" threw the exception: len() of unsized object
 

So I digged the Introspection_CT1.3.2-2.py

def validate_swagger_empty_file(swagger):
    if len(swagger.Paths.Paths) and len(swagger.Definitions.RawObject.ChildrenTokens) == 0:
        return TestCaseResults.PASSED, "Swagger file is empty as expected"
    return TestCaseResults.PASSED, "Swagger file shall be empty"

I print out 2 variables :
swagger.Paths.Paths : /oic/p
swagger.Definitions.RawObject.ChildrenTokens : None


===
Other problems occured, sadly. :-(
CT1.7.4.5 started to not pass(it was passed yesterday.)
When I run CT1.7.4.5 alone, it passes.
When I run Test sequencely,  RUN CT1.7.4.4 then  CT1.7.4.5 failed.

18:29:51 INFO Test case "CT1.7.4.5 Verify that the device handles role credentials" started
18:29:51 INFO Timestamp: 2019-11-15 18:29:51. Tool version: 1903.0.0.0
18:29:51 INFO Rediscovering IUT...
18:29:51 INFO Rediscovering CLIENT_A...
18:30:22 INFO Prompting "Please revert IUT to RFOTM / reset the device"
18:30:28 INFO Rediscovering CLIENT_A...
18:30:58 ERROR OCTT did not re-discover IUT. Check if IUT is in the network and responds to /oic/res on multicast.
18:30:58 ERROR Test case result: FAILED
18:30:58 INFO Execution of test case "CT1.7.4.5" completed. Timestamp: 2019-11-15 18:30:58


I wonder later problems is related with previous changes.
But I can not figure out.

Thank you for reading.


Re: What should I implement for client to pass CT1.2.6 and CT1.3.2.2

Kishen Maloor
 

Hello,

 

Firstly, the RETRIEVE+UPDATE permissions mask in the ACE does not determine whether or not a resource is observable. Rather a resource needs to be defined

as such. /oic/p is not defined as observable (look in oc_core_res.c:oc_core_init_platform()). That CTT error is likely about a different resource. Please recheck your logs.

 

Regarding /oc/con, it is optional and you can simply disable it using oc_set_con_res_announced(false) in your application before calling

oc_main_init(). It looks like you don't have it listed in your IDD anyway (hence the error).

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of "kimjeongjin@..." <kimjeongjin@...>
Date: Thursday, November 14, 2019 at 3:06 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: [dev] What should I implement for client to pass CT1.2.6 and CT1.3.2.2

 

Hi.
I'm implementing client program ; RasberryPi 2B+, Ubuntu 18.04, iotivity-lite 2.0.5.

I have 2 questions on CT1.2.6 and CT1.3.2.2

1. CT1.2.6 RETRIEVE Message with observe indication based on CoAP - NOTIFY

Step 1: CTT sends a unicast CON RETRIEVE request message (i.e. CoAP GET) with Observe Option set to 0 (register) to the first Resource supported by the IUT.

Step 2: IUT receives the request message and sends a CON RETRIEVE response message to the CTT with an indication of whether or not the observe request will be fulfilled.

Step 3: CTT receives the response message and caches it for later evaluation.

Step 4: If the IUT indicates that the observe request will be fulfilled, a stimulus is applied to the IUT to force one or more of the Properties of the Resource to change. If the test operator indicates that the observe request will not be fulfilled, skip to Step 6a.

My client's first Resource is "/ioc/p", and it is registered by iotivity not me.
So I reviewed iotivity-lite source code, but I didn't get a clue.
In my thought, oc_storage_config and oc_main_init are related function.
And I can't find any other functions to intercept operations or callback.

In acl :
...
{ "subject": ...,
"resources":[ ... {"href":"/oic/p"} ]... ],
permissions:6, // Read, Observe, discover and Write, update
aceid: 199488735....
}
...


Error Messages :

0.718s 15:06:51 ERROR: CT1.2.6_Check_3: IUT sent a RETRIEVE response without Observe Option.

0.718s 15:06:51 DEBUG: Verification with ID:"CT1.2.6_Check_3" ended with result: FAILED


2. CT1.3.2.2 Introspection Resource compliance on resource
It may related with previous problem.
I could not get an idea.

Retrieve on my client program result:
/oc/con : { "n":"My Client name"}
/oc/wk/introspection : Nothing


Error Messages :

1.060s 15:06:59 INFO:    ======= Testing resource /oc/con using schema from coap://[fe80::ba27:ebff:fe0a:6549]:60752/oc/introspection =======

1.060s 15:06:59 INFO:   

1.060s 15:06:59 DEBUG: Schemas not found for interface oic.if.baseline

1.060s 15:06:59 INFO: Sending unicast CON RETRIEVE request with /oc/con?if=oic.if.baseline

1.060s 15:06:59 VERBOSE: CTT Client -> [fe80::3c5f:2adb:8baf:a357%20]:49480->[fe80::ba27:ebff:fe0a:6549]:47440 CON-GET ID=13192, Token=6FC48D77, Options=[URI-Port=47440, URI-Path=oc, con, AcceptVersion=1.0.0, URI-Query=if=oic.if.baseline, Accept=application/vnd.ocf+cbor], Secured=true

1.060s 15:06:59 INFO: Prompting "Waiting for CoAP response... "

1.060s 15:06:59 VERBOSE: CTT Client <- [fe80::ba27:ebff:fe0a:6549%20]:47440->[fe80::3c5f:2adb:8baf:a357%20]:49480 ACK-2.05 Content ID=13192, Token=6FC48D77, Options=[ContentFormatVersion=1.0.0, Content-Type=application/vnd.ocf+cbor], Secured=true

1.060s 15:06:59 VERBOSE: CTT Client <- msgId=13192: {"rt":["oic.wk.con"],"if":["oic.if.rw","oic.if.baseline"],"n":"IWWS0VHG3M59TTQML"}

1.075s 15:06:59 DEBUG: AgentBase multiple action complete

1.075s 15:06:59 DEBUG: Starting verification with ID:"CT_Assert_elements"...

1.075s 15:06:59 INFO: CT_Assert_elements: Device respond to /oc/con?if=oic.if.baseline (CON-GET ID:13192)

1.075s 15:06:59 DEBUG: Verification with ID:"CT_Assert_elements" ended with result: PASSED

1.075s 15:06:59 DEBUG: Starting verification with ID:"CT_Assert_success"...

1.075s 15:06:59 INFO: CT_Assert_success: 1 message(s) has code 2.xx

1.075s 15:06:59 DEBUG: Verification with ID:"CT_Assert_success" ended with result: PASSED

1.075s 15:06:59 DEBUG: Starting verification with ID:"CT1.3.2.2_Check_1"...

1.075s 15:06:59 ERROR: CT1.3.2.2_Check_1: Introspection Device Data does not contain schema for path /oc/con

1.075s 15:06:59 DEBUG: Verification with ID:"CT1.3.2.2_Check_1" ended with result: FAILED



Thanks.


What should I implement for client to pass CT1.2.6 and CT1.3.2.2

kimjeongjin@...
 

Hi.
I'm implementing client program ; RasberryPi 2B+, Ubuntu 18.04, iotivity-lite 2.0.5.

I have 2 questions on CT1.2.6 and CT1.3.2.2

1. CT1.2.6 RETRIEVE Message with observe indication based on CoAP - NOTIFY

Step 1: CTT sends a unicast CON RETRIEVE request message (i.e. CoAP GET) with Observe Option set to 0 (register) to the first Resource supported by the IUT.
Step 2: IUT receives the request message and sends a CON RETRIEVE response message to the CTT with an indication of whether or not the observe request will be fulfilled.
Step 3: CTT receives the response message and caches it for later evaluation.
Step 4: If the IUT indicates that the observe request will be fulfilled, a stimulus is applied to the IUT to force one or more of the Properties of the Resource to change. If the test operator indicates that the observe request will not be fulfilled, skip to Step 6a.

My client's first Resource is "/ioc/p", and it is registered by iotivity not me.
So I reviewed iotivity-lite source code, but I didn't get a clue.
In my thought, oc_storage_config and oc_main_init are related function.
And I can't find any other functions to intercept operations or callback.

In acl :
...
{ "subject": ...,
"resources":[ ... {"href":"/oic/p"} ]... ],
permissions:6, // Read, Observe, discover and Write, update
aceid: 199488735....
}
...

Error Messages :
0.718s 15:06:51 ERROR: CT1.2.6_Check_3: IUT sent a RETRIEVE response without Observe Option.
0.718s 15:06:51 DEBUG: Verification with ID:"CT1.2.6_Check_3" ended with result: FAILED


2. CT1.3.2.2 Introspection Resource compliance on resource
It may related with previous problem.
I could not get an idea.

Retrieve on my client program result:
/oc/con : { "n":"My Client name"}
/oc/wk/introspection : Nothing


Error Messages :
1.060s 15:06:59 INFO:    ======= Testing resource /oc/con using schema from coap://[fe80::ba27:ebff:fe0a:6549]:60752/oc/introspection =======
1.060s 15:06:59 INFO:   
1.060s 15:06:59 DEBUG: Schemas not found for interface oic.if.baseline
1.060s 15:06:59 INFO: Sending unicast CON RETRIEVE request with /oc/con?if=oic.if.baseline
1.060s 15:06:59 VERBOSE: CTT Client -> [fe80::3c5f:2adb:8baf:a357%20]:49480->[fe80::ba27:ebff:fe0a:6549]:47440 CON-GET ID=13192, Token=6FC48D77, Options=[URI-Port=47440, URI-Path=oc, con, AcceptVersion=1.0.0, URI-Query=if=oic.if.baseline, Accept=application/vnd.ocf+cbor], Secured=true
1.060s 15:06:59 INFO: Prompting "Waiting for CoAP response... "
1.060s 15:06:59 VERBOSE: CTT Client <- [fe80::ba27:ebff:fe0a:6549%20]:47440->[fe80::3c5f:2adb:8baf:a357%20]:49480 ACK-2.05 Content ID=13192, Token=6FC48D77, Options=[ContentFormatVersion=1.0.0, Content-Type=application/vnd.ocf+cbor], Secured=true
1.060s 15:06:59 VERBOSE: CTT Client <- msgId=13192: {"rt":["oic.wk.con"],"if":["oic.if.rw","oic.if.baseline"],"n":"IWWS0VHG3M59TTQML"}
1.075s 15:06:59 DEBUG: AgentBase multiple action complete
1.075s 15:06:59 DEBUG: Starting verification with ID:"CT_Assert_elements"...
1.075s 15:06:59 INFO: CT_Assert_elements: Device respond to /oc/con?if=oic.if.baseline (CON-GET ID:13192)
1.075s 15:06:59 DEBUG: Verification with ID:"CT_Assert_elements" ended with result: PASSED
1.075s 15:06:59 DEBUG: Starting verification with ID:"CT_Assert_success"...
1.075s 15:06:59 INFO: CT_Assert_success: 1 message(s) has code 2.xx
1.075s 15:06:59 DEBUG: Verification with ID:"CT_Assert_success" ended with result: PASSED
1.075s 15:06:59 DEBUG: Starting verification with ID:"CT1.3.2.2_Check_1"...
1.075s 15:06:59 ERROR: CT1.3.2.2_Check_1: Introspection Device Data does not contain schema for path /oc/con
1.075s 15:06:59 DEBUG: Verification with ID:"CT1.3.2.2_Check_1" ended with result: FAILED


Thanks.


OCF Gaborone draft version 0.3 CRs for IoTivity review

OCF Staff <staff@...>
 

Dear IoTivity Developers,

 

In the attached .zip file you will find early drafts (v0.3) of CRs against the Open Connectivity Foundation’s next specification (codenamed “Gaborone”). These draft documents provide a current snapshot of the specification development and are subject to change. If you have any questions, please direct them to staff@....

 

Best regards,

OCF Staff

___________________________

Open Connectivity Foundation
3855 SW 153rd Drive
Beaverton, Oregon  97003
Phone:  +1.503.619.0673
Email: staff@...

 

 


Re: Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC

George Nash
 

The ticket I created has been resolved as fixed. With this comment.

Looks like we missed an issue with one of the plugins that got updated during that maintenance. I've rolled back that particular plugin and fixed the issues that the new version caused. Build instance are now properly being spawned again and jobs are running through now.
The queue should clear in a little bit.
So far I have not seen any builds clear but I will keep an eye on build queue.

George Nash
-----Original Message-----
From: iotivity-dev@... <iotivity-dev@...> On Behalf Of George Nash
Sent: Monday, November 11, 2019 11:50 AM
To: Maloor, Kishen <kishen.maloor@...>; Ryan Finnin Day <rday@...>; iotivity-dev@...
Cc: Collaborative Projects IT <collab-it@...>; it-infrastructure-alerts@...
Subject: Re: [dev] Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC

Done.

Thanks for the link,

George Nash

-----Original Message-----
From: Maloor, Kishen <kishen.maloor@...>
Sent: Monday, November 11, 2019 11:41 AM
To: Nash, George <@georgen>; Ryan Finnin Day <rday@...>; iotivity-dev@...
Cc: Collaborative Projects IT <collab-it@...>; it-infrastructure-alerts@...
Subject: Re: [dev] Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC

Perhaps you could file a ticket over here?

https://jira.linuxfoundation.org/servicedesk/customer/portals

Thanks,
-Kishen.

--
Kishen Maloor
Intel Corporation

On 11/11/19, 11:35 AM, "iotivity-dev@... on behalf of George Nash" <iotivity-dev@... on behalf of @georgen> wrote:

Anyone know the proper procedure to report an issue to the Linux foundation?

I am not 100% sure but it looks like none of the Jenkins verification builds have run since November 8. I assume this has something to do with the scheduled maintenance.

Checking https://status.linuxfoundation.org/ it looks like all the maintenance was completed.

George Nash

-----Original Message-----
From: iotivity-dev@... <iotivity-dev@...> On Behalf Of Ryan Finnin Day
Sent: Tuesday, November 5, 2019 6:46 AM
To: iotivity-dev@...
Cc: Collaborative Projects IT <collab-it@...>; it-infrastructure-alerts@...
Subject: [dev] Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC


What: The Linux Foundation will be applying updates to Iotivity infrastructure

When: Friday, November 8, 2019 @ 19:00 to 20:00 UTC

Why: Operating system updates to CentOS7 are available

Impact: Iotivity infrastructure will be unavailable intermittently during the maintenance window while systems are upgraded and rebooted.

Affected systems include Jenkins, Jenkins sandbox, Gerrit, and Jira.

Notices will be posted here and on
https://status.linuxfoundation.org/
before and after the maintenance.


Re: Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC

George Nash
 

Done.

Thanks for the link,

George Nash

-----Original Message-----
From: Maloor, Kishen <kishen.maloor@...>
Sent: Monday, November 11, 2019 11:41 AM
To: Nash, George <@georgen>; Ryan Finnin Day <rday@...>; iotivity-dev@...
Cc: Collaborative Projects IT <collab-it@...>; it-infrastructure-alerts@...
Subject: Re: [dev] Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC

Perhaps you could file a ticket over here?

https://jira.linuxfoundation.org/servicedesk/customer/portals

Thanks,
-Kishen.

--
Kishen Maloor
Intel Corporation

On 11/11/19, 11:35 AM, "iotivity-dev@... on behalf of George Nash" <iotivity-dev@... on behalf of @georgen> wrote:

Anyone know the proper procedure to report an issue to the Linux foundation?

I am not 100% sure but it looks like none of the Jenkins verification builds have run since November 8. I assume this has something to do with the scheduled maintenance.

Checking https://status.linuxfoundation.org/ it looks like all the maintenance was completed.

George Nash

-----Original Message-----
From: iotivity-dev@... <iotivity-dev@...> On Behalf Of Ryan Finnin Day
Sent: Tuesday, November 5, 2019 6:46 AM
To: iotivity-dev@...
Cc: Collaborative Projects IT <collab-it@...>; it-infrastructure-alerts@...
Subject: [dev] Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC


What: The Linux Foundation will be applying updates to Iotivity infrastructure

When: Friday, November 8, 2019 @ 19:00 to 20:00 UTC

Why: Operating system updates to CentOS7 are available

Impact: Iotivity infrastructure will be unavailable intermittently during the maintenance window while systems are upgraded and rebooted.

Affected systems include Jenkins, Jenkins sandbox, Gerrit, and Jira.

Notices will be posted here and on
https://status.linuxfoundation.org/
before and after the maintenance.


Re: Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC

Kishen Maloor
 

Perhaps you could file a ticket over here?

https://jira.linuxfoundation.org/servicedesk/customer/portals

Thanks,
-Kishen.

--
Kishen Maloor
Intel Corporation

On 11/11/19, 11:35 AM, "iotivity-dev@... on behalf of George Nash" <iotivity-dev@... on behalf of @georgen> wrote:

Anyone know the proper procedure to report an issue to the Linux foundation?

I am not 100% sure but it looks like none of the Jenkins verification builds have run since November 8. I assume this has something to do with the scheduled maintenance.

Checking https://status.linuxfoundation.org/ it looks like all the maintenance was completed.

George Nash

-----Original Message-----
From: iotivity-dev@... <iotivity-dev@...> On Behalf Of Ryan Finnin Day
Sent: Tuesday, November 5, 2019 6:46 AM
To: iotivity-dev@...
Cc: Collaborative Projects IT <collab-it@...>; it-infrastructure-alerts@...
Subject: [dev] Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC


What: The Linux Foundation will be applying updates to Iotivity infrastructure

When: Friday, November 8, 2019 @ 19:00 to 20:00 UTC

Why: Operating system updates to CentOS7 are available

Impact: Iotivity infrastructure will be unavailable intermittently during the maintenance window while systems are upgraded and rebooted.

Affected systems include Jenkins, Jenkins sandbox, Gerrit, and Jira.

Notices will be posted here and on
https://status.linuxfoundation.org/
before and after the maintenance.


Re: Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC

George Nash
 

Anyone know the proper procedure to report an issue to the Linux foundation?

I am not 100% sure but it looks like none of the Jenkins verification builds have run since November 8. I assume this has something to do with the scheduled maintenance.

Checking https://status.linuxfoundation.org/ it looks like all the maintenance was completed.

George Nash

-----Original Message-----
From: iotivity-dev@... <iotivity-dev@...> On Behalf Of Ryan Finnin Day
Sent: Tuesday, November 5, 2019 6:46 AM
To: iotivity-dev@...
Cc: Collaborative Projects IT <collab-it@...>; it-infrastructure-alerts@...
Subject: [dev] Iotivity maintenance 2019-11-8 @ 19:00 to 20:00 UTC


What: The Linux Foundation will be applying updates to Iotivity infrastructure

When: Friday, November 8, 2019 @ 19:00 to 20:00 UTC

Why: Operating system updates to CentOS7 are available

Impact: Iotivity infrastructure will be unavailable intermittently during the maintenance window while systems are upgraded and rebooted.

Affected systems include Jenkins, Jenkins sandbox, Gerrit, and Jira.

Notices will be posted here and on
https://status.linuxfoundation.org/
before and after the maintenance.


Re: Question About CT2.2.6 on CTT1903.0.00 and How to reeset client OTM?

김정진
 

Hi, Kishen.

It's clear for me now.
Thanks for your kind reply.

All the best.

2019년 11월 7일 (목) 오전 9:43, Maloor, Kishen <kishen.maloor@...>님이 작성:

Hi,

 

> I have one more question.

> oc_reset() changes the client's UUID.

> Is it intended?

 

In the current specifications, OBTs must configure a "deviceuuid" each time the device is

onboarded. So, expect a device's UUID to change. After a device is RESET, its UUID could

be anything (even zeroed out). Any OBT/applicaton/device should not rely on "deviceuuid"

consistency.

 

> In my opinion, reset to RFOTM means change status for OTM but UUID.

> If UUID is changed, obt or server will think that it's a different device.

 

Fyi, the specfications currently recommend using /oid/d.piid to return a fixed and unchanging UUID that

survives power and RESET cycles. IoTvity-Lite supports this model. Applications have an API

(oc_set_immutable_device_identifier()) to configure one (look in apps/smart_home_server_linux), and if apps

don't, a UUID is randomly chosen the first time the device starts up and sticks. As such, any Client (OBT or

otherwise) can rely on this UUID being consistent.

 

> In my case, after oc_reset() or deleting creds directory, I must go back to the first step "Select IUT" and

> I selected a device of new UUID.

> To pass Confermance test shall be run three times.

 

With the CTT, you'd RESET the IUT whenever it asks you. When the CTT tries to re-discover a device following

a RESET, it knows to not rely on "deviceuuid". Rather I believe it uses some heuristic to pick the

right device for further tests.

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of 김정진 <j.jin@...>
Date: Wednesday, November 6, 2019 at 1:11 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: Re: [dev] Question About CT2.2.6 on CTT1903.0.00 and How to reeset client OTM?

 

Hi, Kishen.

I can pass the CT2.2.6 due to your advice.
I'm appreciated for you so much.

I have one more question.
oc_reset() changes the client's UUID.
Is it intended?

In my opinion, reset to RFOTM means change status for OTM but UUID.
If UUID is changed, obt or server will think that it's a different device.

In my case, after oc_reset() or deleting creds directory, I must go back to the first step "Select IUT" and I selected a device of new UUID.
To pass Confermance test shall be run three times.

Best regards.
Kim.



--

김정진 책임연구원 (Jeongjin Kim) Mobile. 010-4223-8152  j.jin@vinetech.com

㈜바인테크 Vinetech Co., Ltd. | IoT Platform Lab | New Technology BU (신기술사업부)

Dir Tel: 82-2-2182-8392  | Tel: 82-2-2182-8300 | Fax: 82-2-2182-8399

(05836) 서울시 송파구 법원로11길 7, C동 1207호 (문정동, 현대지식산업센터)

#1207~1210, 7, Beobwon-ro 11-gil, Songpa-gu, Seoul, 05836, Rep. of KOREA

 


Re: Question About CT2.2.6 on CTT1903.0.00 and How to reeset client OTM?

Kishen Maloor
 

Hi,

 

> I have one more question.

> oc_reset() changes the client's UUID.

> Is it intended?

 

In the current specifications, OBTs must configure a "deviceuuid" each time the device is

onboarded. So, expect a device's UUID to change. After a device is RESET, its UUID could

be anything (even zeroed out). Any OBT/applicaton/device should not rely on "deviceuuid"

consistency.

 

> In my opinion, reset to RFOTM means change status for OTM but UUID.

> If UUID is changed, obt or server will think that it's a different device.

 

Fyi, the specfications currently recommend using /oid/d.piid to return a fixed and unchanging UUID that

survives power and RESET cycles. IoTvity-Lite supports this model. Applications have an API

(oc_set_immutable_device_identifier()) to configure one (look in apps/smart_home_server_linux), and if apps

don't, a UUID is randomly chosen the first time the device starts up and sticks. As such, any Client (OBT or

otherwise) can rely on this UUID being consistent.

 

> In my case, after oc_reset() or deleting creds directory, I must go back to the first step "Select IUT" and

> I selected a device of new UUID.

> To pass Confermance test shall be run three times.

 

With the CTT, you'd RESET the IUT whenever it asks you. When the CTT tries to re-discover a device following

a RESET, it knows to not rely on "deviceuuid". Rather I believe it uses some heuristic to pick the

right device for further tests.

 

Thanks,

-Kishen.

 

-- 

Kishen Maloor

Intel Corporation

 

From: <iotivity-dev@...> on behalf of 김정진 <j.jin@...>
Date: Wednesday, November 6, 2019 at 1:11 AM
To: "iotivity-dev@..." <iotivity-dev@...>
Subject: Re: [dev] Question About CT2.2.6 on CTT1903.0.00 and How to reeset client OTM?

 

Hi, Kishen.

I can pass the CT2.2.6 due to your advice.
I'm appreciated for you so much.

I have one more question.
oc_reset() changes the client's UUID.
Is it intended?

In my opinion, reset to RFOTM means change status for OTM but UUID.
If UUID is changed, obt or server will think that it's a different device.

In my case, after oc_reset() or deleting creds directory, I must go back to the first step "Select IUT" and I selected a device of new UUID.
To pass Confermance test shall be run three times.

Best regards.
Kim.


Re: Question About CT2.2.6 on CTT1903.0.00 and How to reeset client OTM?

김정진
 

Hi, Kishen.

I can pass the CT2.2.6 due to your advice.
I'm appreciated for you so much.

I have one more question.
oc_reset() changes the client's UUID.
Is it intended?

In my opinion, reset to RFOTM means change status for OTM but UUID.
If UUID is changed, obt or server will think that it's a different device.

In my case, after oc_reset() or deleting creds directory, I must go back to the first step "Select IUT" and I selected a device of new UUID.
To pass Confermance test shall be run three times.

Best regards.
Kim.