You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by Ryan Baxter <rb...@gmail.com> on 2011/08/26 18:05:12 UTC

Review Request: Securing Features and RPC

-----------------------------------------------------------
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


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Stanton Sievers <si...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/#review2051
-----------------------------------------------------------


Feedback inline.


http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js
<https://reviews.apache.org/r/1666/#comment4614>

    Can we take this a step further and display an error in an "else" to this "if"?



http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js
<https://reviews.apache.org/r/1666/#comment4615>

    Display an error in an "else"



http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js
<https://reviews.apache.org/r/1666/#comment4616>

    What happens if no "container" config is provided?  I believe gadgets.config.get will return an empty object, but it would be worth verifying so we don't blow up here.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4618>

    Probably want to throw this. :)



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4619>

    Throw this guy



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4620>

    Is it feasible to think that in the future other features will always be allowed? For instance, is RPC always allowed in practice?
    
    Maybe this should be extensible if that seems likely.  



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4621>

    These overrides are going to blow up in a Java5 build because you're implementing an interface.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4622>

    Can context ever be null?



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4623>

    Can spec or url ever be null?



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4625>

    Style only: I'd rather see if(!isFeatureAdminEnabled(container)) { return true
    }
    
    It removes one level of indentation and makes the code easier to read.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4626>

    This Set logic gets complicated when trying to think of all of the use cases.  I hope there are Unit tests around all of this.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4624>

    Just return the result of the areAllFeaturesAllowed() call



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4627>

    Context can be null?



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4628>

    Spec and url can be null?



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4629>

    Style only: I'd like to see the return true case happen first.  It removes a level of indentation and makes this easier to read.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java
<https://reviews.apache.org/r/1666/#comment4630>

    Picking nits: You could just call this(null)



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java
<https://reviews.apache.org/r/1666/#comment4631>

    In keeping with the Map APIs, could you return the result of remove()?



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4632>

    Picking nits: You could just call this(null, null, null)



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4633>

    I don't think the contains call is necessary here.  By definition a Set doesn't allow duplicates.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4634>

    Style only: qualify with "this"



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4635>

    Style only: qualify with "this"



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4636>

    What are you trying to accomplish here?  What if the set has a list of features and a "*" in it?  This would return false.  Shouldn't it be true in that case?



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java
<https://reviews.apache.org/r/1666/#comment4637>

    Picking nits: You could call this(null)



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java
<https://reviews.apache.org/r/1666/#comment4638>

    Should probably be nullData and defaultData in two of these cases.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
<https://reviews.apache.org/r/1666/#comment4639>

    Was this annotation just dangling before or did you accidentally remove it from testGetMetadata()?


- Stanton


On 2011-09-23 14:29:37, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-23 14:29:37)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1174132 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Stanton Sievers <si...@gmail.com>.

> On 2011-09-27 01:03:34, Ryan Baxter wrote:
> > http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java, line 78
> > <https://reviews.apache.org/r/1666/diff/4/?file=45237#file45237line78>
> >
> >     Certainly could, but I am not sure what that would by us, do you have a specific use case?

I didn't have a specific use case in mind.  I simply brought it up because it's a public API and we don't know who could call it.  

There are two return types that seem reasonable.  One would be the value from the Map based on Map.remove.  The other would be a boolean based on Collection.remove, where the boolean indicates the existence of the removed thing in the Collection.


- Stanton


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


On 2011-09-27 01:03:42, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-27 01:03:42)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1174132 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/#review2073
-----------------------------------------------------------



http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js
<https://reviews.apache.org/r/1666/#comment4671>

    Done.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4672>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4673>

    Actually changed it to just throw the JSONException, it will be caught and throw a gadget exception up above.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4674>

    I only add core because in the ModulePrefs.FeatureVisitor.apply it is the only feature they add by deafault even if for some reason none of the features the gadget uses include it already.  I figured this code should do the same.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4675>

    I removed them all, good catch :)



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4676>

    I hope not but I will check anyways to be safe.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4677>

    I hope not but I will check anyways to be safe.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4678>

    Done.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4679>

    There sure is check out the JUnits for this class.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4680>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4702>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4703>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4704>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java
<https://reviews.apache.org/r/1666/#comment4705>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java
<https://reviews.apache.org/r/1666/#comment4706>

    Certainly could, but I am not sure what that would by us, do you have a specific use case?



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4707>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4709>

    True....i guess there could be some extra overhead in calling contains so I will remove it.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4710>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4711>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4712>

    I am explicitly stating that the allow/deny all case must have 1 entry and it has to be the *.



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java
<https://reviews.apache.org/r/1666/#comment4713>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java
<https://reviews.apache.org/r/1666/#comment4714>

    Done



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
<https://reviews.apache.org/r/1666/#comment4717>

    I removed it because it was mocking the registry that caused it since that now happens in setupMockRegistry I just moved it there.


- Ryan


On 2011-09-23 14:29:37, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-23 14:29:37)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1174132 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1174132 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Dan Dumont <dd...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/#review2166
-----------------------------------------------------------


We also had some conversation about simplifying the deny allow lists


http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json
<https://reviews.apache.org/r/1666/#comment5042>

    So the expected todo features that are allowed here is everything?
    
    Can you comment this expected behavior in each of the examples to make it more clear to people that will generate these?



http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json
<https://reviews.apache.org/r/1666/#comment5041>

    I think this needs quotes in that array.



http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js
<https://reviews.apache.org/r/1666/#comment5046>

    whitespace!



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment5047>

    whitespace!



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment5048>

    whitespace!



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment5049>

    whitepsace!



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment5050>

    whitespace!



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment5051>

    whitespace!
    



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java
<https://reviews.apache.org/r/1666/#comment5052>

    whitespace!



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
<https://reviews.apache.org/r/1666/#comment5054>

    Do you need this to continue to be immutable?


- Dan


On 2011-09-27 13:45:13, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-27 13:45:13)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1176378 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Henry Saputra <hs...@apache.org>.

> On 2011-09-30 22:37:19, Henry Saputra wrote:
> > http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java, line 54
> > <https://reviews.apache.org/r/1666/diff/7/?file=47001#file47001line54>
> >
> >     Why do we inject BasicGadgetAdminStore instead of GadgetAdminStore?
> >     
> >     Are we expecting Shindig implementors to override the GadgetAdminModule? I believe the config/gadget-admin.json file contain initial whitelisting list of gadgets? 
> >     
> >     It would be better if we could find a way to provide plugin or injectable hook to different data source to load this initial whitelist gadgets def.
> 
> Ryan Baxter wrote:
>     I was thinking the people who want to use something else than the gadget-admin.json file they would override the DefaultGuiceModule.  They could choose to override the GadgetAdminStore if they want...

I would think its better to have the admin store injection as provider and same as the initial whitelist gadgets. We should try to make code that does not need to be modified to be flexible enough to allow extension in the right place rather than override the whole DefaultGuiceModule.


- Henry


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


On 2011-09-30 19:21:13, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-30 19:21:13)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1177430 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.

> On 2011-09-30 22:37:19, Henry Saputra wrote:
> > http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java, line 54
> > <https://reviews.apache.org/r/1666/diff/7/?file=47001#file47001line54>
> >
> >     Why do we inject BasicGadgetAdminStore instead of GadgetAdminStore?
> >     
> >     Are we expecting Shindig implementors to override the GadgetAdminModule? I believe the config/gadget-admin.json file contain initial whitelisting list of gadgets? 
> >     
> >     It would be better if we could find a way to provide plugin or injectable hook to different data source to load this initial whitelist gadgets def.
> 
> Ryan Baxter wrote:
>     I was thinking the people who want to use something else than the gadget-admin.json file they would override the DefaultGuiceModule.  They could choose to override the GadgetAdminStore if they want...
> 
> Henry Saputra wrote:
>     I would think its better to have the admin store injection as provider and same as the initial whitelist gadgets. We should try to make code that does not need to be modified to be flexible enough to allow extension in the right place rather than override the whole DefaultGuiceModule.

Henry I am not sure I understand what you are suggesting....I can place the GadgetAdminModule directly in the web.xml so there is no need to override the DefaultGuiceModule just to replace the GadgetAdminModule, is that what you are suggesting?


- Ryan


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


On 2011-09-30 19:21:13, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-30 19:21:13)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1177430 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.

> On 2011-09-30 22:37:19, Henry Saputra wrote:
> > http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java, line 54
> > <https://reviews.apache.org/r/1666/diff/7/?file=47001#file47001line54>
> >
> >     Why do we inject BasicGadgetAdminStore instead of GadgetAdminStore?
> >     
> >     Are we expecting Shindig implementors to override the GadgetAdminModule? I believe the config/gadget-admin.json file contain initial whitelisting list of gadgets? 
> >     
> >     It would be better if we could find a way to provide plugin or injectable hook to different data source to load this initial whitelist gadgets def.

I was thinking the people who want to use something else than the gadget-admin.json file they would override the DefaultGuiceModule.  They could choose to override the GadgetAdminStore if they want...


- Ryan


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


On 2011-09-30 19:21:13, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-30 19:21:13)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1177430 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Henry Saputra <hs...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/#review2240
-----------------------------------------------------------



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java
<https://reviews.apache.org/r/1666/#comment5196>

    Why do we inject BasicGadgetAdminStore instead of GadgetAdminStore?
    
    Are we expecting Shindig implementors to override the GadgetAdminModule? I believe the config/gadget-admin.json file contain initial whitelisting list of gadgets? 
    
    It would be better if we could find a way to provide plugin or injectable hook to different data source to load this initial whitelist gadgets def.


- Henry


On 2011-09-30 19:21:13, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-30 19:21:13)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1177430 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Nuwan Bandara <nu...@bandara.co>.
On Wed, Oct 5, 2011 at 12:02 AM, Ryan Baxter <rb...@gmail.com> wrote:

> You just need to add GadgetAminModule to the list of guice modules in the
> web.xml.  It should be there in trunk, let me know if you are still having
> problems.


Great Thanks

/Nuwan

>
>
> On Tue, Oct 4, 2011 at 2:28 PM, Nuwan Bandara <nu...@bandara.co> wrote:
>
>> Hi,
>>
>> Am getting the following error, anything to do with recent modifications ?
>> I belive we have to bind the GadgetAdminStore to BasicGadgetAdminStore at
>> DefaultGuiceModule ?
>>
>> Regards,
>> /Nuwan
>>
>> 1) No implementation for org.apache.shindig.gadgets.admin.GadgetAdminStore
>> was bound.
>>   while locating org.apache.shindig.gadgets.admin.GadgetAdminStore
>>     for parameter 1 at
>> org.apache.shindig.gadgets.config.CoreUtilConfigContributor.<init>(CoreUtilConfigContributor.java:48)
>>   at
>> org.apache.shindig.gadgets.config.DefaultConfigContributorModule.registerConfigContributors(DefaultConfigContributorModule.java:37)
>>
>> 2) No implementation for org.apache.shindig.gadgets.admin.GadgetAdminStore
>> was bound.
>>   while locating org.apache.shindig.gadgets.admin.GadgetAdminStore
>>     for parameter 3 at
>> org.apache.shindig.gadgets.process.Processor.<init>(Processor.java:61)
>>   while locating org.apache.shindig.gadgets.process.Processor
>>     for parameter 1 at
>> org.apache.shindig.gadgets.servlet.GadgetsHandlerService.<init>(GadgetsHandlerService.java:163)
>>   while locating org.apache.shindig.gadgets.servlet.GadgetsHandlerService
>>     for parameter 1 at
>> org.apache.shindig.gadgets.servlet.GadgetsHandler.<init>(GadgetsHandler.java:133)
>>   at
>> org.apache.shindig.gadgets.DefaultGuiceModule.registerGadgetHandlers(DefaultGuiceModule.java:106)
>>
>>
>> On Mon, Oct 3, 2011 at 1:16 AM, Ryan Baxter <rb...@gmail.com> wrote:
>>
>>>
>>>
>>> > On 2011-10-02 01:59:29, Henry Saputra wrote:
>>> > >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java,
>>> line 54
>>> > > <
>>> https://reviews.apache.org/r/1666/diff/7/?file=47001#file47001line54>
>>> > >
>>> > >     Hey Ryan, sorry about the confusion, yeah I was suggesting about
>>> moving the GadgetAdminModule to web.xml instead of DefaultGuiceModule.
>>> > >
>>> > >     As for injecting the BasicGadgetAdminStore, I didnt realize that
>>> it was add it to the GadgetAdminStoreProvider instead of the
>>> GadgetAdminModule.
>>> > >
>>> > >     Getting old =P
>>>
>>> Thanks Henry!  Committed revision 1178236.
>>>
>>>
>>> - Ryan
>>>
>>>
>>> -----------------------------------------------------------
>>>
>>> This is an automatically generated e-mail. To reply, visit:
>>> https://reviews.apache.org/r/1666/#review2247
>>> -----------------------------------------------------------
>>>
>>>
>>> On 2011-10-02 19:38:29, Ryan Baxter wrote:
>>> >
>>> > -----------------------------------------------------------
>>>
>>> > This is an automatically generated e-mail. To reply, visit:
>>> > https://reviews.apache.org/r/1666/
>>> > -----------------------------------------------------------
>>> >
>>> > (Updated 2011-10-02 19:38:29)
>>> >
>>> >
>>> > Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan
>>> Dumont, and Stanton Sievers.
>>> >
>>> >
>>> > Summary
>>> > -------
>>>
>>> >
>>> > We want to add some administration features to Shindig.  This patch
>>> adds/changes 3 things in Shindig.
>>> >
>>> > 1.  Remove the existing blacklist functionality in Shindig which
>>> currently is enabled by pointing Shindig to a text file with a list of
>>> gadgets to blacklist.  The new functionality uses a whitelist instead of a
>>> blacklist and is indexed on a per container basis.  Meaning an admin could
>>> whitelist some gadgets in one container but not another.  This functionality
>>> is enabled through a Guice module allowing implementors to use something
>>> else besides a text file.
>>> >
>>> > 2.  Add the ability for administrators to specify which features are
>>> allowed and denied for a specific gadget in a specific container.  This
>>> information is checked in two places, when the metadata request is made and
>>> when the gadget is rendered.
>>> >
>>> > 3.  Add the ability for containers to secure RPC requests made by
>>> gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.
>>>  Containers can specify their own arbitrator.  The common container has its
>>> own default arbitrator available.
>>> >
>>> >
>>> > This addresses bug SHINDIG-1601.
>>> >     https://issues.apache.org/jira/browse/SHINDIG-1601
>>> >
>>> >
>>> > Diffs
>>> > -----
>>> >
>>> >   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.jsonPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties1177430
>>> >   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.javaPRE-CREATION
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriteModuleTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/spi/integration/JpaTestGuiceModule.java1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml1177430
>>> >
>>> http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java1177430
>>> >
>>> > Diff: https://reviews.apache.org/r/1666/diff
>>> >
>>> >
>>> > Testing
>>> > -------
>>> >
>>> > Created/updated unit tests.
>>> >
>>> >
>>> > Thanks,
>>> >
>>> > Ryan
>>> >
>>> >
>>>
>>>
>>
>

Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.
You just need to add GadgetAminModule to the list of guice modules in the
web.xml.  It should be there in trunk, let me know if you are still having
problems.

On Tue, Oct 4, 2011 at 2:28 PM, Nuwan Bandara <nu...@bandara.co> wrote:

> Hi,
>
> Am getting the following error, anything to do with recent modifications ?
> I belive we have to bind the GadgetAdminStore to BasicGadgetAdminStore at
> DefaultGuiceModule ?
>
> Regards,
> /Nuwan
>
> 1) No implementation for org.apache.shindig.gadgets.admin.GadgetAdminStore
> was bound.
>   while locating org.apache.shindig.gadgets.admin.GadgetAdminStore
>     for parameter 1 at
> org.apache.shindig.gadgets.config.CoreUtilConfigContributor.<init>(CoreUtilConfigContributor.java:48)
>   at
> org.apache.shindig.gadgets.config.DefaultConfigContributorModule.registerConfigContributors(DefaultConfigContributorModule.java:37)
>
> 2) No implementation for org.apache.shindig.gadgets.admin.GadgetAdminStore
> was bound.
>   while locating org.apache.shindig.gadgets.admin.GadgetAdminStore
>     for parameter 3 at
> org.apache.shindig.gadgets.process.Processor.<init>(Processor.java:61)
>   while locating org.apache.shindig.gadgets.process.Processor
>     for parameter 1 at
> org.apache.shindig.gadgets.servlet.GadgetsHandlerService.<init>(GadgetsHandlerService.java:163)
>   while locating org.apache.shindig.gadgets.servlet.GadgetsHandlerService
>     for parameter 1 at
> org.apache.shindig.gadgets.servlet.GadgetsHandler.<init>(GadgetsHandler.java:133)
>   at
> org.apache.shindig.gadgets.DefaultGuiceModule.registerGadgetHandlers(DefaultGuiceModule.java:106)
>
>
> On Mon, Oct 3, 2011 at 1:16 AM, Ryan Baxter <rb...@gmail.com> wrote:
>
>>
>>
>> > On 2011-10-02 01:59:29, Henry Saputra wrote:
>> > >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java,
>> line 54
>> > > <https://reviews.apache.org/r/1666/diff/7/?file=47001#file47001line54
>> >
>> > >
>> > >     Hey Ryan, sorry about the confusion, yeah I was suggesting about
>> moving the GadgetAdminModule to web.xml instead of DefaultGuiceModule.
>> > >
>> > >     As for injecting the BasicGadgetAdminStore, I didnt realize that
>> it was add it to the GadgetAdminStoreProvider instead of the
>> GadgetAdminModule.
>> > >
>> > >     Getting old =P
>>
>> Thanks Henry!  Committed revision 1178236.
>>
>>
>> - Ryan
>>
>>
>> -----------------------------------------------------------
>>
>> This is an automatically generated e-mail. To reply, visit:
>> https://reviews.apache.org/r/1666/#review2247
>> -----------------------------------------------------------
>>
>>
>> On 2011-10-02 19:38:29, Ryan Baxter wrote:
>> >
>> > -----------------------------------------------------------
>>
>> > This is an automatically generated e-mail. To reply, visit:
>> > https://reviews.apache.org/r/1666/
>> > -----------------------------------------------------------
>> >
>> > (Updated 2011-10-02 19:38:29)
>> >
>> >
>> > Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan
>> Dumont, and Stanton Sievers.
>> >
>> >
>> > Summary
>> > -------
>>
>> >
>> > We want to add some administration features to Shindig.  This patch
>> adds/changes 3 things in Shindig.
>> >
>> > 1.  Remove the existing blacklist functionality in Shindig which
>> currently is enabled by pointing Shindig to a text file with a list of
>> gadgets to blacklist.  The new functionality uses a whitelist instead of a
>> blacklist and is indexed on a per container basis.  Meaning an admin could
>> whitelist some gadgets in one container but not another.  This functionality
>> is enabled through a Guice module allowing implementors to use something
>> else besides a text file.
>> >
>> > 2.  Add the ability for administrators to specify which features are
>> allowed and denied for a specific gadget in a specific container.  This
>> information is checked in two places, when the metadata request is made and
>> when the gadget is rendered.
>> >
>> > 3.  Add the ability for containers to secure RPC requests made by
>> gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.
>>  Containers can specify their own arbitrator.  The common container has its
>> own default arbitrator available.
>> >
>> >
>> > This addresses bug SHINDIG-1601.
>> >     https://issues.apache.org/jira/browse/SHINDIG-1601
>> >
>> >
>> > Diffs
>> > -----
>> >
>> >   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.jsonPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties1177430
>> >   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.javaPRE-CREATION
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriteModuleTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/spi/integration/JpaTestGuiceModule.java1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml1177430
>> >
>> http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java1177430
>> >
>> > Diff: https://reviews.apache.org/r/1666/diff
>> >
>> >
>> > Testing
>> > -------
>> >
>> > Created/updated unit tests.
>> >
>> >
>> > Thanks,
>> >
>> > Ryan
>> >
>> >
>>
>>
>

Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Nuwan Bandara <nu...@bandara.co>.
Hi,

Am getting the following error, anything to do with recent modifications ? I
belive we have to bind the GadgetAdminStore to BasicGadgetAdminStore at
DefaultGuiceModule ?

Regards,
/Nuwan

1) No implementation for org.apache.shindig.gadgets.admin.GadgetAdminStore
was bound.
  while locating org.apache.shindig.gadgets.admin.GadgetAdminStore
    for parameter 1 at
org.apache.shindig.gadgets.config.CoreUtilConfigContributor.<init>(CoreUtilConfigContributor.java:48)
  at
org.apache.shindig.gadgets.config.DefaultConfigContributorModule.registerConfigContributors(DefaultConfigContributorModule.java:37)

2) No implementation for org.apache.shindig.gadgets.admin.GadgetAdminStore
was bound.
  while locating org.apache.shindig.gadgets.admin.GadgetAdminStore
    for parameter 3 at
org.apache.shindig.gadgets.process.Processor.<init>(Processor.java:61)
  while locating org.apache.shindig.gadgets.process.Processor
    for parameter 1 at
org.apache.shindig.gadgets.servlet.GadgetsHandlerService.<init>(GadgetsHandlerService.java:163)
  while locating org.apache.shindig.gadgets.servlet.GadgetsHandlerService
    for parameter 1 at
org.apache.shindig.gadgets.servlet.GadgetsHandler.<init>(GadgetsHandler.java:133)
  at
org.apache.shindig.gadgets.DefaultGuiceModule.registerGadgetHandlers(DefaultGuiceModule.java:106)


On Mon, Oct 3, 2011 at 1:16 AM, Ryan Baxter <rb...@gmail.com> wrote:

>
>
> > On 2011-10-02 01:59:29, Henry Saputra wrote:
> > >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java,
> line 54
> > > <https://reviews.apache.org/r/1666/diff/7/?file=47001#file47001line54>
> > >
> > >     Hey Ryan, sorry about the confusion, yeah I was suggesting about
> moving the GadgetAdminModule to web.xml instead of DefaultGuiceModule.
> > >
> > >     As for injecting the BasicGadgetAdminStore, I didnt realize that it
> was add it to the GadgetAdminStoreProvider instead of the GadgetAdminModule.
> > >
> > >     Getting old =P
>
> Thanks Henry!  Committed revision 1178236.
>
>
> - Ryan
>
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/#review2247
> -----------------------------------------------------------
>
>
> On 2011-10-02 19:38:29, Ryan Baxter wrote:
> >
> > -----------------------------------------------------------
> > This is an automatically generated e-mail. To reply, visit:
> > https://reviews.apache.org/r/1666/
> > -----------------------------------------------------------
> >
> > (Updated 2011-10-02 19:38:29)
> >
> >
> > Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan
> Dumont, and Stanton Sievers.
> >
> >
> > Summary
> > -------
> >
> > We want to add some administration features to Shindig.  This patch
> adds/changes 3 things in Shindig.
> >
> > 1.  Remove the existing blacklist functionality in Shindig which
> currently is enabled by pointing Shindig to a text file with a list of
> gadgets to blacklist.  The new functionality uses a whitelist instead of a
> blacklist and is indexed on a per container basis.  Meaning an admin could
> whitelist some gadgets in one container but not another.  This functionality
> is enabled through a Guice module allowing implementors to use something
> else besides a text file.
> >
> > 2.  Add the ability for administrators to specify which features are
> allowed and denied for a specific gadget in a specific container.  This
> information is checked in two places, when the metadata request is made and
> when the gadget is rendered.
> >
> > 3.  Add the ability for containers to secure RPC requests made by
> gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.
>  Containers can specify their own arbitrator.  The common container has its
> own default arbitrator available.
> >
> >
> > This addresses bug SHINDIG-1601.
> >     https://issues.apache.org/jira/browse/SHINDIG-1601
> >
> >
> > Diffs
> > -----
> >
> >   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js1177430
> >   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.jsonPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties1177430
> >   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriteModuleTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/spi/integration/JpaTestGuiceModule.java1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml1177430
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java1177430
> >
> > Diff: https://reviews.apache.org/r/1666/diff
> >
> >
> > Testing
> > -------
> >
> > Created/updated unit tests.
> >
> >
> > Thanks,
> >
> > Ryan
> >
> >
>
>

Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.

> On 2011-10-02 01:59:29, Henry Saputra wrote:
> > http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java, line 54
> > <https://reviews.apache.org/r/1666/diff/7/?file=47001#file47001line54>
> >
> >     Hey Ryan, sorry about the confusion, yeah I was suggesting about moving the GadgetAdminModule to web.xml instead of DefaultGuiceModule.
> >     
> >     As for injecting the BasicGadgetAdminStore, I didnt realize that it was add it to the GadgetAdminStoreProvider instead of the GadgetAdminModule.
> >     
> >     Getting old =P

Thanks Henry!  Committed revision 1178236.


- Ryan


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


On 2011-10-02 19:38:29, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-10-02 19:38:29)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriteModuleTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/spi/integration/JpaTestGuiceModule.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java 1177430 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Henry Saputra <hs...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/#review2247
-----------------------------------------------------------

Ship it!


With last review comment +1


http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java
<https://reviews.apache.org/r/1666/#comment5212>

    Hey Ryan, sorry about the confusion, yeah I was suggesting about moving the GadgetAdminModule to web.xml instead of DefaultGuiceModule.
    
    As for injecting the BasicGadgetAdminStore, I didnt realize that it was add it to the GadgetAdminStoreProvider instead of the GadgetAdminModule.
    
    Getting old =P


- Henry


On 2011-09-30 19:21:13, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-30 19:21:13)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1177430 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1177430 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/
-----------------------------------------------------------

(Updated 2011-10-02 19:38:29.569273)


Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.


Changes
-------

Updated based on Henry's final review comments.  Removed the changes from DefaultGuiceModule and now install the GadgetAdminModule in the web.xml.  Had to add GadgetAdminModule to a few other tests which install Guice modules.


Summary
-------

We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.

1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.

2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.

3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.


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


Diffs (updated)
-----

  http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriteModuleTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/spi/integration/JpaTestGuiceModule.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java 1177430 

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


Testing
-------

Created/updated unit tests.


Thanks,

Ryan


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/
-----------------------------------------------------------

(Updated 2011-09-30 19:21:13.986376)


Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.


Changes
-------

Update which addresses Henry and Dan's comments.

Mostly minor changes.  The majority of the changes were around simplifying the data model for specifying which features to whitelist and blacklist.

Looking for final sign off on this patch soon.


Summary
-------

We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.

1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.

2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.

3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.


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


Diffs (updated)
-----

  http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/logging/i18n/MessageKeys.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource.properties 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/resources/org/apache/shindig/common/logging/i18n/resource_en_US.properties 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1177430 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1177430 

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


Testing
-------

Created/updated unit tests.


Thanks,

Ryan


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Henry Saputra <hs...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/#review2160
-----------------------------------------------------------



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java
<https://reviews.apache.org/r/1666/#comment5037>

    Small nit: we dont have @author tag in other Shindig code.
    
    We could add @since 3.0.0 annotation I suppose. 



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java
<https://reviews.apache.org/r/1666/#comment5034>

    Should we move this to container file to make it container specific?



http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java
<https://reviews.apache.org/r/1666/#comment5038>

    For consistency need to override the hasCode() function


- Henry


On 2011-09-27 13:45:13, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-09-27 13:45:13)
> 
> 
> Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.
> 
> 
> Summary
> -------
> 
> We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.
> 
> 1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.
> 
> 2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.
> 
> 3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.
> 
> 
> This addresses bug SHINDIG-1601.
>     https://issues.apache.org/jira/browse/SHINDIG-1601
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1176378 
>   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1176378 
> 
> Diff: https://reviews.apache.org/r/1666/diff
> 
> 
> Testing
> -------
> 
> Created/updated unit tests.
> 
> 
> Thanks,
> 
> Ryan
> 
>


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/
-----------------------------------------------------------

(Updated 2011-09-27 13:45:13.184769)


Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.


Changes
-------

More changes from Stanton's review


Summary
-------

We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.

1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.

2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.

3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.


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


Diffs (updated)
-----

  http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1176378 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1176378 

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


Testing
-------

Created/updated unit tests.


Thanks,

Ryan


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/
-----------------------------------------------------------

(Updated 2011-09-27 01:03:42.045590)


Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.


Changes
-------

Updated based on Stanton's comments, minus the error handling comments for the common container.


Summary
-------

We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.

1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.

2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.

3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.


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


Diffs (updated)
-----

  http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1174132 

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


Testing
-------

Created/updated unit tests.


Thanks,

Ryan


Re: Review Request: Gadget Administration - Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/
-----------------------------------------------------------

(Updated 2011-09-23 14:29:37.603780)


Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan Dumont, and Stanton Sievers.


Changes
-------

Final patch for review.


Summary (updated)
-------

We want to add some administration features to Shindig.  This patch adds/changes 3 things in Shindig.

1.  Remove the existing blacklist functionality in Shindig which currently is enabled by pointing Shindig to a text file with a list of gadgets to blacklist.  The new functionality uses a whitelist instead of a blacklist and is indexed on a per container basis.  Meaning an admin could whitelist some gadgets in one container but not another.  This functionality is enabled through a Guice module allowing implementors to use something else besides a text file.

2.  Add the ability for administrators to specify which features are allowed and denied for a specific gadget in a specific container.  This information is checked in two places, when the metadata request is made and when the gadget is rendered.

3.  Add the ability for containers to secure RPC requests made by gadgets.  The RPC code now has the ability to arbitrate all RPC calls made.  Containers can specify their own arbitrator.  The common container has its own default arbitrator available.


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


Diffs (updated)
-----

  http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java 1174132 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java 1174132 

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


Testing
-------

Created/updated unit tests.


Thanks,

Ryan


Re: Review Request: Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/
-----------------------------------------------------------

(Updated 2011-09-09 00:27:43.822761)


Review request for shindig and johnfargo.


Changes
-------

Updated based on suggestions from Dan, Henry, John, and Brian.
-New structure for the admin store.
-Uses the "uses" element in feature XML so features can declare which RCP services they use.  These services are then sent to the container when the container requests the metadata for that gadget.  The RPC code then arbitrates RCP calls from the gadget -> container using this list.

Still left to do/investigate.
-handing of optional features.  (We should not stop a gadget from rendering if an optional features is denied by the admin, instead just don't include that JS when the gadget renders.)
-Use a white list based on the admin store instead of the current blacklist functionality.
-Secure IFR requests that could be made directly to render gadgets.


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 (updated)
-----

  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/embeddedexperiences/feature.xml 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/open-views/feature.xml 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/config/container.js 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json PRE-CREATION 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js 1166802 
  http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java 1166802 

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


Testing
-------

Created/updated unit tests.


Thanks,

Ryan


Re: Review Request: Securing Features and RPC

Posted by John Hjelmstad <fa...@google.com>.
On Tue, Sep 6, 2011 at 5:25 PM, Ryan Baxter <rb...@gmail.com> wrote:

>
>
> > On 2011-09-06 21:13:01, johnfargo wrote:
> > > Hey Ryan,
> > >
> > > The original intent of the <exports type="rpc">fooKey</exports> syntax
> is that it is simply a declaration that the feature has in it somwhere:
> > > gadgets.rpc.register("fooKey", /* impl */);
> > >
> > > As a corollary, <uses type="rpc">barKey</uses> means that there's a
> code path that does gadgets.rpc.call("barKey", ...); Between these two,
> intelligent validation and wiring could be done.
> > >
> > > This comes with the caveat that the syntax hasn't actually been put to
> practice yet, and real world utility trumps abstract thinking every time.
> This said, I do assert that this syntax ought to be purely declarative, as
> part of a manifest describing the feature.
> > >
> > > You could use the <uses> pieces to describe which rpc endpoints are
> _candidates_ for use by the gadget -- but I wouldn't use this for
> permissions, since those may differ container by container.
> > >
> > > --j
>
> Awesome John this will work nicely.  I will be sure to use this in v2 of
> the patch.
>
> I am not going to use "uses" for permissions directly.  Basically the admin
> would specify which features a gadget is allowed to you and based on that
> information we can infer the RPC services the gadget calls by looking up the
> features in the features registry.  That list can then be returned to
> container to try to arbitrate the RPC calls made by the gadget.  Based on
> our other email thread it looks like we will only be able to arbitrate calls
> make from the gadget to the container...
>

That's correct -- unless we were to take on substantially more work in the
form of:
A) Introducing a mandatory intermediary auth-wrapper IFRAME, which in turn
IFRAMEs the gadget itself. This has actually been done in various fashions,
but never really formalized. The general idea is that the intermediary frame
is wired to proxy all requests between container and gadget, but be
controlled by the container.

This is tricky on many levels: layout, security model, rpc (prevent calls
from anyone except intermediary), and so on.

B) Cajoling gadget contents and injecting a security layer accordingly. This
mandates all sorts of wiring changes.

Long story short, not advisable. Fortunately, at least as far as I'm aware
there's no real push from gadget dev's perspective to limit container access
to its RPCs, just the other way around.

-j


>
>
> - Ryan
>
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/#review1772
> -----------------------------------------------------------
>
>
> On 2011-08-26 16:05:12, Ryan Baxter wrote:
> >
> > -----------------------------------------------------------
> > This is an automatically generated e-mail. To reply, visit:
> > https://reviews.apache.org/r/1666/
> > -----------------------------------------------------------
> >
> > (Updated 2011-08-26 16:05:12)
> >
> >
> > 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.java1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/security/FeatureSecurityInfoTest.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/security/ContainerSecurityInfoTest.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/security/BasicFeatureSecurityStoreTest.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/security/FeatureSecurityModule.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/security/FeatureSecurityStore.javaPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/security/BasicFeatureSecurityStore.javaPRE-CREATION
> >   http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js1157104
> >   http://svn.apache.org/repos/asf/shindig/trunk/config/container.js1157104
> >
> http://svn.apache.org/repos/asf/shindig/trunk/config/feature-security.jsonPRE-CREATION
> >
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java1157104
> >
> > Diff: https://reviews.apache.org/r/1666/diff
> >
> >
> > Testing
> > -------
> >
> > Created/updated unit tests.
> >
> >
> > Thanks,
> >
> > Ryan
> >
> >
>
>

Re: Review Request: Securing Features and RPC

Posted by Ryan Baxter <rb...@gmail.com>.

> On 2011-09-06 21:13:01, johnfargo wrote:
> > Hey Ryan,
> > 
> > The original intent of the <exports type="rpc">fooKey</exports> syntax is that it is simply a declaration that the feature has in it somwhere:
> > gadgets.rpc.register("fooKey", /* impl */);
> > 
> > As a corollary, <uses type="rpc">barKey</uses> means that there's a code path that does gadgets.rpc.call("barKey", ...); Between these two, intelligent validation and wiring could be done.
> > 
> > This comes with the caveat that the syntax hasn't actually been put to practice yet, and real world utility trumps abstract thinking every time. This said, I do assert that this syntax ought to be purely declarative, as part of a manifest describing the feature.
> > 
> > You could use the <uses> pieces to describe which rpc endpoints are _candidates_ for use by the gadget -- but I wouldn't use this for permissions, since those may differ container by container.
> > 
> > --j

Awesome John this will work nicely.  I will be sure to use this in v2 of the patch.  

I am not going to use "uses" for permissions directly.  Basically the admin would specify which features a gadget is allowed to you and based on that information we can infer the RPC services the gadget calls by looking up the features in the features registry.  That list can then be returned to container to try to arbitrate the RPC calls made by the gadget.  Based on our other email thread it looks like we will only be able to arbitrate calls make from the gadget to the container...


- Ryan


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


On 2011-08-26 16:05:12, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-08-26 16:05:12)
> 
> 
> 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
> 
>


Re: Review Request: Securing Features and RPC

Posted by jo...@gmail.com.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/#review1772
-----------------------------------------------------------


Hey Ryan,

The original intent of the <exports type="rpc">fooKey</exports> syntax is that it is simply a declaration that the feature has in it somwhere:
gadgets.rpc.register("fooKey", /* impl */);

As a corollary, <uses type="rpc">barKey</uses> means that there's a code path that does gadgets.rpc.call("barKey", ...); Between these two, intelligent validation and wiring could be done.

This comes with the caveat that the syntax hasn't actually been put to practice yet, and real world utility trumps abstract thinking every time. This said, I do assert that this syntax ought to be purely declarative, as part of a manifest describing the feature.

You could use the <uses> pieces to describe which rpc endpoints are _candidates_ for use by the gadget -- but I wouldn't use this for permissions, since those may differ container by container.

--j

- johnfargo


On 2011-08-26 16:05:12, Ryan Baxter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1666/
> -----------------------------------------------------------
> 
> (Updated 2011-08-26 16:05:12)
> 
> 
> 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
> 
>