From a813ddfeae4b5742bf1107b6a6a3cfe0de4627c1 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 12 Apr 2016 08:40:36 -0400 Subject: [PATCH 1/2] fix compiler warnings due to conflicting int types Change-Id: If61e59b8512357b3b3049387b2d37d67cdf5af3c --- daemon/cli.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/daemon/cli.c b/daemon/cli.c index 02038bd00..f8ba6cdf8 100644 --- a/daemon/cli.c +++ b/daemon/cli.c @@ -292,13 +292,13 @@ static void cli_incoming_list_callid(char* buffer, int len, struct callmaster* m static void cli_incoming_set_maxopenfiles(char* buffer, int len, struct callmaster* m, char* replybuffer, const char* outbufend) { int printlen = 0; - unsigned int open_files_num; + unsigned long open_files_num; str open_files; pid_t pid; char *endptr; // limit the minimum number of open files to avoid rtpengine freeze for low open_files_num values - unsigned int min_open_files_num = (1 << 16); + unsigned long min_open_files_num = (1 << 16); if (len <= 1) { printlen = snprintf(replybuffer,(outbufend-replybuffer), "%s\n", "More parameters required."); @@ -309,7 +309,7 @@ static void cli_incoming_set_maxopenfiles(char* buffer, int len, struct callmast ++buffer; --len; // one space open_files.s = buffer; open_files.len = len; - open_files_num = strtol(open_files.s, &endptr, 10); + open_files_num = strtoul(open_files.s, &endptr, 10); if ((errno == ERANGE && (open_files_num == LONG_MAX || open_files_num == LONG_MIN)) || (errno != 0 && open_files_num == 0)) { printlen = snprintf (replybuffer,(outbufend-replybuffer), "Fail setting open_files to %.*s; errno=%d\n", open_files.len, open_files.s, errno); @@ -320,23 +320,23 @@ static void cli_incoming_set_maxopenfiles(char* buffer, int len, struct callmast ADJUSTLEN(printlen,outbufend,replybuffer); return; } else if (open_files_num < min_open_files_num) { - printlen = snprintf (replybuffer,(outbufend-replybuffer), "Fail setting open_files to %u; can't set it under %u\n", open_files_num, min_open_files_num); + printlen = snprintf (replybuffer,(outbufend-replybuffer), "Fail setting open_files to %lu; can't set it under %lu\n", open_files_num, min_open_files_num); ADJUSTLEN(printlen,outbufend,replybuffer); return; } else if (rlim(RLIMIT_NOFILE, open_files_num) == -1){ - printlen = snprintf (replybuffer,(outbufend-replybuffer), "Fail setting open_files to %u; errno = %d\n", open_files_num, errno); + printlen = snprintf (replybuffer,(outbufend-replybuffer), "Fail setting open_files to %lu; errno = %d\n", open_files_num, errno); ADJUSTLEN(printlen,outbufend,replybuffer); return; } else { pid = getpid(); - printlen = snprintf (replybuffer,(outbufend-replybuffer), "Success setting open_files to %u; cat /proc/%u/limits\n", open_files_num, pid); + printlen = snprintf (replybuffer,(outbufend-replybuffer), "Success setting open_files to %lu; cat /proc/%u/limits\n", open_files_num, pid); ADJUSTLEN(printlen,outbufend,replybuffer); } } static void cli_incoming_set_maxsessions(char* buffer, int len, struct callmaster* m, char* replybuffer, const char* outbufend) { int printlen = 0; - int maxsessions_num; + long maxsessions_num; int disabled = -1; str maxsessions; char *endptr; @@ -361,19 +361,19 @@ static void cli_incoming_set_maxsessions(char* buffer, int len, struct callmaste ADJUSTLEN(printlen,outbufend,replybuffer); return; } else if (maxsessions_num < disabled) { - printlen = snprintf (replybuffer,(outbufend-replybuffer), "Fail setting maxsessions to %d; either positive or -1 values allowed\n", maxsessions_num); + printlen = snprintf (replybuffer,(outbufend-replybuffer), "Fail setting maxsessions to %ld; either positive or -1 values allowed\n", maxsessions_num); ADJUSTLEN(printlen,outbufend,replybuffer); } else if (maxsessions_num == disabled) { rwlock_lock_w(&m->conf.config_lock); m->conf.max_sessions = maxsessions_num; rwlock_unlock_w(&m->conf.config_lock); - printlen = snprintf (replybuffer,(outbufend-replybuffer), "Success setting maxsessions to %d; disable feature\n", maxsessions_num); + printlen = snprintf (replybuffer,(outbufend-replybuffer), "Success setting maxsessions to %ld; disable feature\n", maxsessions_num); ADJUSTLEN(printlen,outbufend,replybuffer); } else { rwlock_lock_w(&m->conf.config_lock); m->conf.max_sessions = maxsessions_num; rwlock_unlock_w(&m->conf.config_lock); - printlen = snprintf (replybuffer,(outbufend-replybuffer), "Success setting maxsessions to %d\n", maxsessions_num); + printlen = snprintf (replybuffer,(outbufend-replybuffer), "Success setting maxsessions to %ld\n", maxsessions_num); ADJUSTLEN(printlen,outbufend,replybuffer); } @@ -382,7 +382,7 @@ static void cli_incoming_set_maxsessions(char* buffer, int len, struct callmaste static void cli_incoming_set_timeout(char* buffer, int len, struct callmaster* m, char* replybuffer, const char* outbufend, unsigned int *conf_timeout) { int printlen = 0; - unsigned int timeout_num; + unsigned long timeout_num; str timeout; char *endptr; @@ -395,7 +395,7 @@ static void cli_incoming_set_timeout(char* buffer, int len, struct callmaster* m ++buffer; --len; // one space timeout.s = buffer; timeout.len = len; - timeout_num = strtol(timeout.s, &endptr, 10); + timeout_num = strtoul(timeout.s, &endptr, 10); if ((errno == ERANGE && (timeout_num == LONG_MAX || timeout_num == LONG_MIN)) || (errno != 0 && timeout_num == 0)) { printlen = snprintf (replybuffer,(outbufend-replybuffer), "Fail setting timeout to %.*s; errno=%d\n", timeout.len, timeout.s, errno); @@ -410,7 +410,7 @@ static void cli_incoming_set_timeout(char* buffer, int len, struct callmaster* m rwlock_lock_w(&m->conf.config_lock); *conf_timeout = timeout_num; rwlock_unlock_w(&m->conf.config_lock); - printlen = snprintf (replybuffer,(outbufend-replybuffer), "Success setting timeout to %u\n", timeout_num); + printlen = snprintf (replybuffer,(outbufend-replybuffer), "Success setting timeout to %lu\n", timeout_num); ADJUSTLEN(printlen,outbufend,replybuffer); } } From ee960b7f67c5cd80d89b36795843846a5018b029 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 12 Apr 2016 13:24:47 -0400 Subject: [PATCH 2/2] dont do DTLS when in passthrough mode Change-Id: I615042ed9121be3e2eb37718dbc642e8a46efcf5 --- daemon/call.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/daemon/call.c b/daemon/call.c index 79f0997a8..86e1e7153 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -904,6 +904,9 @@ enum call_stream_state call_stream_state_machine(struct packet_stream *ps) { if (!ps->selected_sfd || !ps->sfds.length) return CSS_SHUTDOWN; + if (MEDIA_ISSET(media, PASSTHRU)) + return CSS_RUNNING; + if (MEDIA_ISSET(media, ICE) && !ice_has_finished(media)) return CSS_ICE; /* handled by ICE timer */