diff libfdcore/dict_base_proto.c @ 1191:60e7b02a3ce7

Allow Vendor-Specific-Application-Id with several Vendor-Id AVPs as seen on some equipments
author Sebastien Decugis <sdecugis@freediameter.net>
date Tue, 11 Jun 2013 09:18:52 +0800
parents 5053f1abcf5d
children 2a5620128a9a
line wrap: on
line diff
--- a/libfdcore/dict_base_proto.c	Mon Jun 10 16:44:18 2013 +0800
+++ b/libfdcore/dict_base_proto.c	Tue Jun 11 09:18:52 2013 +0800
@@ -890,7 +890,14 @@
 					};
 					
 			struct local_rules_definition rules[] = 
-						{ 	 {  "Vendor-Id", 			RULE_REQUIRED, -1, 1 }
+						{
+#ifndef WORKAROUND_ACCEPT_INVALID_VSAI
+							/* ABNF from RFC6733 */
+						 	 {  "Vendor-Id", 			RULE_REQUIRED, -1, 1 }
+#else /* WORKAROUND_ACCEPT_INVALID_VSAI */
+							/* ABNF from RFC3588 (including erratum, because original text is nonsense) */
+						 	 {  "Vendor-Id", 			RULE_REQUIRED, -1, -1}
+#endif /* WORKAROUND_ACCEPT_INVALID_VSAI */
 							,{  "Auth-Application-Id",		RULE_OPTIONAL, -1, 1 }
 							,{  "Acct-Application-Id",		RULE_OPTIONAL, -1, 1 }
 						};
"Welcome to our mercurial repository"