Dashboard

Changes made; *Changed OpenAMAuthHandler's CONTEXT_CACHE from a Map with a sweeper thread ejecting entries that had expired, to a LeastRecentlyUsed cache, with a size set to half of the OpenAM M...

Changes made;

  • Changed OpenAMAuthHandler's CONTEXT_CACHE from a Map with a sweeper thread ejecting entries that had expired, to a LeastRecentlyUsed cache, with a size set to half of the OpenAM Max Sessions value.
  • Encapsulated the Cache in a ContextHolderCache class that is injected by Guice. This allows simpler testing of OpenAMAuthHandler.
  • The ContextHolderCache is now responsible for creating (and caching) new ContextHolder objects.
  • The calculation of the desired size of the ContextHolderCache has been encapsulated in a ContextCacheSize class so that the strategy may be updated without modifying the ContextHolderCache. The ContextCacheSize is injected by Guice, which means a mock may be provided for testing the behaviour of the Conte
    xtHolderCache
  • The OpenAMAuthHander now has the ContextHolderCache injected into the constructor by Guice, which means a mock may be provided allowing for simpler test
    s.
  • The use of a Guice injector to obtain the handler class implementation has allowed for a simplification of the RadiusRequestHandler interface, removing
    methods that were specific to the OpenAMAuthHandler implementation and it's need to shutdown threads.
  • Some basic success flow test have been written.
Done.

Done.

Thanks, removed.

Thanks, removed.

It's optional during install.

It's optional during install.

DOne

DOne

Thanks, removed the section.

Thanks, removed the section.

Created new sentence.

Created new sentence.

Gone.

Gone.

Done

Done

  • More
  • CR-7769
  • summarized and closed
won't fix, updated to the new build process

won't fix, updated to the new build process

Needed to do this other with the allowed check would fail due to it looking for the translated "allow" string!

Needed to do this other with the allowed check would fail due to it looking for the translated "allow" string!

  • More
  • CR-8220
  • summarized and closed
  • More
  • CR-8219
  • summarized and closed
  • More
  • CR-8224
  • summarized and closed
  • More
  • CR-8202
  • summarized and closed
This fix was incorporated into OPENAM-6859, so I'm closing this review.

This fix was incorporated into OPENAM-6859, so I'm closing this review.

ok thats what i thought. i'm done here.

ok thats what i thought. i'm done here.

Its like this (an example with am_agent_login and no response from a remote site): *do am_net_connect in main thread, which creates event loop and boots the watchdog thread which monitors the eve...

Its like this (an example with am_agent_login and no response from a remote site):

  • do am_net_connect in main thread, which creates event loop and boots the watchdog thread which monitors the event loop for timeout (in case there is no response or server is very slow - we need to get out of the event loop and release the resources);
  • am_net_connect fails and am_agent_login exits with am_net_diconnect + am_net_close (in main thread);
  • at the same time (or earlier/later, depending where it is atm) net_async_poll_timeout is reached too (event loop has timed out) and it does am_net_diconnect together with all the upper level callbacks for net_ops.


am_net_diconnect is called (and it is allowed to) multiple times. crash was within set_exit_event when am_net_close was already called close_event (which destroyed mutex) but event handle wasn't set to NULL - second am_net_disconnect freaked out.

Can i just check i understand the strategy here - is it that since either the timer thread or the waiting thread can finish after the other, we are preventing the second one from trying to use a mu...

Can i just check i understand the strategy here - is it that since either the timer thread or the waiting thread can finish after the other, we are preventing the second one from trying to use a mutex/condition when it has already been destroyed?

the same here

the same here

yup, sorry. it should be *e = NULL; event is just another pointer.

yup, sorry. it should be *e = NULL; event is just another pointer.

should this be *e = NULL;

should this be
*e = NULL;

Actually this may be number of hex digits specified (minSecretKeyLength) multiplied by 2 to get bytes and verify against array - will double check to see any traps.

Actually this may be number of hex digits specified (minSecretKeyLength) multiplied by 2 to get bytes and verify against array - will double check to see any traps.

Just a general question: How long do we keep past writers on this list?

Just a general question: How long do we keep past writers on this list?

Good job, Chris !

Good job, Chris !

I agree, even though I probably wrote the original. http://sources.forgerock.org/static/mt0445/2static/images/wiki/icons/emoticons/wink.gif

I agree, even though I probably wrote the original.