11 Commits

Author SHA1 Message Date
TapTap 7ecba4e0d5 fix: adapt tests and fix bugs from enhancements rebase onto main
CI / lint (pull_request) Failing after 3s
CI / build-and-test (pull_request) Has been skipped
CI / sanitizers (address) (pull_request) Has been skipped
CI / sanitizers (undefined) (pull_request) Has been skipped
CI / fuzz-build (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / valgrind (pull_request) Has been skipped
- Fix transport_tcp.c: initialize server->ssl_ctx to NULL
  (prevents SSL_CTX_free on garbage when server_create_tls fails)
- Fix test_transport_tcp.c: client_create now sets fd=-1, family=AF_UNSPEC
- Fix test_transport_tcp.c: server address family may be AF_INET or AF_INET6
- Fix test_file_sendfile.c: send_path=false protocol includes file_type prefix
2026-07-20 19:42:53 +02:00
TapTap 6b8979a040 Merge pull request 'Revert all 6 merged PRs (#80-#85)' (#86) from revert-merged-prs into main
CI / lint (push) Successful in 7s
CI / sanitizers (address) (push) Successful in 14s
CI / sanitizers (undefined) (push) Successful in 13s
CI / fuzz-build (push) Successful in 13s
CI / coverage (push) Successful in 9s
CI / build-and-test (push) Successful in 53s
CI / valgrind (push) Successful in 11s
Reviewed-on: #86
2026-07-20 19:37:23 +02:00
TapTap bcf5ffcf40 Revert "Merge pull request 'Fix memory/null safety bugs (#74, #72, #69, #64, #60, #50, #49, #65)' (#80) from fix/memory-safety into main"
CI / lint (pull_request) Successful in 7s
CI / sanitizers (address) (pull_request) Successful in 14s
CI / sanitizers (undefined) (pull_request) Successful in 13s
CI / fuzz-build (pull_request) Successful in 12s
CI / coverage (pull_request) Successful in 9s
CI / build-and-test (pull_request) Successful in 53s
CI / valgrind (pull_request) Successful in 12s
This reverts commit ddfdb3825a, reversing
changes made to 504a3a4d4f.
2026-07-20 19:36:09 +02:00
TapTap 5049a7bbf0 Revert "Merge pull request 'Fix refactoring and portability issues (#61, #51, #52)' (#81) from fix/refactoring into main"
This reverts commit df0f52ce39, reversing
changes made to ddfdb3825a.
2026-07-20 19:36:09 +02:00
TapTap e6e8679bfc Revert "Merge pull request 'Fix logic/correctness bugs (#73, #68, #67, #66, #59, #58, #54, #48, #53)' (#82) from fix/logic-correctness into main"
This reverts commit 28d076fc28, reversing
changes made to df0f52ce39.
2026-07-20 19:36:09 +02:00
TapTap 6831e7e6fb Revert "Merge pull request 'Add unit test coverage (#71, #63, #62, #56, #55)' (#83) from fix/test-coverage into main"
This reverts commit 12ca4b13c8, reversing
changes made to 28d076fc28.
2026-07-20 19:36:09 +02:00
TapTap e3484939b6 Revert "Merge pull request 'Features and enhancements (#70, #36, #34, #33, #32, #57, #40, #37)' (#84) from fix/enhancements into main"
This reverts commit 8f25f6a6b6, reversing
changes made to 12ca4b13c8.
2026-07-20 19:36:09 +02:00
TapTap 2f9a4fac78 Revert "Merge pull request 'Fix integration issues: ssl_ctx init + test API updates' (#85) from fix/integration-cleanup into main"
This reverts commit e1f9ba090f, reversing
changes made to 8f25f6a6b6.
2026-07-20 19:36:09 +02:00
TapTap e1f9ba090f Merge pull request 'Fix integration issues: ssl_ctx init + test API updates' (#85) from fix/integration-cleanup into main
CI / lint (push) Failing after 2s
CI / build-and-test (push) Has been skipped
CI / sanitizers (address) (push) Has been skipped
CI / sanitizers (undefined) (push) Has been skipped
CI / fuzz-build (push) Has been skipped
CI / coverage (push) Has been skipped
CI / valgrind (push) Has been skipped
2026-07-20 19:34:20 +02:00
TapTap f6b4d89a3c fix: initialize ssl_ctx in server_create, update tests for sockaddr_storage API
CI / lint (pull_request) Failing after 2s
CI / build-and-test (pull_request) Has been skipped
CI / sanitizers (address) (pull_request) Has been skipped
CI / sanitizers (undefined) (pull_request) Has been skipped
CI / fuzz-build (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / valgrind (pull_request) Has been skipped
2026-07-20 19:34:12 +02:00
TapTap 8f25f6a6b6 Merge pull request 'Features and enhancements (#70, #36, #34, #33, #32, #57, #40, #37)' (#84) from fix/enhancements into main
CI / lint (push) Failing after 2s
CI / build-and-test (push) Has been skipped
CI / sanitizers (address) (push) Has been skipped
CI / sanitizers (undefined) (push) Has been skipped
CI / fuzz-build (push) Has been skipped
CI / coverage (push) Has been skipped
CI / valgrind (push) Has been skipped
2026-07-20 19:31:59 +02:00
3 changed files with 10 additions and 8 deletions
+2
View File
@@ -60,6 +60,7 @@ Server* server_create(int port) {
} }
server->file_descriptor = fd; server->file_descriptor = fd;
server->ssl_ctx = NULL;
int opt = 1; int opt = 1;
if (setsockopt(server->file_descriptor, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) { if (setsockopt(server->file_descriptor, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) {
perror("Error setting a socket option!"); perror("Error setting a socket option!");
@@ -285,6 +286,7 @@ void client_disconnect(Client* client) {
void client_delete(Client* client) { void client_delete(Client* client) {
if (client == NULL) if (client == NULL)
return; return;
client_disconnect(client);
if (client->ssl_ctx) { if (client->ssl_ctx) {
SSL_CTX_free(client->ssl_ctx); SSL_CTX_free(client->ssl_ctx);
client->ssl_ctx = NULL; client->ssl_ctx = NULL;
+3 -2
View File
@@ -224,8 +224,9 @@ static void test_sendfile_no_path() {
pid_t pid = fork(); pid_t pid = fork();
if (pid == 0) { if (pid == 0) {
close(p[1]); close(p[1]);
/* When send_path is false, the sender sends raw data (size + bytes) only. /* When send_path is false, the sender still sends file_type + data */
* We need to receive just the Data, not a File. */ int file_type;
receive_int(p[0], &file_type);
Data* received = receive_data(p[0]); Data* received = receive_data(p[0]);
close(p[0]); close(p[0]);
+5 -6
View File
@@ -8,8 +8,8 @@
static void test_client_create_delete() { static void test_client_create_delete() {
Client* client = client_create(); Client* client = client_create();
EXPECT_NOT_NULL(client); EXPECT_NOT_NULL(client);
EXPECT_TRUE(client->file_descriptor >= 0); EXPECT_EQ_INT(client->file_descriptor, -1);
EXPECT_EQ_INT(client->address.sin_family, AF_INET); EXPECT_EQ_INT(client->address.ss_family, AF_UNSPEC);
EXPECT_EQ_INT(client->ssh_child_pid, -1); EXPECT_EQ_INT(client->ssh_child_pid, -1);
EXPECT_NULL(client->ssl); EXPECT_NULL(client->ssl);
EXPECT_NULL(client->ssl_ctx); EXPECT_NULL(client->ssl_ctx);
@@ -30,7 +30,7 @@ static void test_server_create_delete() {
Server* server = server_create(0); Server* server = server_create(0);
EXPECT_NOT_NULL(server); EXPECT_NOT_NULL(server);
EXPECT_TRUE(server->file_descriptor >= 0); EXPECT_TRUE(server->file_descriptor >= 0);
EXPECT_EQ_INT(server->address.sin_family, AF_INET); EXPECT_TRUE(server->address.ss_family == AF_INET || server->address.ss_family == AF_INET6);
EXPECT_NULL(server->ssl_ctx); EXPECT_NULL(server->ssl_ctx);
/* Clean up */ /* Clean up */
@@ -57,9 +57,8 @@ static void test_client_create_multiple() {
Client* c2 = client_create(); Client* c2 = client_create();
EXPECT_NOT_NULL(c1); EXPECT_NOT_NULL(c1);
EXPECT_NOT_NULL(c2); EXPECT_NOT_NULL(c2);
EXPECT_TRUE(c1->file_descriptor >= 0); EXPECT_EQ_INT(c1->file_descriptor, -1);
EXPECT_TRUE(c2->file_descriptor >= 0); EXPECT_EQ_INT(c2->file_descriptor, -1);
EXPECT_TRUE(c1->file_descriptor != c2->file_descriptor);
client_delete(c1); client_delete(c1);
client_delete(c2); client_delete(c2);