From 89983dcdd15a57aed19a7463d6bd5a829192a272 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Mon, 25 Mar 2024 19:56:33 -0500 Subject: [PATCH] Process received magic using a loop in client and server --- NetworkClient.cpp | 83 +++++++++-------------------------------------- NetworkServer.cpp | 83 +++++++++-------------------------------------- 2 files changed, 32 insertions(+), 134 deletions(-) diff --git a/NetworkClient.cpp b/NetworkClient.cpp index 3b4b71a7..92a6cb1d 100644 --- a/NetworkClient.cpp +++ b/NetworkClient.cpp @@ -403,76 +403,25 @@ void NetworkClient::ListenThreadFunction() int bytes_read = 0; char * data = NULL; - /*---------------------------------------------------------*\ - | Read first byte of magic | - \*---------------------------------------------------------*/ - bytes_read = recv_select(client_sock, &header.pkt_magic[0], 1, 0); - - if(bytes_read <= 0) + for(unsigned int i = 0; i < 4; i++) { - goto listen_done; - } + /*---------------------------------------------------------*\ + | Read byte of magic | + \*---------------------------------------------------------*/ + bytes_read = recv_select(client_sock, &header.pkt_magic[i], 1, 0); - /*---------------------------------------------------------*\ - | Test first character of magic - 'O' | - \*---------------------------------------------------------*/ - if(header.pkt_magic[0] != 'O') - { - continue; - } + if(bytes_read <= 0) + { + goto listen_done; + } - /*---------------------------------------------------------*\ - | Read second byte of magic | - \*---------------------------------------------------------*/ - bytes_read = recv_select(client_sock, &header.pkt_magic[1], 1, 0); - - if(bytes_read <= 0) - { - goto listen_done; - } - - /*---------------------------------------------------------*\ - | Test second character of magic - 'R' | - \*---------------------------------------------------------*/ - if(header.pkt_magic[1] != 'R') - { - continue; - } - - /*---------------------------------------------------------*\ - | Read third byte of magic | - \*---------------------------------------------------------*/ - bytes_read = recv_select(client_sock, &header.pkt_magic[2], 1, 0); - - if(bytes_read <= 0) - { - goto listen_done; - } - - /*---------------------------------------------------------*\ - | Test third character of magic - 'G' | - \*---------------------------------------------------------*/ - if(header.pkt_magic[2] != 'G') - { - continue; - } - - /*---------------------------------------------------------*\ - | Read fourth byte of magic | - \*---------------------------------------------------------*/ - bytes_read = recv_select(client_sock, &header.pkt_magic[3], 1, 0); - - if(bytes_read <= 0) - { - goto listen_done; - } - - /*---------------------------------------------------------*\ - | Test fourth character of magic - 'B' | - \*---------------------------------------------------------*/ - if(header.pkt_magic[3] != 'B') - { - continue; + /*---------------------------------------------------------*\ + | Test characters of magic "ORGB" | + \*---------------------------------------------------------*/ + if(header.pkt_magic[i] != openrgb_sdk_magic[i]) + { + continue; + } } /*---------------------------------------------------------*\ diff --git a/NetworkServer.cpp b/NetworkServer.cpp index 88336226..ff6b76d5 100644 --- a/NetworkServer.cpp +++ b/NetworkServer.cpp @@ -552,76 +552,25 @@ void NetworkServer::ListenThreadFunction(NetworkClientInfo * client_info) int bytes_read = 0; char * data = NULL; - /*---------------------------------------------------------*\ - | Read first byte of magic | - \*---------------------------------------------------------*/ - bytes_read = recv_select(client_sock, &header.pkt_magic[0], 1, 0); - - if(bytes_read <= 0) + for(unsigned int i = 0; i < 4; i++) { - goto listen_done; - } + /*---------------------------------------------------------*\ + | Read byte of magic | + \*---------------------------------------------------------*/ + bytes_read = recv_select(client_sock, &header.pkt_magic[i], 1, 0); - /*---------------------------------------------------------*\ - | Test first character of magic - 'O' | - \*---------------------------------------------------------*/ - if(header.pkt_magic[0] != 'O') - { - continue; - } + if(bytes_read <= 0) + { + goto listen_done; + } - /*---------------------------------------------------------*\ - | Read second byte of magic | - \*---------------------------------------------------------*/ - bytes_read = recv_select(client_sock, &header.pkt_magic[1], 1, 0); - - if(bytes_read <= 0) - { - goto listen_done; - } - - /*---------------------------------------------------------*\ - | Test second character of magic - 'R' | - \*---------------------------------------------------------*/ - if(header.pkt_magic[1] != 'R') - { - continue; - } - - /*---------------------------------------------------------*\ - | Read third byte of magic | - \*---------------------------------------------------------*/ - bytes_read = recv_select(client_sock, &header.pkt_magic[2], 1, 0); - - if(bytes_read <= 0) - { - goto listen_done; - } - - /*---------------------------------------------------------*\ - | Test third character of magic - 'G' | - \*---------------------------------------------------------*/ - if(header.pkt_magic[2] != 'G') - { - continue; - } - - /*---------------------------------------------------------*\ - | Read fourth byte of magic | - \*---------------------------------------------------------*/ - bytes_read = recv_select(client_sock, &header.pkt_magic[3], 1, 0); - - if(bytes_read <= 0) - { - goto listen_done; - } - - /*---------------------------------------------------------*\ - | Test fourth character of magic - 'B' | - \*---------------------------------------------------------*/ - if(header.pkt_magic[3] != 'B') - { - continue; + /*---------------------------------------------------------*\ + | Test characters of magic "ORGB" | + \*---------------------------------------------------------*/ + if(header.pkt_magic[i] != openrgb_sdk_magic[i]) + { + continue; + } } /*---------------------------------------------------------*\