зеркало из https://github.com/mozilla/gecko-dev.git
8ea5c183d9
It was observed that FHR was sending invalid JSON payloads to the server. Specifically, JSON payloads contained invalid Unicode strings. Investigation revealed that the culprint was CommonUtils.convertString() silently swallowing high bytes. When the Bagheera client went to gzip the JSON payload, the input buffer into gzip was missing high bytes. This patch changes the bagheera client to UTF-8 encode strings before gzip, thus ensuring all data is preserved. A corresponding change was also added to the mock bagheera server implementation. Alternatively, we could have changed CommonUtils.convertString() to be high byte aware. However, many consumers rely on this function. This patch is written with the intent of being uplifted and the change performed is targeted at the specific problem. Tests for Unicode preserving behavior have been added to both the generic Bagheera client and to FHR. The latter test is arguably not necessary, but peace of mind is a good thing, especially with FHR. See also bug 915850. --HG-- extra : rebase_source : 4efddea7767c2e5f8cf19df247c3aba07c40eec6 extra : amend_source : ae3b6d89efa54fc9ed1794404476622946ad4b22 |
||
---|---|---|
.. | ||
bagheeraserver.js | ||
logging.js | ||
storageserver.js | ||
utils.js |