qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] char: don't silently skip tn3270 protocol init


From: Cornelia Huck
Subject: Re: [Qemu-devel] [PATCH] char: don't silently skip tn3270 protocol init when TLS is enabled
Date: Thu, 21 Dec 2017 17:33:02 +0100

On Thu, 21 Dec 2017 16:19:04 +0000
"Daniel P. Berrange" <address@hidden> wrote:

> On Thu, Dec 21, 2017 at 04:52:35PM +0100, Cornelia Huck wrote:
> > On Thu, 21 Dec 2017 10:54:33 +0000
> > "Daniel P. Berrange" <address@hidden> wrote:
> >   
> > > Even if common tn3270 implementations do not support TLS, it is trivial to
> > > have them proxied over a proxy like stunnel which adds TLS at the sockets
> > > layer. We should thus not silently skip tn3270 protocol initialization
> > > when TLS is enabled.
> > > 
> > > Signed-off-by: Daniel P. Berrange <address@hidden>
> > > ---
> > >  chardev/char-socket.c | 3 +--
> > >  1 file changed, 1 insertion(+), 2 deletions(-)
> > > 
> > > diff --git a/chardev/char-socket.c b/chardev/char-socket.c
> > > index 53eda8ef00..6013972f72 100644
> > > --- a/chardev/char-socket.c
> > > +++ b/chardev/char-socket.c
> > > @@ -623,8 +623,7 @@ static void tcp_chr_tls_handshake(QIOTask *task,
> > >      if (qio_task_propagate_error(task, NULL)) {
> > >          tcp_chr_disconnect(chr);
> > >      } else {
> > > -        /* tn3270 does not support TLS yet */
> > > -        if (s->do_telnetopt && !s->is_tn3270) {
> > > +        if (s->do_telnetopt) {
> > >              tcp_chr_telnet_init(chr);
> > >          } else {
> > >              tcp_chr_connect(chr);  
> > 
> > With this patch applied, attaching an additional 3270 tty still works
> > for me as before.
> > 
> > I have no idea how to try this out with TLS, though. Would you be able
> > to run a sanity check? (The instructions in
> > https://wiki.qemu.org/Features/3270 work fine with a tcg s390x guest.)  
> 
> NB, the x3270 emulator that's described in that page would not do TLS
> in the manner than it's provided by QEMU. x3270 wants to start in plain
> text mode, and then use STARTTLS command to negotiate use of TLS afterwards.
> 
> The QEMU chardev code doesn't work that way - it immediately activates
> TLS when started, with no optional negotiation.

Ah, OK. IIRC, z/VM usually uses STARTTLS.

> 
> We could potentially add support for STARTTLS telent/tn3270 negotiation,
> but that would be a separate mode from the TLS support we currently have
> in QEMU chardevs.
> 
> I'm guessing the original author who added this check I'm removing was
> mixing these two modes of operating, and hence mistakenly added this
> check to stop 3270 init.

Maybe add a sentence regarding STARTTLS vs. QEMU TLS support in the
patch description?

In any case, this does not seem to do any harm, so feel free to add my

Acked-by: Cornelia Huck <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]