javacommons/security/javasrc.cdc/com/nokia/mj/impl/security/midp/authorization/PermissionGranter.java
changeset 49 35baca0e7a2e
parent 26 dc7c549001d5
child 64 0ea12c182930
equal deleted inserted replaced
35:85266cc22c7f 49:35baca0e7a2e
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 package com.nokia.mj.impl.security.midp.authorization;
    18 package com.nokia.mj.impl.security.midp.authorization;
    19 
    19 
       
    20 import com.nokia.mj.impl.utils.Id;
    20 import com.nokia.mj.impl.utils.Uid;
    21 import com.nokia.mj.impl.utils.Uid;
    21 import com.nokia.mj.impl.utils.exception.InvalidAttributeException;
    22 import com.nokia.mj.impl.utils.exception.InvalidAttributeException;
    22 import com.nokia.mj.impl.security.midp.common.MIDPPermission;
    23 import com.nokia.mj.impl.security.midp.common.MIDPPermission;
    23 import com.nokia.mj.impl.security.midp.common.UserSecuritySettings;
    24 import com.nokia.mj.impl.security.midp.common.UserSecuritySettings;
    24 import com.nokia.mj.impl.security.midp.common.UserSecuritySettingsImpl;
    25 import com.nokia.mj.impl.security.midp.common.UserSecuritySettingsImpl;
   357             {
   358             {
   358                 PolicyBasedPermission permission =
   359                 PolicyBasedPermission permission =
   359                     ((PolicyBasedPermission)grantedPermissions.elementAt(i));
   360                     ((PolicyBasedPermission)grantedPermissions.elementAt(i));
   360                 UserSecuritySettings settings =
   361                 UserSecuritySettings settings =
   361                     permission.getUserSecuritySettings();
   362                     permission.getUserSecuritySettings();
   362                 if (settings == null)
   363                 if (permission.getType() != PolicyBasedPermission.USER_TYPE 
       
   364                     || settings == null)
   363                 {
   365                 {
   364                     // not a user permission -> move on to the next permission
   366                     // not a user permission -> move on to the next permission
   365                     Logger.log("Permission " + permission.getName() + " is not a user permission, therefore is is not returned as part of the group of blanket permissions");
   367                     Logger.log("Permission " + permission.getName() + " is not a user permission, therefore is is not returned as part of the group of blanket permissions");
   366                     continue;
   368                     continue;
   367                 }
   369                 }
   454             }
   456             }
   455             // check for sensitive combinations
   457             // check for sensitive combinations
   456             if (permissions_from_sensitive_combination_list_1
   458             if (permissions_from_sensitive_combination_list_1
   457                     && permissions_from_sensitive_combination_list_2)
   459                     && permissions_from_sensitive_combination_list_2)
   458             {
   460             {
   459                 String blanketPermissionsDetails = ( 
   461                 /*String blanketPermissionsDetails = ( 
   460                     ((call_control == true && multimedia == true)
   462                     ((call_control == true && multimedia == true)
   461                     || (call_control == true && read_user_data == true) 
   463                     || (call_control == true && read_user_data == true) 
   462                     || (net_access == true && multimedia == true)
   464                     || (net_access == true && multimedia == true)
   463                     || (net_access == true && read_user_data == true)
   465                     || (net_access == true && read_user_data == true)
   464                     || (messaging == true && multimedia == true)
   466                     || (messaging == true && multimedia == true)
   465                     || (messaging == true && read_user_data == true)) ? 
   467                     || (messaging == true && read_user_data == true)) ? 
   466                     "settings_inst_query_perm_net" : 
   468                     "settings_inst_query_perm_net" : 
   467                     "settings_inst_query_perm_sec");
   469                     "settings_inst_query_perm_sec");*/
       
   470 
       
   471                 Id blanketPermissionsDetails = ( 
       
   472                     ((call_control == true && multimedia == true)
       
   473                     || (call_control == true && read_user_data == true) 
       
   474                     || (net_access == true && multimedia == true)
       
   475                     || (net_access == true && read_user_data == true)
       
   476                     || (messaging == true && multimedia == true)
       
   477                     || (messaging == true && read_user_data == true)) ? 
       
   478                     new Id("settings_inst_query_perm_net", "N/A") : 
       
   479                     new Id("settings_inst_query_perm_sec", "N/A"));
       
   480 
   468                 iBlanketPermissionsDetails.put(msUidKey,
   481                 iBlanketPermissionsDetails.put(msUidKey,
   469                                                UserSecuritySettingsImpl.getLocalizedString(
   482                                                UserSecuritySettingsImpl.getLocalizedString(
   470                                                    blanketPermissionsDetails));
   483                                                    blanketPermissionsDetails));
   471             }
   484             }
   472             if (blanketPermissions.size() > 0)
   485             if (blanketPermissions.size() > 0)
   584             if (policyPermissions != null)
   597             if (policyPermissions != null)
   585             {
   598             {
   586                 for (int i=0; i<policyPermissions.length; i++)
   599                 for (int i=0; i<policyPermissions.length; i++)
   587                 {
   600                 {
   588                     if (policyPermissions[i].getType()
   601                     if (policyPermissions[i].getType()
   589                             == PolicyBasedPermission.ASSIGNED_TYPE)
   602                             == PolicyBasedPermission.ASSIGNED_TYPE 
       
   603                             || policyPermissions[i].getType() 
       
   604                             == PolicyBasedPermission.USER_ASSIGNED_TYPE)
   590                     {
   605                     {
   591                         PolicyBasedPermissionImpl p1 = new PolicyBasedPermissionImpl(
   606                         PolicyBasedPermissionImpl p1 = new PolicyBasedPermissionImpl(
   592                             policyPermissions[i]);
   607                             policyPermissions[i]);
   593                         // add it only if not contained already
   608                         // add it only if not contained already
   594                         boolean found = false;
   609                         boolean found = false;
   607                             resolvedPermissions.addElement(
   622                             resolvedPermissions.addElement(
   608                                 new PolicyBasedPermissionImpl(
   623                                 new PolicyBasedPermissionImpl(
   609                                     policyPermissions[i].getName(),
   624                                     policyPermissions[i].getName(),
   610                                     policyPermissions[i].getTarget(),
   625                                     policyPermissions[i].getTarget(),
   611                                     policyPermissions[i].getActionList(),
   626                                     policyPermissions[i].getActionList(),
       
   627                                     policyPermissions[i].getType(),
   612                                     policyPermissions[i].getUserSecuritySettings()));
   628                                     policyPermissions[i].getUserSecuritySettings()));
   613                         }
   629                         }
   614                     }
   630                     }
   615                 }
   631                 }
   616             }
   632             }