Loading src/common/compat.c +5 −9 Original line number Diff line number Diff line Loading @@ -754,10 +754,6 @@ tor_socketpair(int family, int type, int protocol, int fd[2]) #define ULIMIT_BUFFER 32 /* keep 32 extra fd's beyond _ConnLimit */ #if defined(HAVE_GETRLIMIT) && !defined(HAVE_RLIM_T) typedef unsigned long rlim_t; #endif /** Learn the maximum allowed number of file descriptors. (Some systems * have a low soft limit. * Loading @@ -767,7 +763,7 @@ typedef unsigned long rlim_t; * * Otherwise, return 0 and store the maximum we found inside <b>max_out</b>.*/ int set_max_file_descriptors(unsigned long limit, int *max_out) set_max_file_descriptors(rlim_t limit, int *max_out) { #define DEFAULT_MAX_CONNECTIONS 15000 #define CYGWIN_MAX_CONNECTIONS 3200 Loading Loading @@ -819,10 +815,10 @@ set_max_file_descriptors(unsigned long limit, int *max_out) return -1; } if ((unsigned long)rlim.rlim_max < limit) { if (rlim.rlim_max < limit) { log_warn(LD_CONFIG,"We need %lu file descriptors available, and we're " "limited to %lu. Please change your ulimit -n.", limit, (unsigned long)rlim.rlim_max); (unsigned long)limit, (unsigned long)rlim.rlim_max); return -1; } Loading @@ -843,7 +839,7 @@ set_max_file_descriptors(unsigned long limit, int *max_out) if (rlim.rlim_cur < (rlim_t)limit) { log_warn(LD_CONFIG, "We are limited to %lu file descriptors by " "OPEN_MAX, and ConnLimit is %lu. Changing ConnLimit; sorry.", (unsigned long)OPEN_MAX, limit); (unsigned long)OPEN_MAX, (unsigned long)limit); } else { log_info(LD_CONFIG, "Dropped connection limit to OPEN_MAX (%lu); " "Apparently, %lu was too high and rlimit lied to us.", Loading src/common/compat.h +10 −1 Original line number Diff line number Diff line Loading @@ -37,9 +37,15 @@ #include <ctype.h> #endif #include <stdarg.h> #ifdef HAVE_SYS_RESOURCE_H #include <sys/resource.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_NETINET_IN_H #include <netinet/in.h> #endif Loading Loading @@ -443,7 +449,10 @@ uint32_t get_uint32(const char *cp) ATTR_PURE ATTR_NONNULL((1)); void set_uint16(char *cp, uint16_t v) ATTR_NONNULL((1)); void set_uint32(char *cp, uint32_t v) ATTR_NONNULL((1)); int set_max_file_descriptors(unsigned long limit, int *max); #if !defined(HAVE_RLIM_T) typedef unsigned long rlim_t; #endif int set_max_file_descriptors(rlim_t limit, int *max); int switch_id(const char *user, const char *group); #ifdef HAVE_PWD_H char *get_user_homedir(const char *username); Loading src/or/buffers.c +2 −2 Original line number Diff line number Diff line Loading @@ -998,7 +998,7 @@ move_buf_to_buf(buf_t *buf_out, buf_t *buf_in, size_t *buf_flushlen) /** Internal structure: represents a position in a buffer. */ typedef struct buf_pos_t { const chunk_t *chunk; /**< Which chunk are we pointing to? */ off_t pos;/**< Which character inside the chunk's data are we pointing to? */ int pos;/**< Which character inside the chunk's data are we pointing to? */ size_t chunk_pos; /**< Total length of all previous chunks. */ } buf_pos_t; Loading src/or/eventdns.c +7 −3 Original line number Diff line number Diff line Loading @@ -1298,8 +1298,12 @@ dnslabel_table_get_pos(const struct dnslabel_table *table, const char *label) { int i; for (i = 0; i < table->n_labels; ++i) { if (!strcmp(label, table->labels[i].v)) return table->labels[i].pos; if (!strcmp(label, table->labels[i].v)) { off_t pos = table->labels[i].pos; if (pos > 65535) return -1; return (int)pos; } } return -1; } Loading Loading @@ -1682,7 +1686,7 @@ overflow: buf[3] |= 0x02; /* set the truncated bit. */ } req->response_len = j; req->response_len = (size_t)j; if (!(req->response = malloc(req->response_len))) { server_request_free_answers(req); Loading src/or/rephist.c +3 −2 Original line number Diff line number Diff line Loading @@ -361,8 +361,9 @@ rep_hist_downrate_old_runs(time_t now) (unsigned long)(hist->weighted_run_length * alpha); hist->total_run_weights *= alpha; hist->weighted_uptime *= alpha; hist->total_weighted_time *= alpha; hist->weighted_uptime = (unsigned long)(hist->weighted_uptime * alpha); hist->total_weighted_time = (unsigned long) (hist->total_weighted_time * alpha); } return stability_last_downrated + STABILITY_INTERVAL; Loading Loading
src/common/compat.c +5 −9 Original line number Diff line number Diff line Loading @@ -754,10 +754,6 @@ tor_socketpair(int family, int type, int protocol, int fd[2]) #define ULIMIT_BUFFER 32 /* keep 32 extra fd's beyond _ConnLimit */ #if defined(HAVE_GETRLIMIT) && !defined(HAVE_RLIM_T) typedef unsigned long rlim_t; #endif /** Learn the maximum allowed number of file descriptors. (Some systems * have a low soft limit. * Loading @@ -767,7 +763,7 @@ typedef unsigned long rlim_t; * * Otherwise, return 0 and store the maximum we found inside <b>max_out</b>.*/ int set_max_file_descriptors(unsigned long limit, int *max_out) set_max_file_descriptors(rlim_t limit, int *max_out) { #define DEFAULT_MAX_CONNECTIONS 15000 #define CYGWIN_MAX_CONNECTIONS 3200 Loading Loading @@ -819,10 +815,10 @@ set_max_file_descriptors(unsigned long limit, int *max_out) return -1; } if ((unsigned long)rlim.rlim_max < limit) { if (rlim.rlim_max < limit) { log_warn(LD_CONFIG,"We need %lu file descriptors available, and we're " "limited to %lu. Please change your ulimit -n.", limit, (unsigned long)rlim.rlim_max); (unsigned long)limit, (unsigned long)rlim.rlim_max); return -1; } Loading @@ -843,7 +839,7 @@ set_max_file_descriptors(unsigned long limit, int *max_out) if (rlim.rlim_cur < (rlim_t)limit) { log_warn(LD_CONFIG, "We are limited to %lu file descriptors by " "OPEN_MAX, and ConnLimit is %lu. Changing ConnLimit; sorry.", (unsigned long)OPEN_MAX, limit); (unsigned long)OPEN_MAX, (unsigned long)limit); } else { log_info(LD_CONFIG, "Dropped connection limit to OPEN_MAX (%lu); " "Apparently, %lu was too high and rlimit lied to us.", Loading
src/common/compat.h +10 −1 Original line number Diff line number Diff line Loading @@ -37,9 +37,15 @@ #include <ctype.h> #endif #include <stdarg.h> #ifdef HAVE_SYS_RESOURCE_H #include <sys/resource.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_NETINET_IN_H #include <netinet/in.h> #endif Loading Loading @@ -443,7 +449,10 @@ uint32_t get_uint32(const char *cp) ATTR_PURE ATTR_NONNULL((1)); void set_uint16(char *cp, uint16_t v) ATTR_NONNULL((1)); void set_uint32(char *cp, uint32_t v) ATTR_NONNULL((1)); int set_max_file_descriptors(unsigned long limit, int *max); #if !defined(HAVE_RLIM_T) typedef unsigned long rlim_t; #endif int set_max_file_descriptors(rlim_t limit, int *max); int switch_id(const char *user, const char *group); #ifdef HAVE_PWD_H char *get_user_homedir(const char *username); Loading
src/or/buffers.c +2 −2 Original line number Diff line number Diff line Loading @@ -998,7 +998,7 @@ move_buf_to_buf(buf_t *buf_out, buf_t *buf_in, size_t *buf_flushlen) /** Internal structure: represents a position in a buffer. */ typedef struct buf_pos_t { const chunk_t *chunk; /**< Which chunk are we pointing to? */ off_t pos;/**< Which character inside the chunk's data are we pointing to? */ int pos;/**< Which character inside the chunk's data are we pointing to? */ size_t chunk_pos; /**< Total length of all previous chunks. */ } buf_pos_t; Loading
src/or/eventdns.c +7 −3 Original line number Diff line number Diff line Loading @@ -1298,8 +1298,12 @@ dnslabel_table_get_pos(const struct dnslabel_table *table, const char *label) { int i; for (i = 0; i < table->n_labels; ++i) { if (!strcmp(label, table->labels[i].v)) return table->labels[i].pos; if (!strcmp(label, table->labels[i].v)) { off_t pos = table->labels[i].pos; if (pos > 65535) return -1; return (int)pos; } } return -1; } Loading Loading @@ -1682,7 +1686,7 @@ overflow: buf[3] |= 0x02; /* set the truncated bit. */ } req->response_len = j; req->response_len = (size_t)j; if (!(req->response = malloc(req->response_len))) { server_request_free_answers(req); Loading
src/or/rephist.c +3 −2 Original line number Diff line number Diff line Loading @@ -361,8 +361,9 @@ rep_hist_downrate_old_runs(time_t now) (unsigned long)(hist->weighted_run_length * alpha); hist->total_run_weights *= alpha; hist->weighted_uptime *= alpha; hist->total_weighted_time *= alpha; hist->weighted_uptime = (unsigned long)(hist->weighted_uptime * alpha); hist->total_weighted_time = (unsigned long) (hist->total_weighted_time * alpha); } return stability_last_downrated + STABILITY_INTERVAL; Loading