Hi,

according to the RFC3261:
"When comparing header fields, field names are always case- insensitive. Unless otherwise stated in the definition of a particular header field, field values, parameter names, and parameter values are case-insensitive. Tokens are always case-insensitive."

I propose the attached change to address this issue.

br

Szo
diff --git a/core/AmUtils.cpp b/core/AmUtils.cpp
index a56ea03..b87b766 100644
--- a/core/AmUtils.cpp
+++ b/core/AmUtils.cpp
@@ -725,7 +725,7 @@ string get_header_keyvalue_single(const string& param_hdr, const string& name) {
       case ';': // semicolons before the key
 	break;
       default:
-	if (curr==name[0]) {
+	if (curr==tolower(name[0]) || curr==toupper(name[0])) {
 	  if (name.length() == 1)
 	    st = ST_FINDEQ;
 	  else
@@ -739,7 +739,7 @@ string get_header_keyvalue_single(const string& param_hdr, const string& name) {
     } break;
 
     case ST_CMPKEY: {
-	if (curr==name[corr]) {
+	if (curr==tolower(name[corr]) || curr==toupper(name[corr])) {
 	  corr++;
 	  if (corr == name.length()) {
 	    st = ST_FINDEQ;
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to