[sr-dev] git:master:69e57b92: rtpengine: change cookie to hostname_pid_seqno

Alekzander Spiridonov sipidronov at gmail.com
Thu Jun 2 14:31:08 CEST 2016


It looks like a re-invention of a uuid. Isn't it?
I'd say that using server_id is better approach.

2016-06-02 14:38 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com>:

> Hello,
>
> wondering if it wouldn't be better to get the hostname once at startup,
> rather than doing it each time a new cookie is needed.
>
> On the other hand, note that you can set server_id for each kamailio
> instance to make it uniquely identifiable, which is also important for
> sruid generator (although that uses random and startup timestamp as well).
>
> Also, sometime the local hostname overlaps, seen lots of servers using
> just 'www' or 'debian'. So ensuring the uniqueness was shifted to the
> sysadmins of the network nodes.
>
> Cheers,
> Daniel
>
> On 02/06/16 12:54, Lucian Balaceanu wrote:
>
> Module: kamailio
> Branch: master
> Commit: 69e57b9260c6c09380fdb9cfd074ea67a459230a
> URL: https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67a459230a
>
> Author: Lucian Balaceanu <lucian.balaceanu at 1and1.ro> <lucian.balaceanu at 1and1.ro>
> Committer: Lucian Balaceanu <lucian.balaceanu at 1and1.ro> <lucian.balaceanu at 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/69e57b9260c6c09380fdb9cfd074ea67a459230a.diff
> Patch: https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67a459230a.patch
>
> ---
>
> 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;
>  }
>
>
> _______________________________________________
> sr-dev mailing listsr-dev at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
>
> --
> Daniel-Constantin Mierlahttp://www.asipto.com - http://www.kamailio.orghttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
>


-- 
Best regards,
Alekzander Spiridonov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20160602/ffc8567c/attachment.html>


More information about the sr-dev mailing list