Fix handling of ports over 32767 by using 'int' instead of 'short'.

master
John Plevyak 10 years ago committed by John Plevyak
parent 00ab5518c3
commit bab330e467

@ -54,18 +54,18 @@ conf_read(const char *filename) {
free(conf->redis_host); free(conf->redis_host);
conf->redis_host = strdup(json_string_value(jtmp)); conf->redis_host = strdup(json_string_value(jtmp));
} else if(strcmp(json_object_iter_key(kv), "redis_port") == 0 && json_typeof(jtmp) == JSON_INTEGER) { } 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) { } else if(strcmp(json_object_iter_key(kv), "redis_auth") == 0 && json_typeof(jtmp) == JSON_STRING) {
conf->redis_auth = strdup(json_string_value(jtmp)); conf->redis_auth = strdup(json_string_value(jtmp));
} else if(strcmp(json_object_iter_key(kv), "http_host") == 0 && json_typeof(jtmp) == JSON_STRING) { } else if(strcmp(json_object_iter_key(kv), "http_host") == 0 && json_typeof(jtmp) == JSON_STRING) {
free(conf->http_host); free(conf->http_host);
conf->http_host = strdup(json_string_value(jtmp)); conf->http_host = strdup(json_string_value(jtmp));
} else if(strcmp(json_object_iter_key(kv), "http_port") == 0 && json_typeof(jtmp) == JSON_INTEGER) { } 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) { } 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); 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) { } 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) { } else if(strcmp(json_object_iter_key(kv), "acl") == 0 && json_typeof(jtmp) == JSON_ARRAY) {
conf->perms = conf_parse_acls(jtmp); conf->perms = conf_parse_acls(jtmp);
} else if(strcmp(json_object_iter_key(kv), "user") == 0 && json_typeof(jtmp) == JSON_STRING) { } else if(strcmp(json_object_iter_key(kv), "user") == 0 && json_typeof(jtmp) == JSON_STRING) {

@ -8,13 +8,13 @@ struct conf {
/* connection to Redis */ /* connection to Redis */
char *redis_host; char *redis_host;
short redis_port; int redis_port;
char *redis_auth; char *redis_auth;
/* HTTP server interface */ /* HTTP server interface */
char *http_host; char *http_host;
short http_port; int http_port;
short http_threads; int http_threads;
size_t http_max_request_size; size_t http_max_request_size;
/* pool size, one pool per worker thread */ /* pool size, one pool per worker thread */

@ -21,7 +21,7 @@
* Sets up a non-blocking socket * Sets up a non-blocking socket
*/ */
static int 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; int reuse = 1;
struct sockaddr_in addr; struct sockaddr_in addr;

Loading…
Cancel
Save