Respond to client "do" requests during the negotiation. This prevents the
negotiation from failing when connecting from the z/VM and CSI z/VSE telnet
clients.
Also don't treat unknown terminal device type as an error, just fall back on
assuming a 24x80 terminal. This shouldn't affect z/VM / z/VSE clients, which
identify correctly, but will return to the original go3270 behavior of not
caring about specific client device type.
This is a relatively big new feature, which introduces small breaking changes
to the API:
* NegotiateTelnet() now returns (DevInfo, error) instead of just error. The
function signature for the Tx type now has one additional DevInfo parameter.
* RunTransactions() requires one additional parameter, the DevInfo (which is
allowed to be nil).
Otherwise, existing behavior continues to work as-is and everything still
defaults to operating on the default 24x80 terminal size.
See example5 for a larger-terminal-aware application.
Pending some time to make sure no new bugs cropped up in this release and that
the alternate screen size support works in the wild, I anticipate this will
become the v1.0.0 release of go3270.