[jira] Updated: (NET-89) [net] TelnetClient broken for binary transmissions + solution

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] Updated: (NET-89) [net] TelnetClient broken for binary transmissions + solution

JIRA jira@apache.org

     [ https://issues.apache.org/jira/browse/NET-89?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebb updated NET-89:

    Component/s: Telnet

> [net] TelnetClient broken for binary transmissions + solution
> -------------------------------------------------------------
>                 Key: NET-89
>                 URL: https://issues.apache.org/jira/browse/NET-89
>             Project: Commons Net
>          Issue Type: Bug
>          Components: Telnet
>         Environment: Operating System: All
> Platform: All
>            Reporter: Colin Surprenant
> TelnetClient does not handle correctly binary transmissions in two places:
> First in TelnetClient#_connectAction_() the telnet input and output streams are
> wrapped in the NetASCII streams to handle net vs platform line separator
> conversion which breaks the binary data. My quick solution was to simply remove
> those two wrapping streams. A more general solution might be to provide access
> to the unfilterer stream with methods like getUnfilteredInputStream and
> getUnfilteredOutputStream or to dynamically stop the NetASCII stream from
> 'corrupting' the stream when a TelnetOption.BINARY option is negotiated.
> {quote}
> Also, in TelnetInputStream#__read() there is a bug in the __receiveState
> handling for the _STATE_IAC state. When a second consecutive IAC (0x255) is
> received to encode the single 0x255 character, read does not return 0x255 but
> instead move on to reading the next char in the stream.
> ...
> {quote}
> The above bug report has been moved to the subtask NET-329
> I'll provide patches for this.
> Colin.

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