Hi All, SRM(Secure Resource Manager) hosts Security resources in Iotivity's RI layer which are currently registered as 'Non-discoverable'. Below were the primary reasons to make them non-discoverable:
1) SRM hosts multiple Secure Virtual Resources (SVR), such as, /oic/sec/acl, /oic/sec/cred, /oic/sec/doxm, /oic/sec/svc etc. Every time a device responds to discovery request, including all these SVR's in discovery response would inflate the payload size for response packet. 2) SVR's are mainly used by SRM module to enforce data authentication and encryption within Iotivity ecosystem. A client who wants to discover 'interesting' resources, such as, fan, garage door, lights has no use of SVR resources in discovery response. BUT, security enforcement tools like Provisioning tool, Access Manager Service etc does need to discover SVR's for execution. In light of above requirements, does it make sense to add a 'resource property' such as EXPLICIT_DISCOVERABLE ? When RI layer receives a resource discovery request, it will include EXPLICIT_DISCOVERABLE resources only if a resource filter is associated to the discovery query. Ex: GET /oic/res will generate a discovery response with all the DISCOVERABLE resources.i.e. /foo/light, /bar/fan etc GET /oic/res?rt=oic.sec.acl will generate a discovery response with EXPLICIT_DISCOVERABLE resources only if they qualify the query filter. i.e. /oic/sec/acl etc. Any feedback, comments or better suggestions are highly appreciated. Thanks Sachin
