summaryrefslogtreecommitdiff
path: root/pjnath
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2012-07-05 10:52:55 +0000
committerNanang Izzuddin <nanang@teluu.com>2012-07-05 10:52:55 +0000
commite41c8162794eac2ea5cdae73bfb501ac64876011 (patch)
tree9df42a13b1d829aebaf85478d5b48a6aa70c75df /pjnath
parent1a722c4393f66b868068d14e998bd942befc2744 (diff)
Re: Added compile-time setting PJNATH_STUN_SOFTWARE_NAME to specify SOFTWARE attribute for STUN sessions.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4199 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjnath')
-rw-r--r--pjnath/include/pjnath/config.h11
-rw-r--r--pjnath/include/pjnath/stun_config.h8
-rw-r--r--pjnath/src/pjnath/stun_session.c6
3 files changed, 21 insertions, 4 deletions
diff --git a/pjnath/include/pjnath/config.h b/pjnath/include/pjnath/config.h
index 8e936a98..5a30f703 100644
--- a/pjnath/include/pjnath/config.h
+++ b/pjnath/include/pjnath/config.h
@@ -487,6 +487,17 @@
# define PJNATH_POOL_INC_TURN_SOCK 1000
#endif
+/** Default STUN software name */
+#ifndef PJNATH_STUN_SOFTWARE_NAME
+# define PJNATH_MAKE_SW_NAME(a,b,c,d) "pjnath-" #a "." #b "." #c d
+# define PJNATH_MAKE_SW_NAME2(a,b,c,d) PJNATH_MAKE_SW_NAME(a,b,c,d)
+# define PJNATH_STUN_SOFTWARE_NAME PJNATH_MAKE_SW_NAME2( \
+ PJ_VERSION_NUM_MAJOR, \
+ PJ_VERSION_NUM_MINOR, \
+ PJ_VERSION_NUM_REV, \
+ PJ_VERSION_NUM_EXTRA)
+#endif
+
/**
* @}
*/
diff --git a/pjnath/include/pjnath/stun_config.h b/pjnath/include/pjnath/stun_config.h
index 4d625e10..d23096ee 100644
--- a/pjnath/include/pjnath/stun_config.h
+++ b/pjnath/include/pjnath/stun_config.h
@@ -81,6 +81,13 @@ typedef struct pj_stun_config
*/
unsigned res_cache_msec;
+ /**
+ * Software name to be included in all STUN requests and responses.
+ *
+ * Default: PJNATH_STUN_SOFTWARE_NAME.
+ */
+ pj_str_t software_name;
+
} pj_stun_config;
@@ -102,6 +109,7 @@ PJ_INLINE(void) pj_stun_config_init(pj_stun_config *cfg,
cfg->timer_heap = timer_heap;
cfg->rto_msec = PJ_STUN_RTO_VALUE;
cfg->res_cache_msec = PJ_STUN_RES_CACHE_DURATION;
+ cfg->software_name = pj_str((char*)PJNATH_STUN_SOFTWARE_NAME);
}
diff --git a/pjnath/src/pjnath/stun_session.c b/pjnath/src/pjnath/stun_session.c
index 4a268ea4..74276b26 100644
--- a/pjnath/src/pjnath/stun_session.c
+++ b/pjnath/src/pjnath/stun_session.c
@@ -500,10 +500,8 @@ PJ_DEF(pj_status_t) pj_stun_session_create( pj_stun_config *cfg,
pj_memcpy(&sess->cb, cb, sizeof(*cb));
sess->use_fingerprint = fingerprint;
sess->log_flag = 0xFFFF;
-
- sess->srv_name.ptr = (char*) pj_pool_alloc(pool, 32);
- sess->srv_name.slen = pj_ansi_snprintf(sess->srv_name.ptr, 32,
- "pjnath-%s", pj_get_version());
+
+ pj_stun_session_set_software_name(sess, &cfg->software_name);
sess->rx_pool = pj_pool_create(sess->cfg->pf, name,
PJNATH_POOL_LEN_STUN_TDATA,