directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Doran (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DIRSERVER-1489) Provide access to remote connection info
Date Tue, 30 Mar 2010 09:14:27 GMT

    [ https://issues.apache.org/jira/browse/DIRSERVER-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12851327#action_12851327
] 

Matt Doran commented on DIRSERVER-1489:
---------------------------------------

I've updated the patch to also passed down the client address into the bind requests.  This
required some changes up in the protocol handler, and some hacky stuff in the BindHandler
to copy this down throught the layers.

The flow of data through the layers of interceptors, etc is pretty darn complex..... and I'd
have to say difficult to understand and probably brittle.   But what do I know? :)

> Provide access to remote connection info
> ----------------------------------------
>
>                 Key: DIRSERVER-1489
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1489
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>    Affects Versions: 1.5.5
>            Reporter: Matt Doran
>         Attachments: connection-info-1.5.5-v2.patch, connection-info-1.5.5.patch
>
>
> I'm developing a custom partition and custom authentication handler to plug into ApacheDS,
and need to know the connection details of the client performing the requests.    A reason
why this might be useful it to be able to log the source of invalid authentication requests.
 
> The CoreSession object has a getClientAddress() method, however it always returns null.
 The CoreSession object is accessible from the places where it would be useful (i.e. via the
context objects passed into the Partition methods ... and also in the AuthenticationInterceptor.)
  Upon further investigation it looks like the implementation in DefaultCoreSession is hard-coded
to return null.  :(
> It also appears that the services main CoreSession object is reused alot (e.g. in the
authentication interceptor we use the same session object no matter who the caller is).
> I was interested in putting in a short-term patch to work-around this issue while a longer
term solution was considered.  But I couldn't find anything obvious.   I'd think it would
make sense to stuff the client address into the session somewhere up in one of the protocol
handlers (e.g. LdapRequestHandler.handleMessage) ... but there currently isn't anywhere to
put this info.  Any ideas on a short-term (even if hacky) way to achieve this?
> (raising as requested by Emmanuel Lecharany on user's list)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message