You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Rafael H. Schloming (JIRA)" <ji...@apache.org> on 2013/02/12 17:53:13 UTC

[jira] [Updated] (PROTON-235) SASL layer can "replicate" inbound SASL frames under some circumstances.

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

Rafael H. Schloming updated PROTON-235:
---------------------------------------

    Fix Version/s: 0.4
    
> SASL layer can "replicate" inbound SASL frames under some circumstances.
> ------------------------------------------------------------------------
>
>                 Key: PROTON-235
>                 URL: https://issues.apache.org/jira/browse/PROTON-235
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: 0.3
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>             Fix For: 0.4
>
>
> If an inbound SASL frame is fragmented, then the SASL layer incorrectly re-reads the same frame data.  This causes the engine to fail.
> Reproducer:
>   def testFracturedSASL(self):
>     self.s1.mechanisms("ANONYMOUS")
>     self.s1.client()
>     self.t1.trace(Transport.TRACE_FRM)
>     out = self.t1.output(1024)
>     print("out=%s" % str(out))
>     self.t1.input("AMQP\x03\x01\x00\x00")
>     out = self.t1.output(1024)
>     print("out=%s" % str(out))
>     self.t1.input("\x00\x00\x00")
>     out = self.t1.output(1024)
>     print("out=%s" % str(out))
>     self.t1.input("A\x02\x01\x00\x00\x00S@\xc04\x01\xe01\x06\xa3\x06GSSAPI\x05PLAIN\x0aDIGEST-MD5\x08AMQPLAIN\x08CRAM-MD5\x04NTLM")
>     out = self.t1.output(1024)
>     print("out=%s" % str(out))
>     self.t1.input("\x00\x00\x00\x10\x02\x01\x00\x00\x00SD\xc0\x03\x01P\x00")
>     out = self.t1.output(1024)
>     while out:
>       print("out=%s" % str(out))
>       out = self.t1.output(1024)
> When tracing is turned on, SASL will report the following frames as received:
> <- SASL
> [0x200f0e0:0] <- SASL-MECHANISMS @64 [@PN_SYMBOL[:GSSAPI, :PLAIN, :"DIGEST-MD5", :AMQPLAIN, :"CRAM-MD5", :NTLM]]
> [0x200f0e0:0] <- SASL-MECHANISMS @64 [@PN_SYMBOL[:GSSAPI, :PLAIN, :"DIGEST-MD5", :AMQPLAIN, :"CRAM-MD5", :NTLM]]
> Notice the MECHANISM frame is reported as received twice by the SASL layer, but it was only read once from the network.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira