View Issue Details

IDProjectCategoryView StatusLast Update
0004326CTT UA Test Case4 - Test Case Definitionpublic2023-05-11 14:43
ReporterEdgar Zaiser Assigned ToAlexander Allmendinger  
PriorityhighSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformPCOSWindowsOS VersionWin10
Fixed in Version1.03.09.501 
Summary0004326: BadInvalidTimestamp in View Services -> View TranslateBrowsePath -> Err-024.js
Description

Executing the test case will fail yielding "TranslateBrowsePathsToNodeIds: Should return BadInvalidTimestamp when the RequestHeader.Timestamp is too far out of range.".

I cannot find any reference in the standard telling that a deviation of timestamp in the request header will result in an error, i.e. BadInvalidTimestamp. Moreover, the definition of the message RequestHeader in "OPC UA Part 4 section 7.26 RequestHeader" states that the timestamp is only used for diagnostic purposes.

As far as I have seen the error BadInvalidTimestamp is only used in the context of historical access.

When applying this verification of the request time, shouldn't every OPC UA request with an invalid request time result in an error ?

TagsNo tags attached.
Files Affected

Relationships

related to 0004616 closedPaul Hunkar 10000-004: Services View Services/View Minimum Continuation Point 01/Err-010.js 
related to 0004116 closedAlexander Allmendinger Compliance Test Tool (CTT) Unified Architecture View TranslateBrowsePath Err-024.js improper warning about timestamp check 

Activities

Paul Hunkar

2018-08-30 14:52

administrator   ~0009326

From CMP review: this set of tests are very valid, but they need to be more generic, in that this test and the two previous test err-22 and err-23 should be moved to be under the session general service behavior. The tests should be expanded to include all service not just the translatebrowsepaths service. This topic is discussed in Part 2 and the related spec is described in part 6 so the topic is covered in the specifications.

As part of this mantis issue the test case definition should also be move to the appropriate location

Alexander Allmendinger

2019-01-31 13:11

developer   ~0009855

Script (View Services -> View TranslateBrowsePath -> Err-024.js) is now suppressing the warning for the big time delay of the messages.

Matthias Damm

2019-02-20 17:24

reporter   ~0009898

These type of tests make no sense.

We added a sentence in Part 4 to make clear that a service request is NOT rejected because of a time difference and not synchronized clocks.
In part 4, table 170, the spec states that the timestamp in the RequestHeader " is only used for diagnostic
and logging purposes in the server".

We added this sentence since such test was in earlier versions of the CTT and the UA WG decided that such tests make no sense.

The text in OPC UA Part 6 - 6.3 is not very concrete. The only shall talks about a configuration parameter. There is no definition what an application (client or server) should do if it detects that the times are not synchronized.

As long as we do not have a general concept for time synchronization, we are not able to enforce such harsh behaviour like rejecting service requests. There should be a better way to indicate suceh a problem that "you are not longer able to talk to me".

Paul Hunkar

2019-02-20 17:47

administrator   ~0009900

part 2 describes that message that are way out are rejected - for security (replay) attacks - The test is not checking is time is close it is checking if time is rejected if it is way out . This is also what part 6 says - again way out - I know we do not have something for time syncing, but the test is not checking close time.

replay attacks can happen when counters roll over so the time stamp have to be check that they are not different by more then the roll over period.

we should discuss this at the F2F

Matthias Damm

2023-05-10 08:12

reporter   ~0019307

This requires clarification and fix. The test makes no sense at it is today.
A server behaviour hack to pass the CTT creates problems with clients.

Alexander Allmendinger

2023-05-11 07:38

developer   ~0019312

Needs discussion in CMP call to define the actual expectation. Spec clearly states that the timestamp is only to be used for diagnostic purposes and therefore it cannot expect to return a bad status for it. BUT the test script first only allowed a Bad_InvalidTimestamp ServiceResult then starting with 2019 also allowed Good. The question now is whether we continue to accept a Bad_InvalidTimestamp or if we should enforce that the server ignores the timestamp.

Updated test case:

Server uses the timestamp only for diagnostic purposes and returns a valid response.
Service Result: 'Good'.

Alexander Allmendinger

2023-05-11 14:42

developer   ~0019317

After discussion in the CMP Group it was decided that some servers may still return a Bad_InvalidTimestamp because they need the timestamp for diagnostics.

Alexander Allmendinger

2023-05-11 14:42

developer   ~0019318

Updated test case to reflect latest discussion:

Server uses the timestamp only for diagnostic purposes and returns a valid response. Because the server may need it for those purposes it may alternatively return Bad_InvalidTimestamp.

Service Result: 'Good' or 'Bad_InvalidTimestamp '

Paul Hunkar

2023-05-11 14:43

administrator   ~0019319

reviewed test case in call, agreed and closed issue

Issue History

Date Modified Username Field Change
2018-07-09 07:09 Edgar Zaiser New Issue
2018-08-30 14:47 Paul Hunkar Assigned To => Alexander Allmendinger
2018-08-30 14:47 Paul Hunkar Status new => assigned
2018-08-30 14:52 Paul Hunkar Note Added: 0009326
2019-01-10 15:00 Paul Hunkar Category Script Issue => Test Case Definition
2019-01-10 15:00 Paul Hunkar Target Version => 1.03.341.384
2019-01-11 04:58 Paul Hunkar Assigned To Alexander Allmendinger => Paul Hunkar
2019-01-28 14:14 Paul Hunkar Category Test Case Definition => 5 - Test Case Definition
2019-01-28 14:15 Paul Hunkar Category 5 - Test Case Definition => 4 - Test Case Definition
2019-01-31 13:11 Alexander Allmendinger Target Version 1.03.341.384 => 1.04
2019-01-31 13:11 Alexander Allmendinger Note Added: 0009855
2019-01-31 13:49 Paul Hunkar Assigned To Paul Hunkar => Alexander Allmendinger
2019-02-01 09:34 Alexander Allmendinger Assigned To Alexander Allmendinger => Paul Hunkar
2019-02-20 17:24 Matthias Damm Note Added: 0009898
2019-02-20 17:25 Matthias Damm Relationship added related to 0004616
2019-02-20 17:47 Paul Hunkar Note Added: 0009900
2019-09-02 08:34 Alexander Allmendinger Relationship added related to 0004116
2019-09-13 15:33 Paul Hunkar Status assigned => acknowledged
2020-07-10 17:06 Paul Hunkar Assigned To Paul Hunkar => Alexander Allmendinger
2020-07-10 17:06 Paul Hunkar Status acknowledged => assigned
2022-08-02 20:06 Paul Hunkar Project Compliance Test Tool (CTT) Unified Architecture => CTT UA Test Case
2023-05-10 08:10 Matthias Damm Priority normal => high
2023-05-10 08:12 Matthias Damm Note Added: 0019307
2023-05-11 07:38 Alexander Allmendinger Status assigned => resolved
2023-05-11 07:38 Alexander Allmendinger Resolution open => fixed
2023-05-11 07:38 Alexander Allmendinger Note Added: 0019312
2023-05-11 14:42 Alexander Allmendinger Status resolved => feedback
2023-05-11 14:42 Alexander Allmendinger Resolution fixed => reopened
2023-05-11 14:42 Alexander Allmendinger Note Added: 0019317
2023-05-11 14:42 Alexander Allmendinger Status feedback => resolved
2023-05-11 14:42 Alexander Allmendinger Resolution reopened => fixed
2023-05-11 14:42 Alexander Allmendinger Note Added: 0019318
2023-05-11 14:43 Paul Hunkar Status resolved => closed
2023-05-11 14:43 Paul Hunkar Fixed in Version => 1.03.09.501
2023-05-11 14:43 Paul Hunkar Note Added: 0019319