View Issue Details

IDProjectCategoryView StatusLast Update
000947710000-003: Address SpaceSpecpublic2024-03-26 16:35
ReporterJim Luth Assigned ToJeff Harding  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionreopened 
Fixed in Version1.05.04 RC1 
Summary0009477: [Part 4] endpointUrl in createSession document unclear
Description

https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.2/
The documentation for the endpointUrl string states:

The network address that the Client used to access the Session Endpoint.
The HostName portion of the URL should be one of the HostNames for the application that are specified in the Server’s ApplicationInstanceCertificate (see 7.2). The Server shall raise an >AuditUrlMismatchEventType event if the URL does not match the Server’s HostNames. AuditUrlMismatchEventType event type is defined in OPC 10000-5.
The Server uses this information for diagnostics and to determine the set of EndpointDescriptions to return in the response.

Whereas the doc is clear about the necessity to raise a AuditUrlMismatchEventType, the doc is unclear on whether it is mandatory or not to specify a endpoint that strictly matches one of the exposed endpoint of the server.

Server can be addressed by hostname, fqdn , alias hostname and directly with IP address ...

For instance:

  • Prosys Demo Server will reject the connection if the endpointUrl provided in the createSessionRequest doesn't exactly match the endpointUrl of one of the exposed endpoint of the server with a ServiceFault BadServiceUnsupported.

  • UAAutomation CPPServer will accept the connection of the endpointUrl is opc.tcp://localhost:48010 our opc.tcp://192.122.122.14:48010 (with the server Ip address) or opc.tcp://HOSTNAME:48010 even though only opc.tcp://HOSTNAME:48010 appears in the endpoint descriptions.

Which behavior is correct ?

Also I am not sure that any CTT test verifies this aspect yet ...

If we decide that createSessionRequest must expose a known endpointUrl to the server. then we may have to provide the algorithm by which a client can reliably connect to the server if it only knows it IP address..:

  • open a connection using on one of the possible hostnaame/ipaddress , create a secureChannel
  • get the endpoints
  • close connection
  • find the exact end point matching the level of security required
    • open a new connection with the exact opc.tcp endpoint, create channel
  • create session with this exact endpoint URL
    • activate session , etc ...
TagsNo tags attached.
Commit Version1.05.04 RC
Fix Due Date

Relationships

related to 0006142 closedMatthias Damm 10000-004: Services [Part 4] endpointUrl in createSession document unclear 
related to 0009496 closedJeff Harding 10000-005: Information Model [Part 4] endpointUrl in createSession document unclear 

Activities

Etienne Rossignon

2024-03-19 22:32

reporter   ~0020955

More over, some client may add a extra "/" at the end of the URI, and the server might not define endpoint with a trailing "/" causing issue for endpoint matching .

May be adding a clear of rules for endpoint uri matching would be appropriate.

Etienne Rossignon

2024-03-19 22:32

reporter   ~0020956

endpoint URI matching also affects PART 4 5.4.4

5.4.4 GetEndpoints 5.4.4.1 Description
A Client may reduce the number of results returned by specifying filter criteria based on LocaleIds and Transport Profile URIs. The Server returns an empty list if no Endpoints match the criteria specified by the client. The filter criteria supported by this Service are described in 5.4.4.2.

Jim Luth

2024-03-19 22:32

administrator   ~0020957

Agreed to deprecate the AuditUrlMismatchEventType and its required use in the Server.

Jeff Harding

2024-03-21 22:52

developer   ~0021004

Added note that AuditUrlMismatchEventType has been deprecated.

Jeff Harding

2024-03-21 22:55

developer   ~0021005

Need to clone for Part 5

Jim Luth

2024-03-26 16:35

administrator   ~0021035

Agreed to changes edited in Web meeting.

Issue History

Date Modified Username Field Change
2024-03-19 22:32 Jim Luth New Issue
2024-03-19 22:32 Jim Luth Status new => assigned
2024-03-19 22:32 Jim Luth Assigned To => Jeff Harding
2024-03-19 22:32 Jim Luth Issue generated from: 0006142
2024-03-19 22:32 Jim Luth Note Added: 0020955
2024-03-19 22:32 Jim Luth Note Added: 0020956
2024-03-19 22:32 Jim Luth Note Added: 0020957
2024-03-19 22:32 Jim Luth Relationship added related to 0006142
2024-03-19 22:33 Jim Luth Project 10000-004: Services => 10000-003: Address Space
2024-03-21 22:52 Jeff Harding Status assigned => resolved
2024-03-21 22:52 Jeff Harding Resolution open => fixed
2024-03-21 22:52 Jeff Harding Fixed in Version => 1.05.04 RC1
2024-03-21 22:52 Jeff Harding Note Added: 0021004
2024-03-21 22:55 Jeff Harding Status resolved => feedback
2024-03-21 22:55 Jeff Harding Resolution fixed => reopened
2024-03-21 22:55 Jeff Harding Note Added: 0021005
2024-03-21 22:56 Jeff Harding Issue cloned: 0009496
2024-03-21 22:57 Jeff Harding Status feedback => resolved
2024-03-22 14:12 Jeff Harding Relationship added related to 0009496
2024-03-26 16:35 Jim Luth Status resolved => closed
2024-03-26 16:35 Jim Luth Commit Version => 1.05.04 RC
2024-03-26 16:35 Jim Luth Note Added: 0021035