Another issue is that the "protocol" changes after the DATA command (transparency mode per RFC821 §4.5.2) and the BDAT command (RFC 1830). Also note that Endre's concern about a chunk being partially read by the wrong pipelining stage is normally not possible due to the PIPELINING extension restrictions (RFC 2920 §3.1) that require a client to implement certain synchronization points before sending certain data. The bigger problem is that Akka IO is currently poorly suited to real world protocols that have dynamic pipeline requirements.
On Monday, December 30, 2013 4:01:03 PM UTC-8, Mark Beeson wrote: > > In-depth Akka IO question coming up, be forewarned. > > I'm in the middle of creating an Akka IO-based SMTP server as a > replacement for the thread-based SubEthaSMTP. So far so good, except > there's a slight hitch which I've been pounding my head against. > > ESMTP allows for TLS connections, only these connections are only > negotiated *after* the initial insecure connection has been established. > The flow goes like this: > > - client opens connection to server > - server > client "220 servername ESMTP softwarename" > - client > server "STARTTLS" > - server > client "220 2.0.0 Ready to start TLS" > - client > server (Insert TLS handshake here) > - (...normal TLS-encrypted SMTP transaction...) > - client closes connection to server > > My hangup is that I appear to be unable to *re-register* a different > pipeline for the connection once it hits the STARTTLS phase. I've thought > about creating a child of the current handler actor to take care of the TLS > traffic, but that doesn't appear to work either. > > Q: Is this even possible? Can I switch pipelines on the fly based on a > message? Can I just change the underlying socket for the current pipeline? > > Thanks! --Mark > -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: http://akka.io/faq/ >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/groups/opt_out.
