You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Stefano Bagnara (JIRA)" <se...@james.apache.org> on 2008/07/23 16:11:31 UTC

[jira] Commented: (MIME4J-67) Base64Encoder fails to encode streams longer than its buffer size (1024)

    [ https://issues.apache.org/jira/browse/MIME4J-67?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12616030#action_12616030 ] 

Stefano Bagnara commented on MIME4J-67:
---------------------------------------

A proof.

    public void testBase64Encoder() throws Exception {
        StringBuffer sb = new StringBuffer(2048);
        for (int i = 0; i < 128; i++) {
            sb.append("0123456789ABCDEF");
        }
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        CodecUtil.encodeBase64(new ByteArrayInputStream(sb.toString().getBytes()), out);
        
        InputStream is = new Base64InputStream(new ByteArrayInputStream(out.toByteArray()));
        ByteArrayOutputStream outRoundtrip = new ByteArrayOutputStream();
        CodecUtil.copy(is, outRoundtrip);
        
        assertEquals(sb.toString(), new String(outRoundtrip.toByteArray()));
    }
    


> Base64Encoder fails to encode streams longer than its buffer size (1024)
> ------------------------------------------------------------------------
>
>                 Key: MIME4J-67
>                 URL: https://issues.apache.org/jira/browse/MIME4J-67
>             Project: Mime4j
>          Issue Type: Bug
>    Affects Versions: 0.4
>            Reporter: Stefano Bagnara
>             Fix For: 0.4
>
>
> When encoding streams longer than 1024 bytes the encoder simply concatenate the base64 version of each 1024 chunk and this is wrong. Base64 streams are only concatenable when the original text length was a multiple of 3. Supporting buffer chunks encoding require keeping the last 1-2 bytes in a buffer and eventually convert them to base64 ending sequences only when the stream is closed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org