19 Nov, 2014

3 commits


18 Nov, 2014

3 commits


17 Nov, 2014

2 commits


15 Nov, 2014

1 commit


14 Nov, 2014

3 commits


13 Nov, 2014

2 commits


12 Nov, 2014

4 commits

  • git-svn-id: https://svn.forgerock.org/openig/trunk@700 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    austingene
     
  • A `StackOverFlowError` can be thrown during the Heap init when the configuration file declare
    global decorators that have a heap object dependency.
    
    When the globally enabled decorator is first created, it tries to resolve a dependency
    from the heap, the heap then tries to decorate that instance, looking for the globally
    declared decorator, that is not yet available since it has not finished its initialization,
    so the heap think the decorator instance was not created yet and triggers another
    decorator instance creation, that will itself try to resolve the dependency, looping
    again and again ad nauseam.
    
    The framework cannot provide any guards against that problem right now, the decorators
    implementers have to care of this on their own and carefully craft their decorators
    to avoid that problem.
    
    The framework can only provide some limited level of support to help developers not
    hitting that issue.
    
    Introduced a new `DecoratorHeaplet` abstract class that does not resolve automatically heap
    objects at creation time (no `LogSink` and `TemporaryStorage` resolution, as opposed to
    `GenericHeaplet` behaviour).
    
    Introduced a `LazyReference<T>` that encapsulate the resolution logic to allow easy
    heap object resolution delaying.
    
    Decorator implementation are encouraged to use theses 2 classes (having their `Heaplet`
    extending `DecoratorHeaplet` instead of `GenericHeaplet`) and using `LazyReference` when a
    heap object dependency is un-avoidable.
    
    Moved `CaptureDecorator` to use the `LazyReference` and updated existing decorator's
    heaplet to extend `DecoratorHeaplet`.
    
    Updated javadoc to make that clear for Decorator implementers.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@699 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • 
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@698 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    mark
     
  • git-svn-id: https://svn.forgerock.org/openig/trunk@697 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    mark
     

10 Nov, 2014

1 commit


07 Nov, 2014

9 commits

  • Wrong charset used in Entity class
    - Added static UTF_8 Charset.
    - Replaced newDecodedContentReader(null)
    by newDecodedContentReader(UTF_8) in entity#getJson.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@695 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    violette
     
  • Without this change, the OAuth 2.0 Client Filter triggers the retrieval of
    the user info resource for each request that is intercepted. It's a problem
    for Identity Providers such as Google that have an allowed quota of request/sec,
    because of the sudden burst of user info request.
    
    This is even worse than that because sometimes, the intercepted request may
    not even need to use theses information (think of OpenIG intercepting an
    image served by the protected application and returned as-is) ...
    
    This fix includes both a user-info resources caching for a few seconds (the
    time for all requests to load a web page to be executed) and a lazy loading
    of the resource (triggered the first time a downstream filter/handler access
    the `user_info` structure). By default, resources are kept for 20 seconds after
    the first access.
    
    Like for OAuth2ResourceServerFilter, you can disable that cache with
    `"cacheExpiration": "disabled"` in the configuration.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@694 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • This takes advantage of the new zero-length Duration support.
    If the configuration express `zero`, `disabled` or any `0 <timeunit>`, the
    access token cache will be disabled.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@693 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • That will be useful to support deactivation marker values when configuring cache timeouts.
    
    This fix support both `zero` and `disabled` as zero-length Duration markers.
    When the parsed String value also represents a zero-length duration (like `0 days and 0 ms`),
    the special ZERO marker duration is returned.
    
    Updated documentation as well.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@692 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • git-svn-id: https://svn.forgerock.org/openig/trunk@691 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • git-svn-id: https://svn.forgerock.org/openig/trunk@690 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • In order to facilitate OPENIG-370 (log simplification), we now expose the Name
    of the log source to the Logger. This has a number of implications:
     * `LogEntry.source` has been splited into the `source` and `type` attributes.
    source being the original Name and type being the type of the entry (like
    `log`, `started`, `elapsed`, ...). Log messages have the `log` type and
    exception's messages have the `throwable` type.
     * Logger is no more a LogSink implementation
     * LogEntry has been adapted to directly use Logger instead of LogSink (this way
    it can benefit of the Logger.source attribute's value automatically)
     * Logger do not "rebase" the source name anymore: can't do that since source
    is not a String anymore.
     * That solves the source duplication issue of OPENIG-370
    
    LogSink interface has been adapted to have a source Name instead of a source
    String when trying to determine if something is legible.
    
    LogSink implementations (ConsoleLogSink and FileLogSink) have been changed to
    keep an output as close as possible as what we have previously (don't want to
    work on OPEN-370 yet).
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@689 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • A Name is a recursive object based on a leaf name and a parent Name.
    
    Each Heap as a unique Name used to scope names of the managed heap objects.
    Each heap object has a unique Name whose parent is the container Heap.
    
    The Heaplet interface has been updated to give the Name instead of just a String.
    
    The name of each created heap is based on the resource name.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@688 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • git-svn-id: https://svn.forgerock.org/openig/trunk@687 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    matthew
     

06 Nov, 2014

2 commits


05 Nov, 2014

5 commits


04 Nov, 2014

3 commits


03 Nov, 2014

2 commits