You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by ld...@apache.org on 2024/02/12 12:32:13 UTC
(plc4x) 01/01: fix(plc4go): Fix golang compile errors.
This is an automated email from the ASF dual-hosted git repository.
ldywicki pushed a commit to branch pg/security-policy
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 3d30d90fd853b66ef783c91185026dde680c557a
Author: Łukasz Dywicki <lu...@code-house.org>
AuthorDate: Sun Feb 11 23:32:46 2024 +0100
fix(plc4go): Fix golang compile errors.
Signed-off-by: Łukasz Dywicki <lu...@code-house.org>
---
plc4go/internal/opcua/EncryptionHandler.go | 4 +-
plc4go/internal/opcua/SecureChannel.go | 221 +++++++++++++-----------
plc4go/internal/opcua/SecureChannel_plc4xgen.go | 4 +-
3 files changed, 124 insertions(+), 105 deletions(-)
diff --git a/plc4go/internal/opcua/EncryptionHandler.go b/plc4go/internal/opcua/EncryptionHandler.go
index fb897da09a..71d86aee06 100644
--- a/plc4go/internal/opcua/EncryptionHandler.go
+++ b/plc4go/internal/opcua/EncryptionHandler.go
@@ -131,9 +131,9 @@ func (h *EncryptionHandler) decodeMessage(ctx context.Context, pdu readWriteMode
var message []byte
switch pduMessage := pdu.GetMessage().(type) {
case readWriteModel.OpcuaOpenResponseExactly:
- message = pduMessage.GetMessage()
+ message = pduMessage.(readWriteModel.BinaryPayloadExactly).GetPayload()
case readWriteModel.OpcuaMessageResponseExactly:
- message = pduMessage.GetMessage()
+ message = pduMessage.(readWriteModel.BinaryPayloadExactly).GetPayload()
default:
h.log.Trace().Type("pdu", pdu).Msg("unhandled type")
return pdu, nil
diff --git a/plc4go/internal/opcua/SecureChannel.go b/plc4go/internal/opcua/SecureChannel.go
index eed6a455c0..0a0258b3a7 100644
--- a/plc4go/internal/opcua/SecureChannel.go
+++ b/plc4go/internal/opcua/SecureChannel.go
@@ -46,14 +46,11 @@ import (
)
const (
- FINAL_CHUNK = "F"
- CONTINUATION_CHUNK = "C"
- ABORT_CHUNK = "A"
- VERSION = 0
+ VERSION = uint32(0)
DEFAULT_MAX_CHUNK_COUNT = 64
- DEFAULT_MAX_MESSAGE_SIZE = 2097152
- DEFAULT_RECEIVE_BUFFER_SIZE = 65535
- DEFAULT_SEND_BUFFER_SIZE = 65535
+ DEFAULT_MAX_MESSAGE_SIZE = uint32(2097152)
+ DEFAULT_RECEIVE_BUFFER_SIZE = uint32(65535)
+ DEFAULT_SEND_BUFFER_SIZE = uint32(65535)
REQUEST_TIMEOUT = 10 * time.Second
REQUEST_TIMEOUT_LONG = 10000
PASSWORD_ENCRYPTION_ALGORITHM = "http://www.w3.org/2001/04/xmlenc#rsa-oaep"
@@ -108,8 +105,8 @@ type SecureChannel struct {
checkedEndpoints bool
encryptionHandler *EncryptionHandler
configuration Configuration `stringer:"true"`
- channelId atomic.Int32
- tokenId atomic.Int32
+ channelId atomic.Uint32
+ tokenId atomic.Uint32
authenticationToken readWriteModel.NodeIdTypeDefinition
codec *MessageCodec
channelTransactionManager *SecureChannelTransactionManager
@@ -189,12 +186,11 @@ func (s *SecureChannel) submit(ctx context.Context, codec *MessageCodec, errorDi
//TODO: We need to split large messages up into chunks if it is larger than the sendBufferSize
// This value is negotiated when opening a channel
- messageRequest := readWriteModel.NewOpcuaMessageRequest(FINAL_CHUNK,
+ messageRequest := readWriteModel.NewOpcuaMessageRequest(readWriteModel.NewSecurityHeader(
s.channelId.Load(),
- s.tokenId.Load(),
- transactionId,
- transactionId,
- buffer.GetBytes())
+ s.tokenId.Load()),
+ readWriteModel.NewBinaryPayload(buffer.GetBytes(), readWriteModel.NewSequenceHeader(transactionId, transactionId), uint32(len(buffer.GetBytes()))),
+ readWriteModel.ChunkType_FINAL, uint32(len(buffer.GetBytes())))
var apu readWriteModel.OpcuaAPU
if s.isEncrypted {
@@ -234,15 +230,15 @@ func (s *SecureChannel) submit(ctx context.Context, codec *MessageCodec, errorDi
s.log.Debug().Type("type", message).Msg("Not relevant")
return false
}
- if requestId := opcuaResponse.GetRequestId(); requestId != transactionId {
+ if requestId := opcuaResponse.GetMessage().GetSequenceHeader().GetRequestId(); requestId != transactionId {
s.log.Debug().Int32("requestId", requestId).Int32("transactionId", transactionId).Msg("Not relevant")
return false
} else {
- messageBuffer = opcuaResponse.GetMessage()
- if !(s.senderSequenceNumber.Add(1) == (opcuaResponse.GetSequenceNumber())) {
+ messageBuffer = opcuaResponse.(readWriteModel.BinaryPayload).GetPayload()
+ if !(s.senderSequenceNumber.Add(1) == (opcuaResponse.GetMessage().GetSequenceHeader().GetSequenceNumber())) {
s.log.Error().
Int32("senderSequenceNumber", s.senderSequenceNumber.Load()).
- Int32("responseSequenceNumber", opcuaResponse.GetSequenceNumber()).
+ Int32("responseSequenceNumber", opcuaResponse.GetMessage().GetSequenceHeader().GetSequenceNumber()).
Msg("Sequence number isn't as expected, we might have missed a packet. - senderSequenceNumber != responseSequenceNumber")
errorDispatcher(errors.New("unexpected sequence number"))
}
@@ -255,13 +251,13 @@ func (s *SecureChannel) submit(ctx context.Context, codec *MessageCodec, errorDi
messagePDU := opcuaAPU.GetMessage()
s.log.Trace().Stringer("messagePDU", messagePDU).Msg("looking at messagePDU")
opcuaResponse := messagePDU.(readWriteModel.OpcuaMessageResponse)
- if opcuaResponse.GetChunk() == (FINAL_CHUNK) {
- s.tokenId.Store(opcuaResponse.GetSecureTokenId())
- s.channelId.Store(opcuaResponse.GetSecureChannelId())
+ if opcuaResponse.GetChunk() == (readWriteModel.ChunkType_FINAL) {
+ s.tokenId.Store(opcuaResponse.GetSecurityHeader().GetSecureTokenId())
+ s.channelId.Store(opcuaResponse.GetSecurityHeader().GetSecureChannelId())
consumer(messageBuffer)
} else {
- s.log.Warn().Str("chunk", opcuaResponse.GetChunk()).Msg("Message discarded")
+ s.log.Warn().Stringer("chunk", opcuaResponse.GetChunk()).Msg("Message discarded")
}
return nil
},
@@ -287,13 +283,15 @@ func (s *SecureChannel) onConnect(ctx context.Context, connection *Connection, c
s.codec = connection.messageCodec // TODO: why would we need to set that?
hello := readWriteModel.NewOpcuaHelloRequest(
- FINAL_CHUNK,
VERSION,
- DEFAULT_RECEIVE_BUFFER_SIZE,
- DEFAULT_SEND_BUFFER_SIZE,
- DEFAULT_MAX_MESSAGE_SIZE,
- DEFAULT_MAX_CHUNK_COUNT,
+ readWriteModel.NewOpcuaProtocolLimits(
+ DEFAULT_RECEIVE_BUFFER_SIZE,
+ DEFAULT_SEND_BUFFER_SIZE,
+ DEFAULT_MAX_MESSAGE_SIZE,
+ DEFAULT_MAX_CHUNK_COUNT,
+ ),
s.endpoint,
+ readWriteModel.ChunkType_FINAL,
)
requestConsumer := func(transactionId int32) {
@@ -395,15 +393,16 @@ func (s *SecureChannel) onConnectOpenSecureChannel(ctx context.Context, connecti
return
}
- openRequest := readWriteModel.NewOpcuaOpenRequest(
- FINAL_CHUNK,
+ openRequest := readWriteModel.NewOpcuaOpenRequest(readWriteModel.NewOpenChannelMessageRequest(
0,
readWriteModel.NewPascalString(s.securityPolicy),
s.publicCertificate,
- s.thumbprint,
- transactionId,
- transactionId,
- buffer.GetBytes(),
+ s.thumbprint),
+ readWriteModel.NewBinaryPayload(
+ buffer.GetBytes(),
+ readWriteModel.NewSequenceHeader(transactionId, transactionId),
+ uint32(len(buffer.GetBytes())),
+ ), readWriteModel.ChunkType_FINAL, uint32(len(buffer.GetBytes())),
)
var apu readWriteModel.OpcuaAPU
@@ -441,19 +440,19 @@ func (s *SecureChannel) onConnectOpenSecureChannel(ctx context.Context, connecti
s.log.Debug().Type("type", messagePDU).Msg("Not relevant")
return false
}
- return openResponse.GetRequestId() == transactionId
+ return openResponse.GetMessage().GetSequenceHeader().GetRequestId() == transactionId
},
func(message spi.Message) error {
opcuaAPU := message.(readWriteModel.OpcuaAPU)
messagePDU := opcuaAPU.GetMessage()
opcuaOpenResponse := messagePDU.(readWriteModel.OpcuaOpenResponse)
- readBuffer := utils.NewReadBufferByteBased(opcuaOpenResponse.GetMessage(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
+ readBuffer := utils.NewReadBufferByteBased(opcuaOpenResponse.(readWriteModel.BinaryPayloadExactly).GetPayload(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
extensionObject, err := readWriteModel.ExtensionObjectParseWithBuffer(ctx, readBuffer, false)
if err != nil {
return errors.Wrap(err, "error parsing")
}
//Store the initial sequence number from the server. there's no requirement for the server and client to use the same starting number.
- s.senderSequenceNumber.Store(opcuaOpenResponse.GetSequenceNumber())
+ s.senderSequenceNumber.Store(opcuaOpenResponse.GetMessage().GetSequenceHeader().GetSequenceNumber())
if fault, ok := extensionObject.GetBody().(readWriteModel.ServiceFaultExactly); ok {
statusCode := fault.GetResponseHeader().(readWriteModel.ResponseHeader).GetServiceResult().GetStatusCode()
@@ -467,8 +466,8 @@ func (s *SecureChannel) onConnectOpenSecureChannel(ctx context.Context, connecti
}
s.log.Debug().Msg("Got Secure Response Connection Response")
openSecureChannelResponse := extensionObject.GetBody().(readWriteModel.OpenSecureChannelResponse)
- s.tokenId.Store(int32(openSecureChannelResponse.GetSecurityToken().(readWriteModel.ChannelSecurityToken).GetTokenId())) // TODO: strange that int32 and uint32 missmatch
- s.channelId.Store(int32(openSecureChannelResponse.GetSecurityToken().(readWriteModel.ChannelSecurityToken).GetChannelId()))
+ s.tokenId.Store(openSecureChannelResponse.GetSecurityToken().(readWriteModel.ChannelSecurityToken).GetTokenId())
+ s.channelId.Store(openSecureChannelResponse.GetSecurityToken().(readWriteModel.ChannelSecurityToken).GetChannelId())
go s.onConnectCreateSessionRequest(ctx, connection, ch)
return nil
},
@@ -846,17 +845,19 @@ func (s *SecureChannel) onDisconnectCloseSecureChannel(ctx context.Context, conn
nil,
)
- closeRequest := readWriteModel.NewOpcuaCloseRequest(FINAL_CHUNK,
- s.channelId.Load(),
- s.tokenId.Load(),
- transactionId,
- transactionId,
- readWriteModel.NewExtensionObject(
- expandedNodeId,
- nil,
- closeSecureChannelRequest,
- false,
+ closeRequest := readWriteModel.NewOpcuaCloseRequest(
+ readWriteModel.NewSecurityHeader(s.channelId.Load(), s.tokenId.Load()),
+ readWriteModel.NewExtensiblePayload(
+ readWriteModel.NewExtensionObject(
+ expandedNodeId,
+ nil,
+ closeSecureChannelRequest,
+ false,
+ ),
+ readWriteModel.NewSequenceHeader(transactionId, transactionId),
+ 0,
),
+ readWriteModel.ChunkType_FINAL,
)
apu := readWriteModel.NewOpcuaAPU(closeRequest, false)
@@ -877,7 +878,7 @@ func (s *SecureChannel) onDisconnectCloseSecureChannel(ctx context.Context, conn
s.log.Debug().Type("type", messagePDU).Msg("Not relevant")
return false
}
- return openResponse.GetRequestId() == transactionId
+ return openResponse.GetMessage().GetSequenceHeader().GetRequestId() == transactionId
},
func(message spi.Message) error {
opcuaAPU := message.(readWriteModel.OpcuaAPU)
@@ -906,13 +907,16 @@ func (s *SecureChannel) onDiscover(ctx context.Context, codec *MessageCodec) {
// Only the TCP transport supports login.
s.log.Debug().Msg("Opcua Driver running in ACTIVE mode, discovering endpoints")
- hello := readWriteModel.NewOpcuaHelloRequest(FINAL_CHUNK,
+ hello := readWriteModel.NewOpcuaHelloRequest(
VERSION,
- DEFAULT_RECEIVE_BUFFER_SIZE,
- DEFAULT_SEND_BUFFER_SIZE,
- DEFAULT_MAX_MESSAGE_SIZE,
- DEFAULT_MAX_CHUNK_COUNT,
+ readWriteModel.NewOpcuaProtocolLimits(
+ DEFAULT_RECEIVE_BUFFER_SIZE,
+ DEFAULT_SEND_BUFFER_SIZE,
+ DEFAULT_MAX_MESSAGE_SIZE,
+ DEFAULT_MAX_CHUNK_COUNT,
+ ),
s.endpoint,
+ readWriteModel.ChunkType_FINAL,
)
apu := readWriteModel.NewOpcuaAPU(hello, false)
@@ -1006,14 +1010,17 @@ func (s *SecureChannel) onDiscoverOpenSecureChannel(ctx context.Context, codec *
}
openRequest := readWriteModel.NewOpcuaOpenRequest(
- FINAL_CHUNK,
- 0,
- SECURITY_POLICY_NONE,
- NULL_BYTE_STRING,
- NULL_BYTE_STRING,
- transactionId,
- transactionId,
- buffer.GetBytes(),
+ readWriteModel.NewOpenChannelMessageRequest(
+ 0,
+ SECURITY_POLICY_NONE,
+ NULL_BYTE_STRING,
+ NULL_BYTE_STRING,
+ ),
+ readWriteModel.NewBinaryPayload(
+ buffer.GetBytes(), readWriteModel.NewSequenceHeader(transactionId, transactionId), uint32(len(buffer.GetBytes())),
+ ),
+ readWriteModel.ChunkType_FINAL,
+ uint32(len(buffer.GetBytes())),
)
apu := readWriteModel.NewOpcuaAPU(openRequest, false)
@@ -1034,13 +1041,13 @@ func (s *SecureChannel) onDiscoverOpenSecureChannel(ctx context.Context, codec *
s.log.Debug().Type("type", messagePDU).Msg("Not relevant")
return false
}
- return openResponse.GetRequestId() == transactionId
+ return openResponse.GetMessage().GetSequenceHeader().GetRequestId() == transactionId
},
func(message spi.Message) error {
opcuaAPU := message.(readWriteModel.OpcuaAPU)
messagePDU := opcuaAPU.GetMessage()
opcuaOpenResponse := messagePDU.(readWriteModel.OpcuaOpenResponse)
- readBuffer := utils.NewReadBufferByteBased(opcuaOpenResponse.GetMessage(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
+ readBuffer := utils.NewReadBufferByteBased(opcuaOpenResponse.(readWriteModel.BinaryPayloadExactly).GetPayload(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
extensionObject, err := readWriteModel.ExtensionObjectParseWithBuffer(ctx, readBuffer, false)
if err != nil {
return errors.Wrap(err, "error parsing")
@@ -1076,13 +1083,13 @@ func (s *SecureChannel) onDiscoverOpenSecureChannel(ctx context.Context, codec *
func (s *SecureChannel) onDiscoverGetEndpointsRequest(ctx context.Context, codec *MessageCodec, opcuaOpenResponse readWriteModel.OpcuaOpenResponse, openSecureChannelResponse readWriteModel.OpenSecureChannelResponse) {
s.log.Trace().Msg("onDiscoverGetEndpointsRequest")
- s.tokenId.Store(int32(openSecureChannelResponse.GetSecurityToken().(readWriteModel.ChannelSecurityToken).GetTokenId()))
- s.channelId.Store(int32(openSecureChannelResponse.GetSecurityToken().(readWriteModel.ChannelSecurityToken).GetChannelId()))
+ s.tokenId.Store(openSecureChannelResponse.GetSecurityToken().(readWriteModel.ChannelSecurityToken).GetTokenId())
+ s.channelId.Store(openSecureChannelResponse.GetSecurityToken().(readWriteModel.ChannelSecurityToken).GetChannelId())
transactionId := s.channelTransactionManager.getTransactionIdentifier()
- nextSequenceNumber := opcuaOpenResponse.GetSequenceNumber() + 1
- nextRequestId := opcuaOpenResponse.GetRequestId() + 1
+ nextSequenceNumber := opcuaOpenResponse.GetMessage().GetSequenceHeader().GetSequenceNumber() + 1
+ nextRequestId := opcuaOpenResponse.GetMessage().GetSequenceHeader().GetRequestId() + 1
if !(transactionId == nextSequenceNumber) {
s.log.Error().
@@ -1136,12 +1143,15 @@ func (s *SecureChannel) onDiscoverGetEndpointsRequest(ctx context.Context, codec
}
messageRequest := readWriteModel.NewOpcuaMessageRequest(
- FINAL_CHUNK,
- s.channelId.Load(),
- s.tokenId.Load(),
- nextSequenceNumber,
- nextRequestId,
- buffer.GetBytes(),
+ readWriteModel.NewSecurityHeader(
+ s.channelId.Load(),
+ s.tokenId.Load(),
+ ),
+ readWriteModel.NewBinaryPayload(
+ buffer.GetBytes(), readWriteModel.NewSequenceHeader(nextSequenceNumber, nextRequestId), uint32(len(buffer.GetBytes())),
+ ),
+ readWriteModel.ChunkType_FINAL,
+ uint32(len(buffer.GetBytes())),
)
apu := readWriteModel.NewOpcuaAPU(messageRequest, false)
@@ -1162,13 +1172,13 @@ func (s *SecureChannel) onDiscoverGetEndpointsRequest(ctx context.Context, codec
s.log.Debug().Type("type", messagePDU).Msg("Not relevant")
return false
}
- return messageResponse.GetRequestId() == transactionId
+ return messageResponse.GetMessage().GetSequenceHeader().GetRequestId() == transactionId
},
func(message spi.Message) error {
opcuaAPU := message.(readWriteModel.OpcuaAPU)
messagePDU := opcuaAPU.GetMessage()
messageResponse := messagePDU.(readWriteModel.OpcuaMessageResponse)
- readBuffer := utils.NewReadBufferByteBased(messageResponse.GetMessage(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
+ readBuffer := utils.NewReadBufferByteBased(messageResponse.(readWriteModel.BinaryPayloadExactly).GetPayload(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
extensionObject, err := readWriteModel.ExtensionObjectParseWithBuffer(ctx, readBuffer, false)
if err != nil {
return errors.Wrap(err, "error parsing")
@@ -1243,17 +1253,22 @@ func (s *SecureChannel) onDiscoverCloseSecureChannel(ctx context.Context, codec
nil,
)
- closeRequest := readWriteModel.NewOpcuaCloseRequest(FINAL_CHUNK,
- s.channelId.Load(),
- s.tokenId.Load(),
- transactionId,
- transactionId,
- readWriteModel.NewExtensionObject(
- expandedNodeId,
- nil,
- closeSecureChannelRequest,
- false,
+ closeRequest := readWriteModel.NewOpcuaCloseRequest(
+ readWriteModel.NewSecurityHeader(
+ s.channelId.Load(),
+ s.tokenId.Load(),
),
+ readWriteModel.NewExtensiblePayload(
+ readWriteModel.NewExtensionObject(
+ expandedNodeId,
+ nil,
+ closeSecureChannelRequest,
+ false,
+ ),
+ readWriteModel.NewSequenceHeader(transactionId, transactionId),
+ uint32(0),
+ ),
+ readWriteModel.ChunkType_FINAL,
)
apu := readWriteModel.NewOpcuaAPU(closeRequest, false)
@@ -1274,7 +1289,7 @@ func (s *SecureChannel) onDiscoverCloseSecureChannel(ctx context.Context, codec
s.log.Debug().Type("type", messagePDU).Msg("Not relevant")
return false
}
- return openResponse.GetRequestId() == transactionId
+ return openResponse.GetMessage().GetSequenceHeader().GetRequestId() == transactionId
},
func(message spi.Message) error {
opcuaAPU := message.(readWriteModel.OpcuaAPU)
@@ -1373,14 +1388,18 @@ func (s *SecureChannel) keepAlive() {
}
openRequest := readWriteModel.NewOpcuaOpenRequest(
- FINAL_CHUNK,
- 0,
- readWriteModel.NewPascalString(s.securityPolicy),
- s.publicCertificate,
- s.thumbprint,
- transactionId,
- transactionId,
- buffer.GetBytes(),
+ readWriteModel.NewOpenChannelMessageRequest(0,
+ readWriteModel.NewPascalString(s.securityPolicy),
+ s.publicCertificate,
+ s.thumbprint,
+ ),
+ readWriteModel.NewBinaryPayload(
+ buffer.GetBytes(),
+ readWriteModel.NewSequenceHeader(transactionId, transactionId),
+ uint32(len(buffer.GetBytes())),
+ ),
+ readWriteModel.ChunkType_FINAL,
+ uint32(len(buffer.GetBytes())),
)
var apu readWriteModel.OpcuaAPU
@@ -1416,13 +1435,13 @@ func (s *SecureChannel) keepAlive() {
s.log.Debug().Type("type", messagePDU).Msg("Not relevant")
return false
}
- return openResponse.GetRequestId() == transactionId
+ return openResponse.GetMessage().GetSequenceHeader().GetRequestId() == transactionId
},
func(message spi.Message) error {
opcuaAPU := message.(readWriteModel.OpcuaAPU)
messagePDU := opcuaAPU.GetMessage()
opcuaOpenResponse := messagePDU.(readWriteModel.OpcuaOpenResponse)
- readBuffer := utils.NewReadBufferByteBased(opcuaOpenResponse.GetMessage(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
+ readBuffer := utils.NewReadBufferByteBased(opcuaOpenResponse.(readWriteModel.BinaryPayloadExactly).GetPayload(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
extensionObject, err := readWriteModel.ExtensionObjectParseWithBuffer(ctx, readBuffer, false)
if err != nil {
return errors.Wrap(err, "error parsing")
@@ -1439,8 +1458,8 @@ func (s *SecureChannel) keepAlive() {
s.log.Debug().Msg("Got Secure Response Connection Response")
openSecureChannelResponse := extensionObject.GetBody().(readWriteModel.OpenSecureChannelResponse)
token := openSecureChannelResponse.GetSecurityToken().(readWriteModel.ChannelSecurityToken)
- s.tokenId.Store(int32(token.GetTokenId())) // TODO: strange that int32 and uint32 missmatch
- s.channelId.Store(int32(token.GetChannelId()))
+ s.tokenId.Store(token.GetTokenId())
+ s.channelId.Store(token.GetChannelId())
s.lifetime = token.GetRevisedLifetime()
}
return nil
@@ -1477,12 +1496,12 @@ func (s *SecureChannel) getAuthenticationToken() readWriteModel.NodeId {
}
// getChannelId gets the Channel identifier for the current channel
-func (s *SecureChannel) getChannelId() int32 {
+func (s *SecureChannel) getChannelId() uint32 {
return s.channelId.Load()
}
// getTokenId gets the Token Identifier
-func (s *SecureChannel) getTokenId() int32 {
+func (s *SecureChannel) getTokenId() uint32 {
return s.tokenId.Load()
}
diff --git a/plc4go/internal/opcua/SecureChannel_plc4xgen.go b/plc4go/internal/opcua/SecureChannel_plc4xgen.go
index 7c591f4f34..8f957d364b 100644
--- a/plc4go/internal/opcua/SecureChannel_plc4xgen.go
+++ b/plc4go/internal/opcua/SecureChannel_plc4xgen.go
@@ -209,11 +209,11 @@ func (d *SecureChannel) SerializeWithWriteBuffer(ctx context.Context, writeBuffe
return err
}
- if err := writeBuffer.WriteInt32("channelId", 32, d.channelId.Load()); err != nil {
+ if err := writeBuffer.WriteUint32("channelId", 32, d.channelId.Load()); err != nil {
return err
}
- if err := writeBuffer.WriteInt32("tokenId", 32, d.tokenId.Load()); err != nil {
+ if err := writeBuffer.WriteUint32("tokenId", 32, d.tokenId.Load()); err != nil {
return err
}