From 79081a2faa530a0f09e8e7b1a30ce31d19f14399 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Tue, 24 Mar 2009 15:48:19 +0000 Subject: [PATCH] Mon Mar 23 12:22:50 CDT 2009 Pekka Pessi * nta.c: use random key when generating tags Ignore-this: 3e989f42549acbdbc259383b1b64e74d git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12754 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/sofia-sip/.update | 2 +- libs/sofia-sip/libsofia-sip-ua/nta/nta.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index a7b8ddb14a..015f045545 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Tue Mar 24 10:46:45 CDT 2009 +Tue Mar 24 10:47:23 CDT 2009 diff --git a/libs/sofia-sip/libsofia-sip-ua/nta/nta.c b/libs/sofia-sip/libsofia-sip-ua/nta/nta.c index 51154e4318..362d9ae960 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nta/nta.c +++ b/libs/sofia-sip/libsofia-sip-ua/nta/nta.c @@ -1175,10 +1175,9 @@ char const *nta_agent_version(nta_agent_t const *agent) static int agent_tag_init(nta_agent_t *self) { sip_contact_t *m = self->sa_contact; - uint32_t hash = 1; + uint32_t hash = su_random(); if (m) { - if (m->m_url->url_user) hash = 914715421U * hash + msg_hash_string(m->m_url->url_user); if (m->m_url->url_host) @@ -1192,7 +1191,7 @@ static int agent_tag_init(nta_agent_t *self) if (hash == 0) hash = 914715421U; - self->sa_branch = NTA_BRANCH_PRIME * su_ntp_now(); + self->sa_branch = NTA_BRANCH_PRIME * (uint64_t)su_nanotime(NULL); self->sa_branch *= hash; self->sa_tags = NTA_TAG_PRIME * self->sa_branch; @@ -2505,6 +2504,8 @@ int agent_init_contact(nta_agent_t *self) if (!self->sa_contact) return -1; + agent_tag_init(self); + return 0; }