We discussed several weeks ago in the Core WG meeting, in the context of 
ASACORE-2599, that:

Security Manager changing settings without first notifying the target app can 
result in random errors being experienced by the target app - e.g. for an 
already-existing session. Random errors are hard to handle properly by the 
target app.

To help improve that behavior, I propose adding new StartManagement & 
EndManagement methods to the org.alljoyn.Bus.Security.ManagedApplication 
interface:

1.       A Security Manager should call StartManagement before starting to make 
disrupting settings changes to the target app.

2.       As a result, the target SCL app receives a 
PermissionConfigurationListener::StartManagement callback.

a.       TCL apps get similar but TCL-style callbacks for StartManagement & 
EndManagement.

3.       Using that callback, the app should get ready for disruptive changes - 
e.g. perhaps by gracefully shutting down its active sessions.

4.       The Security Manager should call EndManagement after finishing its 
work.

5.       The target app receives PermissionConfigurationListener::EndManagement 
callback, and can resume its normal functionality.

6.       For compatibility with 15.09:

a.       Calling StartManagement & EndManagement from a Security Manager is not 
mandatory. A Security Manager that doesn't call these new methods gets the same 
behavior it used to get in 15.09.

b.       The app doesn't have to set-up StartManagement & EndManagement - it 
can choose to ignore these notifications at its own risk. The app gets the 
15.09 behavior if it ignores these callbacks.

Please speak up with any thoughts or questions.

Thanks,
Dan

_______________________________________________
Allseen-core mailing list
[email protected]
https://lists.allseenalliance.org/mailman/listinfo/allseen-core

Reply via email to