You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Anton Vinokurov (JIRA)" <ji...@apache.org> on 2019/06/04 11:05:00 UTC

[jira] [Commented] (DIRMINA-996) IoSessionRecycler RemoteAddress Collision

    [ https://issues.apache.org/jira/browse/DIRMINA-996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16855585#comment-16855585 ] 

Anton Vinokurov commented on DIRMINA-996:
-----------------------------------------

I can confirm this issue as critical for my application which uses MINA.

We developed a RADIUS server listening on udp:K.L.M.N:1812 and udp:K.L.M.N:1813 sockets.

Remote system sends a RADIUS Auth packet from A.B.C.D:12340 to K.L.M.N:1812, new session is created, a reply is send from K.L.M.N:1812 to A.B.C.D:12340.

Remote system sends a RADIUS Acct packet from A.B.C.D:12340 to K.L.M.N:1813, new session is NOT created, a reply is send from K.L.M.N:1812 to A.B.C.D:12340 while A.B.C.D expects K.L.M.N:1813 as source.

The problem is in IoSessionRecycler, which uses only remoteAddress as a key, not  localAddress-remoteAddress pair.

> IoSessionRecycler RemoteAddress Collision
> -----------------------------------------
>
>                 Key: DIRMINA-996
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-996
>             Project: MINA
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.7
>            Reporter: Flavio Battimo
>            Assignee: Jonathan Valliere
>            Priority: Critical
>             Fix For: 2.1.4
>
>
> When using NioDatagramAcceptor with multiple binded local addresses the IoSessionRecycler is not working as expected.
> If the acceptor has been prefilled with two sessions:
> remoteaddr=192.168.1.10:2001 localaddr=192.168.1.20:1000
> remoteaddr=192.168.1.10:2001 localaddr=192.168.1.20:1001
> so with same remote address but different local address, when the recycle method of IoSessionRecycler interface is called only remote address is passed. The recycler returns the same IoSession for incoming datagrams on two different local addresses of the same acceptor.
> The IoSessionRecycler should have the local address parameter also in order to find the correct IoSession.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@mina.apache.org
For additional commands, e-mail: dev-help@mina.apache.org