@Override public void printPolicies(PrintStream os) { /* * Scan permission table */ // First get the permissions table ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos(); for (ConditionalPermissionInfo pInfo : piList) { os.println(pInfo.getEncoded()); } }
public boolean addPermission(final Bundle bundle, final Permission perm, final boolean allowOrDeny, int index) { if (perm == null) return false; final ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); addPermission(bundle, perm, cpa, cpu, allowOrDeny, index); return cpu.commit(); }
public boolean addPermission(final Bundle bundle, final Class<? extends Permission> type, final String name, final String actions, final boolean allowOrDeny, int index) { if (type == null) return false; final ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); addPermission(bundle, type, name, actions, cpa, cpu, allowOrDeny, index); return cpu.commit(); }
void removeGranted(String name) { // First get the permissions table ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos(); for (ConditionalPermissionInfo tmpcpi : piList) { // If a permission info exists in the table remove it if (tmpcpi.getName().equals(name)) { if (Configuration.DEBUG) log.info("Removed Policy: " + tmpcpi.getEncoded()); piList.remove(tmpcpi); break; } } cpu.commit(); }
public void installPolicies(List<String> pInfos, boolean reset) { ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos(); if (reset) {
@Descriptor("removes a policy by name") public boolean removePolicy(String name) { ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); for (ConditionalPermissionInfo cpi : cpu.getConditionalPermissionInfos()) { if (cpi.getName().equals(name)) { boolean removed = cpu.getConditionalPermissionInfos().remove(cpi); if (removed) { return cpu.commit(); } return removed; } } return false; }
@Descriptor("list all system permissions applying to a bundle") public List<ConditionalPermissionInfo> bundlePermissions(Bundle b) { final ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> l = new ArrayList<>(); for (ConditionalPermissionInfo cpi : cpu.getConditionalPermissionInfos()) { ConditionInfo[] cis = cpi.getConditionInfos(); for (ConditionInfo ci : cis) { if (ci.getType().equals("org.osgi.service.condpermadmin.BundleLocationCondition")) { Condition blc = BundleLocationCondition.getCondition(b, ci); if (blc.isSatisfied()) { l.add(cpi); } } } if (cis.length == 0) { l.add(cpi); } } return l; }
ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos();
@Override public boolean addPermissions(String user, List<Permission> permissions) { UserRightsProxy urp = urpMap.get(user); if (urp == null) throw new IllegalStateException( String.format("User rights proxy installation for the user %s not yet completed.", user)); Bundle b = urp.getBundle(); final ConditionalPermissionAdmin cpa = (ConditionalPermissionAdmin) permMan.getSystemPermissionAdmin(); final ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); final List<ConditionalPermissionInfo> perms = cpu.getConditionalPermissionInfos(); int id = getNextUserPermId(user, perms); for (Permission perm: permissions) { final String name = "user_" + user + id++; perms.add(perms.size(), cpa.newConditionalPermissionInfo( name, new ConditionInfo[]{ new ConditionInfo("org.osgi.service.condpermadmin.BundleLocationCondition", new String[]{b.getLocation()})}, new PermissionInfo[]{ new PermissionInfo(perm.getClass().getName(), perm.getName(), perm.getActions())}, "allow")); } return cpu.commit(); }
ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos();
ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); ConditionInfo[] bundleLocationInfo = new ConditionInfo[]{ new ConditionInfo("org.osgi.service.condpermadmin.BundleLocationCondition", new String[]{b.getLocation()})};
for (int i = 0; i < permLocations.length; i++) securityAdmin.setPermissions(permLocations[i], null); ConditionalPermissionUpdate update = condPermAdmin.newConditionalPermissionUpdate(); update.getConditionalPermissionInfos().clear(); update.commit();
ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos();
completeTypes(); ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos();
for (int i = 0; i < permLocations.length; i++) securityAdmin.setPermissions(permLocations[i], null); ConditionalPermissionUpdate update = condPermAdmin.newConditionalPermissionUpdate(); update.getConditionalPermissionInfos().clear(); update.commit();
ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos(); for (Iterator<ConditionalPermissionInfo> it = piList.iterator(); it.hasNext();) {
String appLoc = app.getBundle().getLocation(); ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos();
@Override public AppPermissionImpl setDefaultPolicies() { defaultPolicies = new AppPermissionImpl(cpa); /* * Scan permission table */ boolean match = false; // First get the permissions table ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate(); List<ConditionalPermissionInfo> piList = cpu.getConditionalPermissionInfos(); for (ConditionalPermissionInfo pInfo : piList) { // Get the condition infos if its a BundleLocationCondition, in this // case its not a default policy ConditionInfo cia[] = pInfo.getConditionInfos(); if (cia.length != 0) for (ConditionInfo tmpci : cia) { if (tmpci.getType().equals(BUNDLE_LOCATION_CONDITION_NAME)) { match = true; break; } } if (!match) { ConditionalPermissionInfo pInfoAccess = cpa.newConditionalPermissionInfo(pInfo.getName(), pInfo.getConditionInfos(), pInfo.getPermissionInfos(), pInfo.getAccessDecision()); defaultPolicies.add(pInfoAccess); } match = false; } return defaultPolicies; }