You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (JIRA)" <ji...@apache.org> on 2014/12/14 03:12:13 UTC
[jira] [Updated] (THRIFT-2891) binary data may cause a failure with
JSON transport under specific circumstances
[ https://issues.apache.org/jira/browse/THRIFT-2891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer updated THRIFT-2891:
-------------------------------
Description:
The Go implementation relies on {{base64.StdEncoding.Decode}} which expects the base64 encoding to be complete with padding.
With Thrift it is legal to transfer binary data via JSON without padding, but the standard package can't handle this and returns an error instead ("invalid base64 data at offset N").
was:
The Delphi implementation currently relies on IdCoderMIME for base64 encoding/decoding, which expects the base64 encoding to be complete with padding.
With Thrift it is legal to transfer binary data via JSON without padding, but IdCoderMIME fails to handle this case correctly. Depending on the length of the data, up to 2 bytes from the end of a binary data block may get lost.
Summary: binary data may cause a failure with JSON transport under specific circumstances (was: binary data may lose bytes with JSON transport under specific circumstances)
> binary data may cause a failure with JSON transport under specific circumstances
> --------------------------------------------------------------------------------
>
> Key: THRIFT-2891
> URL: https://issues.apache.org/jira/browse/THRIFT-2891
> Project: Thrift
> Issue Type: Bug
> Components: Go - Library
> Affects Versions: 0.9.1, 0.9.2
> Reporter: Jens Geyer
> Assignee: Jens Geyer
> Fix For: 0.9.3
>
>
> The Go implementation relies on {{base64.StdEncoding.Decode}} which expects the base64 encoding to be complete with padding.
> With Thrift it is legal to transfer binary data via JSON without padding, but the standard package can't handle this and returns an error instead ("invalid base64 data at offset N").
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)