Module: kamailio Branch: master Commit: 69e57b9260c6c09380fdb9cfd074ea67a459230a URL: https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67...
Author: Lucian Balaceanu lucian.balaceanu@1and1.ro Committer: Lucian Balaceanu lucian.balaceanu@1and1.ro Date: 2016-06-02T13:50:02+03:00
rtpengine: change cookie to hostname_pid_seqno
- pid_seqno in gencookie() is not a unique identifictor in a multi kamailio setup
---
Modified: modules/rtpengine/rtpengine.c
---
Diff: https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67... Patch: https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67...
---
diff --git a/modules/rtpengine/rtpengine.c b/modules/rtpengine/rtpengine.c index 5481f49..a37ab6f 100644 --- a/modules/rtpengine/rtpengine.c +++ b/modules/rtpengine/rtpengine.c @@ -97,6 +97,8 @@ MODULE_VERSION #define NAT_UAC_TEST_S_1918 0x08 #define NAT_UAC_TEST_RPORT 0x10
+#define COOKIE_SIZE 128 +#define HOSTNAME_SIZE 100
#define DEFAULT_RTPP_SET_ID 0 #define MAX_RTPP_TRIED_NODES 50 @@ -2016,12 +2018,15 @@ static void mod_destroy(void) }
- static char * gencookie(void) { - static char cook[34]; + static char cook[COOKIE_SIZE]; + char hostname[HOSTNAME_SIZE]; + + if (gethostname(hostname, HOSTNAME_SIZE - 1) < 0) + strcpy(hostname, "host"); + snprintf(cook, COOKIE_SIZE, "%s_%d_%u ", hostname, (int)mypid, myseqn);
- sprintf(cook, "%d_%u ", (int)mypid, myseqn); myseqn++; return cook; }