Browse Source

registrar(k): moved realm prefix as first field in cfg registrar struct

- added debug message to print the realm prefix
Daniel-Constantin Mierla 13 years ago
parent
commit
4875c53d46
3 changed files with 11 additions and 7 deletions
  1. 6 2
      modules_k/registrar/common.c
  2. 4 4
      modules_k/registrar/config.c
  3. 1 1
      modules_k/registrar/config.h

+ 6 - 2
modules_k/registrar/common.c

@@ -95,8 +95,12 @@ int extract_aor(str* _uri, str* _a, sip_uri_t *_pu)
 		/* strip prefix (if defined) */
  		realm_prefix.s = cfg_get(registrar, registrar_cfg, realm_pref).s;
  		realm_prefix.len = cfg_get(registrar, registrar_cfg, realm_pref).len;
-		if (realm_prefix.len>0 && realm_prefix.len<puri->host.len &&
-		(memcmp(realm_prefix.s, puri->host.s, realm_prefix.len)==0) ) {
+		LM_DBG("realm prefix is [%.*s]\n", realm_prefix.len,
+				(realm_prefix.len>0)?realm_prefix.s:"");
+		if (realm_prefix.len>0
+				&& realm_prefix.len<puri->host.len
+				&& (memcmp(realm_prefix.s, puri->host.s, realm_prefix.len)==0))
+		{
 			memcpy(aor_buf + _a->len, puri->host.s + realm_prefix.len,
 					puri->host.len - realm_prefix.len);
 			_a->len += puri->host.len - realm_prefix.len;

+ 4 - 4
modules_k/registrar/config.c

@@ -31,6 +31,7 @@
 #include "config.h"
 
 struct cfg_group_registrar	default_registrar_cfg = {
+		STR_NULL,	/* realm_pref */
 		3600, 	/* default_expires */
 		0,	/* default_expires_range */
 		60,	/* min_expires */
@@ -39,13 +40,14 @@ struct cfg_group_registrar	default_registrar_cfg = {
 		0,	/* retry_after */
 		0,	/* case_sensitive */
 		Q_UNSPECIFIED,	/* default_q */
-		1,	/* append_branches */
-		STR_NULL	/* realm_pref */
+		1	/* append_branches */
 	    };
 
 void	*registrar_cfg = &default_registrar_cfg;
 
 cfg_def_t	registrar_cfg_def[] = {
+	{"realm_pref",		CFG_VAR_STR,			0, 0, 0, 0,
+		"Realm prefix to be removed. Default is \"\""},
 	{"default_expires",	CFG_VAR_INT | CFG_CB_ONLY_ONCE,	0, 0, 0, default_expires_stats_update,
 		"Contains number of second to expire if no expire hf or contact expire present" },
 	{"default_expires_range",	CFG_VAR_INT | CFG_CB_ONLY_ONCE,	0, 100, 0, default_expires_range_update,
@@ -64,7 +66,5 @@ cfg_def_t	registrar_cfg_def[] = {
 		"The parameter represents default q value for new contacts."}, /* Q_UNSPECIFIED is -1 */
 	{"append_branches",	CFG_VAR_INT ,			0, 0, 0, 0,
 		"If set to 1(default), lookup will put all contacts found in msg structure"},
-	{"realm_pref",		CFG_VAR_STR,			0, 0, 0, 0,
-		"Realm prefix to be removed. Default is \"\""},
 	{0, 0, 0, 0, 0, 0}
 };

+ 1 - 1
modules_k/registrar/config.h

@@ -27,6 +27,7 @@
 #include "../../str.h"
 
 struct cfg_group_registrar {
+	str 		realm_pref;
 	unsigned int	default_expires;
 	unsigned int	default_expires_range;
 	unsigned int	min_expires;
@@ -36,7 +37,6 @@ struct cfg_group_registrar {
 	unsigned int	case_sensitive;
 	qvalue_t	default_q;
 	unsigned int	append_branches;
-	str 		realm_pref;
 };
 
 extern struct cfg_group_registrar	default_registrar_cfg;