imapc_connection_try_reconnect(conn, t_strdup_printf(
"connect(%s, %u) failed: %s",
net_ip2addr(ip), conn->client->set->imapc_port,
- strerror(err)), conn->client->set->imapc_connection_retry_interval, TRUE);
+ strerror(err)), conn->client->set->imapc_connection_retry_interval_msecs, TRUE);
return -1;
}
if (net_getsockname(conn->fd, &local_ip, &local_port) < 0)
case IMAPC_CONNECTION_STATE_CONNECTING:
errstr = t_strdup_printf("connect(%s, %u) timed out after %u seconds",
net_ip2addr(ip), conn->client->set->imapc_port,
- conn->client->set->imapc_connection_timeout_interval/1000);
+ conn->client->set->imapc_connection_timeout_interval_msecs/1000);
connect_error = TRUE;
break;
case IMAPC_CONNECTION_STATE_AUTHENTICATING:
errstr = t_strdup_printf("Authentication timed out after %u seconds",
- conn->client->set->imapc_connection_timeout_interval/1000);
+ conn->client->set->imapc_connection_timeout_interval_msecs/1000);
break;
default:
i_unreached();
unsigned int i;
int fd;
- i_assert(conn->client->set->imapc_max_idle_time > 0);
+ i_assert(conn->client->set->imapc_max_idle_time_secs > 0);
for (i = 0; i<conn->ips_count;) {
conn->prev_connect_idx = (conn->prev_connect_idx+1) % conn->ips_count;
net_ip2addr(ip), conn->client->set->imapc_port);
if (conn->prev_connect_idx+1 == conn->ips_count) {
imapc_connection_try_reconnect(conn, error,
- conn->client->set->imapc_connection_retry_interval, TRUE);
+ conn->client->set->imapc_connection_retry_interval_msecs, TRUE);
return;
}
e_error(conn->event, "%s", error);
conn);
conn->parser = imap_parser_create(conn->input, NULL,
conn->client->set->imapc_max_line_length);
- conn->to = timeout_add(conn->client->set->imapc_connection_timeout_interval,
+ conn->to = timeout_add(conn->client->set->imapc_connection_timeout_interval_msecs,
imapc_connection_timeout, conn);
- conn->to_output = timeout_add(conn->client->set->imapc_max_idle_time*1000,
+ conn->to_output = timeout_add(conn->client->set->imapc_max_idle_time_secs*1000,
imapc_connection_reset_idle, conn);
e_debug(conn->event, "Connecting to %s:%u", net_ip2addr(ip),
conn->client->set->imapc_port);
i_zero(&dns_set);
dns_set.dns_client_socket_path = conn->client->dns_client_socket_path;
- dns_set.timeout_msecs = conn->client->set->imapc_connection_timeout_interval;
+ dns_set.timeout_msecs = conn->client->set->imapc_connection_timeout_interval_msecs;
dns_set.event_parent = conn->event;
imapc_connection_set_state(conn, IMAPC_CONNECTION_STATE_CONNECTING);
conn->to = timeout_add(IMAPC_LOGOUT_TIMEOUT_MSECS,
imapc_command_timeout, conn);
} else if (conn->to == NULL) {
- conn->to = timeout_add(conn->client->set->imapc_cmd_timeout * 1000,
+ conn->to = timeout_add(conn->client->set->imapc_cmd_timeout_secs * 1000,
imapc_command_timeout, conn);
}
o_stream_nsend_str(conn->output, "DONE\r\n");
if (conn->to == NULL) {
conn->to = timeout_add(
- conn->client->set->imapc_cmd_timeout * 1000,
+ conn->client->set->imapc_cmd_timeout_secs * 1000,
imapc_command_timeout, conn);
}
}
#define DEF(type, name) \
SETTING_DEFINE_STRUCT_##type(#name, name, struct imapc_settings)
+#undef DEF_MSECS
+#define DEF_MSECS(type, name) \
+ SETTING_DEFINE_STRUCT_##type(#name, name##_msecs, struct imapc_settings)
+
+#undef DEF_SECS
+#define DEF_SECS(type, name) \
+ SETTING_DEFINE_STRUCT_##type(#name, name##_secs, struct imapc_settings)
+
static bool imapc_settings_check(void *_set, pool_t pool, const char **error_r);
static const struct setting_define imapc_setting_defines[] = {
DEF(BOOLLIST, imapc_features),
DEF(STR, imapc_rawlog_dir),
DEF(STR, imapc_list_prefix),
- DEF(TIME, imapc_cmd_timeout),
- DEF(TIME, imapc_max_idle_time),
- DEF(TIME_MSECS, imapc_connection_timeout_interval),
+ DEF_SECS(TIME, imapc_cmd_timeout),
+ DEF_SECS(TIME, imapc_max_idle_time),
+ DEF_MSECS(TIME_MSECS, imapc_connection_timeout_interval),
DEF(UINT, imapc_connection_retry_count),
- DEF(TIME_MSECS, imapc_connection_retry_interval),
+ DEF_MSECS(TIME_MSECS, imapc_connection_retry_interval),
DEF(SIZE, imapc_max_line_length),
DEF(STR, pop3_deleted_flag),
.imapc_features = ARRAY_INIT,
.imapc_rawlog_dir = "",
.imapc_list_prefix = "",
- .imapc_cmd_timeout = 5*60,
- .imapc_max_idle_time = IMAPC_DEFAULT_MAX_IDLE_TIME,
- .imapc_connection_timeout_interval = 1000*30,
+ .imapc_cmd_timeout_secs = 5*60,
+ .imapc_max_idle_time_secs = IMAPC_DEFAULT_MAX_IDLE_TIME,
+ .imapc_connection_timeout_interval_msecs = 1000*30,
.imapc_connection_retry_count = 1,
- .imapc_connection_retry_interval = 1000,
+ .imapc_connection_retry_interval_msecs = 1000,
.imapc_max_line_length = SET_SIZE_UNLIMITED,
.pop3_deleted_flag = "",
{
struct imapc_settings *set = _set;
- if (set->imapc_max_idle_time == 0) {
+ if (set->imapc_max_idle_time_secs == 0) {
*error_r = "imapc_max_idle_time must not be 0";
return FALSE;
}
ARRAY_TYPE(const_string) imapc_features;
const char *imapc_rawlog_dir;
const char *imapc_list_prefix;
- unsigned int imapc_cmd_timeout;
- unsigned int imapc_max_idle_time;
- unsigned int imapc_connection_timeout_interval;
+ unsigned int imapc_cmd_timeout_secs;
+ unsigned int imapc_max_idle_time_secs;
+ unsigned int imapc_connection_timeout_interval_msecs;
unsigned int imapc_connection_retry_count;
- unsigned int imapc_connection_retry_interval;
+ unsigned int imapc_connection_retry_interval_msecs;
uoff_t imapc_max_line_length;
const char *pop3_deleted_flag;
","),
t_array_const_string_join(&storage->set->imapc_features, ","),
storage->set->imapc_rawlog_dir,
- storage->set->imapc_cmd_timeout,
- storage->set->imapc_max_idle_time,
+ storage->set->imapc_cmd_timeout_secs,
+ storage->set->imapc_max_idle_time_secs,
(size_t) storage->set->imapc_max_line_length,
storage->set->pop3_deleted_flag,
ns->list->mail_set->mail_path);