diff --git a/third-party/pjproject/patches/config_site.h b/third-party/pjproject/patches/config_site.h index 66e8e84d3f1daff5cbb7c5e51d201901d0bb8020..f84adeb357ed716f1fc5cc698f5dd66e15aac73b 100644 --- a/third-party/pjproject/patches/config_site.h +++ b/third-party/pjproject/patches/config_site.h @@ -43,7 +43,16 @@ #define PJ_DEBUG 0 #define PJSIP_SAFE_MODULE 0 #define PJ_HAS_STRICMP_ALNUM 0 -#define PJ_HASH_USE_OWN_TOLOWER 1 + +/* + * Do not ever enable PJ_HASH_USE_OWN_TOLOWER because the algorithm is + * inconsistently used when calculating the hash value and doesn't + * convert the same characters as pj_tolower()/tolower(). Thus you + * can get different hash values if the string hashed has certain + * characters in it. (ASCII '@', '[', '\\', ']', '^', and '_') + */ +#undef PJ_HASH_USE_OWN_TOLOWER + /* It is imperative that PJSIP_UNESCAPE_IN_PLACE remain 0 or undefined. Enabling it will result in SEGFAULTS when URIs containing escape sequences are encountered.