implemented socket_setTimeout
This commit is contained in:
@@ -28,14 +28,14 @@ Result(ClientConnection*) ClientConnection_accept(ServerCredentials* server_cred
|
||||
// correct session key will be received from client later
|
||||
Array_memset(conn->session_key, 0);
|
||||
EncryptedSocketTCP_construct(&conn->sock, sock_tcp, NETWORK_BUFFER_SIZE, conn->session_key);
|
||||
// TODO: set socket timeout to 5 seconds
|
||||
try_void(socket_setTimeout(sock_tcp, SOCKET_TIMEOUT_MS_DEFAULT));
|
||||
|
||||
// decrypt the rsa messages using server private key
|
||||
RSADecryptor rsa_dec;
|
||||
RSADecryptor_construct(&rsa_dec, &server_credentials->rsa_sk);
|
||||
|
||||
// receive PacketHeader
|
||||
PacketHeader packet_header;
|
||||
PacketHeader packet_header = {0};
|
||||
try_void(EncryptedSocketTCP_recvStructRSA(&conn->sock, &rsa_dec, &packet_header));
|
||||
try_void(PacketHeader_validateMagic(&packet_header));
|
||||
if(packet_header.type != PacketType_ClientHandshake){
|
||||
@@ -46,7 +46,7 @@ Result(ClientConnection*) ClientConnection_accept(ServerCredentials* server_cred
|
||||
}
|
||||
|
||||
// receive ClientHandshake
|
||||
ClientHandshake client_handshake;
|
||||
ClientHandshake client_handshake = {0};
|
||||
try_void(EncryptedSocketTCP_recvStructRSA(&conn->sock, &rsa_dec, &client_handshake));
|
||||
|
||||
// use received session key
|
||||
@@ -56,7 +56,7 @@ Result(ClientConnection*) ClientConnection_accept(ServerCredentials* server_cred
|
||||
// send PacketHeader and ServerHandshake over encrypted TCP socket
|
||||
PacketHeader_construct(&packet_header,
|
||||
PROTOCOL_VERSION, PacketType_ServerHandshake, sizeof(ServerHandshake));
|
||||
ServerHandshake server_handshake;
|
||||
ServerHandshake server_handshake = {0};
|
||||
ServerHandshake_construct(&server_handshake,
|
||||
session_id);
|
||||
try_void(EncryptedSocketTCP_sendStruct(&conn->sock, &packet_header));
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <pthread.h>
|
||||
#include "tlibc/filesystem.h"
|
||||
#include "tlibc/time.h"
|
||||
#include "db/idb.h"
|
||||
#include "server.h"
|
||||
#include "config.h"
|
||||
|
||||
Reference in New Issue
Block a user