block internal modules

Bug #988417 reported by Till Westmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Zorba
Fix Released
High
Till Westmann

Bug Description

If one wants to limit the choice of of available modules for a user, this is very easy for external modules. One simply registers an URIMapper that disallows access to certain modules. However, this does not work for Zorba's internal modules as those are not resolved via the usual resolution mechanism.

Related branches

Till Westmann (tillw)
description: updated
Revision history for this message
Chris Hillery (ceejatec) wrote :

I saw the branch merge proposal before I noticed this bug, so I'll copy my comment from there:

I don't like that this mechanism is so different to the way you block non-internal modules (using a URIMapper with DENY_ACCESS). While it would be a bit less efficient, it would be more consistent to call static_context::resolve_uri() at translator.cpp line 2840 solely for the purpose of seeing if zerr::ZXQP0029_URI_ACCESS_DENIED is thrown.

Further note:

Actually it would be sufficient to call static_context::apply_uri_mappers() if we made that method non-private, or (probably better) added a method static_context::get_candidate_uris() which was exactly the same as static_context::get_component_uris() except for passing internal::URIMapper::CANDIDATE instead of COMPONENT.

Till Westmann (tillw)
Changed in zorba:
milestone: none → 2.5
status: New → In Progress
Changed in zorba:
status: In Progress → Fix Committed
Changed in zorba:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.