Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lavabit/magma.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjpadkins <jacobpadkins@gmail.com>2017-03-30 21:09:16 +0300
committerjpadkins <jacobpadkins@gmail.com>2017-03-30 21:09:51 +0300
commita7c5aea2f767a3cf78a5213230e60e705cc1886d (patch)
treeb647cb60cc089eb6116676f35330c2d87d0fdea1 /check/magma
parentcd5198bd7c48ab4e2a7f7e60f1328a13d4977c72 (diff)
Fixed client_close oversight in SMTP test.
Diffstat (limited to 'check/magma')
-rw-r--r--check/magma/regression/regression_check.c3
-rw-r--r--check/magma/regression/regression_check_helpers.c1
-rw-r--r--check/magma/servers/smtp/smtp_check_network.c20
3 files changed, 9 insertions, 15 deletions
diff --git a/check/magma/regression/regression_check.c b/check/magma/regression/regression_check.c
index 192a388b..6bd90e47 100644
--- a/check/magma/regression/regression_check.c
+++ b/check/magma/regression/regression_check.c
@@ -51,7 +51,7 @@ START_TEST (check_regression_file_descriptors_leak_m) {
if (folder_difference) {
outcome = false;
- errmsg = NULLER("Failed to properly clean file handles.");
+ if (!errmsg) errmsg = NULLER("Failed to properly clean file handles.");
}
}
@@ -64,6 +64,7 @@ END_TEST
START_TEST (check_regression_smtp_dot_stuffing_s) {
+ log_disable();
bool_t outcome = true;
stringer_t *errmsg = MANAGEDBUF(1024);
diff --git a/check/magma/regression/regression_check_helpers.c b/check/magma/regression/regression_check_helpers.c
index b5246f97..0b40eca7 100644
--- a/check/magma/regression/regression_check_helpers.c
+++ b/check/magma/regression/regression_check_helpers.c
@@ -28,7 +28,6 @@ void check_regression_file_descriptors_leak_test(void) {
thread_stop();
pthread_exit(outcome);
return;
-
}
/**
diff --git a/check/magma/servers/smtp/smtp_check_network.c b/check/magma/servers/smtp/smtp_check_network.c
index 3a14e2c7..18ad4d64 100644
--- a/check/magma/servers/smtp/smtp_check_network.c
+++ b/check/magma/servers/smtp/smtp_check_network.c
@@ -131,14 +131,14 @@ bool_t check_smtp_client_quit(client_t *client, stringer_t *errmsg) {
// Test the QUIT command.
if (client_print(client, "QUIT\r\n") != 6 || client_read_line(client) <= 0 ||
client_status(client) != 1 || st_cmp_cs_starts(&(client->line), NULLER("221"))) {
+
st_sprint(errmsg, "Failed to return successful status following the QUIT command.");
- client_close(client);
return false;
}
else if (client_read_line(client) > 0) {
+
st_sprint(errmsg, "The server failed to close the connection after issuing a QUIT command.");
- client_close(client);
return false;
}
@@ -208,23 +208,14 @@ bool_t check_smtp_network_basic_sthread(stringer_t *errmsg, uint32_t port, bool_
client_close(client);
return false;
}
+ // Submit QUIT and cleanup.
+ else if (!check_smtp_client_quit(client, errmsg)) {
- // Test the QUIT command.
- else if (client_print(client, "QUIT\r\n") != 6 || client_read_line(client) <= 0 ||
- client_status(client) != 1 || st_cmp_cs_starts(&(client->line), NULLER("221"))) {
- st_sprint(errmsg, "Failed to return successful status following the QUIT command.");
- client_close(client);
- return false;
- }
-
- else if (client_read_line(client) > 0) {
- st_sprint(errmsg, "The server failed to close the connection after issuing a QUIT command.");
client_close(client);
return false;
}
client_close(client);
-
return true;
}
@@ -284,8 +275,11 @@ bool_t check_smtp_network_auth_sthread(stringer_t *errmsg, uint32_t port, bool_t
}
// Submit QUIT and cleanup.
else if (!check_smtp_client_quit(client, errmsg)) {
+
+ client_close(client);
return false;
}
+ client_close(client);
return true;
}