dovecot-2.2: Changed type of internet port values to in_port_t e...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Aug 29 11:50:15 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/aabfe48db1cf
changeset: 19035:aabfe48db1cf
user: Stephan Bosch <stephan at rename-it.nl>
date: Sat Aug 29 14:26:30 2015 +0300
description:
Changed type of internet port values to in_port_t everywhere.
Created special SET_IN_PORT setting type for internet port values.
Created net_str2port() for parsing internet port values.
Removed several atoi() invocations in the process.
diffstat:
src/auth/auth-request.c | 8 +-
src/auth/auth-request.h | 2 +-
src/auth/passdb-imap.c | 3 +-
src/config/config-request.c | 8 +++
src/director/director-connection.c | 20 +++++----
src/director/director-host.c | 11 ++--
src/director/director-host.h | 8 +-
src/director/director-settings.c | 2 +-
src/director/director-settings.h | 4 +-
src/director/director-test.c | 2 +-
src/director/director.c | 4 +-
src/director/director.h | 6 +-
src/director/doveadm-connection.c | 8 +-
src/director/login-connection.c | 8 +-
src/director/main.c | 15 +++---
src/doveadm/client-connection.h | 2 +-
src/doveadm/doveadm-auth.c | 6 +-
src/doveadm/doveadm-director.c | 8 +-
src/doveadm/doveadm-mail-server.c | 5 +-
src/doveadm/doveadm-settings.c | 2 +-
src/doveadm/doveadm-settings.h | 4 +-
src/doveadm/doveadm-util.c | 14 +++---
src/doveadm/doveadm-util.h | 6 +-
src/doveadm/doveadm-zlib.c | 5 +-
src/doveadm/server-connection.c | 2 +-
src/imap-hibernate/imap-client.h | 2 +-
src/imap-hibernate/imap-hibernate-client.c | 4 +-
src/imap-login/client.c | 16 +++---
src/imap-urlauth/imap-urlauth-worker-settings.c | 2 +-
src/imap-urlauth/imap-urlauth-worker-settings.h | 2 +-
src/imap/imap-client-hibernate.c | 2 +-
src/imap/imap-master-client.c | 7 +-
src/imap/imap-settings.c | 2 +-
src/imap/imap-settings.h | 4 +-
src/lib-auth/auth-client.h | 2 +-
src/lib-auth/auth-master.h | 2 +-
src/lib-dict/dict-memcached-ascii.c | 4 +-
src/lib-dict/dict-memcached.c | 4 +-
src/lib-dict/dict-redis.c | 5 +-
src/lib-http/http-client-connection.c | 2 +-
src/lib-http/http-server-connection.c | 2 +-
src/lib-http/test-http-server.c | 4 +-
src/lib-imap-client/imapc-client.h | 4 +-
src/lib-imap-urlauth/imap-urlauth-private.h | 2 +-
src/lib-imap-urlauth/imap-urlauth.h | 4 +-
src/lib-lda/lmtp-client.c | 4 +-
src/lib-lda/lmtp-client.h | 4 +-
src/lib-lda/smtp-client.c | 5 +-
src/lib-master/master-service-haproxy.c | 8 +--
src/lib-master/master-service.h | 4 +-
src/lib-master/service-settings.h | 4 +-
src/lib-settings/settings-parser.c | 26 ++++++++++++
src/lib-settings/settings-parser.h | 5 ++
src/lib-sql/driver-mysql.c | 11 +++-
src/lib-storage/index/imapc/imapc-settings.c | 6 +--
src/lib-storage/index/imapc/imapc-settings.h | 4 +-
src/lib-storage/index/pop3c/pop3c-client.h | 4 +-
src/lib-storage/index/pop3c/pop3c-settings.c | 19 +--------
src/lib-storage/index/pop3c/pop3c-settings.h | 4 +-
src/lib-storage/mail-storage-service.h | 2 +-
src/lib/connection.c | 2 +-
src/lib/connection.h | 4 +-
src/lib/fd-close-on-exec.c | 2 +-
src/lib/iostream-rawlog.c | 5 +-
src/lib/net.c | 45 ++++++++++++++-------
src/lib/net.h | 21 +++++----
src/lib/uri-util.c | 30 ++++++-------
src/lmtp/client.h | 2 +-
src/lmtp/commands.c | 11 +++-
src/lmtp/lmtp-proxy.h | 4 +-
src/login-common/client-common-auth.c | 9 ++-
src/login-common/client-common.h | 6 +-
src/login-common/login-common.h | 5 +-
src/login-common/login-proxy-state.c | 2 +-
src/login-common/login-proxy-state.h | 4 +-
src/login-common/login-proxy.c | 8 +-
src/login-common/login-proxy.h | 6 +-
src/master/master-settings.c | 4 +-
src/master/service-listen.c | 10 ++-
src/master/service.c | 14 +-----
src/pop3-login/client.c | 5 +-
src/replication/aggregator/aggregator-settings.c | 2 +-
src/replication/aggregator/aggregator-settings.h | 2 +-
src/replication/aggregator/replicator-connection.c | 5 +-
src/replication/aggregator/replicator-connection.h | 2 +-
85 files changed, 310 insertions(+), 249 deletions(-)
diffs (truncated from 2165 to 300 lines):
diff -r f7c1c1dac689 -r aabfe48db1cf src/auth/auth-request.c
--- a/src/auth/auth-request.c Sat Aug 29 14:21:27 2015 +0300
+++ b/src/auth/auth-request.c Sat Aug 29 14:26:30 2015 +0300
@@ -276,11 +276,11 @@
if (request->real_remote_ip.family == 0)
request->real_remote_ip = request->remote_ip;
} else if (strcmp(key, "lport") == 0) {
- request->local_port = atoi(value);
+ (void)net_str2port(value, &request->local_port);
if (request->real_local_port == 0)
request->real_local_port = request->local_port;
} else if (strcmp(key, "rport") == 0) {
- request->remote_port = atoi(value);
+ (void)net_str2port(value, &request->remote_port);
if (request->real_remote_port == 0)
request->real_remote_port = request->remote_port;
}
@@ -289,9 +289,9 @@
else if (strcmp(key, "real_rip") == 0)
(void)net_addr2ip(value, &request->real_remote_ip);
else if (strcmp(key, "real_lport") == 0)
- request->real_local_port = atoi(value);
+ (void)net_str2port(value, &request->real_local_port);
else if (strcmp(key, "real_rport") == 0)
- request->real_remote_port = atoi(value);
+ (void)net_str2port(value, &request->real_remote_port);
else if (strcmp(key, "session") == 0)
request->session_id = p_strdup(request->pool, value);
else
diff -r f7c1c1dac689 -r aabfe48db1cf src/auth/auth-request.h
--- a/src/auth/auth-request.h Sat Aug 29 14:21:27 2015 +0300
+++ b/src/auth/auth-request.h Sat Aug 29 14:26:30 2015 +0300
@@ -73,7 +73,7 @@
const char *service, *mech_name, *session_id;
struct ip_addr local_ip, remote_ip, real_local_ip, real_remote_ip;
- unsigned int local_port, remote_port, real_local_port, real_remote_port;
+ in_port_t local_port, remote_port, real_local_port, real_remote_port;
struct timeout *to_abort, *to_penalty;
unsigned int last_penalty;
diff -r f7c1c1dac689 -r aabfe48db1cf src/auth/passdb-imap.c
--- a/src/auth/passdb-imap.c Sat Aug 29 14:21:27 2015 +0300
+++ b/src/auth/passdb-imap.c Sat Aug 29 14:26:30 2015 +0300
@@ -133,8 +133,7 @@
if (strcmp(key, "host") == 0)
module->set.host = value;
else if (strcmp(key, "port") == 0) {
- if (str_to_uint(value, &module->set.port) < 0 ||
- module->set.port == 0 || module->set.port > 65535)
+ if (net_str2port(value, &module->set.port) < 0)
i_fatal("passdb imap: Invalid port: %s", value);
port_set = TRUE;
} else if (strcmp(key, "username") == 0)
diff -r f7c1c1dac689 -r aabfe48db1cf src/config/config-request.c
--- a/src/config/config-request.c Sat Aug 29 14:21:27 2015 +0300
+++ b/src/config/config-request.c Sat Aug 29 14:26:30 2015 +0300
@@ -116,6 +116,13 @@
}
break;
}
+ case SET_IN_PORT: {
+ const in_port_t *val = value, *dval = default_value;
+
+ if (dump_default || dval == NULL || *val != *dval)
+ str_printfa(str, "%u", *val);
+ break;
+ }
case SET_STR_VARS: {
const char *const *val = value, *sval;
const char *const *_dval = default_value;
@@ -245,6 +252,7 @@
case SET_UINT:
case SET_UINT_OCT:
case SET_TIME:
+ case SET_IN_PORT:
case SET_STR_VARS:
case SET_STR:
case SET_ENUM:
diff -r f7c1c1dac689 -r aabfe48db1cf src/director/director-connection.c
--- a/src/director/director-connection.c Sat Aug 29 14:21:27 2015 +0300
+++ b/src/director/director-connection.c Sat Aug 29 14:26:30 2015 +0300
@@ -345,7 +345,7 @@
static bool
director_args_parse_ip_port(struct director_connection *conn,
const char *const *args,
- struct ip_addr *ip_r, unsigned int *port_r)
+ struct ip_addr *ip_r, in_port_t *port_r)
{
if (args[0] == NULL || args[1] == NULL) {
director_cmd_error(conn, "Missing IP+port parameters");
@@ -355,7 +355,7 @@
director_cmd_error(conn, "Invalid IP address: %s", args[0]);
return FALSE;
}
- if (str_to_uint(args[1], port_r) < 0) {
+ if (net_str2port(args[1], port_r) < 0) {
director_cmd_error(conn, "Invalid port: %s", args[1]);
return FALSE;
}
@@ -368,7 +368,7 @@
struct director *dir = conn->dir;
const char *connect_str;
struct ip_addr ip;
- unsigned int port;
+ in_port_t port;
time_t next_comm_attempt;
if (!director_args_parse_ip_port(conn, args, &ip, &port))
@@ -650,7 +650,7 @@
{
struct director_host *host;
struct ip_addr ip;
- unsigned int port;
+ in_port_t port;
if (!director_args_parse_ip_port(conn, args, &ip, &port))
return FALSE;
@@ -699,7 +699,7 @@
{
struct director_host *host;
struct ip_addr ip;
- unsigned int port;
+ in_port_t port;
if (!director_args_parse_ip_port(conn, args, &ip, &port))
return FALSE;
@@ -746,12 +746,13 @@
{
const char *const *args = *_args;
struct ip_addr ip;
- unsigned int port, seq;
+ in_port_t port;
+ unsigned int seq;
struct director_host *host;
if (str_array_length(args) < 3 ||
net_addr2ip(args[0], &ip) < 0 ||
- str_to_uint(args[1], &port) < 0 ||
+ net_str2port(args[1], &port) < 0 ||
str_to_uint(args[2], &seq) < 0) {
director_cmd_error(conn, "Invalid parameters");
return -1;
@@ -1295,7 +1296,8 @@
struct director *dir = conn->dir;
struct director_host *host;
struct ip_addr ip;
- unsigned int port, seq, minor_version = 0, timestamp = ioloop_time;
+ in_port_t port;
+ unsigned int seq, minor_version = 0, timestamp = ioloop_time;
if (str_array_length(args) < 3 ||
!director_args_parse_ip_port(conn, args, &ip, &port) ||
@@ -1332,7 +1334,7 @@
struct director *dir = conn->dir;
struct director_host *host;
struct ip_addr ip;
- unsigned int port;
+ in_port_t port;
if (str_array_length(args) != 2 ||
!director_args_parse_ip_port(conn, args, &ip, &port)) {
diff -r f7c1c1dac689 -r aabfe48db1cf src/director/director-host.c
--- a/src/director/director-host.c Sat Aug 29 14:21:27 2015 +0300
+++ b/src/director/director-host.c Sat Aug 29 14:26:30 2015 +0300
@@ -24,7 +24,7 @@
struct director_host *
director_host_add(struct director *dir,
- const struct ip_addr *ip, unsigned int port)
+ const struct ip_addr *ip, in_port_t port)
{
struct director_host *host;
@@ -90,7 +90,7 @@
struct director_host *
director_host_get(struct director *dir, const struct ip_addr *ip,
- unsigned int port)
+ in_port_t port)
{
struct director_host *host;
@@ -102,7 +102,7 @@
struct director_host *
director_host_lookup(struct director *dir, const struct ip_addr *ip,
- unsigned int port)
+ in_port_t port)
{
struct director_host *const *hostp;
@@ -150,12 +150,13 @@
static void director_host_add_string(struct director *dir, const char *host)
{
struct ip_addr *ips;
- unsigned int i, port, ips_count;
+ in_port_t port;
+ unsigned int i, ips_count;
const char *p;
p = strrchr(host, ':');
if (p != NULL) {
- if (str_to_uint(p + 1, &port) < 0 || port == 0 || port > 65535)
+ if (net_str2port(p + 1, &port) < 0)
i_fatal("Invalid director port in %s", host);
host = t_strdup_until(host, p);
} else {
diff -r f7c1c1dac689 -r aabfe48db1cf src/director/director-host.h
--- a/src/director/director-host.h Sat Aug 29 14:21:27 2015 +0300
+++ b/src/director/director-host.h Sat Aug 29 14:26:30 2015 +0300
@@ -10,7 +10,7 @@
int refcount;
struct ip_addr ip;
- unsigned int port;
+ in_port_t port;
/* name contains "ip:port" */
char *name;
@@ -33,7 +33,7 @@
struct director_host *
director_host_add(struct director *dir, const struct ip_addr *ip,
- unsigned int port);
+ in_port_t port);
void director_host_free(struct director_host **host);
void director_host_ref(struct director_host *host);
@@ -43,10 +43,10 @@
struct director_host *
director_host_get(struct director *dir, const struct ip_addr *ip,
- unsigned int port);
+ in_port_t port);
struct director_host *
director_host_lookup(struct director *dir, const struct ip_addr *ip,
- unsigned int port);
+ in_port_t port);
struct director_host *
director_host_lookup_ip(struct director *dir, const struct ip_addr *ip);
diff -r f7c1c1dac689 -r aabfe48db1cf src/director/director-settings.c
--- a/src/director/director-settings.c Sat Aug 29 14:21:27 2015 +0300
+++ b/src/director/director-settings.c Sat Aug 29 14:26:30 2015 +0300
@@ -72,7 +72,7 @@
DEF(SET_STR, director_mail_servers),
DEF(SET_STR, director_username_hash),
DEF(SET_TIME, director_user_expire),
- DEF(SET_UINT, director_doveadm_port),
+ DEF(SET_IN_PORT, director_doveadm_port),
DEF(SET_BOOL, director_consistent_hashing),
SETTING_DEFINE_LIST_END
diff -r f7c1c1dac689 -r aabfe48db1cf src/director/director-settings.h
--- a/src/director/director-settings.h Sat Aug 29 14:21:27 2015 +0300
+++ b/src/director/director-settings.h Sat Aug 29 14:26:30 2015 +0300
@@ -1,6 +1,8 @@
#ifndef DIRECTOR_SETTINGS_H
#define DIRECTOR_SETTINGS_H
+#include "net.h"
+
struct director_settings {
const char *master_user_separator;
@@ -8,7 +10,7 @@
const char *director_mail_servers;
const char *director_username_hash;
unsigned int director_user_expire;
- unsigned int director_doveadm_port;
+ in_port_t director_doveadm_port;
bool director_consistent_hashing;
};
diff -r f7c1c1dac689 -r aabfe48db1cf src/director/director-test.c
--- a/src/director/director-test.c Sat Aug 29 14:21:27 2015 +0300
+++ b/src/director/director-test.c Sat Aug 29 14:26:30 2015 +0300
@@ -388,7 +388,7 @@
static void client_connected(struct master_service_connection *conn)
{
struct ip_addr local_ip, remote_ip;
- unsigned int local_port;
+ in_port_t local_port;
if (net_getsockname(conn->fd, &local_ip, &local_port) < 0)
i_fatal("net_getsockname() failed: %m");
diff -r f7c1c1dac689 -r aabfe48db1cf src/director/director.c
--- a/src/director/director.c Sat Aug 29 14:21:27 2015 +0300
+++ b/src/director/director.c Sat Aug 29 14:26:30 2015 +0300
@@ -103,7 +103,7 @@
int director_connect_host(struct director *dir, struct director_host *host)
{
- unsigned int port;
+ in_port_t port;
int fd;
if (director_has_outgoing_connection(dir, host))
@@ -928,7 +928,7 @@
More information about the dovecot-cvs
mailing list