From bab330e467f66677fb2f22a36a3386a814178b57 Mon Sep 17 00:00:00 2001 From: John Plevyak Date: Sat, 27 Dec 2014 10:58:46 -0800 Subject: [PATCH] Fix handling of ports over 32767 by using 'int' instead of 'short'. --- conf.c | 6 +++--- conf.h | 6 +++--- server.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/conf.c b/conf.c index 4fce300..e2b1399 100644 --- a/conf.c +++ b/conf.c @@ -54,18 +54,18 @@ conf_read(const char *filename) { free(conf->redis_host); conf->redis_host = strdup(json_string_value(jtmp)); } else if(strcmp(json_object_iter_key(kv), "redis_port") == 0 && json_typeof(jtmp) == JSON_INTEGER) { - conf->redis_port = (short)json_integer_value(jtmp); + conf->redis_port = (int)json_integer_value(jtmp); } else if(strcmp(json_object_iter_key(kv), "redis_auth") == 0 && json_typeof(jtmp) == JSON_STRING) { conf->redis_auth = strdup(json_string_value(jtmp)); } else if(strcmp(json_object_iter_key(kv), "http_host") == 0 && json_typeof(jtmp) == JSON_STRING) { free(conf->http_host); conf->http_host = strdup(json_string_value(jtmp)); } else if(strcmp(json_object_iter_key(kv), "http_port") == 0 && json_typeof(jtmp) == JSON_INTEGER) { - conf->http_port = (short)json_integer_value(jtmp); + conf->http_port = (int)json_integer_value(jtmp); } else if(strcmp(json_object_iter_key(kv), "http_max_request_size") == 0 && json_typeof(jtmp) == JSON_INTEGER) { conf->http_max_request_size = (size_t)json_integer_value(jtmp); } else if(strcmp(json_object_iter_key(kv), "threads") == 0 && json_typeof(jtmp) == JSON_INTEGER) { - conf->http_threads = (short)json_integer_value(jtmp); + conf->http_threads = (int)json_integer_value(jtmp); } else if(strcmp(json_object_iter_key(kv), "acl") == 0 && json_typeof(jtmp) == JSON_ARRAY) { conf->perms = conf_parse_acls(jtmp); } else if(strcmp(json_object_iter_key(kv), "user") == 0 && json_typeof(jtmp) == JSON_STRING) { diff --git a/conf.h b/conf.h index 28ba115..fade3ab 100644 --- a/conf.h +++ b/conf.h @@ -8,13 +8,13 @@ struct conf { /* connection to Redis */ char *redis_host; - short redis_port; + int redis_port; char *redis_auth; /* HTTP server interface */ char *http_host; - short http_port; - short http_threads; + int http_port; + int http_threads; size_t http_max_request_size; /* pool size, one pool per worker thread */ diff --git a/server.c b/server.c index 12ca4a9..a12126f 100644 --- a/server.c +++ b/server.c @@ -21,7 +21,7 @@ * Sets up a non-blocking socket */ static int -socket_setup(struct server *s, const char *ip, short port) { +socket_setup(struct server *s, const char *ip, int port) { int reuse = 1; struct sockaddr_in addr;