javacommons/security/javasrc.cdc/com/nokia/mj/impl/security/midp/authorization/PermissionGranter.java
changeset 49 35baca0e7a2e
parent 26 dc7c549001d5
child 64 0ea12c182930
--- a/javacommons/security/javasrc.cdc/com/nokia/mj/impl/security/midp/authorization/PermissionGranter.java	Fri Jun 11 13:33:44 2010 +0300
+++ b/javacommons/security/javasrc.cdc/com/nokia/mj/impl/security/midp/authorization/PermissionGranter.java	Tue Jul 06 20:36:19 2010 +0300
@@ -17,6 +17,7 @@
 
 package com.nokia.mj.impl.security.midp.authorization;
 
+import com.nokia.mj.impl.utils.Id;
 import com.nokia.mj.impl.utils.Uid;
 import com.nokia.mj.impl.utils.exception.InvalidAttributeException;
 import com.nokia.mj.impl.security.midp.common.MIDPPermission;
@@ -359,7 +360,8 @@
                     ((PolicyBasedPermission)grantedPermissions.elementAt(i));
                 UserSecuritySettings settings =
                     permission.getUserSecuritySettings();
-                if (settings == null)
+                if (permission.getType() != PolicyBasedPermission.USER_TYPE 
+                    || settings == null)
                 {
                     // not a user permission -> move on to the next permission
                     Logger.log("Permission " + permission.getName() + " is not a user permission, therefore is is not returned as part of the group of blanket permissions");
@@ -456,7 +458,7 @@
             if (permissions_from_sensitive_combination_list_1
                     && permissions_from_sensitive_combination_list_2)
             {
-                String blanketPermissionsDetails = ( 
+                /*String blanketPermissionsDetails = ( 
                     ((call_control == true && multimedia == true)
                     || (call_control == true && read_user_data == true) 
                     || (net_access == true && multimedia == true)
@@ -464,7 +466,18 @@
                     || (messaging == true && multimedia == true)
                     || (messaging == true && read_user_data == true)) ? 
                     "settings_inst_query_perm_net" : 
-                    "settings_inst_query_perm_sec");
+                    "settings_inst_query_perm_sec");*/
+
+                Id blanketPermissionsDetails = ( 
+                    ((call_control == true && multimedia == true)
+                    || (call_control == true && read_user_data == true) 
+                    || (net_access == true && multimedia == true)
+                    || (net_access == true && read_user_data == true)
+                    || (messaging == true && multimedia == true)
+                    || (messaging == true && read_user_data == true)) ? 
+                    new Id("settings_inst_query_perm_net", "N/A") : 
+                    new Id("settings_inst_query_perm_sec", "N/A"));
+
                 iBlanketPermissionsDetails.put(msUidKey,
                                                UserSecuritySettingsImpl.getLocalizedString(
                                                    blanketPermissionsDetails));
@@ -586,7 +599,9 @@
                 for (int i=0; i<policyPermissions.length; i++)
                 {
                     if (policyPermissions[i].getType()
-                            == PolicyBasedPermission.ASSIGNED_TYPE)
+                            == PolicyBasedPermission.ASSIGNED_TYPE 
+                            || policyPermissions[i].getType() 
+                            == PolicyBasedPermission.USER_ASSIGNED_TYPE)
                     {
                         PolicyBasedPermissionImpl p1 = new PolicyBasedPermissionImpl(
                             policyPermissions[i]);
@@ -609,6 +624,7 @@
                                     policyPermissions[i].getName(),
                                     policyPermissions[i].getTarget(),
                                     policyPermissions[i].getActionList(),
+                                    policyPermissions[i].getType(),
                                     policyPermissions[i].getUserSecuritySettings()));
                         }
                     }