<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>42027</bug_id>
          
          <creation_ts>2010-07-10 04:15:51 -0700</creation_ts>
          <short_desc>[Qt] Request for permission before starting Geolocation service</short_desc>
          <delta_ts>2010-08-25 06:16:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42068</dependson>
    
    <dependson>42811</dependson>
    
    <dependson>44179</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mahesh Kulkarni">maheshk</reporter>
          <assigned_to name="Mahesh Kulkarni">maheshk</assigned_to>
          <cc>abarth</cc>
    
    <cc>abecsi</cc>
    
    <cc>bulach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mitz</cc>
    
    <cc>ossy</cc>
    
    <cc>steveblock</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>249504</commentid>
    <comment_count>0</comment_count>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-07-10 04:15:51 -0700</bug_when>
    <thetext>Before starting GeolocationService::startUpdate() and acquiring positions webkit must get permission for location.

As of now, requestPermission() is called after starting location device and acquiring the first position. 

This is a costly call on all platforms, On mobile devices, GPS/towerInfo is started and position is acquired even before getting permission for location.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249508</commentid>
    <comment_count>1</comment_count>
      <attachid>61152</attachid>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-07-10 04:31:50 -0700</bug_when>
    <thetext>Created attachment 61152
proposed solution

Reusing m_startRequestPermissionNotifier implementation done under CLIENT_BASED_GEOLOCATION.
GeolocationService::startUpdating() is called only if permission is granted either in async/sync way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249741</commentid>
    <comment_count>2</comment_count>
      <attachid>61152</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-12 03:26:59 -0700</bug_when>
    <thetext>Comment on attachment 61152
proposed solution

For the non-client-based Geolocation implementation, the decision to start the location acquisition process before prompting the user for permission was a conscious one. It prevents unnecessary prompts when no location is available. This change will cause an unwanted change in behaviour for platforms that use the non-client-based implementation. The client-based Geolocation implementation uses opposite policy, of prompting for permission first.

If you&apos;d like to use the second policy for the non-client-based implementation, I think we need to add this as an option behind a flag. Also, I think it makes sense to fix Bug 42068 first, which will introduce such a flag for the client-based implementation.

Finally, it&apos;s likely that the non-client-based implementation will deprecated (Bug 40373), so it might be best for you to start using the client-based implementation sooner rather than later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253645</commentid>
    <comment_count>3</comment_count>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-07-20 03:57:39 -0700</bug_when>
    <thetext>Fix from bug #42068 will introduce a flag under USE(). This bug will cover its functionality changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254245</commentid>
    <comment_count>4</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-07-21 06:15:16 -0700</bug_when>
    <thetext>As discussed with Mahesh QtWebKit seems to be the only port at the moment using GEOLOCATION with USE(PREEMPT_GEOLOCATION_PERMISSION) so I have marked this work for Qt only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254260</commentid>
    <comment_count>5</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-21 07:07:49 -0700</bug_when>
    <thetext>&gt; As discussed with Mahesh QtWebKit seems to be the only port at the moment using
&gt; GEOLOCATION with USE(PREEMPT_GEOLOCATION_PERMISSION) so I have marked this work
&gt; for Qt only.
Not quite.

Currently, Mac uses ENABLE(CLIENT_BASED_GEOLOCATION) and USE(PREEMPT_GEOLOCATION_PERMISSION). All other platforms use !ENABLE(CLIENT_BASED_GEOLOCATION) &amp;&amp; !USE(PREEMPT_GEOLOCATION_PERMISSION).

Mahesh told me that Qt would like to use !ENABLE(CLIENT_BASED_GEOLOCATION) and USE(PREEMPT_GEOLOCATION_PERMISSION), which is not currently supported. This bug is to implement USE(PREEMPT_GEOLOCATION_PERMISSION) for !ENABLE(CLIENT_BASED_GEOLOCATION).

I don&apos;t mind whether or not the bug is labelled Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254272</commentid>
    <comment_count>6</comment_count>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-07-21 07:40:45 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; As discussed with Mahesh QtWebKit seems to be the only port at the moment using
&gt; &gt; GEOLOCATION with USE(PREEMPT_GEOLOCATION_PERMISSION) so I have marked this work
&gt; &gt; for Qt only.
&gt; Not quite.
&gt; 
&gt; Currently, Mac uses ENABLE(CLIENT_BASED_GEOLOCATION) and USE(PREEMPT_GEOLOCATION_PERMISSION). All other platforms use !ENABLE(CLIENT_BASED_GEOLOCATION) &amp;&amp; !USE(PREEMPT_GEOLOCATION_PERMISSION).
&gt; 
&gt; Mahesh told me that Qt would like to use !ENABLE(CLIENT_BASED_GEOLOCATION) and USE(PREEMPT_GEOLOCATION_PERMISSION), which is not currently supported. This bug is to implement USE(PREEMPT_GEOLOCATION_PERMISSION) for !ENABLE(CLIENT_BASED_GEOLOCATION).
&gt; 
&gt; I don&apos;t mind whether or not the bug is labelled Qt.

Right. This bug is to implement USE(PREEMPT_GEOLOCATION_PERMISSION) for !ENABLE(CLIENT_BASED_GEOLOCATION). Which as of now will only be for Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254275</commentid>
    <comment_count>7</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-07-21 07:44:55 -0700</bug_when>
    <thetext>
&gt; Right. This bug is to implement USE(PREEMPT_GEOLOCATION_PERMISSION) for !ENABLE(CLIENT_BASED_GEOLOCATION). Which as of now will only be for Qt.

re-adding [Qt] to bug title, then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254438</commentid>
    <comment_count>8</comment_count>
      <attachid>62214</attachid>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-07-21 11:57:45 -0700</bug_when>
    <thetext>Created attachment 62214
patch

call startUpdate() when pre-emptive geolocation permission is used for non-client based implementation. No change for client-based implementations and non-pre-emptive geolocations. Qt port uses pre-emptive geolocation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254708</commentid>
    <comment_count>9</comment_count>
      <attachid>62214</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-22 03:02:24 -0700</bug_when>
    <thetext>Comment on attachment 62214
patch

WebCore/page/Geolocation.cpp:408
 +  #if !ENABLE(CLIENT_BASED_GEOLOCATION)
Why reverse the order of the &apos;#if&apos;? It minimises the diff to keep it as it is.

WebCore/page/Geolocation.cpp:411
 +                  m_oneShots.add(m_startRequestPermissionNotifier);
This is not correct. The notifier pointed to by m_startRequestPermissionNotifier will already have been added to either m_oneShots m_watchers in getCurrentPosition() or watchPosition(). So we don&apos;t need to add it again and we can&apos;t assume it&apos;s a one-shot. I notice that existing permission denied case, below, suffers from the same problem.

Also, I see a couple of other problems with the existing pre-emptive permissions logic. I&apos;ve filed Bug 42811 to track all of these, which we should fix first. Patches welcome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265972</commentid>
    <comment_count>10</comment_count>
      <attachid>64673</attachid>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-08-18 00:15:33 -0700</bug_when>
    <thetext>Created attachment 64673
patch

Fixes,

1) Starting location service when request is granted for ports using !CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION
2) Enables PREEMPT_GEOLOCATION_PERMISSION for QtWebkit

No new cases added as I&apos;m not sure if there is a way GeolocationServiceMock can have PREEMPT_GEOLOCATION_PERMISSION enabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265986</commentid>
    <comment_count>11</comment_count>
      <attachid>64673</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-18 01:40:43 -0700</bug_when>
    <thetext>Comment on attachment 64673
patch

WebCore/ChangeLog:13
 +          No new tests added because GeolocationServiceMock does not enable PREEMPT_GEOLOCATION_PERMISSION
I&apos;m not sure what you mean by this. The choice of the preemptive vs non-preemptive permissions policy concerns the Geolocation object, not its client/service. So whether a given platform uses the preemptive policy depends on the build settings, not on whether it&apos;s using the mock in DRT. The code that you&apos;re adding is tested by the existing fast/dom/delayed-permission-* tests, so we should say so here.

It&apos;s a shame that these tests are currently skipped on Qt due to Bug 41364. Have you tested that these tests pass on Qt with your proposed fix for that bug? 

WebCore/page/Geolocation.cpp:702
 +              if (m_service &amp;&amp; m_service-&gt;startUpdating(notifier-&gt;m_options.get()))
Why do you need to check m_service here? We don&apos;t check it when making calls to the service elsewhere.

Also, you could simply Geolocation::startUpdating() here for both the client-based and non-client-based impls. That would match what we do in Geolocation::startRequest() and save having to use an ifdef here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266007</commentid>
    <comment_count>12</comment_count>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-08-18 02:46:11 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 64673 [details])
&gt; WebCore/ChangeLog:13
&gt;  +          No new tests added because GeolocationServiceMock does not enable PREEMPT_GEOLOCATION_PERMISSION
&gt; I&apos;m not sure what you mean by this. The choice of the preemptive vs non-preemptive permissions policy concerns the Geolocation object, not its client/service. So whether a given platform uses the preemptive policy depends on the build settings, not on whether it&apos;s using the mock in DRT. The code that you&apos;re adding is tested by the existing fast/dom/delayed-permission-* tests, so we should say so here.
&gt; 

Ah right. Sorry I missed to get this when I added that comment. 


&gt; It&apos;s a shame that these tests are currently skipped on Qt due to Bug 41364. Have you tested that these tests pass on Qt with your proposed fix for that bug? 

Yes, with patch from 42811 + 42027 + 41364 all cases on Qt passes. 

&gt; 
&gt; WebCore/page/Geolocation.cpp:702
&gt;  +              if (m_service &amp;&amp; m_service-&gt;startUpdating(notifier-&gt;m_options.get()))
&gt; Why do you need to check m_service here? We don&apos;t check it when making calls to the service elsewhere.
&gt; 
&gt; Also, you could simply Geolocation::startUpdating() here for both the client-based and non-client-based impls. That would match what we do in Geolocation::startRequest() and save having to use an ifdef here.

Good catch. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266008</commentid>
    <comment_count>13</comment_count>
      <attachid>64678</attachid>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-08-18 02:51:06 -0700</bug_when>
    <thetext>Created attachment 64678
patch

Updated as per above comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266009</commentid>
    <comment_count>14</comment_count>
      <attachid>64678</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-18 02:57:10 -0700</bug_when>
    <thetext>Comment on attachment 64678
patch

WebCore/ChangeLog:13
 +          Delayed layout cases for this bug are skipped for Qt (bug #41364 will fix)
It would be good if you could explicitly list the existing tests that test this code, as in theory, it&apos;s not specific to Qt.

WebCore/page/Geolocation.cpp:701
 +                  notifier-&gt;setFatalError(PositionError::create(PositionError::POSITION_UNAVAILABLE, failedToStartServiceErrorMessage));
Nice. Can&apos;t we now also remove the CLIENT_BASED_GEOLOCATION early-out above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266018</commentid>
    <comment_count>15</comment_count>
      <attachid>64681</attachid>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-08-18 03:21:55 -0700</bug_when>
    <thetext>Created attachment 64681
patch

Incorporate changes as per comment #14</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266027</commentid>
    <comment_count>16</comment_count>
      <attachid>64681</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-18 03:34:25 -0700</bug_when>
    <thetext>Comment on attachment 64681
patch

Thanks Mahesh!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266033</commentid>
    <comment_count>17</comment_count>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-08-18 03:49:27 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 64681 [details])
&gt; Thanks Mahesh!

Thank you once again for review Steve!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266057</commentid>
    <comment_count>18</comment_count>
      <attachid>64681</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-18 05:37:15 -0700</bug_when>
    <thetext>Comment on attachment 64681
patch

Clearing flags on attachment: 64681

Committed r65603: &lt;http://trac.webkit.org/changeset/65603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266058</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-18 05:37:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266068</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-18 06:10:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/65603 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266136</commentid>
    <comment_count>21</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-18 08:57:14 -0700</bug_when>
    <thetext>This is being rolled out in Bug 44179 because of crashes on Qt.

Mahesh, is the crash just due to the missing Qt DRT implementation? If so, you could resubmit this without enabling the new code path on Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266153</commentid>
    <comment_count>22</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-18 09:14:45 -0700</bug_when>
    <thetext>r65603 was rolled out by http://trac.webkit.org/changeset/65611

crashes can be found here:
http://build.webkit.org/results/Qt%20Linux%20Release/r65603%20%2817985%29/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266257</commentid>
    <comment_count>23</comment_count>
      <attachid>64681</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-18 11:07:03 -0700</bug_when>
    <thetext>Comment on attachment 64681
patch

Landed again: http://trac.webkit.org/changeset/65616

The patch is good, but the buildbot needed a clean build to like it. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266263</commentid>
    <comment_count>24</comment_count>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2010-08-18 11:17:25 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 64681 [details] [details])
&gt; Landed again: http://trac.webkit.org/changeset/65616
&gt; 
&gt; The patch is good, but the buildbot needed a clean build to like it. :)

Thank you Csaba Osztrogonac!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266272</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-18 11:24:43 -0700</bug_when>
    <thetext>Any time we need a clean build, that&apos;s a bug in the build system.  We should file a bug and try to fix it. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266303</commentid>
    <comment_count>26</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-18 12:14:06 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; Any time we need a clean build, that&apos;s a bug in the build system.  We should file a bug and try to fix it. :)

I absolutely agree with you, but it is a hard task now. 

http://trac.webkit.org/changeset/65603 added a new define:
DEFINES += WTF_USE_PREEMPT_GEOLOCATION_PERMISSION

Try to imagine a foo.cpp like this:
...
#ifdef WTF_USE_PREEMPT_GEOLOCATION_PERMISSION
    // do something
#endif
...

The build command in makefile before the patch:
g++ -c ... foo.cpp -o foo.o

The build command in makefile after the patch:
g++ -c ... -DWTF_USE_PREEMPT_GEOLOCATION_PERMISSION foo.cpp -o foo.o

Unfortunately modifying pri and pro files won&apos;t trigger rebuilding foo.cpp.
To fix this bug, we have to write a sophisticated script to determine
which sources should be rebuilded after adding/modifying/removing a
compiler flag.

We filed a bug about it long time ago, but there aren&apos;t a good fix yet:
https://bugs.webkit.org/show_bug.cgi?id=38054</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269200</commentid>
    <comment_count>27</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-25 06:16:20 -0700</bug_when>
    <thetext>Revision r65603 cherry-picked into qtwebkit-2.1 with commit 089151ec4f583359d129fdc3c5246d247962aa7c</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61152</attachid>
            <date>2010-07-10 04:31:50 -0700</date>
            <delta_ts>2010-07-21 11:57:45 -0700</delta_ts>
            <desc>proposed solution</desc>
            <filename>request_prepone.patch</filename>
            <type>text/plain</type>
            <size>4330</size>
            <attacher name="Mahesh Kulkarni">maheshk</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzA0NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTAtMDctMTAgIE1haGVzaCBLdWxrYXJuaSAgPG1haGVzaC5rdWxr
YXJuaUBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVxdWVzdCBmb3IgcGVybWlzc2lvbiBiZWZvcmUgc3RhcnRpbmcgR2VvbG9jYXRp
b24gc2VydmljZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDIwMjcKKworICAgICAgICBUbyBnZXQgcGVybWlzc2lvbiBiZWZvcmUgc3RhcnRpbmcgZ2Vv
bG9jYXRpb24gc2VydmljZSwgcmUtdXNlZCB0aGUgCisgICAgICAgIG1fc3RhcnRSZXF1ZXN0UGVy
bWlzc2lvbk5vdGlmaWVyIGltcGxlbWVudGF0aW9uIG1hZGUgdW5kZXIgQ0xJRU5UX0JBU0VEX0dF
T0xPQ0FUSU9OIGZsYWcuIAorCisgICAgICAgICogcGFnZS9HZW9sb2NhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNv
cmU6Okdlb2xvY2F0aW9uOjpzZXRJc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9j
YXRpb246OnN0YXJ0VXBkYXRpbmcpOgorICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb24uaDoKKwog
MjAxMC0wNy0xMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uLmNwcAkocmV2aXNpb24gNjI5
MzApCisrKyBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzksMTAgKzI3OSw4IEBAIFBhc3NSZWZQdHI8R2VvbG9jYXRpb246Okdlb05vdGlmaWVyPiBHZW8K
ICAgICBlbHNlIGlmIChoYXZlU3VpdGFibGVDYWNoZWRQb3NpdGlvbihub3RpZmllci0+bV9vcHRp
b25zLmdldCgpKSkKICAgICAgICAgbm90aWZpZXItPnNldFVzZUNhY2hlZFBvc2l0aW9uKCk7CiAg
ICAgZWxzZSBpZiAobm90aWZpZXItPmhhc1plcm9UaW1lb3V0KCkgfHwgc3RhcnRVcGRhdGluZyhu
b3RpZmllci5nZXQoKSkpIHsKLSNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQog
ICAgICAgICAvLyBPbmx5IHN0YXJ0IHRpbWVyIGlmIHdlJ3JlIG5vdCB3YWl0aW5nIGZvciB1c2Vy
IHBlcm1pc3Npb24uCiAgICAgICAgIGlmICghbV9zdGFydFJlcXVlc3RQZXJtaXNzaW9uTm90aWZp
ZXIpCi0jZW5kaWYgICAgICAgICAgICAKICAgICAgICAgICAgIG5vdGlmaWVyLT5zdGFydFRpbWVy
SWZOZWVkZWQoKTsKICAgICB9IGVsc2UKICAgICAgICAgbm90aWZpZXItPnNldEZhdGFsRXJyb3Io
UG9zaXRpb25FcnJvcjo6Y3JlYXRlKFBvc2l0aW9uRXJyb3I6OlBPU0lUSU9OX1VOQVZBSUxBQkxF
LCBmYWlsZWRUb1N0YXJ0U2VydmljZUVycm9yTWVzc2FnZSkpOwpAQCAtNDAwLDE4ICszOTgsMjcg
QEAgdm9pZCBHZW9sb2NhdGlvbjo6c2V0SXNBbGxvd2VkKGJvb2wgYWxsbwogICAgIC8vIHBvc2l0
aW9uLgogICAgIG1fYWxsb3dHZW9sb2NhdGlvbiA9IGFsbG93ZWQgPyBZZXMgOiBObzsKICAgICAK
LSNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQogICAgIGlmIChtX3N0YXJ0UmVx
dWVzdFBlcm1pc3Npb25Ob3RpZmllcikgewogICAgICAgICBpZiAoaXNBbGxvd2VkKCkpIHsKKwog
ICAgICAgICAgICAgLy8gUGVybWlzc2lvbiByZXF1ZXN0IHdhcyBtYWRlIGR1cmluZyB0aGUgc3Rh
cnRVcGRhdGluZyBwcm9jZXNzCi0gICAgICAgICAgICBtX3N0YXJ0UmVxdWVzdFBlcm1pc3Npb25O
b3RpZmllci0+c3RhcnRUaW1lcklmTmVlZGVkKCk7CisjaWYgIUVOQUJMRShDTElFTlRfQkFTRURf
R0VPTE9DQVRJT04pCisgICAgICAgICAgICBpZiAoIW1fc2VydmljZS0+c3RhcnRVcGRhdGluZyht
X3N0YXJ0UmVxdWVzdFBlcm1pc3Npb25Ob3RpZmllci0+bV9vcHRpb25zLmdldCgpKSkgeworICAg
ICAgICAgICAgICAgIG1fc3RhcnRSZXF1ZXN0UGVybWlzc2lvbk5vdGlmaWVyLT5zZXRGYXRhbEVy
cm9yKFBvc2l0aW9uRXJyb3I6OmNyZWF0ZShQb3NpdGlvbkVycm9yOjpQT1NJVElPTl9VTkFWQUlM
QUJMRSwgZmFpbGVkVG9TdGFydFNlcnZpY2VFcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgICAgICAg
ICBtX29uZVNob3RzLmFkZChtX3N0YXJ0UmVxdWVzdFBlcm1pc3Npb25Ob3RpZmllcik7CisgICAg
ICAgICAgICB9IGVsc2UKKyNlbmRpZgorICAgICAgICAgICAgICAgIG1fc3RhcnRSZXF1ZXN0UGVy
bWlzc2lvbk5vdGlmaWVyLT5zdGFydFRpbWVySWZOZWVkZWQoKTsKICAgICAgICAgICAgIG1fc3Rh
cnRSZXF1ZXN0UGVybWlzc2lvbk5vdGlmaWVyID0gMDsKKworI2lmIEVOQUJMRShDTElFTlRfQkFT
RURfR0VPTE9DQVRJT04pCiAgICAgICAgICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICAgICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKICAg
ICAgICAgICAgIGlmICghcGFnZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAg
ICBwYWdlLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+YWRkT2JzZXJ2ZXIodGhpcyk7CisjZW5k
aWYKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1fc3RhcnRSZXF1ZXN0UGVybWlzc2lv
bk5vdGlmaWVyLT5zZXRGYXRhbEVycm9yKFBvc2l0aW9uRXJyb3I6OmNyZWF0ZShQb3NpdGlvbkVy
cm9yOjpQRVJNSVNTSU9OX0RFTklFRCwgcGVybWlzc2lvbkRlbmllZEVycm9yTWVzc2FnZSkpOwog
ICAgICAgICAgICAgbV9vbmVTaG90cy5hZGQobV9zdGFydFJlcXVlc3RQZXJtaXNzaW9uTm90aWZp
ZXIpOwpAQCAtNDE5LDcgKzQyNiw3IEBAIHZvaWQgR2VvbG9jYXRpb246OnNldElzQWxsb3dlZChi
b29sIGFsbG8KICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQotI2VuZGlmCisKIAog
ICAgIGlmICghaXNBbGxvd2VkKCkpIHsKICAgICAgICAgUmVmUHRyPFBvc2l0aW9uRXJyb3I+IGVy
cm9yID0gUG9zaXRpb25FcnJvcjo6Y3JlYXRlKFBvc2l0aW9uRXJyb3I6OlBFUk1JU1NJT05fREVO
SUVELCBwZXJtaXNzaW9uRGVuaWVkRXJyb3JNZXNzYWdlKTsKQEAgLTYxMiwxNSArNjE5LDE1IEBA
IHZvaWQgR2VvbG9jYXRpb246Omdlb2xvY2F0aW9uU2VydmljZUVycm8KIAogYm9vbCBHZW9sb2Nh
dGlvbjo6c3RhcnRVcGRhdGluZyhHZW9Ob3RpZmllciogbm90aWZpZXIpCiB7Ci0jaWYgRU5BQkxF
KENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKLSAgICAvLyBGSVhNRTogUGFzcyBvcHRpb25zIHRv
IGNsaWVudC4KLQogICAgIGlmICghaXNBbGxvd2VkKCkpIHsKICAgICAgICAgbV9zdGFydFJlcXVl
c3RQZXJtaXNzaW9uTm90aWZpZXIgPSBub3RpZmllcjsKICAgICAgICAgcmVxdWVzdFBlcm1pc3Np
b24oKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKENM
SUVOVF9CQVNFRF9HRU9MT0NBVElPTikKKyAgICAvLyBGSVhNRTogUGFzcyBvcHRpb25zIHRvIGNs
aWVudC4KKwogICAgIGlmICghbV9mcmFtZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4
OiBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2Uv
R2VvbG9jYXRpb24uaAkocmV2aXNpb24gNjI5MzApCisrKyBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b24uaAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDkgKzE2NSw4IEBAIHByaXZhdGU6CiAgICAgRnJh
bWUqIG1fZnJhbWU7CiAjaWYgIUVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCiAgICAg
T3duUHRyPEdlb2xvY2F0aW9uU2VydmljZT4gbV9zZXJ2aWNlOwotI2Vsc2UKLSAgICBSZWZQdHI8
R2VvTm90aWZpZXI+IG1fc3RhcnRSZXF1ZXN0UGVybWlzc2lvbk5vdGlmaWVyOwogI2VuZGlmCisg
ICAgUmVmUHRyPEdlb05vdGlmaWVyPiBtX3N0YXJ0UmVxdWVzdFBlcm1pc3Npb25Ob3RpZmllcjsK
ICAgICBSZWZQdHI8R2VvcG9zaXRpb24+IG1fbGFzdFBvc2l0aW9uOwogCiAgICAgZW51bSB7Cg==
</data>
<flag name="review"
          id="49130"
          type_id="1"
          status="-"
          setter="steveblock"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62214</attachid>
            <date>2010-07-21 11:57:45 -0700</date>
            <delta_ts>2010-08-18 00:15:33 -0700</delta_ts>
            <desc>patch</desc>
            <filename>42027.patch</filename>
            <type>text/plain</type>
            <size>3035</size>
            <attacher name="Mahesh Kulkarni">maheshk</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2Mzg0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjEgIE1haGVzaCBLdWxrYXJuaSAgPG1haGVzaC5rdWxr
YXJuaUBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW1F0XSBSZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGJlZm9yZSBzdGFydGluZyBHZW9s
b2NhdGlvbiBzZXJ2aWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjAyNworCisgICAgICAgIEltcGxlbWVudHMgUFJFRU1QVF9HRU9MT0NBVElPTl9Q
RVJNSVNTSU9OIGZvciBub24tY2xpZW50IGJhc2VkCisgICAgICAgIGltcGxlbWVudGF0aW9ucy4g
Tm8gYmVoYXZpb3IgY2hhbmdlIGZvciBjbGllbnQtYmFzZWQgaW1wbGVtZW50YXRpb25zCisgICAg
ICAgIE5vIG5vbi1jbGllbnQgYmFzZWQgaW1wbGVtZW50YXRpb24gdXNlcyBQUkVFTVBUX0dFT0xP
Q0FUSU9OX1BFUk1JU1NJT04KKyAgICAgICAgRW5hYmxpbmcgVVNFKFBSRUVNUFRfR0VPTE9DQVRJ
T05fUEVSTUlTU0lPTikgZm9yIFFUIHBvcnQKKworICAgICAgICBObyBuZXcgdGVzdCBjb250ZW50
IGFkZGVkIGFzIG5vIG5ldyBmdW5jdGlvbmFsaXR5IGlzIGFkZGVkLiAKKyAgICAgICAgR2VvbG9j
YXRpb24gbGF5b3V0IHRlc3RzIGZvciBxdCBwb3J0IGFyZSBwYXNzZWQKKworICAgICAgICAqIFdl
YkNvcmUucHJvOgorICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R2VvbG9jYXRpb246OnNldElzQWxsb3dlZCk6CisKIDIwMTAtMDctMjEgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0g
V2VpbmlnLgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L1dlYkNvcmUucHJvCShyZXZpc2lvbiA2MzgzNSkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdv
cmtpbmcgY29weSkKQEAgLTI3MTUsNiArMjcxNSw5IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9RVF9CRUFSRVI9MSkgewogfQogCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfR0VPTE9DQVRJ
T049MSkgeworICAgICMgZW5hYmxlIHByZS1lbXB0aXZlIHBlcm1pc3Npb24gcG9saWN5IAorICAg
IERFRklORVMgKz0gV1RGX1VTRV9QUkVFTVBUX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT04KKwogICAg
IEhFQURFUlMgKz0gXAogICAgICAgICBwbGF0Zm9ybS9xdC9HZW9sb2NhdGlvblNlcnZpY2VRdC5o
CiAgICAgU09VUkNFUyArPSBcCkluZGV4OiBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAJKHJldmlzaW9uIDYzODM1
KQorKysgV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA1
LDE3ICs0MDUsMjAgQEAgdm9pZCBHZW9sb2NhdGlvbjo6c2V0SXNBbGxvd2VkKGJvb2wgYWxsbwog
ICAgICAgICBpZiAoaXNBbGxvd2VkKCkpIHsKICAgICAgICAgICAgIC8vIFBlcm1pc3Npb24gcmVx
dWVzdCB3YXMgbWFkZSBkdXJpbmcgdGhlIHN0YXJ0VXBkYXRpbmcgcHJvY2VzcwogICAgICAgICAg
ICAgbV9zdGFydFJlcXVlc3RQZXJtaXNzaW9uTm90aWZpZXItPnN0YXJ0VGltZXJJZk5lZWRlZCgp
OwotICAgICAgICAgICAgbV9zdGFydFJlcXVlc3RQZXJtaXNzaW9uTm90aWZpZXIgPSAwOwotI2lm
IEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCisjaWYgIUVOQUJMRShDTElFTlRfQkFT
RURfR0VPTE9DQVRJT04pCisgICAgICAgICAgICBpZiAobV9zZXJ2aWNlICYmICFtX3NlcnZpY2Ut
PnN0YXJ0VXBkYXRpbmcobV9zdGFydFJlcXVlc3RQZXJtaXNzaW9uTm90aWZpZXItPm1fb3B0aW9u
cy5nZXQoKSkpIHsKKyAgICAgICAgICAgICAgICBtX3N0YXJ0UmVxdWVzdFBlcm1pc3Npb25Ob3Rp
Zmllci0+c2V0RmF0YWxFcnJvcihQb3NpdGlvbkVycm9yOjpjcmVhdGUoUG9zaXRpb25FcnJvcjo6
UE9TSVRJT05fVU5BVkFJTEFCTEUsIGZhaWxlZFRvU3RhcnRTZXJ2aWNlRXJyb3JNZXNzYWdlKSk7
CisgICAgICAgICAgICAgICAgbV9vbmVTaG90cy5hZGQobV9zdGFydFJlcXVlc3RQZXJtaXNzaW9u
Tm90aWZpZXIpOworICAgICAgICAgICAgfQorI2Vsc2UKICAgICAgICAgICAgIGlmICghbV9mcmFt
ZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICBQYWdlKiBwYWdlID0gbV9m
cmFtZS0+cGFnZSgpOwogICAgICAgICAgICAgaWYgKCFwYWdlKQogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIHBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5hZGRPYnNl
cnZlcih0aGlzKTsKLSNlbHNlCi0gICAgICAgICAgICAvLyBUT0RPOiBIYW5kbGUgc3RhcnRVcGRh
dGUoKSBmb3Igbm9uLWNsaWVudCBiYXNlZCBpbXBsZW1lbnRhdGlvbnMgdXNpbmcgcHJlLWVtcHRp
dmUgcG9saWN5CiAjZW5kaWYKKyAgICAgICAgICAgIG1fc3RhcnRSZXF1ZXN0UGVybWlzc2lvbk5v
dGlmaWVyID0gMDsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1fc3RhcnRSZXF1ZXN0
UGVybWlzc2lvbk5vdGlmaWVyLT5zZXRGYXRhbEVycm9yKFBvc2l0aW9uRXJyb3I6OmNyZWF0ZShQ
b3NpdGlvbkVycm9yOjpQRVJNSVNTSU9OX0RFTklFRCwgcGVybWlzc2lvbkRlbmllZEVycm9yTWVz
c2FnZSkpOwogICAgICAgICAgICAgbV9vbmVTaG90cy5hZGQobV9zdGFydFJlcXVlc3RQZXJtaXNz
aW9uTm90aWZpZXIpOwo=
</data>
<flag name="review"
          id="50357"
          type_id="1"
          status="-"
          setter="steveblock"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64673</attachid>
            <date>2010-08-18 00:15:33 -0700</date>
            <delta_ts>2010-08-18 02:51:06 -0700</delta_ts>
            <desc>patch</desc>
            <filename>42027.patch</filename>
            <type>text/plain</type>
            <size>2325</size>
            <attacher name="Mahesh Kulkarni">maheshk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmEzYzZmOC4uMDQwYzQ1ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOC0xOCAgTWFoZXNoIEt1bGth
cm5pICA8bWFoZXNoLmt1bGthcm5pQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFJlcXVlc3QgZm9yIHBlcm1pc3Npb24gYmVm
b3JlIHN0YXJ0aW5nIEdlb2xvY2F0aW9uIHNlcnZpY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMDI3CisKKyAgICAgICAgSGFuZGxlcyBzdGFydGlu
ZyBsb2NhdGlvbiBhY3F1aXNpdGlvbiB3aGVuIHJlcXVlc3QgaXMgZ3JhbnRlZCBmb3IgcG9ydHMg
dXNpbmcgCisgICAgICAgICIhQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OIGFuZCBQUkVFTVBUX0dF
T0xPQ0FUSU9OX1BFUk1JU1NJT04iIHBvbGljeQorICAgICAgICBPbmx5IFF0IHBvcnQgYXMgb2Yg
dG9kYXkgdXNlcyB0aGUgYWJvdmUgY29tYmluYXRpb24uIEVuYWJsZSAKKyAgICAgICAgUFJFRU1Q
VF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIGZvciBxdCBwb3J0LiAKKworICAgICAgICBObyBuZXcg
dGVzdHMgYWRkZWQgYmVjYXVzZSBHZW9sb2NhdGlvblNlcnZpY2VNb2NrIGRvZXMgbm90IGVuYWJs
ZSBQUkVFTVBUX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT04KKworICAgICAgICAqIFdlYkNvcmUucHJv
OgorICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
bG9jYXRpb246OmhhbmRsZVBlbmRpbmdQZXJtaXNzaW9uTm90aWZpZXJzKToKKwogMjAxMC0wOC0x
NyAgR2lyaXNoIFJhbWFrcmlzaG5hbiAgPGdpcmlzaEBmb3J3YXJkYmlhcy5pbj4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggM2UyZWZlYS4uZTQzNGE0ZSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0y
Nzk2LDYgKzI3OTYsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfUVRfQkVBUkVSPTEpIHsK
IH0KIAogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpIHsKKyAgICBERUZJ
TkVTICs9IFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OCiAgICAgSEVBREVS
UyArPSBcCiAgICAgICAgIHBsYXRmb3JtL3F0L0dlb2xvY2F0aW9uU2VydmljZVF0LmgKICAgICBT
T1VSQ0VTICs9IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAgYi9X
ZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uY3BwCmluZGV4IGZkMTBmMjcuLjU3YjI0MTYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0dl
b2xvY2F0aW9uLmNwcApAQCAtNjk5LDcgKzY5OSwxMCBAQCB2b2lkIEdlb2xvY2F0aW9uOjpoYW5k
bGVQZW5kaW5nUGVybWlzc2lvbk5vdGlmaWVycygpCiAgICAgICAgICAgICBub3RpZmllci0+c3Rh
cnRUaW1lcklmTmVlZGVkKCk7CiAgICAgICAgICAgICBwYWdlLT5nZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKS0+YWRkT2JzZXJ2ZXIodGhpcywgbm90aWZpZXItPm1fb3B0aW9ucy0+ZW5hYmxlSGlnaEFj
Y3VyYWN5KCkpOwogI2Vsc2UKLSAgICAgICAgICAgIC8vIFRPRE86IEhhbmRsZSBzdGFydFVwZGF0
ZSgpIGZvciBub24tY2xpZW50IGJhc2VkIGltcGxlbWVudGF0aW9ucyB1c2luZyBwcmUtZW1wdGl2
ZSBwb2xpY3kKKyAgICAgICAgICAgIGlmIChtX3NlcnZpY2UgJiYgbV9zZXJ2aWNlLT5zdGFydFVw
ZGF0aW5nKG5vdGlmaWVyLT5tX29wdGlvbnMuZ2V0KCkpKQorICAgICAgICAgICAgICAgIG5vdGlm
aWVyLT5zdGFydFRpbWVySWZOZWVkZWQoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBub3RpZmllci0+c2V0RmF0YWxFcnJvcihQb3NpdGlvbkVycm9yOjpjcmVhdGUoUG9zaXRp
b25FcnJvcjo6UE9TSVRJT05fVU5BVkFJTEFCTEUsIGZhaWxlZFRvU3RhcnRTZXJ2aWNlRXJyb3JN
ZXNzYWdlKSk7CiAjZW5kaWYKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBub3RpZmllci0+
c2V0RmF0YWxFcnJvcihQb3NpdGlvbkVycm9yOjpjcmVhdGUoUG9zaXRpb25FcnJvcjo6UEVSTUlT
U0lPTl9ERU5JRUQsIHBlcm1pc3Npb25EZW5pZWRFcnJvck1lc3NhZ2UpKTsK
</data>
<flag name="review"
          id="53290"
          type_id="1"
          status="-"
          setter="steveblock"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64678</attachid>
            <date>2010-08-18 02:51:06 -0700</date>
            <delta_ts>2010-08-18 03:21:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>42027.patch</filename>
            <type>text/plain</type>
            <size>2490</size>
            <attacher name="Mahesh Kulkarni">maheshk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmEzYzZmOC4uY2U3YWQwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOC0xOCAgTWFoZXNoIEt1bGth
cm5pICA8bWFoZXNoLmt1bGthcm5pQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFJlcXVlc3QgZm9yIHBlcm1pc3Npb24gYmVm
b3JlIHN0YXJ0aW5nIEdlb2xvY2F0aW9uIHNlcnZpY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMDI3CisKKyAgICAgICAgSGFuZGxlcyBzdGFydGlu
ZyBsb2NhdGlvbiBhY3F1aXNpdGlvbiB3aGVuIHJlcXVlc3QgaXMgZ3JhbnRlZCBmb3IgcG9ydHMg
dXNpbmcgCisgICAgICAgICIhQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OIGFuZCBQUkVFTVBUX0dF
T0xPQ0FUSU9OX1BFUk1JU1NJT04iIHBvbGljeQorICAgICAgICBPbmx5IFF0IHBvcnQgYXMgb2Yg
dG9kYXkgdXNlcyB0aGUgYWJvdmUgY29tYmluYXRpb24uIEVuYWJsZSAKKyAgICAgICAgUFJFRU1Q
VF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIGZvciBxdCBwb3J0LiAKKworICAgICAgICBEZWxheWVk
IGxheW91dCBjYXNlcyBmb3IgdGhpcyBidWcgYXJlIHNraXBwZWQgZm9yIFF0IChidWcgIzQxMzY0
IHdpbGwgZml4KQorCisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogcGFnZS9HZW9s
b2NhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6aGFuZGxlUGVuZGlu
Z1Blcm1pc3Npb25Ob3RpZmllcnMpOgorCiAyMDEwLTA4LTE3ICBHaXJpc2ggUmFtYWtyaXNobmFu
ICA8Z2lyaXNoQGZvcndhcmRiaWFzLmluPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8g
R29tZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCAzZTJlZmVhLi5lNDM0YTRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTI3OTYsNiArMjc5Niw3IEBAIGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9RVF9CRUFSRVI9MSkgewogfQogCiBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfR0VPTE9DQVRJT049MSkgeworICAgIERFRklORVMgKz0gV1RGX1VTRV9QUkVFTVBU
X0dFT0xPQ0FUSU9OX1BFUk1JU1NJT04KICAgICBIRUFERVJTICs9IFwKICAgICAgICAgcGxhdGZv
cm0vcXQvR2VvbG9jYXRpb25TZXJ2aWNlUXQuaAogICAgIFNPVVJDRVMgKz0gXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uLmNwcCBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlv
bi5jcHAKaW5kZXggZmQxMGYyNy4uZjVmMmFmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dl
b2xvY2F0aW9uLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uY3BwCkBAIC02OTUs
MTIgKzY5NSwxMCBAQCB2b2lkIEdlb2xvY2F0aW9uOjpoYW5kbGVQZW5kaW5nUGVybWlzc2lvbk5v
dGlmaWVycygpCiAgICAgICAgIGlmIChpc0FsbG93ZWQoKSkgewogICAgICAgICAgICAgLy8gc3Rh
cnQgYWxsIHBlbmRpbmcgbm90aWZpY2F0aW9uIHJlcXVlc3RzIGFzIHBlcm1pc3Npb24gZ3JhbnRl
ZC4KICAgICAgICAgICAgIC8vIFRoZSBub3RpZmllciBpcyBhbHdheXMgcmVmJ2VkIGJ5IG1fb25l
U2hvdHMgb3IgbV93YXRjaGVycy4KLSNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9O
KQotICAgICAgICAgICAgbm90aWZpZXItPnN0YXJ0VGltZXJJZk5lZWRlZCgpOwotICAgICAgICAg
ICAgcGFnZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPmFkZE9ic2VydmVyKHRoaXMsIG5vdGlm
aWVyLT5tX29wdGlvbnMtPmVuYWJsZUhpZ2hBY2N1cmFjeSgpKTsKLSNlbHNlCi0gICAgICAgICAg
ICAvLyBUT0RPOiBIYW5kbGUgc3RhcnRVcGRhdGUoKSBmb3Igbm9uLWNsaWVudCBiYXNlZCBpbXBs
ZW1lbnRhdGlvbnMgdXNpbmcgcHJlLWVtcHRpdmUgcG9saWN5Ci0jZW5kaWYKKyAgICAgICAgICAg
IGlmIChzdGFydFVwZGF0aW5nKG5vdGlmaWVyKSkKKyAgICAgICAgICAgICAgICBub3RpZmllci0+
c3RhcnRUaW1lcklmTmVlZGVkKCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
bm90aWZpZXItPnNldEZhdGFsRXJyb3IoUG9zaXRpb25FcnJvcjo6Y3JlYXRlKFBvc2l0aW9uRXJy
b3I6OlBPU0lUSU9OX1VOQVZBSUxBQkxFLCBmYWlsZWRUb1N0YXJ0U2VydmljZUVycm9yTWVzc2Fn
ZSkpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG5vdGlmaWVyLT5zZXRGYXRhbEVycm9y
KFBvc2l0aW9uRXJyb3I6OmNyZWF0ZShQb3NpdGlvbkVycm9yOjpQRVJNSVNTSU9OX0RFTklFRCwg
cGVybWlzc2lvbkRlbmllZEVycm9yTWVzc2FnZSkpOwogICAgIH0K
</data>
<flag name="review"
          id="53297"
          type_id="1"
          status="-"
          setter="steveblock"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64681</attachid>
            <date>2010-08-18 03:21:55 -0700</date>
            <delta_ts>2010-08-18 05:37:15 -0700</delta_ts>
            <desc>patch</desc>
            <filename>42027.patch</filename>
            <type>text/plain</type>
            <size>3373</size>
            <attacher name="Mahesh Kulkarni">maheshk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmEzYzZmOC4uNDIyZDFiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOC0xOCAgTWFoZXNoIEt1bGth
cm5pICA8bWFoZXNoLmt1bGthcm5pQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFJlcXVlc3QgZm9yIHBlcm1pc3Npb24gYmVm
b3JlIHN0YXJ0aW5nIEdlb2xvY2F0aW9uIHNlcnZpY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMDI3CisKKyAgICAgICAgSGFuZGxlcyBzdGFydGlu
ZyBsb2NhdGlvbiBhY3F1aXNpdGlvbiB3aGVuIHJlcXVlc3QgaXMgZ3JhbnRlZCBmb3IgcG9ydHMg
dXNpbmcgCisgICAgICAgICIhQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OIGFuZCBQUkVFTVBUX0dF
T0xPQ0FUSU9OX1BFUk1JU1NJT04iIHBvbGljeQorICAgICAgICBPbmx5IFF0IHBvcnQgYXMgb2Yg
dG9kYXkgdXNlcyB0aGUgYWJvdmUgY29tYmluYXRpb24uIEVuYWJsZSAKKyAgICAgICAgUFJFRU1Q
VF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OIGZvciBxdCBwb3J0LiAKKworICAgICAgICBCZWxvdyB0
ZXN0cyBjb3ZlciB0aGVzZSBjaGFuZ2VzIG9uIHBsYXRmb3JtIHVzaW5nIFBSRUVNUFRfR0VPTE9D
QVRJT05fUEVSTUlTU0lPTgorICAgICAgICAtIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2RlbGF5ZWQt
cGVybWlzc2lvbi1hbGxvd2VkLmh0bWwKKyAgICAgICAgLSBmYXN0L2RvbS9HZW9sb2NhdGlvbi9k
ZWxheWVkLXBlcm1pc3Npb24tZGVuaWVkLmh0bWwKKyAgICAgICAgLSBmYXN0L2RvbS9HZW9sb2Nh
dGlvbi9kZWxheWVkLXBlcm1pc3Npb24tYWxsb3dlZC1mb3ItbXVsdGlwbGUtcmVxdWVzdHMuaHRt
bAorICAgICAgICAtIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2RlbGF5ZWQtcGVybWlzc2lvbi1kZW5p
ZWQtZm9yLW11bHRpcGxlLXJlcXVlc3RzLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUucHJvOgor
ICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9j
YXRpb246OmhhbmRsZVBlbmRpbmdQZXJtaXNzaW9uTm90aWZpZXJzKToKKwogMjAxMC0wOC0xNyAg
R2lyaXNoIFJhbWFrcmlzaG5hbiAgPGdpcmlzaEBmb3J3YXJkYmlhcy5pbj4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBy
byBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggM2UyZWZlYS4uZTQzNGE0ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yNzk2
LDYgKzI3OTYsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfUVRfQkVBUkVSPTEpIHsKIH0K
IAogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpIHsKKyAgICBERUZJTkVT
ICs9IFdURl9VU0VfUFJFRU1QVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OCiAgICAgSEVBREVSUyAr
PSBcCiAgICAgICAgIHBsYXRmb3JtL3F0L0dlb2xvY2F0aW9uU2VydmljZVF0LmgKICAgICBTT1VS
Q0VTICs9IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAgYi9XZWJD
b3JlL3BhZ2UvR2VvbG9jYXRpb24uY3BwCmluZGV4IGZkMTBmMjcuLjU3YWQ5NjMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0dlb2xv
Y2F0aW9uLmNwcApAQCAtNjc4LDE0ICs2NzgsNiBAQCB2b2lkIEdlb2xvY2F0aW9uOjpzdG9wVXBk
YXRpbmcoKQogI2lmIFVTRShQUkVFTVBUX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT04pCiB2b2lkIEdl
b2xvY2F0aW9uOjpoYW5kbGVQZW5kaW5nUGVybWlzc2lvbk5vdGlmaWVycygpCiB7Ci0jaWYgRU5B
QkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKLSAgICBpZiAoIW1fZnJhbWUpCi0gICAgICAg
IHJldHVybjsKLSAgICBQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpOwotICAgIGlmICghcGFn
ZSkKLSAgICAgICAgcmV0dXJuOwotI2VuZGlmCi0KICAgICAvLyBXaGlsZSB3ZSBpdGVyYXRlIHRo
cm91Z2ggdGhlIGxpc3QsIHdlIG5lZWQgbm90IHdvcnJ5IGFib3V0IGxpc3QgYmVpbmcgbW9kaWZp
ZWQgYXMgdGhlIHBlcm1pc3Npb24gCiAgICAgLy8gaXMgYWxyZWFkeSBzZXQgdG8gWWVzL05vIGFu
ZCBubyBuZXcgbGlzdGVuZXJzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIHBlbmRpbmcgbGlzdAogICAg
IEdlb05vdGlmaWVyU2V0Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3BlbmRpbmdGb3JQZXJtaXNz
aW9uTm90aWZpZXJzLmVuZCgpOwpAQCAtNjk1LDEyICs2ODcsMTAgQEAgdm9pZCBHZW9sb2NhdGlv
bjo6aGFuZGxlUGVuZGluZ1Blcm1pc3Npb25Ob3RpZmllcnMoKQogICAgICAgICBpZiAoaXNBbGxv
d2VkKCkpIHsKICAgICAgICAgICAgIC8vIHN0YXJ0IGFsbCBwZW5kaW5nIG5vdGlmaWNhdGlvbiBy
ZXF1ZXN0cyBhcyBwZXJtaXNzaW9uIGdyYW50ZWQuCiAgICAgICAgICAgICAvLyBUaGUgbm90aWZp
ZXIgaXMgYWx3YXlzIHJlZidlZCBieSBtX29uZVNob3RzIG9yIG1fd2F0Y2hlcnMuCi0jaWYgRU5B
QkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKLSAgICAgICAgICAgIG5vdGlmaWVyLT5zdGFy
dFRpbWVySWZOZWVkZWQoKTsKLSAgICAgICAgICAgIHBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxl
cigpLT5hZGRPYnNlcnZlcih0aGlzLCBub3RpZmllci0+bV9vcHRpb25zLT5lbmFibGVIaWdoQWNj
dXJhY3koKSk7Ci0jZWxzZQotICAgICAgICAgICAgLy8gVE9ETzogSGFuZGxlIHN0YXJ0VXBkYXRl
KCkgZm9yIG5vbi1jbGllbnQgYmFzZWQgaW1wbGVtZW50YXRpb25zIHVzaW5nIHByZS1lbXB0aXZl
IHBvbGljeQotI2VuZGlmCisgICAgICAgICAgICBpZiAoc3RhcnRVcGRhdGluZyhub3RpZmllcikp
CisgICAgICAgICAgICAgICAgbm90aWZpZXItPnN0YXJ0VGltZXJJZk5lZWRlZCgpOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG5vdGlmaWVyLT5zZXRGYXRhbEVycm9yKFBvc2l0
aW9uRXJyb3I6OmNyZWF0ZShQb3NpdGlvbkVycm9yOjpQT1NJVElPTl9VTkFWQUlMQUJMRSwgZmFp
bGVkVG9TdGFydFNlcnZpY2VFcnJvck1lc3NhZ2UpKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAg
ICAgICBub3RpZmllci0+c2V0RmF0YWxFcnJvcihQb3NpdGlvbkVycm9yOjpjcmVhdGUoUG9zaXRp
b25FcnJvcjo6UEVSTUlTU0lPTl9ERU5JRUQsIHBlcm1pc3Npb25EZW5pZWRFcnJvck1lc3NhZ2Up
KTsKICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>