[asterisk-scf-commits] asterisk-scf/integration/pjproject.git branch "ipv6-tls" created.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Tue Mar 22 10:14:36 CDT 2011
branch "ipv6-tls" has been created
at 58f0370234f9909ce64a2ccd2119898619814067 (commit)
- Log -----------------------------------------------------------------
commit 58f0370234f9909ce64a2ccd2119898619814067
Author: Joshua Colp <jcolp at digium.com>
Date: Tue Mar 22 09:07:06 2011 -0300
Remove unused variable.
diff --git a/pjsip/src/test/transport_tls_test.c b/pjsip/src/test/transport_tls_test.c
index d6e193b..6353405 100644
--- a/pjsip/src/test/transport_tls_test.c
+++ b/pjsip/src/test/transport_tls_test.c
@@ -32,7 +32,6 @@
int transport_tls_test(void)
{
enum { SEND_RECV_LOOP = 8 };
- const char ciphers[] = "eNULL";
pjsip_tpfactory *tpfactory;
pjsip_transport *tls;
pj_sockaddr rem_addr;
commit c280c62340844ede191fd8dbaf96fe36a0ada46a
Author: Joshua Colp <jcolp at digium.com>
Date: Tue Mar 22 09:03:48 2011 -0300
Incorporate code review feedback.
diff --git a/pjsip/src/pjsip/sip_transport_tls.c b/pjsip/src/pjsip/sip_transport_tls.c
index 67c73a7..7043dc1 100644
--- a/pjsip/src/pjsip/sip_transport_tls.c
+++ b/pjsip/src/pjsip/sip_transport_tls.c
@@ -458,9 +458,7 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start (pjsip_endpoint *endpt,
if (status != PJ_SUCCESS)
goto on_error;
- pj_memcpy(pj_sockaddr_get_addr(listener_addr),
- pj_sockaddr_get_addr(&hostip),
- pj_sockaddr_get_addr_len(&hostip));
+ pj_sockaddr_copy_addr(listener_addr, &hostip);
}
/* Save the address name */
commit aac76109af0f8740b9b32f6459a02c0fc4bc8c29
Author: Joshua Colp <jcolp at digium.com>
Date: Wed Mar 16 17:57:30 2011 -0300
Add a self signed certificate for the TLS tests and use it.
diff --git a/pjsip/misc/tlstestcert.pem b/pjsip/misc/tlstestcert.pem
new file mode 100644
index 0000000..32ba54c
--- /dev/null
+++ b/pjsip/misc/tlstestcert.pem
@@ -0,0 +1,32 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQDUc++AwwYFyF26wwY+X8U+PB6OKEBaNAxB4lNSQHCxIVxrEPYz
+UxU5IRa0zFMBUN2l/+wVkCwaPw8y+2kyYqhdXtA9/MdtwYW+iGj1q0RCtucqjQes
+PuGxMJiiot8656iFE9SMvu+KMpxDJnTDHej7USrcSgsNFwNYdYn9BZMqMQIDAQAB
+AoGAIKdlI3xWO6NNTLxXBFVCAsvIwn7LTVH8pE++EMFY0NDY3Jfxz3ewpmRAki9p
+fqVIPBB23+WV8b7JfkOIKrdhOxjt+G3OtFmIFpKiwaROK4Nv4iCv4dyI8yHHewyS
+IWhnBlJnTxOvnQyo6nvlW8b6XPODLeJJFiajNvDZ1P5DFnECQQDyeJG3aQEgNc9Q
+BwE7+5AuzC6A/IrxvAhN7E/0mYzX9gZ2JlDY6233xMHMK3r+vo+1OUiTjRy3qdZm
++BZg45QdAkEA4E6XQkPPtxTRVv+rhN2a+4Cgy2oKCViZSbAWs4dGdVgaMUWXIvfD
++92Z4ebim5dmP/ch+KWGC5mDLGmL9koqJQJAHNI0D+cNWTTMNaj/fo/Cba2bgX2D
+ToSZQBnszxhJY4o87mJTjdU+NwtONeSdNBaWomXyuIc3eKVZdNfcYRvsCQJAHC9j
+7EyvDhdMkrz/pWtfLRklm0nQxwneARdiUt69qMMQT36qFhfCBaT70Bn+AYUNsR3x
+o9fQtyZsCCmfD6yUDQJBAO4uXcIsNoUkgQrpdCuBGW4O4z1t7qKvVSuG7pOrstSu
+WlWqyHKihu2vdn/h+2WTZxBGas7LeN+J4YYgNfTZYu8=
+-----END RSA PRIVATE KEY-----
+-----BEGIN CERTIFICATE-----
+MIICwTCCAiqgAwIBAgIJAPrYGlpdQ19lMA0GCSqGSIb3DQEBBQUAMEoxCzAJBgNV
+BAYTAkNBMRYwFAYDVQQIEw1OZXcgQnJ1bnN3aWNrMRAwDgYDVQQHEwdNb25jdG9u
+MREwDwYDVQQDEwhUTFMgVGVzdDAgFw0xMTAzMTYyMDQ0MDRaGA8yMjg0MTIyOTIw
+NDQwNFowSjELMAkGA1UEBhMCQ0ExFjAUBgNVBAgTDU5ldyBCcnVuc3dpY2sxEDAO
+BgNVBAcTB01vbmN0b24xETAPBgNVBAMTCFRMUyBUZXN0MIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQDUc++AwwYFyF26wwY+X8U+PB6OKEBaNAxB4lNSQHCxIVxr
+EPYzUxU5IRa0zFMBUN2l/+wVkCwaPw8y+2kyYqhdXtA9/MdtwYW+iGj1q0RCtucq
+jQesPuGxMJiiot8656iFE9SMvu+KMpxDJnTDHej7USrcSgsNFwNYdYn9BZMqMQID
+AQABo4GsMIGpMB0GA1UdDgQWBBQdhOx52xY5kpmKc/C/HDkfjcB06DB6BgNVHSME
+czBxgBQdhOx52xY5kpmKc/C/HDkfjcB06KFOpEwwSjELMAkGA1UEBhMCQ0ExFjAU
+BgNVBAgTDU5ldyBCcnVuc3dpY2sxEDAOBgNVBAcTB01vbmN0b24xETAPBgNVBAMT
+CFRMUyBUZXN0ggkA+tgaWl1DX2UwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUF
+AAOBgQBk23CJcNeZmwy1yiqnEKKvX0btySaKrWHBdPI+DW2mCFHK1RdrBfpyaWUb
+HZ0L6kYDdX96a2Z8NeezuxWkWGImDDvV0BZTD8xIlTusRCr0Q899Rk7NUVuc97tp
+DwofHQDkWiZeIHCsNjKdUgFaBH6P6jMA5OSNpUdF6Q7imxCjLA==
+-----END CERTIFICATE-----
diff --git a/pjsip/src/test/transport_tls_test.c b/pjsip/src/test/transport_tls_test.c
index 842070a..d6e193b 100644
--- a/pjsip/src/test/transport_tls_test.c
+++ b/pjsip/src/test/transport_tls_test.c
@@ -50,8 +50,8 @@ int transport_tls_test(void)
/* Start TLS listener on arbitrary port. */
pjsip_tls_setting_default(&tls_setting);
- tls_setting.cert_file = pj_str("/home/jcolp/mycert.pem");
- tls_setting.privkey_file = pj_str("/home/jcolp/mycert.pem");
+ tls_setting.cert_file = pj_str("../misc/tlstestcert.pem");
+ tls_setting.privkey_file = pj_str("../misc/tlstestcert.pem");
status = pjsip_tls_transport_start(endpt, &tls_setting, (pj_sockaddr*)&local_addr, NULL, 1, &tpfactory);
if (status != PJ_SUCCESS) {
app_perror(" Error: unable to start TLS transport", status);
diff --git a/pjsip/src/test/transport_tls_test_v6.c b/pjsip/src/test/transport_tls_test_v6.c
index c694db8..e2e16c9 100644
--- a/pjsip/src/test/transport_tls_test_v6.c
+++ b/pjsip/src/test/transport_tls_test_v6.c
@@ -44,8 +44,8 @@ int transport_tls_test_v6(void)
/* Start TLS listener on arbitrary port. */
pjsip_tls_setting_default(&tls_setting);
- tls_setting.cert_file = pj_str("/home/jcolp/mycert.pem");
- tls_setting.privkey_file = pj_str("/home/jcolp/mycert.pem");
+ tls_setting.cert_file = pj_str("../misc/tlstestcert.pem");
+ tls_setting.privkey_file = pj_str("../misc/tlstestcert.pem");
status = pjsip_tls_transport_start(endpt, &tls_setting, NULL, NULL, 1, &tpfactory);
if (status != PJ_SUCCESS) {
app_perror(" Error: unable to start TLS transport", status);
commit 8b80c1fc3380c940ba808a682e954671850c9df2
Author: Joshua Colp <jcolp at digium.com>
Date: Wed Mar 16 12:38:07 2011 -0300
Move TLS tests to their own section.
diff --git a/pjsip/src/test/test.c b/pjsip/src/test/test.c
index 757ef45..754e1d2 100644
--- a/pjsip/src/test/test.c
+++ b/pjsip/src/test/test.c
@@ -325,6 +325,9 @@ int test_main(void)
#if INCLUDE_TCP_TEST
DO_TEST(transport_tcp_test());
DO_TEST(transport_tcp_test_v6());
+#endif
+
+#if INCLUDE_TLS_TEST
DO_TEST(transport_tls_test());
DO_TEST(transport_tls_test_v6());
#endif
diff --git a/pjsip/src/test/test.h b/pjsip/src/test/test.h
index 4caffc8..b27a511 100644
--- a/pjsip/src/test/test.h
+++ b/pjsip/src/test/test.h
@@ -62,6 +62,7 @@ extern pjsip_endpoint *endpt;
#define INCLUDE_UDP_TEST INCLUDE_TRANSPORT_GROUP
#define INCLUDE_LOOP_TEST INCLUDE_TRANSPORT_GROUP
#define INCLUDE_TCP_TEST INCLUDE_TRANSPORT_GROUP
+#define INCLUDE_TLS_TEST INCLUDE_TRANSPORT_GROUP
#define INCLUDE_RESOLVE_TEST INCLUDE_TRANSPORT_GROUP
#define INCLUDE_TSX_TEST INCLUDE_TSX_GROUP
#define INCLUDE_INV_OA_TEST INCLUDE_INV_GROUP
commit 43d76d7843c50d7cb07cd34aa088569b9a753894
Author: Joshua Colp <jcolp at digium.com>
Date: Wed Mar 16 12:31:17 2011 -0300
Add IPv6 support to the TLS transport. The test now passes.
diff --git a/pjsip/include/pjsip/sip_transport_tls.h b/pjsip/include/pjsip/sip_transport_tls.h
index c6692da..918c682 100644
--- a/pjsip/include/pjsip/sip_transport_tls.h
+++ b/pjsip/include/pjsip/sip_transport_tls.h
@@ -283,7 +283,7 @@ PJ_INLINE(void) pjsip_tls_setting_copy(pj_pool_t *pool,
*/
PJ_DECL(pj_status_t) pjsip_tls_transport_start(pjsip_endpoint *endpt,
const pjsip_tls_setting *opt,
- const pj_sockaddr_in *local,
+ const pj_sockaddr *local,
const pjsip_host_port *a_name,
unsigned async_cnt,
pjsip_tpfactory **p_factory);
diff --git a/pjsip/src/pjsip/sip_transport_tls.c b/pjsip/src/pjsip/sip_transport_tls.c
index e501cf4..67c73a7 100644
--- a/pjsip/src/pjsip/sip_transport_tls.c
+++ b/pjsip/src/pjsip/sip_transport_tls.c
@@ -146,8 +146,8 @@ static pj_status_t tls_create(struct tls_listener *listener,
pj_pool_t *pool,
pj_ssl_sock_t *ssock,
pj_bool_t is_server,
- const pj_sockaddr_in *local,
- const pj_sockaddr_in *remote,
+ const pj_sockaddr *local,
+ const pj_sockaddr *remote,
const pj_str_t *remote_name,
struct tls_transport **p_tls);
@@ -164,11 +164,11 @@ static void tls_perror(const char *sender, const char *title,
static void sockaddr_to_host_port( pj_pool_t *pool,
- pjsip_host_port *host_port,
- const pj_sockaddr_in *addr )
+ pjsip_host_port *host_port,
+ const pj_sockaddr *addr )
{
host_port->host.ptr = (char*) pj_pool_alloc(pool, PJ_INET6_ADDRSTRLEN+4);
- pj_sockaddr_print(addr, host_port->host.ptr, PJ_INET6_ADDRSTRLEN+4, 2);
+ pj_sockaddr_print(addr, host_port->host.ptr, PJ_INET6_ADDRSTRLEN+4, 0);
host_port->host.slen = pj_ansi_strlen(host_port->host.ptr);
host_port->port = pj_sockaddr_get_port(addr);
}
@@ -211,6 +211,60 @@ static void tls_init_shutdown(struct tls_transport *tls, pj_status_t status)
pjsip_transport_dec_ref(&tls->base);
}
+enum tls_v6_test_result {
+ TLS_V6_TEST_SUCCESS,
+ TLS_V6_TEST_FAIL_FALLBACK,
+ TLS_V6_TEST_FAIL_NO_FALLBACK
+};
+
+static enum tls_v6_test_result tls_v6_test(void)
+{
+ /* We made the assumption of pj_AF_INET6(), so let's
+ * do a quick check to be sure we actually can successfully
+ * bind to ::.
+ */
+ pj_sockaddr addr;
+ pj_sock_t sock;
+ pj_status_t status;
+ status = pj_sockaddr_init(pj_AF_INET6(), &addr, NULL, 0);
+ if (status != PJ_SUCCESS) {
+#if defined(PJ_WIN32) || defined(PJ_WINCE)
+ if (pj_get_native_netos_error() == WSAEAFNOSUPPORT) {
+#else
+ if (pj_get_native_netos_error() == EAFNOSUPPORT) {
+#endif
+ return TLS_V6_TEST_FAIL_FALLBACK;
+ }
+ return TLS_V6_TEST_FAIL_NO_FALLBACK;
+ }
+ status = pj_sock_socket(pj_AF_INET6(), pj_SOCK_STREAM(), 0, &sock);
+ if (status != PJ_SUCCESS) {
+#if defined(PJ_WIN32) || defined( PJ_WINCE)
+ if (pj_get_native_netos_error() == WSAEAFNOSUPPORT) {
+#else
+ if (pj_get_native_netos_error() == EAFNOSUPPORT) {
+#endif
+ return TLS_V6_TEST_FAIL_FALLBACK;
+ }
+ return TLS_V6_TEST_FAIL_NO_FALLBACK;
+ }
+ status = pj_sock_bind(sock, &addr, sizeof(pj_sockaddr_in6));
+ if (status != PJ_SUCCESS) {
+#if defined(PJ_WIN32) || (PJ_WINCE)
+ if (pj_get_native_netos_error() == WSAEAFNOSUPPORT || pj_get_native_netos_error() == WSAEADDRNOTAVAIL) {
+#else
+ if (pj_get_native_netos_error() == EAFNOSUPPORT || pj_get_native_netos_error() == EADDRNOTAVAIL) {
+#endif
+ pj_sock_close(sock);
+ return TLS_V6_TEST_FAIL_FALLBACK;
+ }
+ pj_sock_close(sock);
+ return TLS_V6_TEST_FAIL_NO_FALLBACK;
+ }
+ pj_sock_close(sock);
+ return TLS_V6_TEST_SUCCESS;
+}
+
/****************************************************************************
* The TLS listener/transport factory.
@@ -222,7 +276,7 @@ static void tls_init_shutdown(struct tls_transport *tls, pj_status_t status)
*/
PJ_DEF(pj_status_t) pjsip_tls_transport_start (pjsip_endpoint *endpt,
const pjsip_tls_setting *opt,
- const pj_sockaddr_in *local,
+ const pj_sockaddr *local,
const pjsip_host_port *a_name,
unsigned async_cnt,
pjsip_tpfactory **p_factory)
@@ -230,21 +284,33 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start (pjsip_endpoint *endpt,
pj_pool_t *pool;
struct tls_listener *listener;
pj_ssl_sock_param ssock_param;
- pj_sockaddr_in *listener_addr;
+ pj_sockaddr *listener_addr;
pj_bool_t has_listener;
pj_status_t status;
+ pj_uint16_t af = local ? local->addr.sa_family : pj_AF_INET6();
/* Sanity check */
PJ_ASSERT_RETURN(endpt && async_cnt, PJ_EINVAL);
+ if (!local)
+ {
+ enum tls_v6_test_result v6_works = tls_v6_test();
+ if (v6_works == TLS_V6_TEST_FAIL_FALLBACK) {
+ af = pj_AF_INET();
+ } else if (v6_works == TLS_V6_TEST_FAIL_NO_FALLBACK) {
+ return PJ_RETURN_OS_ERROR(pj_get_native_netos_error());
+ }
+ }
+
/* Verify that address given in a_name (if any) is valid */
if (a_name && a_name->host.slen) {
- pj_sockaddr_in tmp;
+ pj_sockaddr tmp;
- status = pj_sockaddr_in_init(&tmp, &a_name->host,
+ status = pj_sockaddr_init(af, &tmp, &a_name->host,
(pj_uint16_t)a_name->port);
- if (status != PJ_SUCCESS || tmp.sin_addr.s_addr == PJ_INADDR_ANY ||
- tmp.sin_addr.s_addr == PJ_INADDR_NONE)
+ if (status != PJ_SUCCESS || !pj_sockaddr_has_addr(&tmp) ||
+ (af == pj_AF_INET() &&
+ tmp.ipv4.sin_addr.s_addr == PJ_INADDR_NONE))
{
/* Invalid address */
return PJ_EINVAL;
@@ -257,10 +323,10 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start (pjsip_endpoint *endpt,
listener = PJ_POOL_ZALLOC_T(pool, struct tls_listener);
listener->factory.pool = pool;
- listener->factory.type = PJSIP_TRANSPORT_TLS;
+ listener->factory.type = af == pj_AF_INET6() ? PJSIP_TRANSPORT_TLS6 : PJSIP_TRANSPORT_TLS;
listener->factory.type_name = "tls";
listener->factory.flag =
- pjsip_transport_get_flag_from_type(PJSIP_TRANSPORT_TLS);
+ pjsip_transport_get_flag_from_type(listener->factory.type);
pj_ansi_strcpy(listener->factory.obj_name, "tlslis");
@@ -318,17 +384,18 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start (pjsip_endpoint *endpt,
break;
}
+ ssock_param.sock_af = af;
+
/* Create SSL socket */
status = pj_ssl_sock_create(pool, &ssock_param, &listener->ssock);
if (status != PJ_SUCCESS)
goto on_error;
- listener_addr = (pj_sockaddr_in*)&listener->factory.local_addr;
+ listener_addr = &listener->factory.local_addr;
if (local) {
- pj_sockaddr_cp((pj_sockaddr_t*)listener_addr,
- (const pj_sockaddr_t*)local);
+ pj_sockaddr_cp(listener_addr, local);
} else {
- pj_sockaddr_in_init(listener_addr, NULL, 0);
+ pj_sockaddr_init(af, listener_addr, NULL, 0);
}
/* Check if certificate/CA list for SSL socket is set */
@@ -355,9 +422,7 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start (pjsip_endpoint *endpt,
*/
has_listener = PJ_FALSE;
- status = pj_ssl_sock_start_accept(listener->ssock, pool,
- (pj_sockaddr_t*)listener_addr,
- pj_sockaddr_get_len((pj_sockaddr_t*)listener_addr));
+ status = pj_ssl_sock_start_accept(listener->ssock, pool, listener_addr, pj_sockaddr_get_len(listener_addr));
if (status == PJ_SUCCESS || status == PJ_EPENDING) {
pj_ssl_sock_info info;
has_listener = PJ_TRUE;
@@ -365,7 +430,7 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start (pjsip_endpoint *endpt,
/* Retrieve the bound address */
status = pj_ssl_sock_get_info(listener->ssock, &info);
if (status == PJ_SUCCESS)
- pj_sockaddr_cp(listener_addr, (pj_sockaddr_t*)&info.local_addr);
+ pj_sockaddr_cp(listener_addr, &info.local_addr);
} else if (status != PJ_ENOTSUP) {
goto on_error;
}
@@ -386,14 +451,16 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start (pjsip_endpoint *endpt,
/* If the address returns 0.0.0.0, use the default
* interface address as the transport's address.
*/
- if (listener_addr->sin_addr.s_addr == 0) {
+ if (!pj_sockaddr_has_addr(listener_addr)) {
pj_sockaddr hostip;
- status = pj_gethostip(pj_AF_INET(), &hostip);
+ status = pj_gethostip(af, &hostip);
if (status != PJ_SUCCESS)
goto on_error;
- listener_addr->sin_addr.s_addr = hostip.ipv4.sin_addr.s_addr;
+ pj_memcpy(pj_sockaddr_get_addr(listener_addr),
+ pj_sockaddr_get_addr(&hostip),
+ pj_sockaddr_get_addr_len(&hostip));
}
/* Save the address name */
@@ -403,7 +470,7 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start (pjsip_endpoint *endpt,
/* If port is zero, get the bound port */
if (listener->factory.addr_name.port == 0) {
- listener->factory.addr_name.port = pj_ntohs(listener_addr->sin_port);
+ listener->factory.addr_name.port = pj_sockaddr_get_port(listener_addr);
}
pj_ansi_snprintf(listener->factory.obj_name,
@@ -520,15 +587,15 @@ static pj_status_t tls_create( struct tls_listener *listener,
pj_pool_t *pool,
pj_ssl_sock_t *ssock,
pj_bool_t is_server,
- const pj_sockaddr_in *local,
- const pj_sockaddr_in *remote,
+ const pj_sockaddr *local,
+ const pj_sockaddr *remote,
const pj_str_t *remote_name,
struct tls_transport **p_tls)
{
struct tls_transport *tls;
const pj_str_t ka_pkt = PJSIP_TLS_KEEP_ALIVE_DATA;
pj_status_t status;
-
+ char remote_addr_str[PJ_INET6_ADDRSTRLEN];
PJ_ASSERT_RETURN(listener && ssock && local && remote && p_tls, PJ_EINVAL);
@@ -564,32 +631,31 @@ static pj_status_t tls_create( struct tls_listener *listener,
if (remote_name)
pj_strdup(pool, &tls->remote_name, remote_name);
- tls->base.key.type = PJSIP_TRANSPORT_TLS;
- pj_memcpy(&tls->base.key.rem_addr, remote, sizeof(pj_sockaddr_in));
+ tls->base.key.type = local->addr.sa_family == pj_AF_INET6() ? PJSIP_TRANSPORT_TLS6 : PJSIP_TRANSPORT_TLS;
+ pj_memcpy(&tls->base.key.rem_addr, remote, pj_sockaddr_get_len(remote));
tls->base.type_name = "tls";
- tls->base.flag = pjsip_transport_get_flag_from_type(PJSIP_TRANSPORT_TLS);
+ tls->base.flag = pjsip_transport_get_flag_from_type(tls->base.key.type);
tls->base.info = (char*) pj_pool_alloc(pool, 64);
- pj_ansi_snprintf(tls->base.info, 64, "TLS to %s:%d",
- pj_inet_ntoa(remote->sin_addr),
- (int)pj_ntohs(remote->sin_port));
+ pj_ansi_snprintf(tls->base.info, 64, "TLS to %s",
+ pj_sockaddr_print(remote, remote_addr_str, sizeof(remote_addr_str), 1 | 2));
- tls->base.addr_len = sizeof(pj_sockaddr_in);
tls->base.dir = is_server? PJSIP_TP_DIR_INCOMING : PJSIP_TP_DIR_OUTGOING;
/* Set initial local address */
if (!pj_sockaddr_has_addr(local)) {
pj_sockaddr_cp(&tls->base.local_addr,
&listener->factory.local_addr);
+ tls->base.addr_len = pj_sockaddr_get_len(&listener->factory.local_addr);
} else {
pj_sockaddr_cp(&tls->base.local_addr, local);
+ tls->base.addr_len = pj_sockaddr_get_len(local);
}
- sockaddr_to_host_port(pool, &tls->base.local_name,
- (pj_sockaddr_in*)&tls->base.local_addr);
+ sockaddr_to_host_port(pool, &tls->base.local_name, &tls->base.local_addr);
if (tls->remote_name.slen) {
tls->base.remote_name.host = tls->remote_name;
- tls->base.remote_name.port = pj_sockaddr_in_get_port(remote);
+ tls->base.remote_name.port = pj_sockaddr_get_port(remote);
} else {
sockaddr_to_host_port(pool, &tls->base.remote_name, remote);
}
@@ -770,9 +836,10 @@ static pj_status_t tls_start_read(struct tls_transport *tls)
{
pj_pool_t *pool;
pj_ssize_t size;
- pj_sockaddr_in *rem_addr;
+ pj_sockaddr *rem_addr;
void *readbuf[1];
pj_status_t status;
+ char remote_addr_str[PJ_INET6_ADDRSTRLEN];
/* Init rdata */
pool = pjsip_endpt_create_pool(tls->base.endpt,
@@ -793,11 +860,11 @@ static pj_status_t tls_start_read(struct tls_transport *tls)
sizeof(pj_ioqueue_op_key_t));
tls->rdata.pkt_info.src_addr = tls->base.key.rem_addr;
- tls->rdata.pkt_info.src_addr_len = sizeof(pj_sockaddr_in);
- rem_addr = (pj_sockaddr_in*) &tls->base.key.rem_addr;
+ tls->rdata.pkt_info.src_addr_len = pj_sockaddr_get_len(&tls->base.key.rem_addr);
+ rem_addr = &tls->base.key.rem_addr;
pj_ansi_strcpy(tls->rdata.pkt_info.src_name,
- pj_inet_ntoa(rem_addr->sin_addr));
- tls->rdata.pkt_info.src_port = pj_ntohs(rem_addr->sin_port);
+ pj_sockaddr_print(rem_addr, remote_addr_str, sizeof(remote_addr_str), 2));
+ tls->rdata.pkt_info.src_port = pj_sockaddr_get_port(rem_addr);
size = sizeof(tls->rdata.pkt_info.packet);
readbuf[0] = tls->rdata.pkt_info.packet;
@@ -830,18 +897,22 @@ static pj_status_t lis_create_transport(pjsip_tpfactory *factory,
pj_pool_t *pool;
pj_ssl_sock_t *ssock;
pj_ssl_sock_param ssock_param;
- pj_sockaddr_in local_addr;
+ pj_sockaddr local_addr;
pj_str_t remote_name;
pj_status_t status;
+ pj_uint16_t rem_family = rem_addr->addr.sa_family;
/* Sanity checks */
PJ_ASSERT_RETURN(factory && mgr && endpt && rem_addr &&
addr_len && p_transport, PJ_EINVAL);
/* Check that address is a sockaddr_in */
- PJ_ASSERT_RETURN(rem_addr->addr.sa_family == pj_AF_INET() &&
- addr_len == sizeof(pj_sockaddr_in), PJ_EINVAL);
+ PJ_ASSERT_RETURN((rem_family == pj_AF_INET() &&
+ addr_len == sizeof(pj_sockaddr_in)) ||
+ (rem_family == pj_AF_INET6() &&
+ addr_len == sizeof(pj_sockaddr_in6)), PJ_EINVAL);
+ pj_sockaddr_init(rem_family, &local_addr, NULL, 0);
listener = (struct tls_listener*)factory;
@@ -895,6 +966,8 @@ static pj_status_t lis_create_transport(pjsip_tpfactory *factory,
break;
}
+ ssock_param.sock_af = rem_family;
+
status = pj_ssl_sock_create(pool, &ssock_param, &ssock);
if (status != PJ_SUCCESS)
return status;
@@ -906,12 +979,9 @@ static pj_status_t lis_create_transport(pjsip_tpfactory *factory,
return status;
}
- /* Initially set bind address to PJ_INADDR_ANY port 0 */
- pj_sockaddr_in_init(&local_addr, NULL, 0);
-
/* Create the transport descriptor */
status = tls_create(listener, pool, ssock, PJ_FALSE, &local_addr,
- (pj_sockaddr_in*)rem_addr, &remote_name, &tls);
+ rem_addr, &remote_name, &tls);
if (status != PJ_SUCCESS)
return status;
@@ -921,9 +991,9 @@ static pj_status_t lis_create_transport(pjsip_tpfactory *factory,
/* Start asynchronous connect() operation */
tls->has_pending_connect = PJ_TRUE;
status = pj_ssl_sock_start_connect(tls->ssock, tls->base.pool,
- (pj_sockaddr_t*)&local_addr,
- (pj_sockaddr_t*)rem_addr,
- addr_len);
+ (pj_sockaddr_t*)&local_addr,
+ (pj_sockaddr_t*)rem_addr,
+ addr_len);
if (status == PJ_SUCCESS) {
on_connect_complete(tls->ssock, PJ_SUCCESS);
} else if (status != PJ_EPENDING) {
@@ -958,7 +1028,7 @@ static pj_status_t lis_create_transport(pjsip_tpfactory *factory,
}
sockaddr_to_host_port(tls->base.pool, &tls->base.local_name,
- (pj_sockaddr_in*)&tls->base.local_addr);
+ &tls->base.local_addr);
}
PJ_LOG(4,(tls->base.obj_name,
@@ -1024,8 +1094,8 @@ static pj_bool_t on_accept_complete(pj_ssl_sock_t *ssock,
* Create TLS transport for the new socket.
*/
status = tls_create( listener, NULL, new_ssock, PJ_TRUE,
- (const pj_sockaddr_in*)&listener->factory.local_addr,
- (const pj_sockaddr_in*)src_addr, NULL, &tls);
+ &listener->factory.local_addr,
+ src_addr, NULL, &tls);
if (status != PJ_SUCCESS)
return PJ_TRUE;
@@ -1175,7 +1245,7 @@ static pj_status_t tls_send_msg(pjsip_transport *transport,
PJ_ASSERT_RETURN(tdata->op_key.tdata == NULL, PJSIP_EPENDINGTX);
/* Check the address is supported */
- PJ_ASSERT_RETURN(rem_addr && addr_len==sizeof(pj_sockaddr_in), PJ_EINVAL);
+ PJ_ASSERT_RETURN(rem_addr && addr_len==pj_sockaddr_get_len(rem_addr), PJ_EINVAL);
@@ -1350,7 +1420,7 @@ static pj_bool_t on_connect_complete(pj_ssl_sock_t *ssock,
{
struct tls_transport *tls;
pj_ssl_sock_info ssl_info;
- pj_sockaddr_in addr, *tp_addr;
+ pj_sockaddr addr, *tp_addr;
pjsip_tp_state_callback state_cb;
pj_bool_t is_shutdown;
@@ -1388,14 +1458,15 @@ static pj_bool_t on_connect_complete(pj_ssl_sock_t *ssock,
* set is different now that the socket is connected (could happen
* on some systems, like old Win32 probably?).
*/
- tp_addr = (pj_sockaddr_in*)&tls->base.local_addr;
- pj_sockaddr_cp((pj_sockaddr_t*)&addr,
- (pj_sockaddr_t*)&ssl_info.local_addr);
- if (tp_addr->sin_addr.s_addr != addr.sin_addr.s_addr) {
- tp_addr->sin_addr.s_addr = addr.sin_addr.s_addr;
- tp_addr->sin_port = addr.sin_port;
+ tp_addr = &tls->base.local_addr;
+ pj_sockaddr_cp(&addr, &ssl_info.local_addr);
+ if (pj_sockaddr_has_addr(&addr) &&
+ memcmp(pj_sockaddr_get_addr(tp_addr), pj_sockaddr_get_addr(&addr), pj_sockaddr_get_len(&addr)))
+ {
+ pj_sockaddr_copy_addr(tp_addr, &addr);
+ pj_sockaddr_set_port(tp_addr, pj_sockaddr_get_port(&addr));
sockaddr_to_host_port(tls->base.pool, &tls->base.local_name,
- tp_addr);
+ tp_addr);
}
/* Server identity verification based on server certificate. */
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c
index 88bdfbf..7ddfd59 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -1876,7 +1876,7 @@ PJ_DEF(pj_status_t) pjsua_transport_create( pjsip_transport_type_e type,
pjsua_transport_config config;
pjsip_host_port a_name;
pjsip_tpfactory *tls;
- pj_sockaddr_in local_addr;
+ pj_sockaddr local_addr;
/* Supply default config if it's not specified */
if (cfg == NULL) {
@@ -1886,13 +1886,13 @@ PJ_DEF(pj_status_t) pjsua_transport_create( pjsip_transport_type_e type,
}
/* Init local address */
- pj_sockaddr_in_init(&local_addr, 0, 0);
+ pj_sockaddr_init(pj_AF_INET(), &local_addr, 0, 0);
if (cfg->port)
- local_addr.sin_port = pj_htons((pj_uint16_t)cfg->port);
+ pj_sockaddr_set_port(&local_addr, cfg->port);
if (cfg->bound_addr.slen) {
- status = pj_sockaddr_in_set_str_addr(&local_addr,&cfg->bound_addr);
+ status = pj_sockaddr_set_str_addr(pj_AF_INET(), &local_addr,&cfg->bound_addr);
if (status != PJ_SUCCESS) {
pjsua_perror(THIS_FILE,
"Unable to resolve transport bound address",
commit 6b0facfda2b5a7968fe371af353a22f8af946066
Author: Joshua Colp <jcolp at digium.com>
Date: Tue Mar 15 19:44:05 2011 -0300
Add test for IPv6 TLS.
diff --git a/pjsip/build/Makefile b/pjsip/build/Makefile
index 865c7b4..8589097 100644
--- a/pjsip/build/Makefile
+++ b/pjsip/build/Makefile
@@ -89,7 +89,7 @@ export TEST_OBJS += dlg_core_test.o dns_test.o msg_err_test.o \
msg_logger.o msg_test.o multipart_test.o regc_test.o \
test.o transport_loop_test.o transport_tcp_test.o transport_tcp_test_v6.o \
transport_test.o transport_udp_test.o transport_udp_test_v6.o\
- transport_tls_test.o \
+ transport_tls_test.o transport_tls_test_v6.o \
tsx_basic_test.o tsx_bench.o tsx_uac_test.o \
tsx_uas_test.o txdata_test.o uri_test.o \
inv_offer_answer_test.o
diff --git a/pjsip/src/test/test.c b/pjsip/src/test/test.c
index dc8c1dc..757ef45 100644
--- a/pjsip/src/test/test.c
+++ b/pjsip/src/test/test.c
@@ -326,6 +326,7 @@ int test_main(void)
DO_TEST(transport_tcp_test());
DO_TEST(transport_tcp_test_v6());
DO_TEST(transport_tls_test());
+ DO_TEST(transport_tls_test_v6());
#endif
#if INCLUDE_RESOLVE_TEST
diff --git a/pjsip/src/test/transport_tls_test_v6.c b/pjsip/src/test/transport_tls_test_v6.c
new file mode 100644
index 0000000..c694db8
--- /dev/null
+++ b/pjsip/src/test/transport_tls_test_v6.c
@@ -0,0 +1,157 @@
+/* $Id: transport_tls_test_v6.c 2638 2009-04-22 14:27:55Z nanang $ */
+/*
+ * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
+ * Copyright (C) 2003-2008 Benny Prijono <benny at prijono.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "test.h"
+#include <pjsip.h>
+#include <pjlib.h>
+
+#define THIS_FILE "transport_tls_test_v6.c"
+
+
+/*
+ * TLS transport test.
+ */
+#if PJ_HAS_TCP
+int transport_tls_test_v6(void)
+{
+ enum { SEND_RECV_LOOP = 8 };
+ pjsip_tpfactory *tpfactory;
+ pjsip_transport *tls;
+ pj_sockaddr rem_addr;
+ pj_status_t status;
+ char url[PJSIP_MAX_URL_SIZE];
+ int rtt[SEND_RECV_LOOP], min_rtt;
+ int i, pkt_lost;
+ char rem_addr_str[PJ_INET6_ADDRSTRLEN];
+ pjsip_tls_setting tls_setting;
+
+ /* Start TLS listener on arbitrary port. */
+ pjsip_tls_setting_default(&tls_setting);
+ tls_setting.cert_file = pj_str("/home/jcolp/mycert.pem");
+ tls_setting.privkey_file = pj_str("/home/jcolp/mycert.pem");
+ status = pjsip_tls_transport_start(endpt, &tls_setting, NULL, NULL, 1, &tpfactory);
+ if (status != PJ_SUCCESS) {
+ app_perror(" Error: unable to start TLS transport", status);
+ return -10;
+ }
+
+ /* Get the listener address */
+ status = pj_sockaddr_init(pj_AF_INET6(), &rem_addr, &tpfactory->addr_name.host,
+ (pj_uint16_t)tpfactory->addr_name.port);
+ if (status != PJ_SUCCESS) {
+ app_perror(" Error: possibly invalid TLS address name", status);
+ return -14;
+ }
+
+ pj_ansi_sprintf(url, "sip:alice@%s;transport=tls",
+ pj_sockaddr_print(&rem_addr, rem_addr_str, sizeof(rem_addr_str), 1 | 2));
+
+ /* Acquire one TLS transport. */
+ status = pjsip_endpt_acquire_transport(endpt, PJSIP_TRANSPORT_TLS6,
+ &rem_addr, pj_sockaddr_get_len(&rem_addr),
+ NULL, &tls);
+ if (status != PJ_SUCCESS || tls == NULL) {
+ app_perror(" Error: unable to acquire TLS transport", status);
+ return -17;
+ }
+
+ /* After pjsip_endpt_acquire_transport, TLS transport must have
+ * reference counter 1.
+ */
+ if (pj_atomic_get(tls->ref_cnt) != 1)
+ return -20;
+
+ /* Test basic transport attributes */
+ status = generic_transport_test(tls);
+ if (status != PJ_SUCCESS)
+ return status;
+
+
+ /* Check again that reference counter is 1. */
+ if (pj_atomic_get(tls->ref_cnt) != 1)
+ return -40;
+
+ /* Load test */
+ if (transport_load_test(url, 500) != 0)
+ return -60;
+
+ /* Basic transport's send/receive loopback test. */
+ for (i=0; i<SEND_RECV_LOOP; ++i) {
+ status = transport_send_recv_test(PJSIP_TRANSPORT_TLS, tls, url, &rtt[i]);
+
+ if (status != 0) {
+ pjsip_transport_dec_ref(tls);
+ flush_events(500);
+ return -72;
+ }
+ }
+
+ min_rtt = 0xFFFFFFF;
+ for (i=0; i<SEND_RECV_LOOP; ++i)
+ if (rtt[i] < min_rtt) min_rtt = rtt[i];
+
+ report_ival("tls-rtt-usec", min_rtt, "usec",
+ "Best TLS transport round trip time, in microseconds "
+ "(time from sending request until response is received. "
+ "Tests were performed on local machine only, and after "
+ "TLS socket has been established by previous test)");
+
+
+ /* Multi-threaded round-trip test. */
+ status = transport_rt_test(PJSIP_TRANSPORT_TLS, tls, url, &pkt_lost);
+ if (status != 0) {
+ pjsip_transport_dec_ref(tls);
+ return status;
+ }
+
+ if (pkt_lost != 0)
+ PJ_LOG(3,(THIS_FILE, " note: %d packet(s) was lost", pkt_lost));
+
+ /* Check again that reference counter is still 1. */
+ if (pj_atomic_get(tls->ref_cnt) != 1)
+ return -80;
+
+ /* Destroy this transport. */
+ pjsip_transport_dec_ref(tls);
+
+ /* Force destroy this transport. */
+ status = pjsip_transport_destroy(tls);
+ if (status != PJ_SUCCESS)
+ return -90;
+
+ /* Unregister factory */
+ status = pjsip_tpmgr_unregister_tpfactory(pjsip_endpt_get_tpmgr(endpt),
+ tpfactory);
+ if (status != PJ_SUCCESS)
+ return -95;
+
+ /* Flush events. */
+ PJ_LOG(3,(THIS_FILE, " Flushing events, 1 second..."));
+ flush_events(1000);
+
+ /* Done */
+ return 0;
+}
+#else /* PJ_HAS_TCP */
+int transport_tls_test_v6(void)
+{
+ return 0;
+}
+#endif /* PJ_HAS_TCP */
commit 6e75f807e8590a2bc1240b42b2a8239abdb7126b
Author: Joshua Colp <jcolp at digium.com>
Date: Tue Mar 15 19:05:46 2011 -0300
Add IPv6 TLS transport type to places where it is needed.
diff --git a/pjsip/include/pjsip/sip_types.h b/pjsip/include/pjsip/sip_types.h
index 717605d..83dd61d 100644
--- a/pjsip/include/pjsip/sip_types.h
+++ b/pjsip/include/pjsip/sip_types.h
@@ -92,7 +92,10 @@ typedef enum pjsip_transport_type_e
PJSIP_TRANSPORT_UDP6 = PJSIP_TRANSPORT_UDP + PJSIP_TRANSPORT_IPV6,
/** TCP over IPv6 */
- PJSIP_TRANSPORT_TCP6 = PJSIP_TRANSPORT_TCP + PJSIP_TRANSPORT_IPV6
+ PJSIP_TRANSPORT_TCP6 = PJSIP_TRANSPORT_TCP + PJSIP_TRANSPORT_IPV6,
+
+ /** TLS over IPv6 */
+ PJSIP_TRANSPORT_TLS6 = PJSIP_TRANSPORT_TLS + PJSIP_TRANSPORT_IPV6
} pjsip_transport_type_e;
diff --git a/pjsip/src/pjsip/sip_transport.c b/pjsip/src/pjsip/sip_transport.c
index 246abcd..b5b8e98 100644
--- a/pjsip/src/pjsip/sip_transport.c
+++ b/pjsip/src/pjsip/sip_transport.c
@@ -197,6 +197,13 @@ struct transport_names_t
"TCP IPv6 transport",
PJSIP_TRANSPORT_RELIABLE
},
+ {
+ PJSIP_TRANSPORT_TLS6,
+ 5061,
+ {"TLS", 3},
+ "TLS IPv6 transport",
+ PJSIP_TRANSPORT_RELIABLE | PJSIP_TRANSPORT_SECURE
+ },
};
static void tp_state_callback(pjsip_transport *tp,
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c
index cfaa519..88bdfbf 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -1869,7 +1869,7 @@ PJ_DEF(pj_status_t) pjsua_transport_create( pjsip_transport_type_e type,
#endif /* PJ_HAS_TCP */
#if defined(PJSIP_HAS_TLS_TRANSPORT) && PJSIP_HAS_TLS_TRANSPORT!=0
- } else if (type == PJSIP_TRANSPORT_TLS) {
+ } else if (type == PJSIP_TRANSPORT_TLS || type == PJSIP_TRANSPORT_TLS6) {
/*
* Create TLS transport.
*/
commit 3b1bbd8b7e396ce050bef182a734f0ac2750e20f
Author: Joshua Colp <jcolp at digium.com>
Date: Tue Mar 15 18:18:21 2011 -0300
Add IPv4 TLS transport test and tweak it so the test only does a network load test with 500 messages instead of 2000.
diff --git a/pjsip/build/Makefile b/pjsip/build/Makefile
index 1922a09..865c7b4 100644
--- a/pjsip/build/Makefile
+++ b/pjsip/build/Makefile
@@ -89,6 +89,7 @@ export TEST_OBJS += dlg_core_test.o dns_test.o msg_err_test.o \
msg_logger.o msg_test.o multipart_test.o regc_test.o \
test.o transport_loop_test.o transport_tcp_test.o transport_tcp_test_v6.o \
transport_test.o transport_udp_test.o transport_udp_test_v6.o\
+ transport_tls_test.o \
tsx_basic_test.o tsx_bench.o tsx_uac_test.o \
tsx_uas_test.o txdata_test.o uri_test.o \
inv_offer_answer_test.o
diff --git a/pjsip/src/test/test.c b/pjsip/src/test/test.c
index a32c1b2..dc8c1dc 100644
--- a/pjsip/src/test/test.c
+++ b/pjsip/src/test/test.c
@@ -325,6 +325,7 @@ int test_main(void)
#if INCLUDE_TCP_TEST
DO_TEST(transport_tcp_test());
DO_TEST(transport_tcp_test_v6());
+ DO_TEST(transport_tls_test());
#endif
#if INCLUDE_RESOLVE_TEST
diff --git a/pjsip/src/test/test.h b/pjsip/src/test/test.h
index 894db99..4caffc8 100644
--- a/pjsip/src/test/test.h
+++ b/pjsip/src/test/test.h
@@ -80,6 +80,8 @@ int transport_udp_test_v6(void);
int transport_loop_test(void);
int transport_tcp_test(void);
int transport_tcp_test_v6(void);
+int transport_tls_test(void);
+int transport_tls_test_v6(void);
int resolve_test(void);
int regc_test(void);
@@ -104,7 +106,7 @@ int transport_rt_test( pjsip_transport_type_e tp_type,
pjsip_transport *ref_tp,
char *target_url,
int *pkt_lost);
-int transport_load_test(char *target_url);
+int transport_load_test(char *target_url, int count);
/* Invite session */
int inv_offer_answer_test(void);
diff --git a/pjsip/src/test/transport_tcp_test.c b/pjsip/src/test/transport_tcp_test.c
index 1472221..9141054 100644
--- a/pjsip/src/test/transport_tcp_test.c
+++ b/pjsip/src/test/transport_tcp_test.c
@@ -90,7 +90,7 @@ int transport_tcp_test(void)
return -40;
/* Load test */
- if (transport_load_test(url) != 0)
+ if (transport_load_test(url, 0) != 0)
return -60;
/* Basic transport's send/receive loopback test. */
diff --git a/pjsip/src/test/transport_tcp_test_v6.c b/pjsip/src/test/transport_tcp_test_v6.c
index 232fcc8..0890427 100644
--- a/pjsip/src/test/transport_tcp_test_v6.c
+++ b/pjsip/src/test/transport_tcp_test_v6.c
@@ -85,7 +85,7 @@ int transport_tcp_test_v6(void)
return -40;
/* Load test */
- if (transport_load_test(url) != 0)
+ if (transport_load_test(url, 0) != 0)
return -60;
/* Basic transport's send/receive loopback test. */
diff --git a/pjsip/src/test/transport_test.c b/pjsip/src/test/transport_test.c
index 4e1f6d9..c2efbe5 100644
--- a/pjsip/src/test/transport_test.c
+++ b/pjsip/src/test/transport_test.c
@@ -710,12 +710,16 @@ static pj_bool_t load_on_rx_request(pjsip_rx_data *rdata)
return PJ_TRUE;
}
-int transport_load_test(char *target_url)
+int transport_load_test(char *target_url, int count)
{
- enum { COUNT = 2000 };
unsigned i;
pj_status_t status = PJ_SUCCESS;
+ if (count < 1)
+ {
+ count = 2000;
+ }
+
/* exhaust packets */
do {
pj_time_val delay = {1, 0};
@@ -735,7 +739,7 @@ int transport_load_test(char *target_url)
mod_load.err = PJ_FALSE;
mod_load.next_seq = 0;
- for (i=0; i<COUNT && !mod_load.err; ++i) {
+ for (i=0; i<count && !mod_load.err; ++i) {
pj_str_t target, from, call_id;
pjsip_tx_data *tdata;
@@ -764,9 +768,9 @@ int transport_load_test(char *target_url)
pjsip_endpt_handle_events2(endpt, &delay, &i);
} while (i != 0);
- if (mod_load.next_seq != COUNT) {
+ if (mod_load.next_seq != count) {
PJ_LOG(1,("THIS_FILE", " err: expecting %u msg, got only %u",
- COUNT, mod_load.next_seq));
+ count, mod_load.next_seq));
status = -2;
goto on_return;
}
diff --git a/pjsip/src/test/transport_tcp_test.c b/pjsip/src/test/transport_tls_test.c
similarity index 65%
copy from pjsip/src/test/transport_tcp_test.c
copy to pjsip/src/test/transport_tls_test.c
index 1472221..842070a 100644
--- a/pjsip/src/test/transport_tcp_test.c
+++ b/pjsip/src/test/transport_tls_test.c
@@ -1,4 +1,4 @@
-/* $Id: transport_tcp_test.c 2638 2009-04-22 14:27:55Z nanang $ */
+/* $Id: transport_tls_test.c 2638 2009-04-22 14:27:55Z nanang $ */
/*
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
* Copyright (C) 2003-2008 Benny Prijono <benny at prijono.org>
@@ -22,18 +22,19 @@
#include <pjsip.h>
#include <pjlib.h>
-#define THIS_FILE "transport_tcp_test.c"
+#define THIS_FILE "transport_tls_test.c"
/*
- * TCP transport test.
+ * TLS transport test.
*/
#if PJ_HAS_TCP
-int transport_tcp_test(void)
+int transport_tls_test(void)
{
enum { SEND_RECV_LOOP = 8 };
+ const char ciphers[] = "eNULL";
pjsip_tpfactory *tpfactory;
- pjsip_transport *tcp;
+ pjsip_transport *tls;
pj_sockaddr rem_addr;
pj_sockaddr_in local_addr;
pj_status_t status;
@@ -41,15 +42,19 @@ int transport_tcp_test(void)
int rtt[SEND_RECV_LOOP], min_rtt;
int i, pkt_lost;
char rem_addr_str[PJ_INET6_ADDRSTRLEN];
+ struct pjsip_tls_setting tls_setting;
pj_bzero(&local_addr, sizeof(local_addr));
local_addr.sin_family = pj_AF_INET();
- local_addr.sin_port = 5060;
+ local_addr.sin_port = 5061;
- /* Start TCP listener on arbitrary port. */
- status = pjsip_tcp_transport_start(endpt, (pj_sockaddr *)&local_addr, 1, &tpfactory);
+ /* Start TLS listener on arbitrary port. */
+ pjsip_tls_setting_default(&tls_setting);
+ tls_setting.cert_file = pj_str("/home/jcolp/mycert.pem");
+ tls_setting.privkey_file = pj_str("/home/jcolp/mycert.pem");
+ status = pjsip_tls_transport_start(endpt, &tls_setting, (pj_sockaddr*)&local_addr, NULL, 1, &tpfactory);
if (status != PJ_SUCCESS) {
- app_perror(" Error: unable to start TCP transport", status);
+ app_perror(" Error: unable to start TLS transport", status);
return -10;
}
@@ -57,48 +62,48 @@ int transport_tcp_test(void)
status = pj_sockaddr_init(pj_AF_INET(), &rem_addr, &tpfactory->addr_name.host,
(pj_uint16_t)tpfactory->addr_name.port);
if (status != PJ_SUCCESS) {
- app_perror(" Error: possibly invalid TCP address name", status);
+ app_perror(" Error: possibly invalid TLS address name", status);
return -14;
}
- pj_ansi_sprintf(url, "sip:alice@%s;transport=tcp",
+ pj_ansi_sprintf(url, "sip:alice@%s;transport=tls",
pj_sockaddr_print(&rem_addr, rem_addr_str, sizeof(rem_addr_str), 1 | 2));
- /* Acquire one TCP transport. */
- status = pjsip_endpt_acquire_transport(endpt, PJSIP_TRANSPORT_TCP,
+ /* Acquire one TLS transport. */
+ status = pjsip_endpt_acquire_transport(endpt, PJSIP_TRANSPORT_TLS,
&rem_addr, pj_sockaddr_get_len(&rem_addr),
- NULL, &tcp);
- if (status != PJ_SUCCESS || tcp == NULL) {
- app_perror(" Error: unable to acquire TCP transport", status);
+ NULL, &tls);
+ if (status != PJ_SUCCESS || tls == NULL) {
+ app_perror(" Error: unable to acquire TLS transport", status);
return -17;
}
- /* After pjsip_endpt_acquire_transport, TCP transport must have
+ /* After pjsip_endpt_acquire_transport, TLS transport must have
* reference counter 1.
*/
- if (pj_atomic_get(tcp->ref_cnt) != 1)
+ if (pj_atomic_get(tls->ref_cnt) != 1)
return -20;
/* Test basic transport attributes */
- status = generic_transport_test(tcp);
+ status = generic_transport_test(tls);
if (status != PJ_SUCCESS)
return status;
/* Check again that reference counter is 1. */
- if (pj_atomic_get(tcp->ref_cnt) != 1)
+ if (pj_atomic_get(tls->ref_cnt) != 1)
return -40;
/* Load test */
- if (transport_load_test(url) != 0)
+ if (transport_load_test(url, 500) != 0)
return -60;
/* Basic transport's send/receive loopback test. */
for (i=0; i<SEND_RECV_LOOP; ++i) {
- status = transport_send_recv_test(PJSIP_TRANSPORT_TCP, tcp, url, &rtt[i]);
+ status = transport_send_recv_test(PJSIP_TRANSPORT_TLS, tls, url, &rtt[i]);
if (status != 0) {
- pjsip_transport_dec_ref(tcp);
+ pjsip_transport_dec_ref(tls);
flush_events(500);
return -72;
}
@@ -108,17 +113,17 @@ int transport_tcp_test(void)
for (i=0; i<SEND_RECV_LOOP; ++i)
if (rtt[i] < min_rtt) min_rtt = rtt[i];
- report_ival("tcp-rtt-usec", min_rtt, "usec",
- "Best TCP transport round trip time, in microseconds "
+ report_ival("tls-rtt-usec", min_rtt, "usec",
+ "Best TLS transport round trip time, in microseconds "
"(time from sending request until response is received. "
"Tests were performed on local machine only, and after "
- "TCP socket has been established by previous test)");
+ "TLS socket has been established by previous test)");
/* Multi-threaded round-trip test. */
- status = transport_rt_test(PJSIP_TRANSPORT_TCP, tcp, url, &pkt_lost);
+ status = transport_rt_test(PJSIP_TRANSPORT_TLS, tls, url, &pkt_lost);
if (status != 0) {
- pjsip_transport_dec_ref(tcp);
+ pjsip_transport_dec_ref(tls);
return status;
}
@@ -126,14 +131,14 @@ int transport_tcp_test(void)
PJ_LOG(3,(THIS_FILE, " note: %d packet(s) was lost", pkt_lost));
/* Check again that reference counter is still 1. */
- if (pj_atomic_get(tcp->ref_cnt) != 1)
+ if (pj_atomic_get(tls->ref_cnt) != 1)
return -80;
/* Destroy this transport. */
- pjsip_transport_dec_ref(tcp);
+ pjsip_transport_dec_ref(tls);
/* Force destroy this transport. */
- status = pjsip_transport_destroy(tcp);
+ status = pjsip_transport_destroy(tls);
if (status != PJ_SUCCESS)
return -90;
@@ -151,7 +156,7 @@ int transport_tcp_test(void)
return 0;
}
#else /* PJ_HAS_TCP */
-int transport_tcp_test(void)
+int transport_tls_test(void)
{
return 0;
}
commit 875f29e7faf0a0824da018a0eae18cad3226dffc
Author: Joshua Colp <jcolp at digium.com>
Date: Fri Jan 7 12:10:09 2011 -0400
Add a workaround for some Windows API versions that incorrectly use the wrong definition.
diff --git a/pjlib/src/pj/ip_helper_win32.c b/pjlib/src/pj/ip_helper_win32.c
index f9044eb..38f64d2 100644
--- a/pjlib/src/pj/ip_helper_win32.c
+++ b/pjlib/src/pj/ip_helper_win32.c
@@ -30,6 +30,11 @@
#endif
#include <winsock2.h>
+/* This is a workaround for some versions of the Windows APIs where NTDDI_XP
+ * is utilized when NTDDI_WINXP should be.
+ */
+#define NTDDI_XP NTDDI_WINXP
+
/* If you encounter error "Cannot open include file: 'Iphlpapi.h' here,
* you need to install newer Platform SDK. Presumably you're using
* Microsoft Visual Studio 6?
commit bfd266734358d3440846754a8ce5ebb5449ef51d
Author: Joshua Colp <jcolp at digium.com>
Date: Fri Jan 7 11:01:42 2011 -0400
Further tweaks to have libraries placed into the correct location when built.
diff --git a/pjlib-util/build/pjlib_util.vcxproj b/pjlib-util/build/pjlib_util.vcxproj
index 0076052..e0a0913 100644
--- a/pjlib-util/build/pjlib_util.vcxproj
+++ b/pjlib-util/build/pjlib_util.vcxproj
@@ -38,9 +38,9 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjlib-util-i386-win32-vc10-release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjlib-util-i386-win32-vc10-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjlib-util-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjlib-util-i386-win32-vc10-debug\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjlib-util-i386-win32-vc10-debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjlib-util-i386-win32-vc10-release</TargetName>
diff --git a/pjlib/build/pjlib.vcxproj b/pjlib/build/pjlib.vcxproj
index 56c7274..dee86d7 100644
--- a/pjlib/build/pjlib.vcxproj
+++ b/pjlib/build/pjlib.vcxproj
@@ -38,9 +38,9 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjlib-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjlib-i386-win32-vc10-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjlib-i386-win32-vc10-release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjlib-i386-win32-vc10-release\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)-i386-win32-vc10-debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)-i386-win32-vc10-release</TargetName>
diff --git a/pjmedia/build/pjmedia.vcxproj b/pjmedia/build/pjmedia.vcxproj
index f2178e7..f340135 100644
--- a/pjmedia/build/pjmedia.vcxproj
+++ b/pjmedia/build/pjmedia.vcxproj
@@ -38,11 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjmedia-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjmedia-i386-win32-vc6-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjmedia-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjmedia-i386-win32-vc10-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjmedia-i386-win32-vc10-debug\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
diff --git a/pjmedia/build/pjmedia_audiodev.vcxproj b/pjmedia/build/pjmedia_audiodev.vcxproj
index f3f3541..f7b2bf8 100644
--- a/pjmedia/build/pjmedia_audiodev.vcxproj
+++ b/pjmedia/build/pjmedia_audiodev.vcxproj
@@ -38,9 +38,9 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjmedia-audiodev-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjmedia-audiodev-i386-win32-vc10-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjmedia-audiodev-i386-win32-vc10-release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjmedia-audiodev-i386-win32-vc10-release\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjmedia-audiodev-i386-win32-vc10-debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjmedia-audiodev-i386-win32-vc10-release</TargetName>
diff --git a/pjnath/build/pjnath.vcxproj b/pjnath/build/pjnath.vcxproj
index 193cce6..ba9133a 100644
--- a/pjnath/build/pjnath.vcxproj
+++ b/pjnath/build/pjnath.vcxproj
@@ -38,9 +38,9 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjnath-i386-win32-vc10-release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjnath-i386-win32-vc10-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjnath-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjnath-i386-win32-vc10-debug\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)-i386-win32-vc10-debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)-i386-win32-vc10-release</TargetName>
diff --git a/pjsip/build/pjsip_core.vcxproj b/pjsip/build/pjsip_core.vcxproj
index 8ac82bb..3cf4043 100644
--- a/pjsip/build/pjsip_core.vcxproj
+++ b/pjsip/build/pjsip_core.vcxproj
@@ -38,9 +38,9 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsip-core-i386-win32-vc10-release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsip-core-i386-win32-vc10-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsip-core-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsip-core-i386-win32-vc10-debug\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjsip-core-i386-win32-vc10-debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjsip-core-i386-win32-vc10-release</TargetName>
diff --git a/pjsip/build/pjsip_simple.vcxproj b/pjsip/build/pjsip_simple.vcxproj
index 4a5c398..64986e0 100644
--- a/pjsip/build/pjsip_simple.vcxproj
+++ b/pjsip/build/pjsip_simple.vcxproj
@@ -38,9 +38,9 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjsip-simple-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjsip-simple-i386-win32-vc10-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjsip-simple-i386-win32-vc10-release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjsip-simple-i386-win32-vc10-release\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjsip-simple-i386-win32-vc10-debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjsip-simple-i386-win32-vc10-release</TargetName>
diff --git a/pjsip/build/pjsip_ua.vcxproj b/pjsip/build/pjsip_ua.vcxproj
index 3fdfda8..fd9f437 100644
--- a/pjsip/build/pjsip_ua.vcxproj
+++ b/pjsip/build/pjsip_ua.vcxproj
@@ -38,9 +38,9 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsip-ua-i386-win32-vc10-release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsip-ua-i386-win32-vc10-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsip-ua-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsip-ua-i386-win32-vc10-debug\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjsip-ua-i386-win32-vc10-debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjsip-ua-i386-win32-vc10-release</TargetName>
diff --git a/pjsip/build/pjsua_lib.vcxproj b/pjsip/build/pjsua_lib.vcxproj
index 49364e9..9d6f0c5 100644
--- a/pjsip/build/pjsua_lib.vcxproj
+++ b/pjsip/build/pjsua_lib.vcxproj
@@ -38,9 +38,9 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsua-lib-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsua-lib-i386-win32-vc10-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsua-lib-i386-win32-vc10-release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsua-lib-i386-win32-vc10-release\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjsua-lib-i386-win32-vc10-debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjsua-lib-i386-win32-vc10-release</TargetName>
diff --git a/third_party/build/srtp/libsrtp.vcxproj b/third_party/build/srtp/libsrtp.vcxproj
index 8498e3d..f330047 100644
--- a/third_party/build/srtp/libsrtp.vcxproj
+++ b/third_party/build/srtp/libsrtp.vcxproj
@@ -38,9 +38,9 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\lib\libsrtp-i386-win32-vc10-debug\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\lib\libsrtp-i386-win32-vc10-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\lib\libsrtp-i386-win32-vc10-release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\lib\libsrtp-i386-win32-vc10-release\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)-i386-win32-vc10-debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)-i386-win32-vc10-release</TargetName>
commit 1777f36fad37e43c63d311fa00218bc27594539e
Author: Joshua Colp <jcolp at digium.com>
Date: Fri Jan 7 10:55:12 2011 -0400
Ensure pjproject files are built with the vc10 filename to conform to the file naming convention.
diff --git a/pjlib-util/build/pjlib_util.vcxproj b/pjlib-util/build/pjlib_util.vcxproj
index a6966e7..0076052 100644
--- a/pjlib-util/build/pjlib_util.vcxproj
+++ b/pjlib-util/build/pjlib_util.vcxproj
@@ -38,10 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\./output/pjlib-util-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\./output/pjlib-util-i386-win32-vc6-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\./output/pjlib-util-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\./output/pjlib-util-i386-win32-vc6-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjlib-util-i386-win32-vc10-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjlib-util-i386-win32-vc10-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjlib-util-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjlib-util-i386-win32-vc10-debug\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjlib-util-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjlib-util-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@@ -66,7 +68,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjlib-util-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -96,7 +97,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjlib-util-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
diff --git a/pjlib/build/pjlib.vcxproj b/pjlib/build/pjlib.vcxproj
index cf60fbf..56c7274 100644
--- a/pjlib/build/pjlib.vcxproj
+++ b/pjlib/build/pjlib.vcxproj
@@ -38,10 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjlib-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjlib-i386-win32-vc6-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjlib-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjlib-i386-win32-vc6-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjlib-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjlib-i386-win32-vc10-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjlib-i386-win32-vc10-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjlib-i386-win32-vc10-release\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -65,7 +67,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjlib-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -96,7 +97,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjlib-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
diff --git a/pjmedia/build/pjmedia.vcxproj b/pjmedia/build/pjmedia.vcxproj
index 524fff2..f2178e7 100644
--- a/pjmedia/build/pjmedia.vcxproj
+++ b/pjmedia/build/pjmedia.vcxproj
@@ -40,8 +40,9 @@
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjmedia-i386-win32-vc6-release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjmedia-i386-win32-vc6-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjmedia-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjmedia-i386-win32-vc6-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjmedia-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjmedia-i386-win32-vc10-debug\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)-i386-win32-vc10-debug</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@@ -66,7 +67,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjmedia-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -96,7 +96,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjmedia-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
diff --git a/pjmedia/build/pjmedia_audiodev.vcxproj b/pjmedia/build/pjmedia_audiodev.vcxproj
index 2820506..f3f3541 100644
--- a/pjmedia/build/pjmedia_audiodev.vcxproj
+++ b/pjmedia/build/pjmedia_audiodev.vcxproj
@@ -38,10 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjmedia-audiodev-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjmedia-audiodev-i386-win32-vc6-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjmedia-audiodev-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjmedia-audiodev-i386-win32-vc6-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjmedia-audiodev-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjmedia-audiodev-i386-win32-vc10-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjmedia-audiodev-i386-win32-vc10-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjmedia-audiodev-i386-win32-vc10-release\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjmedia-audiodev-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjmedia-audiodev-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -65,7 +67,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjmedia-audiodev-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -96,7 +97,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjmedia-audiodev-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
diff --git a/pjnath/build/pjnath.vcxproj b/pjnath/build/pjnath.vcxproj
index e569ceb..193cce6 100644
--- a/pjnath/build/pjnath.vcxproj
+++ b/pjnath/build/pjnath.vcxproj
@@ -38,10 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\./output/pjnath-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\./output/pjnath-i386-win32-vc6-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\./output/pjnath-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\./output/pjnath-i386-win32-vc6-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjnath-i386-win32-vc10-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjnath-i386-win32-vc10-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjnath-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjnath-i386-win32-vc10-debug\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@@ -65,7 +67,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjnath-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -95,7 +96,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjnath-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
diff --git a/pjsip/build/pjsip_core.vcxproj b/pjsip/build/pjsip_core.vcxproj
index 5ed8f38..8ac82bb 100644
--- a/pjsip/build/pjsip_core.vcxproj
+++ b/pjsip/build/pjsip_core.vcxproj
@@ -38,10 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjsip-core-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjsip-core-i386-win32-vc6-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjsip-core-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjsip-core-i386-win32-vc6-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsip-core-i386-win32-vc10-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsip-core-i386-win32-vc10-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsip-core-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsip-core-i386-win32-vc10-debug\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjsip-core-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjsip-core-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@@ -66,7 +68,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjsip-core-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -83,9 +84,9 @@
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderOutputFile>.\output\pjsip-core-i386-win32-vc6-debug/pjsip_core.pch</PrecompiledHeaderOutputFile>
- <AssemblerListingLocation>.\output\pjsip-core-i386-win32-vc6-debug/</AssemblerListingLocation>
- <ObjectFileName>.\output\pjsip-core-i386-win32-vc6-debug/</ObjectFileName>
- <ProgramDataBaseFileName>.\output\pjsip-core-i386-win32-vc6-debug/</ProgramDataBaseFileName>
+ <AssemblerListingLocation>.\output\pjsip-core-i386-win32-vc10-debug/</AssemblerListingLocation>
+ <ObjectFileName>.\output\pjsip-core-i386-win32-vc10-debug/</ObjectFileName>
+ <ProgramDataBaseFileName>.\output\pjsip-core-i386-win32-vc10-debug/</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
@@ -96,7 +97,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjsip-core-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
diff --git a/pjsip/build/pjsip_simple.vcxproj b/pjsip/build/pjsip_simple.vcxproj
index bc67c23..4a5c398 100644
--- a/pjsip/build/pjsip_simple.vcxproj
+++ b/pjsip/build/pjsip_simple.vcxproj
@@ -38,10 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\./output/pjsip-simple-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\./output/pjsip-simple-i386-win32-vc6-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\./output/pjsip-simple-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\./output/pjsip-simple-i386-win32-vc6-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjsip-simple-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../lib/pjsip-simple-i386-win32-vc10-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjsip-simple-i386-win32-vc10-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../lib/pjsip-simple-i386-win32-vc10-release\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjsip-simple-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjsip-simple-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -65,7 +67,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjsip-simple-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -95,7 +96,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjsip-simple-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
diff --git a/pjsip/build/pjsip_ua.vcxproj b/pjsip/build/pjsip_ua.vcxproj
index 58673d6..3fdfda8 100644
--- a/pjsip/build/pjsip_ua.vcxproj
+++ b/pjsip/build/pjsip_ua.vcxproj
@@ -38,10 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjsip-ua-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjsip-ua-i386-win32-vc6-release\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjsip-ua-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjsip-ua-i386-win32-vc6-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsip-ua-i386-win32-vc10-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsip-ua-i386-win32-vc10-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsip-ua-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsip-ua-i386-win32-vc10-debug\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjsip-ua-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjsip-ua-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@@ -66,7 +68,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjsip-ua-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -96,7 +97,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>../lib/pjsip-ua-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
diff --git a/pjsip/build/pjsua_lib.vcxproj b/pjsip/build/pjsua_lib.vcxproj
index a1d7631..49364e9 100644
--- a/pjsip/build/pjsua_lib.vcxproj
+++ b/pjsip/build/pjsua_lib.vcxproj
@@ -38,10 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjsua-lib-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\pjsua-lib-i386-win32-vc6-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjsua-lib-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\pjsua-lib-i386-win32-vc6-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsua-lib-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\pjsua-lib-i386-win32-vc10-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsua-lib-i386-win32-vc10-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\pjsua-lib-i386-win32-vc10-release\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pjsua-lib-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pjsua-lib-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -65,7 +67,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>..\lib\pjsua-lib-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -96,7 +97,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>..\lib\pjsua-lib-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
diff --git a/third_party/build/srtp/libsrtp.vcxproj b/third_party/build/srtp/libsrtp.vcxproj
index 89cbfb2..8498e3d 100644
--- a/third_party/build/srtp/libsrtp.vcxproj
+++ b/third_party/build/srtp/libsrtp.vcxproj
@@ -38,10 +38,12 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\libsrtp-i386-win32-vc6-debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\output\libsrtp-i386-win32-vc6-debug\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\libsrtp-i386-win32-vc6-release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\output\libsrtp-i386-win32-vc6-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\lib\libsrtp-i386-win32-vc10-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\lib\libsrtp-i386-win32-vc10-debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\lib\libsrtp-i386-win32-vc10-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\lib\libsrtp-i386-win32-vc10-release\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)-i386-win32-vc10-debug</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)-i386-win32-vc10-release</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -65,7 +67,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>..\..\lib\libsrtp-i386-win32-vc6-debug.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
@@ -95,7 +96,6 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Lib>
- <OutputFile>..\..\lib\libsrtp-i386-win32-vc6-release.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
commit 12963ff1afe16783270d2e03f63a320411f5e09f
Author: Joshua Colp <jcolp at digium.com>
Date: Fri Jan 7 09:57:47 2011 -0400
Add files required for MSVC++ 10 support.
diff --git a/build/vs/pjproject-vs8-common-defaults.props b/build/vs/pjproject-vs8-common-defaults.props
new file mode 100644
index 0000000..5053998
--- /dev/null
+++ b/build/vs/pjproject-vs8-common-defaults.props
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="UserMacros">
+ <VSVer>8</VSVer>
+ </PropertyGroup>
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir>.\output\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(Configuration)\</OutDir>
+ <IntDir>$(OutDir)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level4</WarningLevel>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <Lib>
+ <OutputFile>..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <BuildMacro Include="VSVer">
+ <Value>$(VSVer)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/vs/pjproject-vs8-debug-defaults.props b/build/vs/pjproject-vs8-debug-defaults.props
new file mode 100644
index 0000000..6532d4c
--- /dev/null
+++ b/build/vs/pjproject-vs8-debug-defaults.props
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets">
+ <Import Project="pjproject-vs8-common-defaults.props" />
+ </ImportGroup>
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ </ItemDefinitionGroup>
+</Project>
\ No newline at end of file
diff --git a/build/vs/pjproject-vs8-debug-static-defaults.props b/build/vs/pjproject-vs8-debug-static-defaults.props
new file mode 100644
index 0000000..b4bac2c
--- /dev/null
+++ b/build/vs/pjproject-vs8-debug-static-defaults.props
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets">
+ <Import Project="pjproject-vs8-debug-defaults.props" />
+ </ImportGroup>
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+</Project>
\ No newline at end of file
diff --git a/build/vs/pjproject-vs8-release-defaults.props b/build/vs/pjproject-vs8-release-defaults.props
new file mode 100644
index 0000000..819ce82
--- /dev/null
+++ b/build/vs/pjproject-vs8-release-defaults.props
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets">
+ <Import Project="pjproject-vs8-common-defaults.props" />
+ </ImportGroup>
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+</Project>
\ No newline at end of file
diff --git a/build/vs/pjproject-vs8-release-dynamic-defaults.props b/build/vs/pjproject-vs8-release-dynamic-defaults.props
new file mode 100644
index 0000000..5f6c320
--- /dev/null
+++ b/build/vs/pjproject-vs8-release-dynamic-defaults.props
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets">
+ <Import Project="pjproject-vs8-release-defaults.props" />
+ </ImportGroup>
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ </ItemDefinitionGroup>
+</Project>
\ No newline at end of file
diff --git a/build/vs/pjproject-vs8-win32-common-defaults.props b/build/vs/pjproject-vs8-win32-common-defaults.props
new file mode 100644
index 0000000..db91e26
--- /dev/null
+++ b/build/vs/pjproject-vs8-win32-common-defaults.props
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="UserMacros">
+ <TargetCPU>i386</TargetCPU>
+ </PropertyGroup>
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <PreprocessorDefinitions>WIN32;PJ_WIN32=1;PJ_M_I386=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <BuildMacro Include="TargetCPU">
+ <Value>$(TargetCPU)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/vs/pjproject-vs8-win32-release-defaults.props b/build/vs/pjproject-vs8-win32-release-defaults.props
new file mode 100644
index 0000000..11c28f6
--- /dev/null
+++ b/build/vs/pjproject-vs8-win32-release-defaults.props
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets">
+ <Import Project="pjproject-vs8-win32-common-defaults.props" />
+ </ImportGroup>
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/pjlib-util/build/pjlib_util.vcxproj b/pjlib-util/build/pjlib_util.vcxproj
new file mode 100644
index 0000000..a6966e7
--- /dev/null
+++ b/pjlib-util/build/pjlib_util.vcxproj
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{3944DE2F-8240-48CE-9CC8-292697BD6BB7}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\./output/pjlib-util-i386-win32-vc6-release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\./output/pjlib-util-i386-win32-vc6-release\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\./output/pjlib-util-i386-win32-vc6-debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\./output/pjlib-util-i386-win32-vc6-debug\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>../include;../../pjlib/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;PJ_WIN32=1;PJ_M_I386=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeaderOutputFile>.\./output/pjlib-util-i386-win32-vc6-release/pjlib_util.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\./output/pjlib-util-i386-win32-vc6-release/</AssemblerListingLocation>
+ <ObjectFileName>.\./output/pjlib-util-i386-win32-vc6-release/</ObjectFileName>
+ <ProgramDataBaseFileName>.\./output/pjlib-util-i386-win32-vc6-release/</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level4</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
... 1102222 lines suppressed ...
--
asterisk-scf/integration/pjproject.git
More information about the asterisk-scf-commits
mailing list