[balsa] Adjust SMTP timeouts
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] Adjust SMTP timeouts
- Date: Sun, 28 May 2017 13:38:55 +0000 (UTC)
commit d4d4b5697660f3f8fb457fd9eb7b466bf1589719
Author: Albrecht Dreß <albrecht dress arcor de>
Date: Sun May 28 09:38:23 2017 -0400
Adjust SMTP timeouts
* libnetclient/net-client-smtp.c (net_client_smtp_connect),
(net_client_smtp_send_msg): adjust all SMTP client transaction timeouts
to the minimum values (which are *very* long imho!)
required by RFC 5321, sect. 4.5.3.2.1. - 4.5.3.2.6.
Signed-off-by: Peter Bloomfield <PeterBloomfield bellsouth net>
ChangeLog | 10 ++++++++++
libnetclient/net-client-smtp.c | 5 +++++
2 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index bb2cb20..16b15f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2017-05-28 Albrecht Dreß
+
+ Adjust SMTP timeouts
+
+ * libnetclient/net-client-smtp.c (net_client_smtp_connect),
+ (net_client_smtp_send_msg): adjust all SMTP client transaction timeouts
+ to the minimum values (which are *very* long imho!)
+ required by RFC 5321, sect. 4.5.3.2.1. - 4.5.3.2.6.
+
+
2017-05-27 Peter Bloomfield <pbloomfield bellsouth net>
Increase a timeout interval
diff --git a/libnetclient/net-client-smtp.c b/libnetclient/net-client-smtp.c
index 80ed064..98b6cbc 100644
--- a/libnetclient/net-client-smtp.c
+++ b/libnetclient/net-client-smtp.c
@@ -124,6 +124,7 @@ net_client_smtp_connect(NetClientSmtp *client, gchar **greeting, GError **error)
/* get the greeting */
if (result) {
+ net_client_set_timeout(NET_CLIENT(client), 5U * 60U); /* RFC 5321, Sect. 4.5.3.2.1.: 5
minutes timeout */
result = net_client_smtp_read_reply(client, 220, greeting, error);
}
@@ -190,6 +191,7 @@ net_client_smtp_send_msg(NetClientSmtp *client, const NetClientSmtpMessage *mess
(message->recipients != NULL) && (message->data_callback != NULL), FALSE);
/* set the RFC 5321 sender and recipient(s) */
+ net_client_set_timeout(NET_CLIENT(client), 5U * 60U); /* RFC 5321, Sect. 4.5.3.2.2., 4.5.3.2.3.: 5
minutes timeout */
if (client->priv->can_dsn && message->have_dsn_rcpt) {
if (message->dsn_envid != NULL) {
result = net_client_smtp_execute(client, "MAIL FROM:<%s> RET=%s ENVID=%s", NULL,
error, message->sender,
@@ -215,6 +217,7 @@ net_client_smtp_send_msg(NetClientSmtp *client, const NetClientSmtpMessage *mess
/* initialise sending the message data */
if (result) {
+ net_client_set_timeout(NET_CLIENT(client), 2U * 60U); /* RFC 5321, Sect. 4.5.3.2.4.: 2
minutes timeout */
result = net_client_smtp_execute(client, "DATA", NULL, error);
}
@@ -224,6 +227,7 @@ net_client_smtp_send_msg(NetClientSmtp *client, const NetClientSmtpMessage *mess
gssize count;
gchar last_char = '\0';
+ net_client_set_timeout(NET_CLIENT(client), 3U * 60U); /* RFC 5321, Sect. 4.5.3.2.5.: 3
minutes timeout */
client->priv->data_state = TRUE;
do {
count = message->data_callback(buffer, SMTP_DATA_BUF_SIZE, message->user_data, error);
@@ -244,6 +248,7 @@ net_client_smtp_send_msg(NetClientSmtp *client, const NetClientSmtpMessage *mess
}
if (result) {
+ net_client_set_timeout(NET_CLIENT(client), 10U * 60U); /* RFC 5321, Sect 4.5.3.2.6.: 10
minutes timeout */
result = net_client_smtp_read_reply(client, -1, NULL, error);
client->priv->data_state = FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]