-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/
-----------------------------------------------------------

Review request for shindig and johnfargo.


Summary
-------

We want to allow administrators of containers to secure the features gadgets 
are allowed to use. We can do this by doing two things to the container. 

1.) When the gadget preloads a gadget and requests the iFrame URL for the 
gadget (indicating the container wants to render the gadget) we check the list 
of allowed features for that gadget in that container. In theory the 
administrator of the container would setup this list. If the gadget wants to 
use a feature that is not in the list approved by the administrator the preload 
fails. 

2.) Secure what RPC service id a gadget can call. A gadget should only be able 
to call the RPC service ids from the features the administrator has approved 
for that gadget in that container. If the gadget tried to call and RPC service 
id that is not in a feature the administrator has approved than the RPC call 
will be "blocked".

THIS PATCH IS INCOMPLETE.  I just want to start to get feedback on this before 
I get too deep and have to go back and change something major.  Currently this 
patch implements number 1 above and part of number 2.  There no code yet to 
arbitrate the RPC calls, right now this patch only returns the allowed RPC 
service IDs in the metadata request, but it doesn't do anything with them.

One of the major concerns I have is my use of <export type="rpc"..../> in the 
feature XML files.  I am not sure if I am using them in the intended way.  
Hoping John H can take a look at that.


This addresses bug SHINDIG-1601.
    https://issues.apache.org/jira/browse/SHINDIG-1601


Diffs
-----

  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
 1157104 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java
 1157104 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/security/FeatureSecurityInfoTest.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/security/ContainerSecurityInfoTest.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/security/BasicFeatureSecurityStoreTest.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
 1157104 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
 1157104 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/security/FeatureSecurityModule.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/security/FeatureSecurityStore.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java
 1157104 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/security/BasicFeatureSecurityStore.java
 PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1157104 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
 1157104 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java
 1157104 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java
 1157104 
  
http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js
 1157104 
  http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1157104 
  http://svn.apache.org/repos/asf/shindig/trunk/config/feature-security.json 
PRE-CREATION 
  
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java
 1157104 

Diff: https://reviews.apache.org/r/1666/diff


Testing
-------

Created/updated unit tests.


Thanks,

Ryan

Reply via email to