commonuisupport/uifwsdocs/BR1898_migration_note.htm
changeset 0 2f259fa3e83a
equal deleted inserted replaced
-1:000000000000 0:2f259fa3e83a
       
     1 <html>
       
     2 
       
     3 <head>
       
     4 <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
       
     5 <meta name=Generator content="Microsoft Word 10 (filtered)">
       
     6 <title>Licensees need to update any overrides of CEikAppUi::HandleSystemEventL
       
     7 on the same pattern as Symbian will do</title>
       
     8 
       
     9 <style>
       
    10 <!--
       
    11  /* Font Definitions */
       
    12  @font-face
       
    13 	{font-family:Courier;
       
    14 	panose-1:2 7 4 9 2 2 5 2 4 4;}
       
    15  /* Style Definitions */
       
    16  p.MsoNormal, li.MsoNormal, div.MsoNormal
       
    17 	{margin:0cm;
       
    18 	margin-bottom:.0001pt;
       
    19 	font-size:12.0pt;
       
    20 	font-family:"Times New Roman";}
       
    21 a:link, span.MsoHyperlink
       
    22 	{color:blue;
       
    23 	text-decoration:underline;}
       
    24 a:visited, span.MsoHyperlinkFollowed
       
    25 	{color:purple;
       
    26 	text-decoration:underline;}
       
    27 pre
       
    28 	{margin:0cm;
       
    29 	margin-bottom:.0001pt;
       
    30 	font-size:10.0pt;
       
    31 	font-family:"Courier New";}
       
    32 @page Section1
       
    33 	{size:612.0pt 792.0pt;
       
    34 	margin:72.0pt 72.0pt 72.0pt 90.0pt;}
       
    35 div.Section1
       
    36 	{page:Section1;}
       
    37 -->
       
    38 </style>
       
    39 
       
    40 </head>
       
    41 
       
    42 <body lang=EN-GB link=blue vlink=purple>
       
    43 
       
    44 <div class=Section1>
       
    45 
       
    46 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    47 style='color:black'>UI Framework provides a function </span><span
       
    48 style='font-size:10.0pt;font-family:"Courier New"'><a
       
    49 href="http://lon-xref.intra/lxr/ident?i=CEikonEnv"><span style='color:windowtext'>CEikonEnv</span></a>::<a
       
    50 href="http://lon-xref.intra/lxr/ident?i=SetSystem"><span style='color:windowtext'>SetSystem</span></a></span>
       
    51 to be used by applications that should not be possible to close from another
       
    52 application. Currently this mechanism does not work and changes to Symbian code
       
    53 alone will not be enough to close this vulnerability. </p>
       
    54 
       
    55 <pre><span style='font-size:12.0pt;font-family:"Times New Roman"'>&nbsp;</span></pre><pre><span
       
    56 style='font-size:12.0pt;font-family:"Times New Roman"'>Updates to licensee code are required to prevent that applications having called </span><a
       
    57 href="http://lon-xref.intra/lxr/ident?i=CEikonEnv"><span style='color:windowtext'>CEikonEnv</span></a>::<a
       
    58 href="http://lon-xref.intra/lxr/ident?i=SetSystem"><span style='color:windowtext'>SetSystem</span></a><span
       
    59 style='font-size:12.0pt;font-family:"Times New Roman"'> (e.g. Telephony) to be possible to close from another application. </span></pre>
       
    60 
       
    61 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    62 style='color:black'>&nbsp;</span></p>
       
    63 
       
    64 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    65 style='color:black'>To close the security vulnerability all implementations of
       
    66 the virtual </span><span style='font-size:10.0pt;font-family:"Courier New";
       
    67 color:black'>CCoeAppUi::HandleSystemEventL</span><span style='color:black'> needs
       
    68 to:</span></p>
       
    69 
       
    70 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    71 style='font-family:Symbol;color:black'>·          </span><span
       
    72 style='color:black'>Change so that an application marked as “system” does not
       
    73 close itself when it receives an </span><span style='font-size:10.0pt;
       
    74 font-family:"Courier New";color:black'>EApaSystemEventShutdown</span><span
       
    75 style='color:black'> event</span></p>
       
    76 
       
    77 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    78 style='font-family:Symbol;color:black'>·          </span><span
       
    79 style='color:black'>Add functionality so that an application is closed when it
       
    80 receives an</span><span style='font-size:10.0pt;font-family:Courier;color:black'>
       
    81 </span><span style='font-size:10.0pt;font-family:"Courier New";color:black'>EApaSystemEventSecureShutdown</span><span
       
    82 style='font-size:10.0pt;font-family:Courier;color:black'> </span><span
       
    83 style='color:black'>event</span></p>
       
    84 
       
    85 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    86 style='color:black'>&nbsp;</span></p>
       
    87 
       
    88 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    89 style='color:black'>In code this can be expressed like this.</span></p>
       
    90 
       
    91 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    92 style='color:black'>&nbsp;</span></p>
       
    93 
       
    94 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    95 style='font-size:10.0pt;font-family:Courier;color:black'>EXPORT_C void CXxxAppUi::HandleSystemEventL(const
       
    96 TWsEvent&amp; aEvent)</span></p>
       
    97 
       
    98 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
    99 style='font-size:10.0pt;font-family:Courier;color:black'>      {</span></p>
       
   100 
       
   101 <p class=MsoNormal style='text-indent:36.0pt;line-height:12.0pt;text-autospace:
       
   102 none'><i><span style='font-size:10.0pt;font-family:Courier;color:black'>&lt;skip&gt;</span></i></p>
       
   103 
       
   104 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   105 style='font-size:10.0pt;font-family:Courier;color:black'>          case EApaSystemEventShutdown:</span></p>
       
   106 
       
   107 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   108 style='font-size:10.0pt;font-family:Courier;color:blue'>+</span><span
       
   109 style='font-size:10.0pt;font-family:Courier;color:black'>           </span><span
       
   110 style='font-size:10.0pt;font-family:Courier;color:green'>      // This event
       
   111 must no longer be allowed to close system-applications</span></p>
       
   112 
       
   113 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   114 style='font-size:10.0pt;font-family:Courier;color:blue'>+              if((static_cast&lt;CEikonEnv*&gt;(iCoeEnv)-&gt;IsSystem()))</span></p>
       
   115 
       
   116 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   117 style='font-size:10.0pt;font-family:Courier;color:blue'>+                      break;</span></p>
       
   118 
       
   119 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   120 style='font-size:10.0pt;font-family:Courier;color:blue'>+</span><span
       
   121 style='font-size:10.0pt;font-family:Courier;color:black'>       </span><span
       
   122 style='font-size:10.0pt;font-family:Courier;color:blue'>case EApaSystemEventSecureShutdown:</span></p>
       
   123 
       
   124 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   125 style='font-size:10.0pt;font-family:Courier;color:blue'>+</span><span
       
   126 style='font-size:10.0pt;font-family:Courier;color:green'>              // If
       
   127 shutter is already running we don’t need to launch another one</span></p>
       
   128 
       
   129 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   130 style='font-size:10.0pt;font-family:Courier;color:blue'>+              if(iAppUiExtra
       
   131 &amp;&amp; iAppUiExtra-&gt;IsSet(CEikAppUiExtra::EShutterPending))</span></p>
       
   132 
       
   133 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   134 style='font-size:10.0pt;font-family:Courier;color:blue'>+                      break;</span></p>
       
   135 
       
   136 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   137 style='font-size:10.0pt;font-family:Courier;color:blue'>+              </span><span
       
   138 style='font-size:10.0pt;font-family:Courier;color:green'>// Launch a shutter to
       
   139 gracefully close the application</span></p>
       
   140 
       
   141 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   142 style='font-size:10.0pt;font-family:Courier;color:black'>               CEikShutter::DeferredExecuteL(*iEikonEnv);</span></p>
       
   143 
       
   144 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   145 style='font-size:10.0pt;font-family:Courier;color:blue'>+              if(iAppUiExtra)</span></p>
       
   146 
       
   147 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   148 style='font-size:10.0pt;font-family:Courier;color:blue'>+                      iAppUiExtra-&gt;Set(CEikAppUiExtra::EShutterPending);</span></p>
       
   149 
       
   150 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   151 style='font-size:10.0pt;font-family:Courier;color:black'>            break;</span></p>
       
   152 
       
   153 <p class=MsoNormal style='text-indent:36.0pt;line-height:12.0pt;text-autospace:
       
   154 none'><i><span style='font-size:10.0pt;font-family:Courier;color:black'>&lt;skip&gt;</span></i></p>
       
   155 
       
   156 <p class=MsoNormal style='line-height:12.0pt;text-autospace:none'><span
       
   157 style='font-size:10.0pt;font-family:Courier;color:black'>      }</span></p>
       
   158 
       
   159 <p class=MsoNormal>&nbsp;</p>
       
   160 
       
   161 </div>
       
   162 
       
   163 </body>
       
   164 
       
   165 </html>