From: Daniel Borkmann <dborkman@redhat.com>
To: Vlad Yasevich <vyasevich@gmail.com>
Cc: davem@davemloft.net, jgunthorpe@obsidianresearch.com,
netdev@vger.kernel.org, linux-sctp@vger.kernel.org
Subject: Re: [PATCH net] net: sctp: inherit auth_capable on INIT collisions
Date: Fri, 18 Jul 2014 23:23:08 +0000 [thread overview]
Message-ID: <53C9AC5C.2090508@redhat.com> (raw)
In-Reply-To: <53C998DE.2030805@gmail.com>
On 07/18/2014 11:59 PM, Vlad Yasevich wrote:
> On 07/18/2014 03:17 PM, Daniel Borkmann wrote:
>> On 07/18/2014 04:38 PM, Vlad Yasevich wrote:
>> ...
>>> Why is the original value of asoc->peer.auth_capable = 0?
>>> In case of collision, asoc is the old association that
>>> existed on the system. That association was created as part of
>>> sending the INIT. If it is processing a duplicate COOKIE-ECHO
>>> as you say, then it has already processed the INIT-ACK and
>>> should have determined that the peer is auth capable.
>>>
>>> Thus the capability of the new and the old associations should
>>> be same if we are in fact processing case B (collision).
>>>
>>> If not, then something else if wrong and my guess is that all
>>> other capabilities would be wrong too.
>>
>> I agree that they might likely also be flawed.
>>
>> Ok, let me dig further.
>
> So I think I know why case D ends up not authenticating the COOKIE-ACK.
> Most likely the reason is the following statement:
> repl = sctp_make_cookie_ack(new_asoc, chunk);
That in fact lets COOKIE-ACK be AUTH'ed which weren't before,
so we should add that into the set. What happens though is
that subsequent AUTH+HBs from both sides remain unanswered,
so no AUTH+HB_ACK. This issue is independant of s/new_asoc/asoc/
though; disabling auth_enabled at both sides makes HB+HB_ACKs
work.
> Note that we use new_asoc, instead of current asoc.
>
> Not sure why case B is dumping core yet.
>
> -vlad
>
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Borkmann <dborkman@redhat.com>
To: Vlad Yasevich <vyasevich@gmail.com>
Cc: davem@davemloft.net, jgunthorpe@obsidianresearch.com,
netdev@vger.kernel.org, linux-sctp@vger.kernel.org
Subject: Re: [PATCH net] net: sctp: inherit auth_capable on INIT collisions
Date: Sat, 19 Jul 2014 01:23:08 +0200 [thread overview]
Message-ID: <53C9AC5C.2090508@redhat.com> (raw)
In-Reply-To: <53C998DE.2030805@gmail.com>
On 07/18/2014 11:59 PM, Vlad Yasevich wrote:
> On 07/18/2014 03:17 PM, Daniel Borkmann wrote:
>> On 07/18/2014 04:38 PM, Vlad Yasevich wrote:
>> ...
>>> Why is the original value of asoc->peer.auth_capable = 0?
>>> In case of collision, asoc is the old association that
>>> existed on the system. That association was created as part of
>>> sending the INIT. If it is processing a duplicate COOKIE-ECHO
>>> as you say, then it has already processed the INIT-ACK and
>>> should have determined that the peer is auth capable.
>>>
>>> Thus the capability of the new and the old associations should
>>> be same if we are in fact processing case B (collision).
>>>
>>> If not, then something else if wrong and my guess is that all
>>> other capabilities would be wrong too.
>>
>> I agree that they might likely also be flawed.
>>
>> Ok, let me dig further.
>
> So I think I know why case D ends up not authenticating the COOKIE-ACK.
> Most likely the reason is the following statement:
> repl = sctp_make_cookie_ack(new_asoc, chunk);
That in fact lets COOKIE-ACK be AUTH'ed which weren't before,
so we should add that into the set. What happens though is
that subsequent AUTH+HBs from both sides remain unanswered,
so no AUTH+HB_ACK. This issue is independant of s/new_asoc/asoc/
though; disabling auth_enabled at both sides makes HB+HB_ACKs
work.
> Note that we use new_asoc, instead of current asoc.
>
> Not sure why case B is dumping core yet.
>
> -vlad
>
next prev parent reply other threads:[~2014-07-18 23:23 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-17 18:05 [PATCH net] net: sctp: inherit auth_capable on INIT collisions Daniel Borkmann
2014-07-17 18:05 ` Daniel Borkmann
2014-07-18 12:35 ` Neil Horman
2014-07-18 12:35 ` Neil Horman
2014-07-18 14:38 ` Vlad Yasevich
2014-07-18 14:38 ` Vlad Yasevich
2014-07-18 19:17 ` Daniel Borkmann
2014-07-18 19:17 ` Daniel Borkmann
2014-07-18 21:59 ` Vlad Yasevich
2014-07-18 21:59 ` Vlad Yasevich
2014-07-18 22:13 ` Daniel Borkmann
2014-07-18 22:13 ` Daniel Borkmann
2014-07-18 23:03 ` Daniel Borkmann
2014-07-18 23:03 ` Daniel Borkmann
2014-07-19 2:23 ` Vlad Yasevich
2014-07-19 2:23 ` Vlad Yasevich
2014-07-20 9:13 ` Daniel Borkmann
2014-07-20 9:13 ` Daniel Borkmann
2014-07-18 23:23 ` Daniel Borkmann [this message]
2014-07-18 23:23 ` Daniel Borkmann
2014-07-22 13:25 ` Daniel Borkmann
2014-07-22 13:25 ` Daniel Borkmann
2014-07-22 16:41 ` Vlad Yasevich
2014-07-22 16:41 ` Vlad Yasevich
2014-07-22 16:43 ` Daniel Borkmann
2014-07-22 16:43 ` Daniel Borkmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53C9AC5C.2090508@redhat.com \
--to=dborkman@redhat.com \
--cc=davem@davemloft.net \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-sctp@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=vyasevich@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.