Преглед изворни кода

little changes in secureChannel

Florian Palm пре 10 година
родитељ
комит
313efe0589
3 измењених фајлова са 9 додато и 14 уклоњено
  1. 7 12
      examples/opcuaClient.c
  2. 1 0
      src/ua_connection.c
  3. 1 2
      src/ua_securechannel.c

+ 7 - 12
examples/opcuaClient.c

@@ -355,12 +355,6 @@ int main(int argc, char *argv[]) {
 	{
 		alwaysSameNode = UA_FALSE;
 	}
-	/*UA_Int32 pid;
-	if((pid = fork()) < 0) {
-	    printf("no fork possible");
-	    return 0;
-	}
-	else*/{
 
 
 	//Create socket
@@ -407,10 +401,11 @@ int main(int argc, char *argv[]) {
 	UA_NodeId messageType;
 	recvOffset = 24;
 	UA_NodeId_decodeBinary(reply,&recvOffset,&messageType);
-	UA_CreateSessionResponse createSessionResponse;
-	UA_CreateSessionResponse_decodeBinary(reply,&recvOffset,&createSessionResponse);
+	UA_CreateSessionResponse *createSessionResponse;
+	createSessionResponse = (UA_CreateSessionResponse*)&(reply->data[recvOffset]);
+	//UA_CreateSessionResponse_decodeBinary(reply,&recvOffset,&createSessionResponse);
 
-	sendActivateSession(sock, secureChannelId, openSecChannelRsp.securityToken.tokenId, 53, 3,createSessionResponse.authenticationToken);
+	sendActivateSession(sock, secureChannelId, openSecChannelRsp.securityToken.tokenId, 53, 3,createSessionResponse->authenticationToken);
 	received = recv(sock, reply->data, reply->length, 0);
 
     UA_NodeId *nodesToRead;
@@ -439,12 +434,12 @@ int main(int argc, char *argv[]) {
 
 	for (UA_UInt32 i = 0; i < tries; i++) {
 
-		tic = sendReadRequest(sock, secureChannelId, openSecChannelRsp.securityToken.tokenId, 54+i, 4+i,createSessionResponse.authenticationToken,nodesToReadSize,nodesToRead);
+		tic = sendReadRequest(sock, secureChannelId, openSecChannelRsp.securityToken.tokenId, 54+i, 4+i,createSessionResponse->authenticationToken,nodesToReadSize,nodesToRead);
 
 		received = recv(sock, reply->data, 2000, 0);
 		toc = UA_DateTime_now() - tic;
 
-		timeDiffs[i] = (UA_Double)toc/(UA_Double)10e3;
+		timeDiffs[i] = (UA_Double)toc/(UA_Double)1e4;
 		sum = sum + timeDiffs[i];
 		//printf("read request took: %16.10f ms \n",timeDiffs[i]);
 	}
@@ -477,6 +472,6 @@ int main(int argc, char *argv[]) {
 	UA_Array_delete(nodesToRead,nodesToReadSize,&UA_[UA_NODEID]);
 	close(sock);
 	return 0;
-	}
+
 
 }

+ 1 - 0
src/ua_connection.c

@@ -5,6 +5,7 @@ UA_ConnectionConfig UA_ConnectionConfig_standard = { .protocolVersion = 0,    .s
                                                      .recvBufferSize  = 8192, .maxMessageSize = 8192,
                                                      .maxChunkCount   = 1 };
 
+
 UA_Int32 UA_Connection_init(UA_Connection *connection, UA_ConnectionConfig localConf, void *callbackHandle,
                             UA_Connection_closeCallback close, UA_Connection_writeCallback write) {
     connection->state          = UA_CONNECTION_OPENING;

+ 1 - 2
src/ua_securechannel.c

@@ -26,8 +26,7 @@ void UA_SecureChannel_delete(UA_SecureChannel *channel) {
 }
 
 UA_Boolean UA_SecureChannel_compare(UA_SecureChannel *sc1, UA_SecureChannel *sc2) {
-    return (sc1->securityToken.channelId == sc2->securityToken.channelId) ?
-           UA_TRUE : UA_FALSE;
+    return (sc1->securityToken.channelId == sc2->securityToken.channelId);
 }
 
 //TODO implement real nonce generator - DUMMY function