Michal Kleczek created RIVER-436:
------------------------------------

             Summary: Codebase annotations should be objects implementing a 
known interface instead od Strings
                 Key: RIVER-436
                 URL: https://issues.apache.org/jira/browse/RIVER-436
             Project: River
          Issue Type: Bug
          Components: net_jini_core, net_jini_io, net_jini_security
            Reporter: Michal Kleczek


Right now codebase annotations are Strings containing a space separated list of 
URLs . This has several drawbacks:
1. Code downloading is not dynamically extensible. All the parties in the 
network have to apriori agree on a set of URL handlers. Introduction of a new 
provisioning mechanism - for example based on Maven - requires at least 
reconfiguration of all participants
2. There is no way of verifying downloaded code before it is actually executed. 
Right now a TrustVerifier is obtained and used only after a service proxy was 
deserialized which enables untrusted code to execute during deserialization 
(see also RIVER-362).

The idea is to make code downloading extensible. Codebase annotations should be 
objects implementing a well known interface encapsulating the way how code is 
downloaded.
Prior to execution codebase annotations would be verified for trust.
That way:
1. Clients are decoupled from the mechanism used to download service proxy code
2. No code is executed before verifying the codebase for trust.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to