فهرست منبع

pv : add auth digest pseudo variables

adn -  auth nonce
adc - auth cnonce
adr - auth response
ado - auth opaque
Luis Azedo 10 سال پیش
والد
کامیت
21b64194f2
2فایلهای تغییر یافته به همراه24 افزوده شده و 0 حذف شده
  1. 12 0
      modules/pv/pv.c
  2. 12 0
      modules/pv/pv_core.c

+ 12 - 0
modules/pv/pv.c

@@ -123,6 +123,18 @@ static pv_export_t mod_pvs[] = {
 	{{"aa", (sizeof("aa")-1)}, /* auth algorithm */
 		PVT_OTHER, pv_get_authattr, 0,
 		0, 0, pv_init_iname, 6},	
+	{{"adn", (sizeof("adn")-1)}, /* auth nonce */
+		PVT_OTHER, pv_get_authattr, 0,
+		0, 0, pv_init_iname, 7},	
+	{{"adc", (sizeof("adc")-1)}, /* auth cnonce */
+		PVT_OTHER, pv_get_authattr, 0,
+		0, 0, pv_init_iname, 8},	
+	{{"adr", (sizeof("adr")-1)}, /* auth response */
+		PVT_OTHER, pv_get_authattr, 0,
+		0, 0, pv_init_iname, 9},	
+	{{"ado", (sizeof("ado")-1)}, /* auth opaque */
+		PVT_OTHER, pv_get_authattr, 0,
+		0, 0, pv_init_iname, 10},	
 	{{"Au", (sizeof("Au")-1)}, /* */
 		PVT_OTHER, pv_get_acc_username, 0,
 		0, 0, pv_init_iname, 1},

+ 12 - 0
modules/pv/pv_core.c

@@ -1254,6 +1254,18 @@ int pv_get_authattr(struct sip_msg *msg, pv_param_t *param,
 	}
 	switch(param->pvn.u.isname.name.n)
 	{
+		case 10:
+			return pv_get_strval(msg, param, res,
+					&((auth_body_t*)(hdr->parsed))->digest.opaque);
+		case 9:
+			return pv_get_strval(msg, param, res,
+					&((auth_body_t*)(hdr->parsed))->digest.response);
+		case 8:
+			return pv_get_strval(msg, param, res,
+					&((auth_body_t*)(hdr->parsed))->digest.cnonce);
+		case 7:
+			return pv_get_strval(msg, param, res,
+					&((auth_body_t*)(hdr->parsed))->digest.nonce);
 		case 6:
 			return pv_get_strval(msg, param, res,
 					&((auth_body_t*)(hdr->parsed))->digest.alg.alg_str);