javacommons/security/javasrc.cdc/com/nokia/mj/impl/security/midp/authorization/PermissionGranter.java
changeset 26 dc7c549001d5
parent 23 98ccebc37403
child 46 4376525cdefb
child 49 35baca0e7a2e
equal deleted inserted replaced
23:98ccebc37403 26:dc7c549001d5
   345             boolean permissions_from_mutually_exclusive_list_2 = false;
   345             boolean permissions_from_mutually_exclusive_list_2 = false;
   346             boolean permissions_from_sensitive_combination_list_1 = false;
   346             boolean permissions_from_sensitive_combination_list_1 = false;
   347             boolean permissions_from_sensitive_combination_list_2 = false;
   347             boolean permissions_from_sensitive_combination_list_2 = false;
   348             boolean local_connectivity = false;
   348             boolean local_connectivity = false;
   349             boolean net_access = false;
   349             boolean net_access = false;
       
   350             boolean multimedia = false;
       
   351             boolean read_user_data = false;
       
   352             boolean call_control = false;
       
   353             boolean messaging = false;
   350             Vector blanketPermissions =
   354             Vector blanketPermissions =
   351                 new Vector();
   355                 new Vector();
   352             for (int i=0; i<grantedPermissions.size(); i++)
   356             for (int i=0; i<grantedPermissions.size(); i++)
   353             {
   357             {
   354                 PolicyBasedPermission permission =
   358                 PolicyBasedPermission permission =
   400                     net_access = true;
   404                     net_access = true;
   401                 }
   405                 }
   402                 else if (settings.getName().equalsIgnoreCase(
   406                 else if (settings.getName().equalsIgnoreCase(
   403                              UserSecuritySettings.MESSAGING_SETTINGS)
   407                              UserSecuritySettings.MESSAGING_SETTINGS)
   404                          || settings.getName().equalsIgnoreCase(
   408                          || settings.getName().equalsIgnoreCase(
   405                              UserSecuritySettings.RESTRICTED_MESSAGING_SETTINGS)
   409                              UserSecuritySettings.RESTRICTED_MESSAGING_SETTINGS))
   406                          || settings.getName().equalsIgnoreCase(
   410                 {
       
   411                     permissions_from_sensitive_combination_list_1 = true;
       
   412                     messaging = true;
       
   413                 }
       
   414                 else if (settings.getName().equalsIgnoreCase(
   407                              UserSecuritySettings.CALL_CONTROL_SETTINGS))
   415                              UserSecuritySettings.CALL_CONTROL_SETTINGS))
   408                 {
   416                 {
   409                     permissions_from_sensitive_combination_list_1 = true;
   417                     permissions_from_sensitive_combination_list_1 = true;
       
   418                     call_control = true;
   410                 }
   419                 }
   411                 else if (settings.getName().equalsIgnoreCase(
   420                 else if (settings.getName().equalsIgnoreCase(
   412                              UserSecuritySettings.LOCAL_CONNECTIVITY_SETTINGS))
   421                              UserSecuritySettings.LOCAL_CONNECTIVITY_SETTINGS))
   413                 {
   422                 {
   414                     permissions_from_sensitive_combination_list_1 = true;
   423                     permissions_from_sensitive_combination_list_1 = true;
   415                     local_connectivity = true;
   424                     local_connectivity = true;
   416                 }
   425                 }
   417                 else if (settings.getName().equalsIgnoreCase(
   426                 else if (settings.getName().equalsIgnoreCase(
   418                              UserSecuritySettings.MULTIMEDIA_RECORDING_SETTINGS)
   427                              UserSecuritySettings.MULTIMEDIA_RECORDING_SETTINGS))
   419                          || settings.getName().equalsIgnoreCase(
   428                 {
       
   429                     permissions_from_sensitive_combination_list_2 = true;
       
   430                     multimedia = true;
       
   431                 }
       
   432                 else if (settings.getName().equalsIgnoreCase(
   420                              UserSecuritySettings.READ_USER_DATA_ACCESS_SETTINGS))
   433                              UserSecuritySettings.READ_USER_DATA_ACCESS_SETTINGS))
   421                 {
   434                 {
   422                     permissions_from_sensitive_combination_list_2 = true;
   435                     permissions_from_sensitive_combination_list_2 = true;
       
   436                     read_user_data = true;
   423                 }
   437                 }
   424             }
   438             }
   425             if (!defaultNotBlanket)
   439             if (!defaultNotBlanket)
   426             {
   440             {
   427                 // none of the granted permissions has the default set to
   441                 // none of the granted permissions has the default set to
   440             }
   454             }
   441             // check for sensitive combinations
   455             // check for sensitive combinations
   442             if (permissions_from_sensitive_combination_list_1
   456             if (permissions_from_sensitive_combination_list_1
   443                     && permissions_from_sensitive_combination_list_2)
   457                     && permissions_from_sensitive_combination_list_2)
   444             {
   458             {
   445                 String blanketPermissionsDetails = ((local_connectivity && !net_access) ? 
   459                 String blanketPermissionsDetails = ( 
   446                     "settings_inst_query_perm_sec" : 
   460                     ((call_control == true && multimedia == true)
   447                     "settings_inst_query_perm_net");
   461                     || (call_control == true && read_user_data == true) 
       
   462                     || (net_access == true && multimedia == true)
       
   463                     || (net_access == true && read_user_data == true)
       
   464                     || (messaging == true && multimedia == true)
       
   465                     || (messaging == true && read_user_data == true)) ? 
       
   466                     "settings_inst_query_perm_net" : 
       
   467                     "settings_inst_query_perm_sec");
   448                 iBlanketPermissionsDetails.put(msUidKey,
   468                 iBlanketPermissionsDetails.put(msUidKey,
   449                                                UserSecuritySettingsImpl.getLocalizedString(
   469                                                UserSecuritySettingsImpl.getLocalizedString(
   450                                                    blanketPermissionsDetails));
   470                                                    blanketPermissionsDetails));
   451             }
   471             }
   452             if (blanketPermissions.size() > 0)
   472             if (blanketPermissions.size() > 0)