Non UTF-8 byte sequences in body causes crashes
Created by: jensli
When running GTM in UTF-8 mode we experience crashes when HTTP request and response bodies contain non UTF-8 byte sequences.
This is because in UTF-8 mode the string manipulation routines, for example $length and $extract consider such byte sequences to be invalid and generate errors.
For GTM the solution is to use for example $zlength and $zextract instead. I will submit a pull request with these changes for GTM. I'm not sure if these changes mess up the Cache support however, so I don't know if then will be useable. But maybe they can serve as a starting point.
Example:
GTM>w $l($zc(255))
%GTM-E-BADCHAR, $ZCHAR(255) is not a valid character in the UTF-8 encoding form
GTM>w $zl($zc(255))
1
Environment
M Web Server version: 1.1.2
GTM>w $zversion
GT.M V7.0-000 Linux x86_64
GTM>w $zchset
UTF-8