Just thought I'd go over the ideas, thoughts and TODO's that come to mind and get some feedback about what others are thinking and what tasks they see as important. There's plenty of work for those so inclined and generous with time.

Brief Summary:

   * TaskManager - improve concurrency and remove the dependency on
     Task.runAfter() in River code.
   * The Surrogate Project.
   * Providing Services over the Internet:
         o NAT Traversal
               + UDT (UDP Based Data Transfer)
                 http://udt.sourceforge.net/  - a NAT friendly
                 alternative to TCP.
               + STUN, TURN, NAT-PMP, UPnP
         o DNS-SRV LookupDiscovery (discovering lookup services in
           internet domains using DNS).
         o DGC (Distributed Garbage Collection) investigating use of
           Secure Endpoints?
         o StreamServiceRegistrar - delayed unmarshalling, client side
           filtering and Javaspace MatchSet like result handling using
           ResultStream, to address some of the long term criticisms of
           ServiceRegistrar.
   * SecurityManager and Policy
         o River-323 ConcurrentDynamicPolicy - existing policy
           implementations cause multi threading lock contention
           (almost complete, just needs to be tested against the
           current trunk and merged).
               + River-249 Added support for umbrella grant's.
         o Permission Revocation (Framework implemented, requires
           standardization).
               + Delegate's - use Li Gong's method guard pattern to
                 encapsulate Socket's, Streams etc.
               + DelegatePermission - to encapsulate an existing
                 permission that allows references to security
                 sensitive objects to escape.
               + Requires support from the SecurityManager, to check
                 all ProtectionDomain's in the AccessControlContext for
                 a DelegatePermission or it's candidate (the Permission
                 encapsulated by a DelegatePermission).
               + Requires support from a RevocablePolicy, to remove a
                 DelegatePermission (or other existing Permission that
                 doesn't let references escape) from the policy.
         o InternetSecurityManager - support for caching repeated
           permission for each AccessControlContext.
         o SecurityPolicyService - Allow local Policy's to be updated
           by subscribing to a Service using secure Endpoint's and
           administrator Subject's, to simplify distributed policy
           maintenance and replication.  This is in addition to policy
           files and dynamic grant's to proxy's.
               + Requires support from the Policy implementation.
               + Utilized and improved Apache Harmony File Policy
                 Parser implementation
               + This isn't for dynamic grant's to Proxy's, but may be
                 used to modify who (Subject) can make a dynamic grant.
               + Utilizes existing policy file syntax.
               + Allows granting of DownloadPermission to Certificate[]
                 signers to prevent proxy unmarshalling DOS attacks.
   * River-32 Jini Lookup, Discovery and Join Test Kit - Get this
     codebase working again.
   * River-279 - Create a subproject called Jini (no longer
     trademarked) to manage the Jini Specifications?
   * Investigate conversion script for a Maven or Gradle build.
   * Separate JVM for isolation of downloaded code, to sandbox
     unauthenticated services.

Cheers,

Peter.


Reply via email to