[svn-commits] mmichelson: branch mmichelson/threadpool r377980 - in /team/mmichelson/thread...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Dec 13 10:39:43 CST 2012


Author: mmichelson
Date: Thu Dec 13 10:39:40 2012
New Revision: 377980

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=377980
Log:
Resolve conflict and reset automerge.


Modified:
    team/mmichelson/threadpool/   (props changed)
    team/mmichelson/threadpool/channels/chan_sip.c
    team/mmichelson/threadpool/channels/sip/include/sip.h
    team/mmichelson/threadpool/configs/sip.conf.sample
    team/mmichelson/threadpool/configure
    team/mmichelson/threadpool/configure.ac
    team/mmichelson/threadpool/include/asterisk/autoconfig.h.in
    team/mmichelson/threadpool/main/taskprocessor.c
    team/mmichelson/threadpool/main/utils.c
    team/mmichelson/threadpool/res/res_calendar_exchange.c
    team/mmichelson/threadpool/res/res_clialiases.c

Propchange: team/mmichelson/threadpool/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/mmichelson/threadpool/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Dec 13 10:39:40 2012
@@ -1,1 +1,1 @@
-/trunk:1-377967
+/trunk:1-377979

Modified: team/mmichelson/threadpool/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/threadpool/channels/chan_sip.c?view=diff&rev=377980&r1=377979&r2=377980
==============================================================================
--- team/mmichelson/threadpool/channels/chan_sip.c (original)
+++ team/mmichelson/threadpool/channels/chan_sip.c Thu Dec 13 10:39:40 2012
@@ -13167,10 +13167,11 @@
 		   - Then other codecs in capabilities, including video
 		*/
 
-		/* Prefer the audio codec we were requested to use, first, no matter what
-		   Note that p->prefcodec can include video codecs, so mask them out
-		*/
-		if (ast_format_cap_has_joint(tmpcap, p->prefcaps)) {
+
+		/* Unless otherwise configured, the prefcaps is added before the peer's
+		 * configured codecs.
+		 */
+		if (!ast_test_flag(&p->flags[2], SIP_PAGE3_IGNORE_PREFCAPS) && ast_format_cap_has_joint(tmpcap, p->prefcaps)) {
 			ast_format_cap_iter_start(p->prefcaps);
 			while (!(ast_format_cap_iter_next(p->prefcaps, &tmp_fmt))) {
 				if (AST_FORMAT_GET_TYPE(tmp_fmt.id) != AST_FORMAT_TYPE_AUDIO) {
@@ -30766,6 +30767,8 @@
 				ast_set2_flag(&peer->flags[2], ast_true(v->value), SIP_PAGE3_USE_AVPF);
 			} else if (!strcasecmp(v->name, "icesupport")) {
 				ast_set2_flag(&peer->flags[2], ast_true(v->value), SIP_PAGE3_ICE_SUPPORT);
+			} else if (!strcasecmp(v->name, "ignore_requested_pref")) {
+				ast_set2_flag(&peer->flags[2], ast_true(v->value), SIP_PAGE3_IGNORE_PREFCAPS);
 			} else {
 				ast_rtp_dtls_cfg_parse(&peer->dtls_cfg, v->name, v->value);
 			}

Modified: team/mmichelson/threadpool/channels/sip/include/sip.h
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/threadpool/channels/sip/include/sip.h?view=diff&rev=377980&r1=377979&r2=377980
==============================================================================
--- team/mmichelson/threadpool/channels/sip/include/sip.h (original)
+++ team/mmichelson/threadpool/channels/sip/include/sip.h Thu Dec 13 10:39:40 2012
@@ -373,10 +373,11 @@
 #define SIP_PAGE3_DIRECT_MEDIA_OUTGOING  (1 << 4)  /*!< DP: Only send direct media reinvites on outgoing calls */
 #define SIP_PAGE3_USE_AVPF               (1 << 5)  /*!< DGP: Support a minimal AVPF-compatible profile */
 #define SIP_PAGE3_ICE_SUPPORT            (1 << 6)  /*!< DGP: Enable ICE support */
+#define SIP_PAGE3_IGNORE_PREFCAPS        (1 << 7)  /*!< DP: Ignore prefcaps when setting up an outgoing call leg */
 
 #define SIP_PAGE3_FLAGS_TO_COPY \
 	(SIP_PAGE3_SNOM_AOC | SIP_PAGE3_SRTP_TAG_32 | SIP_PAGE3_NAT_AUTO_RPORT | SIP_PAGE3_NAT_AUTO_COMEDIA | \
-	 SIP_PAGE3_DIRECT_MEDIA_OUTGOING | SIP_PAGE3_USE_AVPF | SIP_PAGE3_ICE_SUPPORT)
+	 SIP_PAGE3_DIRECT_MEDIA_OUTGOING | SIP_PAGE3_USE_AVPF | SIP_PAGE3_ICE_SUPPORT | SIP_PAGE3_IGNORE_PREFCAPS )
 
 #define CHECK_AUTH_BUF_INITLEN   256
 

Modified: team/mmichelson/threadpool/configs/sip.conf.sample
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/threadpool/configs/sip.conf.sample?view=diff&rev=377980&r1=377979&r2=377980
==============================================================================
--- team/mmichelson/threadpool/configs/sip.conf.sample (original)
+++ team/mmichelson/threadpool/configs/sip.conf.sample Thu Dec 13 10:39:40 2012
@@ -1259,6 +1259,8 @@
 ; dtlscafile
 ; dtlscapath
 ; dtlssetup
+; ignore_requested_pref ; Ignore the requested codec and determine the preferred codec
+;						; from the peer's configuration.
 ;
 
 ;------------------------------------------------------------------------------

Modified: team/mmichelson/threadpool/configure.ac
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/threadpool/configure.ac?view=diff&rev=377980&r1=377979&r2=377980
==============================================================================
--- team/mmichelson/threadpool/configure.ac (original)
+++ team/mmichelson/threadpool/configure.ac Thu Dec 13 10:39:40 2012
@@ -494,7 +494,7 @@
 AST_EXT_LIB_CHECK([TINFO], [tinfo], [tgetent], [])
 AST_EXT_LIB_CHECK([CURSES], [curses], [initscr], [curses.h])
 AST_EXT_LIB_CHECK([NCURSES], [ncurses], [initscr], [curses.h])
-AST_EXT_LIB_CHECK([UUID], [uuid], [uuid_generate_random], [uuid.h], [-luuid])
+AST_EXT_LIB_CHECK([UUID], [uuid], [uuid_generate_random], [uuid/uuid.h], [-luuid])
 
 EDITLINE_LIB=""
 if test "x$TERMCAP_LIB" != "x" ; then
@@ -718,11 +718,6 @@
 AC_DEFINE([HAVE_SYS_ENDIAN_BSWAP16], 1, [Define to 1 if your sys/endian.h header file provides the bswap16 macro.]),
 AC_MSG_RESULT(no)
 )
-
-if test "${cross_compiling}" = "no";
-then
-  AC_CHECK_FILE(/dev/urandom, AC_DEFINE([HAVE_DEV_URANDOM], 1, [Define to 1 if your system has /dev/urandom.]))
-fi
 
 AC_MSG_CHECKING(for locale_t in locale.h)
 AC_LINK_IFELSE(

Modified: team/mmichelson/threadpool/include/asterisk/autoconfig.h.in
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/threadpool/include/asterisk/autoconfig.h.in?view=diff&rev=377980&r1=377979&r2=377980
==============================================================================
--- team/mmichelson/threadpool/include/asterisk/autoconfig.h.in (original)
+++ team/mmichelson/threadpool/include/asterisk/autoconfig.h.in Thu Dec 13 10:39:40 2012
@@ -172,9 +172,6 @@
 
 /* Define DAHDI headers version */
 #undef HAVE_DAHDI_VERSION
-
-/* Define to 1 if your system has /dev/urandom. */
-#undef HAVE_DEV_URANDOM
 
 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
    */

Modified: team/mmichelson/threadpool/main/taskprocessor.c
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/threadpool/main/taskprocessor.c?view=diff&rev=377980&r1=377979&r2=377980
==============================================================================
--- team/mmichelson/threadpool/main/taskprocessor.c (original)
+++ team/mmichelson/threadpool/main/taskprocessor.c Thu Dec 13 10:39:40 2012
@@ -224,10 +224,15 @@
 	.destroy = default_listener_destroy,
 };
 
-/*! \internal \brief Clean up resources on Asterisk shutdown */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown
+ */
 static void tps_shutdown(void)
 {
+	ast_cli_unregister_multiple(taskprocessor_clis, ARRAY_LEN(taskprocessor_clis));
 	ao2_t_ref(tps_singletons, -1, "Unref tps_singletons in shutdown");
+	tps_singletons = NULL;
 }
 
 /* initialize the taskprocessor container and register CLI operations */

Modified: team/mmichelson/threadpool/main/utils.c
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/threadpool/main/utils.c?view=diff&rev=377980&r1=377979&r2=377980
==============================================================================
--- team/mmichelson/threadpool/main/utils.c (original)
+++ team/mmichelson/threadpool/main/utils.c Thu Dec 13 10:39:40 2012
@@ -35,9 +35,7 @@
 #include <sys/stat.h>
 #include <sys/stat.h>
 
-#ifdef HAVE_DEV_URANDOM
 #include <fcntl.h>
-#endif
 
 #include <sys/syscall.h>
 #if defined(__APPLE__)
@@ -496,9 +494,7 @@
 	return inet_ntop(AF_INET, &ia, buf, INET_ADDRSTRLEN);
 }
 
-#ifdef HAVE_DEV_URANDOM
 static int dev_urandom_fd;
-#endif
 
 #ifndef __linux__
 #undef pthread_create /* For ast_pthread_create function only */
@@ -1494,7 +1490,7 @@
 long int ast_random(void)
 {
 	long int res;
-#ifdef HAVE_DEV_URANDOM
+
 	if (dev_urandom_fd >= 0) {
 		int read_res = read(dev_urandom_fd, &res, sizeof(res));
 		if (read_res > 0) {
@@ -1504,7 +1500,7 @@
 			return res % rm;
 		}
 	}
-#endif
+
 	/* XXX - Thread safety really depends on the libc, not the OS.
 	 *
 	 * But... popular Linux libc's (uClibc, glibc, eglibc), all have a
@@ -2035,9 +2031,7 @@
 
 int ast_utils_init(void)
 {
-#ifdef HAVE_DEV_URANDOM
 	dev_urandom_fd = open("/dev/urandom", O_RDONLY);
-#endif
 	base64_init();
 #ifdef DEBUG_THREADS
 #if !defined(LOW_MEMORY)

Modified: team/mmichelson/threadpool/res/res_calendar_exchange.c
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/threadpool/res/res_calendar_exchange.c?view=diff&rev=377980&r1=377979&r2=377980
==============================================================================
--- team/mmichelson/threadpool/res/res_calendar_exchange.c (original)
+++ team/mmichelson/threadpool/res/res_calendar_exchange.c Thu Dec 13 10:39:40 2012
@@ -44,6 +44,7 @@
 #include "asterisk/lock.h"
 #include "asterisk/config.h"
 #include "asterisk/astobj2.h"
+#include "asterisk/uuid.h"
 
 static void *exchangecal_load_calendar(void *data);
 static void *unref_exchangecal(void *obj);
@@ -241,36 +242,30 @@
 /* It is very important to use the return value of this function as a realloc could occur */
 static struct ast_str *generate_exchange_uuid(struct ast_str *uid)
 {
-	unsigned short val[8];
-	int x;
-
-	for (x = 0; x < 8; x++) {
-		val[x] = ast_random();
-	}
-	ast_str_set(&uid, 0, "%04x%04x-%04x-%04x-%04x-%04x%04x%04x", val[0], val[1], val[2], val[3], val[4], val[5], val[6], val[7]);
+	char buffer[AST_UUID_STR_LEN];
+	struct ast_uuid *uuid = ast_uuid_generate();
+
+	if (!uuid) {
+		return NULL;
+	}
+
+	ast_str_set(&uid, 0, "%s", ast_uuid_to_str(uuid, buffer, AST_UUID_STR_LEN));
+
+	ast_free(uuid);
 
 	return uid;
 }
 
 static int is_valid_uuid(struct ast_str *uid)
 {
-	int i;
-
-	if (ast_str_strlen(uid) != 36) {
-		return 0;
-	}
-
-	for (i = 0; i < ast_str_strlen(uid); i++) {
-		if (i == 8 || i == 13 || i == 18 || i == 23) {
-			if (ast_str_buffer(uid)[i] != '-') {
-				return 0;
-			}
-		} else if (!((ast_str_buffer(uid)[i] > 47 && ast_str_buffer(uid)[i] < 58) || (ast_str_buffer(uid)[i] > 96 && ast_str_buffer(uid)[i] < 103))) {
-			return 0;
-		}
-	}
-
-	return 1;
+	struct ast_uuid *uuid = ast_str_to_uuid(ast_str_buffer(uid));
+
+	if (uuid) {
+		ast_free(uuid);
+		return 1;
+	}
+
+	return 0;
 }
 
 static struct ast_str *xml_encode_str(struct ast_str *dst, const char *src)

Modified: team/mmichelson/threadpool/res/res_clialiases.c
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/threadpool/res/res_clialiases.c?view=diff&rev=377980&r1=377979&r2=377980
==============================================================================
--- team/mmichelson/threadpool/res/res_clialiases.c (original)
+++ team/mmichelson/threadpool/res/res_clialiases.c Thu Dec 13 10:39:40 2012
@@ -218,7 +218,10 @@
 			alias->cli_entry.command = alias->alias;
 			alias->cli_entry.usage = "Aliased CLI Command\n";
 
-			ast_cli_register(&alias->cli_entry);
+			if (ast_cli_register(&alias->cli_entry)) {
+				ao2_ref(alias, -1);
+				continue;
+			}
 			ao2_link(cli_aliases, alias);
 			ast_verb(2, "Aliased CLI command '%s' to '%s'\n", v1->name, v1->value);
 			ao2_ref(alias, -1);




More information about the svn-commits mailing list