Uploaded image for project: 'Directory ApacheDS'
  1. Directory ApacheDS
  2. DIRSERVER-1489

Provide access to remote connection info

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.5.5
    • 2.0.0-M13
    • None
    • None

    Description

      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)

      Attachments

        1. connection-info-1.5.5-v2.patch
          6 kB
          Matt Doran
        2. connection-info-1.5.5.patch
          2 kB
          Matt Doran

        Activity

          People

            Unassigned Unassigned
            matt_doran Matt Doran
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: