<?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>64355</bug_id>
          
          <creation_ts>2011-07-12 06:27:56 -0700</creation_ts>
          <short_desc>[Soup] Cannot override default max-conns and max-conns-per-host Soup Session settings</short_desc>
          <delta_ts>2011-07-29 06:01:10 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Marco Peereboom">marco</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>landry</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>435607</commentid>
    <comment_count>0</comment_count>
      <attachid>100476</attachid>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-12 06:27:56 -0700</bug_when>
    <thetext>Created attachment 100476
patch

Both max-conns and max-conns-per-host are not honored.  This makes the
following code not do what one would expect:

        session = webkit_get_default_session();
        g_object_set(session, &quot;max-conns&quot;, max_connections, (char *)NULL);
        g_object_set(session, &quot;max-conns-per-host&quot;, max_host_connections,
            (char *)NULL);

Problem is that webkit will overwrite these values upon &quot;first contact&quot;
with a site.  The responsible file is:
WebCore/platform/network/soup/ResourceHandleSoup.cpp in function
static void ensureSessionIsInitialized(SoupSession* session)
    static const int maxConnections = 60;
    static const int maxConnectionsPerHost = 6;
...
    g_object_set(session,
                 SOUP_SESSION_MAX_CONNS, maxConnections,
                 SOUP_SESSION_MAX_CONNS_PER_HOST, maxConnectionsPerHost,
                 NULL);

This code is run AFTER I set those values.

Attached is a patch that fixes this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435608</commentid>
    <comment_count>1</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-12 06:29:39 -0700</bug_when>
    <thetext>Attachment 100476 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435617</commentid>
    <comment_count>2</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2011-07-12 06:46:59 -0700</bug_when>
    <thetext>I can&apos;t comment if this effectively fixes the issue as i can&apos;t test it now, but if ensureSessionIsInitialized() is called is ResourceHandle::defaultSession(), then the other ensureSessionIsInitialized() calls in startHTTPRequest() and startNonHTTPRequest() (and maybe others) should be removed, since they are just after returning from defaultSession().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435618</commentid>
    <comment_count>3</comment_count>
      <attachid>100478</attachid>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-12 06:48:17 -0700</bug_when>
    <thetext>Created attachment 100478
patch2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435678</commentid>
    <comment_count>4</comment_count>
      <attachid>100492</attachid>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-12 08:56:38 -0700</bug_when>
    <thetext>Created attachment 100492
patch3

Do what Landry suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435725</commentid>
    <comment_count>5</comment_count>
      <attachid>100492</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-12 10:27:26 -0700</bug_when>
    <thetext>Comment on attachment 100492
patch3

View in context: https://bugs.webkit.org/attachment.cgi?id=100492&amp;action=review

Seems like a decent change, but please touch up the ChangeLog a bit.

&gt; Source/WebCore/ChangeLog:6
&gt; +        max-conns and max-conns-per-host not honored
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=64355
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).

I think this change deserves a line or two explaining what problem this fixes.

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

You should either add a test or explain here why you didn&apos;t.

&gt; Source/WebCore/ChangeLog:12
&gt; +        * platform/network/soup/ResourceHandleSoup.cpp:
&gt; +        (WebCore::ResourceHandle::defaultSession):
&gt; +

Typically we fill these out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435875</commentid>
    <comment_count>6</comment_count>
      <attachid>100542</attachid>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-12 12:51:17 -0700</bug_when>
    <thetext>Created attachment 100542
patch4

pretty up changelog as requested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435904</commentid>
    <comment_count>7</comment_count>
      <attachid>100542</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-12 13:21:34 -0700</bug_when>
    <thetext>Comment on attachment 100542
patch4

View in context: https://bugs.webkit.org/attachment.cgi?id=100542&amp;action=review

Sorry for the confusion. Comments below.

&gt; Source/WebCore/ChangeLog:2
&gt; +2011-07-12  ./Source/WebCore/ChangeLog  &lt;marco@peereboom.us&gt;
&gt; +

This line should list your name. I&apos;m not sure what went wrong here.

&gt; Source/WebCore/ChangeLog:7
&gt; +        Default max-conns and max-conns-per-host are set at &quot;first contact&quot; with
&gt; +        a site instead of at creation time.  This results in values being
&gt; +        overwritten if they are set prior to said &quot;first contact&quot;; which is the
&gt; +        most likely (or only) scenario.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=64355

The format should actually be:

&lt;bug title&gt;
&lt;bug URL&gt;

&lt;reviewer -- OOPS is fine here, the tools will take care of it&gt;

&lt;change description&gt;

&gt; Source/WebCore/ChangeLog:12
&gt; +        Rigged libsoup and xxxterm web browser to diagnose the issue and
&gt; +        validate the patch.

Here you should preserve &quot;No new tests.&quot; and then followed by a description of why tests were not added to the WebKit repository itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435916</commentid>
    <comment_count>8</comment_count>
      <attachid>100554</attachid>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-12 13:31:53 -0700</bug_when>
    <thetext>Created attachment 100554
patch5

Shuffle changelog to meet style requirements.  Requested by Martin Robinson</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435946</commentid>
    <comment_count>9</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-12 14:18:21 -0700</bug_when>
    <thetext>This looks pretty good to me. I&apos;d like Sergio to give it a look, just to double-check though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436477</commentid>
    <comment_count>10</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-07-13 09:47:29 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; This looks pretty good to me. I&apos;d like Sergio to give it a look, just to double-check though.

The change looks sane but we would be breaking the contract of webkit_get_default_session(). With the current code you could do things like:

session = webkit_get_default_session();
soup_session_add_feature(session, my_cookie_jar);

If you do this before any request, then webkitgtk+ will use my_cookie_jar instead of the default.

But, with this patch, after webkit_get_default_session() you will get a SoupSession with a default CookieJar and a default SoupRequester among other things. It&apos;s true that you still could remove them and add yours but I think this could be considered an API break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436485</commentid>
    <comment_count>11</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-13 09:59:00 -0700</bug_when>
    <thetext>(In reply to comment #10)

&gt; But, with this patch, after webkit_get_default_session() you will get a SoupSession with a default CookieJar and a default SoupRequester among other things. It&apos;s true that you still could remove them and add yours but I think this could be considered an API break.

Will the current code also override any CookieJar and SoupRequester that the user sets, in the same way that it&apos;s overriding these other settings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436487</commentid>
    <comment_count>12</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-07-13 10:02:16 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; 
&gt; &gt; But, with this patch, after webkit_get_default_session() you will get a SoupSession with a default CookieJar and a default SoupRequester among other things. It&apos;s true that you still could remove them and add yours but I think this could be considered an API break.
&gt; 
&gt; Will the current code also override any CookieJar and SoupRequester that the user sets, in the same way that it&apos;s overriding these other settings?

It will not because we first check if there is any cookiejar or souprequester before setting the default ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436494</commentid>
    <comment_count>13</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-13 10:06:50 -0700</bug_when>
    <thetext>(In reply to comment #12)

&gt; It will not because we first check if there is any cookiejar or souprequester before setting the default ones.

Ah, so this would just make the behavior slightly more consistent. Another approach would be to check if the max-conns and max-conns-per-host differ from the default. That seems like a bit of a hack though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436495</commentid>
    <comment_count>14</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-07-13 10:11:48 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; 
&gt; &gt; It will not because we first check if there is any cookiejar or souprequester before setting the default ones.
&gt; 
&gt; Ah, so this would just make the behavior slightly more consistent. Another approach would be to check if the max-conns and max-conns-per-host differ from the default. That seems like a bit of a hack though.

Another possibility could be to remove that from webkitgtk+, as it is a very specific browser feature, (actually we were setting as defaults the values used by most of the browsers) and let browsers decide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436689</commentid>
    <comment_count>15</comment_count>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-13 14:57:47 -0700</bug_when>
    <thetext>Actually moving
    g_object_set(session,
                 SOUP_SESSION_MAX_CONNS, maxConnections,
                 SOUP_SESSION_MAX_CONNS_PER_HOST, maxConnectionsPerHost,
                 NULL);
into SoupSession* ResourceHandle::defaultSession() might be a better idea while leaving the rest intact.  I agree all options are a bit meh but currently it is a bug that on low FD systems results in crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437219</commentid>
    <comment_count>16</comment_count>
      <attachid>100834</attachid>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-14 11:24:42 -0700</bug_when>
    <thetext>Created attachment 100834
patch6

How about this instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437220</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-14 11:26:18 -0700</bug_when>
    <thetext>Attachment 100834 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/platform/network/soup/Resou...&quot; exit_code: 1

Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:847:  Use 0 instead of NULL.  [readability/null] [5]
Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:857:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 2 in 1 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437222</commentid>
    <comment_count>18</comment_count>
      <attachid>100834</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-07-14 11:35:05 -0700</bug_when>
    <thetext>Comment on attachment 100834
patch6

Attachment 100834 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/9060296</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437223</commentid>
    <comment_count>19</comment_count>
      <attachid>100834</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-07-14 11:35:11 -0700</bug_when>
    <thetext>Comment on attachment 100834
patch6

Attachment 100834 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9065262</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437248</commentid>
    <comment_count>20</comment_count>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-14 12:18:35 -0700</bug_when>
    <thetext>meh angry robots are angry but please look at the diff and let me know if the idea is right and then I&apos;ll move the code around to make them angry robots happy again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440961</commentid>
    <comment_count>21</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2011-07-22 08:26:46 -0700</bug_when>
    <thetext>Can we get a followup on that ? What&apos;s the best approach to take, so that we can fix the issue locally once a proper patch is accepted ? I&apos;d be fine if we did what&apos;s in comment 13,ie check if value differ from default before setting it, but then that&apos;d mean there&apos;s already a sane default in soup itself ?
Or we should just remove those two g_object_set and use the real defaults provided by soup as suggested in #14 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440965</commentid>
    <comment_count>22</comment_count>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-22 08:32:50 -0700</bug_when>
    <thetext>&gt; Or we should just remove those two g_object_set and use the real defaults provided by soup as suggested in #14 ?

I really wish we would not remove the ability to set these values.  Webkit runs in embedded environments where resources are scarce.  The fact that soup doesn&apos;t handle closed connections properly is enough of an issue.  Removing these knobs would exacerbate the situation.

I&apos;ll roll a new patch later today to address this a bit better because the last one I proposed is crap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440968</commentid>
    <comment_count>23</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2011-07-22 08:35:55 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; &gt; Or we should just remove those two g_object_set and use the real defaults provided by soup as suggested in #14 ?
&gt; 
&gt; I really wish we would not remove the ability to set these values.  Webkit runs in embedded environments where resources are scarce.  The fact that soup doesn&apos;t handle closed connections properly is enough of an issue.  Removing these knobs would exacerbate the situation.

I was talking of removing the two g_object_set from webkit itself in ResourceHandleSoup.cpp, letting the possibility to the user of the API to do them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442377</commentid>
    <comment_count>24</comment_count>
      <attachid>102027</attachid>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-26 11:08:29 -0700</bug_when>
    <thetext>Created attachment 102027
patch7

Patch moves g_object_set for session parameters into defaultSession.  Also make sure the values are only set the first time the function is invoked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442384</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-26 11:10:50 -0700</bug_when>
    <thetext>Attachment 102027 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:852:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442397</commentid>
    <comment_count>26</comment_count>
      <attachid>102030</attachid>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-26 11:30:24 -0700</bug_when>
    <thetext>Created attachment 102030
patch8

One more time... One day I&apos;ll figure out the style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442399</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-26 11:32:23 -0700</bug_when>
    <thetext>Attachment 102030 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:854:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442403</commentid>
    <comment_count>28</comment_count>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-26 11:35:40 -0700</bug_when>
    <thetext>Y U COMPLAIN?

I took this idiom from some other files.  I don&apos;t get why it fails.  Any clues?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442532</commentid>
    <comment_count>29</comment_count>
      <attachid>102030</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-26 14:37:44 -0700</bug_when>
    <thetext>Comment on attachment 102030
patch8

View in context: https://bugs.webkit.org/attachment.cgi?id=102030&amp;action=review

This looks like a good solution to me. Thanks for working on it. If you can get some buy-in from Sergio and some of the others who&apos;ve commented here. I&apos;ll r+ this with the small fixes I suggested below.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:849
&gt; +    initData = g_object_get_data(G_OBJECT(session), &quot;webkit-init&quot;);

I&apos;d prefer smething like this:

static SoupSession* session = 0;
if (!session) {
    session = soup_session_async_new();
    g_object_set(...);
}

Depending on &quot;webkit-init&quot; adds a dependency on some other random bit of the code.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:850
&gt; +    if (!initData)

You should use curly braces on this if block, since the contents span more than one line.

&gt;&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:854
&gt;&gt; +                         NULL);
&gt; 
&gt; Use 0 instead of NULL.  [readability/null] [5]

You can ignore this failure. The style-bot isn&apos;t smart enough to understand that the NULL is necessary because the g_object_set is on another line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442614</commentid>
    <comment_count>30</comment_count>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-26 16:32:07 -0700</bug_when>
    <thetext>Ok this is a bit closer to the previous patch but looking at other code in webkit I figured the static init stuff uses this idiom.  I&apos;ll roll a new patch in the morning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442932</commentid>
    <comment_count>31</comment_count>
      <attachid>102146</attachid>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-27 07:59:05 -0700</bug_when>
    <thetext>Created attachment 102146
patch9

incorporate martin&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442933</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-27 08:00:44 -0700</bug_when>
    <thetext>Attachment 102146 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:853:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443511</commentid>
    <comment_count>33</comment_count>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-28 08:59:05 -0700</bug_when>
    <thetext>So this about what you meant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443537</commentid>
    <comment_count>34</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-07-28 10:16:35 -0700</bug_when>
    <thetext>Patch looks good to me.

Martin what about using this patch to change the maxConnections value? The most typical  value used by the other browsers is around 30-35, and we are using 60 instead. Also I&apos;d change the url in the comment to point to http://www.browserscope.org/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443543</commentid>
    <comment_count>35</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-28 10:19:34 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; Patch looks good to me.
&gt; 
&gt; Martin what about using this patch to change the maxConnections value? The most typical  value used by the other browsers is around 30-35, and we are using 60 instead. Also I&apos;d change the url in the comment to point to http://www.browserscope.org/

That sounds like a great change, but I think it should happen in another patch/bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443550</commentid>
    <comment_count>36</comment_count>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-28 10:30:55 -0700</bug_when>
    <thetext>I&apos;ll do a patch for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443700</commentid>
    <comment_count>37</comment_count>
      <attachid>102146</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-28 16:26:47 -0700</bug_when>
    <thetext>Comment on attachment 102146
patch9

Clearing flags on attachment: 102146

Committed r91954: &lt;http://trac.webkit.org/changeset/91954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443701</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-28 16:26:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443816</commentid>
    <comment_count>39</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2011-07-28 22:14:26 -0700</bug_when>
    <thetext>Fwiw, the Changelog entry is wrong in the commit.. it talks about platform/graphics/FontFallbackList.cpp whereas Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp was modified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443838</commentid>
    <comment_count>40</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-29 00:40:05 -0700</bug_when>
    <thetext>(In reply to comment #39)
&gt; Fwiw, the Changelog entry is wrong in the commit.. it talks about platform/graphics/FontFallbackList.cpp whereas Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp was modified.

Thanks for the notice! I&apos;ve corrected this in http://trac.webkit.org/changeset/91976. Marco, please use prepare-ChangeLog to generate your ChangeLogs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443894</commentid>
    <comment_count>41</comment_count>
    <who name="Marco Peereboom">marco</who>
    <bug_when>2011-07-29 05:08:53 -0700</bug_when>
    <thetext>My bad; I merged the wrong diff.  I swear one day I figure out these tools.  Sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443906</commentid>
    <comment_count>42</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-29 06:01:10 -0700</bug_when>
    <thetext>(In reply to comment #41)
&gt; My bad; I merged the wrong diff.  I swear one day I figure out these tools.  Sorry about that.

No problem! Thanks for the patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100476</attachid>
            <date>2011-07-12 06:27:56 -0700</date>
            <delta_ts>2011-07-12 06:48:17 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a</filename>
            <type>text/plain</type>
            <size>1172</size>
            <attacher name="Marco Peereboom">marco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNzk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDctMTEgIC4vU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nICA8bWFyY29AcGVlcmVib29tLnVzPgorCisgICAgICAgIG1heC1j
b25ucyBhbmQgbWF4LWNvbm5zLXBlci1ob3N0IG5vdCBob25vcmVkCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbik6CisKIDIw
MTEtMDctMTEgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFN3aXRjaCBsaW5lVG9wIGFuZCBsaW5lQm90dG9tIHRvIG5ldyBsYXlvdXQgdHlwZXMKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwCShyZXZpc2lvbiA5MDc4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC04NTAsNiArODUwLDggQEAgc3RhdGljIGJvb2wgc3RhcnROb25IVFRQUmVxdWVzdChS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlCiBTb3VwU2Vzc2lvbiogUmVzb3VyY2VIYW5kbGU6OmRlZmF1
bHRTZXNzaW9uKCkKIHsKICAgICBzdGF0aWMgU291cFNlc3Npb24qIHNlc3Npb24gPSBzb3VwX3Nl
c3Npb25fYXN5bmNfbmV3KCk7CisgICAgZW5zdXJlU2Vzc2lvbklzSW5pdGlhbGl6ZWQoc2Vzc2lv
bik7CisKICAgICByZXR1cm4gc2Vzc2lvbjsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100478</attachid>
            <date>2011-07-12 06:48:17 -0700</date>
            <delta_ts>2011-07-12 08:56:38 -0700</delta_ts>
            <desc>patch2</desc>
            <filename>a</filename>
            <type>text/plain</type>
            <size>1227</size>
            <attacher name="Marco Peereboom">marco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNzk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDctMTEgIC4vU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nICA8bWFyY29AcGVlcmVib29tLnVzPgorCisgICAgICAgIG1heC1j
b25ucyBhbmQgbWF4LWNvbm5zLXBlci1ob3N0IG5vdCBob25vcmVkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24pOgorCiAyMDEx
LTA3LTExICBMZXZpIFdlaW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBT
d2l0Y2ggbGluZVRvcCBhbmQgbGluZUJvdHRvbSB0byBuZXcgbGF5b3V0IHR5cGVzCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcAkocmV2aXNpb24gOTA3ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODUwLDYgKzg1MCw4IEBAIHN0YXRpYyBib29sIHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVz
b3VyY2VIYW5kbGUqIGhhbmRsZQogU291cFNlc3Npb24qIFJlc291cmNlSGFuZGxlOjpkZWZhdWx0
U2Vzc2lvbigpCiB7CiAgICAgc3RhdGljIFNvdXBTZXNzaW9uKiBzZXNzaW9uID0gc291cF9zZXNz
aW9uX2FzeW5jX25ldygpOworICAgIGVuc3VyZVNlc3Npb25Jc0luaXRpYWxpemVkKHNlc3Npb24p
OworCiAgICAgcmV0dXJuIHNlc3Npb247CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100492</attachid>
            <date>2011-07-12 08:56:38 -0700</date>
            <delta_ts>2011-07-12 12:51:17 -0700</delta_ts>
            <desc>patch3</desc>
            <filename>a</filename>
            <type>text/plain</type>
            <size>1939</size>
            <attacher name="Marco Peereboom">marco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNzk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDctMTEgIC4vU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nICA8bWFyY29AcGVlcmVib29tLnVzPgorCisgICAgICAgIG1heC1j
b25ucyBhbmQgbWF4LWNvbm5zLXBlci1ob3N0IG5vdCBob25vcmVkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24pOgorCiAyMDEx
LTA3LTExICBMZXZpIFdlaW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBT
d2l0Y2ggbGluZVRvcCBhbmQgbGluZUJvdHRvbSB0byBuZXcgbGF5b3V0IHR5cGVzCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcAkocmV2aXNpb24gOTA3ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTY2LDcgKzU2Niw2IEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3Vy
Y2VIYW5kbGUqIGhhbmRsZSkKICAgICBBU1NFUlQoaGFuZGxlKTsKIAogICAgIFNvdXBTZXNzaW9u
KiBzZXNzaW9uID0gaGFuZGxlLT5kZWZhdWx0U2Vzc2lvbigpOwotICAgIGVuc3VyZVNlc3Npb25J
c0luaXRpYWxpemVkKHNlc3Npb24pOwogICAgIFNvdXBSZXF1ZXN0ZXIqIHJlcXVlc3RlciA9IFNP
VVBfUkVRVUVTVEVSKHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZUEVf
UkVRVUVTVEVSKSk7CiAKICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5n
ZXRJbnRlcm5hbCgpOwpAQCAtODIzLDcgKzgyMiw2IEBAIHN0YXRpYyBib29sIHN0YXJ0Tm9uSFRU
UFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IGhhbmRsZS0+ZGVmYXVsdFNlc3Npb24oKTsKLSAg
ICBlbnN1cmVTZXNzaW9uSXNJbml0aWFsaXplZChzZXNzaW9uKTsKICAgICBTb3VwUmVxdWVzdGVy
KiByZXF1ZXN0ZXIgPSBTT1VQX1JFUVVFU1RFUihzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vz
c2lvbiwgU09VUF9UWVBFX1JFUVVFU1RFUikpOwogICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwq
IGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CiAKQEAgLTg1MCw2ICs4NDgsOCBAQCBzdGF0aWMg
Ym9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUKIFNvdXBTZXNz
aW9uKiBSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKQogewogICAgIHN0YXRpYyBTb3Vw
U2Vzc2lvbiogc2Vzc2lvbiA9IHNvdXBfc2Vzc2lvbl9hc3luY19uZXcoKTsKKyAgICBlbnN1cmVT
ZXNzaW9uSXNJbml0aWFsaXplZChzZXNzaW9uKTsKKwogICAgIHJldHVybiBzZXNzaW9uOwogfQog
Cg==
</data>
<flag name="review"
          id="95176"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100542</attachid>
            <date>2011-07-12 12:51:17 -0700</date>
            <delta_ts>2011-07-12 13:31:53 -0700</delta_ts>
            <desc>patch4</desc>
            <filename>a</filename>
            <type>text/plain</type>
            <size>2234</size>
            <attacher name="Marco Peereboom">marco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwODIwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDctMTIgIC4vU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nICA8bWFyY29AcGVlcmVib29tLnVzPgorCisgICAgICAgIERlZmF1
bHQgbWF4LWNvbm5zIGFuZCBtYXgtY29ubnMtcGVyLWhvc3QgYXJlIHNldCBhdCAiZmlyc3QgY29u
dGFjdCIgd2l0aAorICAgICAgICBhIHNpdGUgaW5zdGVhZCBvZiBhdCBjcmVhdGlvbiB0aW1lLiAg
VGhpcyByZXN1bHRzIGluIHZhbHVlcyBiZWluZworICAgICAgICBvdmVyd3JpdHRlbiBpZiB0aGV5
IGFyZSBzZXQgcHJpb3IgdG8gc2FpZCAiZmlyc3QgY29udGFjdCI7IHdoaWNoIGlzIHRoZQorICAg
ICAgICBtb3N0IGxpa2VseSAob3Igb25seSkgc2NlbmFyaW8uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM1NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJpZ2dlZCBsaWJzb3VwIGFuZCB4eHh0ZXJtIHdl
YiBicm93c2VyIHRvIGRpYWdub3NlIHRoZSBpc3N1ZSBhbmQKKyAgICAgICAgdmFsaWRhdGUgdGhl
IHBhdGNoLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbGxiYWNrTGlzdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250RmFsbGJhY2tMaXN0OjpkZXRlcm1pbmVQaXRjaCk6
CisKIDIwMTEtMDctMTIgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ2FuY2VsbGluZyBhbiBlbXB0eSBlZGl0IGZhaWxz
LgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAJKHJldmlzaW9uIDkwODIwKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU2Niw3ICs1NjYsNiBAQCBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1
ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAgICAgQVNTRVJUKGhhbmRsZSk7CiAKICAgICBT
b3VwU2Vzc2lvbiogc2Vzc2lvbiA9IGhhbmRsZS0+ZGVmYXVsdFNlc3Npb24oKTsKLSAgICBlbnN1
cmVTZXNzaW9uSXNJbml0aWFsaXplZChzZXNzaW9uKTsKICAgICBTb3VwUmVxdWVzdGVyKiByZXF1
ZXN0ZXIgPSBTT1VQX1JFUVVFU1RFUihzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwg
U09VUF9UWVBFX1JFUVVFU1RFUikpOwogCiAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9
IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKQEAgLTgyMyw3ICs4MjIsNiBAQCBzdGF0aWMgYm9vbCBz
dGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgU291cFNlc3Npb24qIHNlc3Npb24gPSBoYW5kbGUtPmRlZmF1bHRTZXNz
aW9uKCk7Ci0gICAgZW5zdXJlU2Vzc2lvbklzSW5pdGlhbGl6ZWQoc2Vzc2lvbik7CiAgICAgU291
cFJlcXVlc3RlciogcmVxdWVzdGVyID0gU09VUF9SRVFVRVNURVIoc291cF9zZXNzaW9uX2dldF9m
ZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9SRVFVRVNURVIpKTsKICAgICBSZXNvdXJjZUhhbmRs
ZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOwogCkBAIC04NTAsNiArODQ4LDgg
QEAgc3RhdGljIGJvb2wgc3RhcnROb25IVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxl
CiBTb3VwU2Vzc2lvbiogUmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCkKIHsKICAgICBz
dGF0aWMgU291cFNlc3Npb24qIHNlc3Npb24gPSBzb3VwX3Nlc3Npb25fYXN5bmNfbmV3KCk7Cisg
ICAgZW5zdXJlU2Vzc2lvbklzSW5pdGlhbGl6ZWQoc2Vzc2lvbik7CisKICAgICByZXR1cm4gc2Vz
c2lvbjsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100554</attachid>
            <date>2011-07-12 13:31:53 -0700</date>
            <delta_ts>2011-07-26 11:08:29 -0700</delta_ts>
            <desc>patch5</desc>
            <filename>a</filename>
            <type>text/plain</type>
            <size>2333</size>
            <attacher name="Marco Peereboom">marco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwODIwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDctMTIgIE1hcmNvIFBl
ZXJlYm9vbSAgPG1hcmNvQHBlZXJlYm9vbS51cz4KKworICAgICAgICBbU291cF0gQ2Fubm90IG92
ZXJyaWRlIGRlZmF1bHQgbWF4LWNvbm5zIGFuZCBtYXgtY29ubnMtcGVyLWhvc3QgU291cCBTZXNz
aW9uIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NDM1NQorICAgICAgICBEZWZhdWx0IG1heC1jb25ucyBhbmQgbWF4LWNvbm5zLXBlci1o
b3N0IGFyZSBzZXQgYXQgImZpcnN0IGNvbnRhY3QiIHdpdGgKKyAgICAgICAgYSBzaXRlIGluc3Rl
YWQgb2YgYXQgY3JlYXRpb24gdGltZS4gIFRoaXMgcmVzdWx0cyBpbiB2YWx1ZXMgYmVpbmcKKyAg
ICAgICAgb3ZlcndyaXR0ZW4gaWYgdGhleSBhcmUgc2V0IHByaW9yIHRvIHNhaWQgImZpcnN0IGNv
bnRhY3QiOyB3aGljaCBpcyB0aGUKKyAgICAgICAgbW9zdCBsaWtlbHkgKG9yIG9ubHkpIHNjZW5h
cmlvLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gIFJpZ2dlZCBsaWJzb3VwIGFuZCB4eHh0ZXJtIHdlYiBicm93c2VyIHRvIGRp
YWdub3NlIHRoZQorICAgICAgICBpc3N1ZSBhbmQgdmFsaWRhdGUgdGhlIHBhdGNoLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbGxiYWNrTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250RmFsbGJhY2tMaXN0OjpkZXRlcm1pbmVQaXRjaCk6CisKIDIwMTEtMDctMTIg
IFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogQ2FuY2VsbGluZyBhbiBlbXB0eSBlZGl0IGZhaWxzLgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
SGFuZGxlU291cC5jcHAJKHJldmlzaW9uIDkwODIwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2Niw3ICs1NjYsNiBAQCBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJlc291cmNlSGFu
ZGxlKiBoYW5kbGUpCiAgICAgQVNTRVJUKGhhbmRsZSk7CiAKICAgICBTb3VwU2Vzc2lvbiogc2Vz
c2lvbiA9IGhhbmRsZS0+ZGVmYXVsdFNlc3Npb24oKTsKLSAgICBlbnN1cmVTZXNzaW9uSXNJbml0
aWFsaXplZChzZXNzaW9uKTsKICAgICBTb3VwUmVxdWVzdGVyKiByZXF1ZXN0ZXIgPSBTT1VQX1JF
UVVFU1RFUihzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwgU09VUF9UWVBFX1JFUVVF
U1RFUikpOwogCiAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50
ZXJuYWwoKTsKQEAgLTgyMyw3ICs4MjIsNiBAQCBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1
ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
U291cFNlc3Npb24qIHNlc3Npb24gPSBoYW5kbGUtPmRlZmF1bHRTZXNzaW9uKCk7Ci0gICAgZW5z
dXJlU2Vzc2lvbklzSW5pdGlhbGl6ZWQoc2Vzc2lvbik7CiAgICAgU291cFJlcXVlc3RlciogcmVx
dWVzdGVyID0gU09VUF9SRVFVRVNURVIoc291cF9zZXNzaW9uX2dldF9mZWF0dXJlKHNlc3Npb24s
IFNPVVBfVFlQRV9SRVFVRVNURVIpKTsKICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0g
aGFuZGxlLT5nZXRJbnRlcm5hbCgpOwogCkBAIC04NTAsNiArODQ4LDggQEAgc3RhdGljIGJvb2wg
c3RhcnROb25IVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlCiBTb3VwU2Vzc2lvbiog
UmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCkKIHsKICAgICBzdGF0aWMgU291cFNlc3Np
b24qIHNlc3Npb24gPSBzb3VwX3Nlc3Npb25fYXN5bmNfbmV3KCk7CisgICAgZW5zdXJlU2Vzc2lv
bklzSW5pdGlhbGl6ZWQoc2Vzc2lvbik7CisKICAgICByZXR1cm4gc2Vzc2lvbjsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100834</attachid>
            <date>2011-07-14 11:24:42 -0700</date>
            <delta_ts>2011-07-26 11:08:29 -0700</delta_ts>
            <desc>patch6</desc>
            <filename>c</filename>
            <type>text/plain</type>
            <size>2102</size>
            <attacher name="Marco Peereboom">marco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCShyZXZpc2lvbiA5MTAxOCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDQsMTMgKzE0NCw2IEBAIFJlc291cmNlSGFuZGxlOjp+UmVzb3VyY2VI
YW5kbGUoKQogCiBzdGF0aWMgdm9pZCBlbnN1cmVTZXNzaW9uSXNJbml0aWFsaXplZChTb3VwU2Vz
c2lvbiogc2Vzc2lvbikKIHsKLSAgICAvLyBWYWx1ZXMgdGFrZW4gZnJvbSBodHRwOi8vc3RldmVz
b3VkZXJzLmNvbS91YS9pbmRleC5waHAgZm9sbG93aW5nCi0gICAgLy8gdGhlIHJ1bGUgIkRvIFdo
YXQgRXZlcnkgT3RoZXIgTW9kZXJuIEJyb3dzZXIgSXMgRG9pbmciLiBUaGV5IHNlZW0KLSAgICAv
LyB0byBzaWduaWZpY2FudGx5IGltcHJvdmUgcGFnZSBsb2FkaW5nIHRpbWUgY29tcGFyZWQgdG8g
c291cCdzCi0gICAgLy8gZGVmYXVsdCB2YWx1ZXMuCi0gICAgc3RhdGljIGNvbnN0IGludCBtYXhD
b25uZWN0aW9ucyA9IDYwOwotICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4Q29ubmVjdGlvbnNQZXJI
b3N0ID0gNjsKLQogICAgIGlmIChnX29iamVjdF9nZXRfZGF0YShHX09CSkVDVChzZXNzaW9uKSwg
IndlYmtpdC1pbml0IikpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTcyLDExICsxNjUsNiBAQCBz
dGF0aWMgdm9pZCBlbnN1cmVTZXNzaW9uSXNJbml0aWFsaXplZChTb3VwU2Vzc2lvbiogc2UKICAg
ICAgICAgZ19vYmplY3RfdW5yZWYocmVxdWVzdGVyKTsKICAgICB9CiAKLSAgICBnX29iamVjdF9z
ZXQoc2Vzc2lvbiwKLSAgICAgICAgICAgICAgICAgU09VUF9TRVNTSU9OX01BWF9DT05OUywgbWF4
Q29ubmVjdGlvbnMsCi0gICAgICAgICAgICAgICAgIFNPVVBfU0VTU0lPTl9NQVhfQ09OTlNfUEVS
X0hPU1QsIG1heENvbm5lY3Rpb25zUGVySG9zdCwKLSAgICAgICAgICAgICAgICAgTlVMTCk7Ci0K
ICAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChzZXNzaW9uKSwgIndlYmtpdC1pbml0Iiwg
cmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oMHhkZWFkYmVlZikpOwogfQogCkBAIC04NDksNyArODM3
LDI1IEBAIHN0YXRpYyBib29sIHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhh
bmRsZQogCiBTb3VwU2Vzc2lvbiogUmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCkKIHsK
LSAgICBzdGF0aWMgU291cFNlc3Npb24qIHNlc3Npb24gPSBzb3VwX3Nlc3Npb25fYXN5bmNfbmV3
KCk7CisgICAgLy8gVmFsdWVzIHRha2VuIGZyb20gaHR0cDovL3N0ZXZlc291ZGVycy5jb20vdWEv
aW5kZXgucGhwIGZvbGxvd2luZworICAgIC8vIHRoZSBydWxlICJEbyBXaGF0IEV2ZXJ5IE90aGVy
IE1vZGVybiBCcm93c2VyIElzIERvaW5nIi4gVGhleSBzZWVtCisgICAgLy8gdG8gc2lnbmlmaWNh
bnRseSBpbXByb3ZlIHBhZ2UgbG9hZGluZyB0aW1lIGNvbXBhcmVkIHRvIHNvdXAncworICAgIC8v
IGRlZmF1bHQgdmFsdWVzLgorICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4Q29ubmVjdGlvbnMgPSA2
MDsKKyAgICBzdGF0aWMgY29uc3QgaW50IG1heENvbm5lY3Rpb25zUGVySG9zdCA9IDY7CisKKyAg
ICBzdGF0aWMgU291cFNlc3Npb24qIHNlc3Npb24gPSBOVUxMOworCisgICAgaWYgKHNlc3Npb24p
CisgICAgICAgIHJldHVybiBzZXNzaW9uOworCisgICAgc2Vzc2lvbiA9IGNyZWF0ZVNvdXBTZXNz
aW9uKCk7CisKKyAgICBnX29iamVjdF9zZXQoc2Vzc2lvbiwKKyAgICAgICAgICAgICAgICAgU09V
UF9TRVNTSU9OX01BWF9DT05OUywgbWF4Q29ubmVjdGlvbnMsCisgICAgICAgICAgICAgICAgIFNP
VVBfU0VTU0lPTl9NQVhfQ09OTlNfUEVSX0hPU1QsIG1heENvbm5lY3Rpb25zUGVySG9zdCwKKyAg
ICAgICAgICAgICAgICAgTlVMTCk7CisKICAgICByZXR1cm4gc2Vzc2lvbjsKIH0KIAo=
</data>
<flag name="commit-queue"
          id="95595"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102027</attachid>
            <date>2011-07-26 11:08:29 -0700</date>
            <delta_ts>2011-07-26 11:30:24 -0700</delta_ts>
            <desc>patch7</desc>
            <filename>d</filename>
            <type>text/plain</type>
            <size>3174</size>
            <attacher name="Marco Peereboom">marco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxNzY1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDctMTIgIE1hcmNvIFBl
ZXJlYm9vbSAgPG1hcmNvQHBlZXJlYm9vbS51cz4KKworICAgICAgICBbU291cF0gQ2Fubm90IG92
ZXJyaWRlIGRlZmF1bHQgbWF4LWNvbm5zIGFuZCBtYXgtY29ubnMtcGVyLWhvc3QgU291cCBTZXNz
aW9uIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NDM1NQorICAgICAgICBEZWZhdWx0IG1heC1jb25ucyBhbmQgbWF4LWNvbm5zLXBlci1o
b3N0IGFyZSBzZXQgYXQgImZpcnN0IGNvbnRhY3QiIHdpdGgKKyAgICAgICAgYSBzaXRlIGluc3Rl
YWQgb2YgYXQgY3JlYXRpb24gdGltZS4gIFRoaXMgcmVzdWx0cyBpbiB2YWx1ZXMgYmVpbmcKKyAg
ICAgICAgb3ZlcndyaXR0ZW4gaWYgdGhleSBhcmUgc2V0IHByaW9yIHRvIHNhaWQgImZpcnN0IGNv
bnRhY3QiOyB3aGljaCBpcyB0aGUKKyAgICAgICAgbW9zdCBsaWtlbHkgKG9yIG9ubHkpIHNjZW5h
cmlvLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gIFJpZ2dlZCBsaWJzb3VwIGFuZCB4eHh0ZXJtIHdlYiBicm93c2VyIHRvIGRp
YWdub3NlIHRoZQorICAgICAgICBpc3N1ZSBhbmQgdmFsaWRhdGUgdGhlIHBhdGNoLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbGxiYWNrTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250RmFsbGJhY2tMaXN0OjpkZXRlcm1pbmVQaXRjaCk6CisKIDIwMTEtMDctMjYg
IEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmRlclRleHQ6
OmFic29sdXRlUmVjdHNGb3JSYW5nZSgpIGFuZCBhYnNvbHV0ZVF1YWRzRm9yUmFuZ2UoKSBoYXZl
IG5lYXJseSBkdXBsaWNhdGUgY29kZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAJKHJldmlz
aW9uIDkxNzY1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlSGFuZGxlU291cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NCwxMyArMTQ0LDYgQEAgUmVz
b3VyY2VIYW5kbGU6On5SZXNvdXJjZUhhbmRsZSgpCiAKIHN0YXRpYyB2b2lkIGVuc3VyZVNlc3Np
b25Jc0luaXRpYWxpemVkKFNvdXBTZXNzaW9uKiBzZXNzaW9uKQogewotICAgIC8vIFZhbHVlcyB0
YWtlbiBmcm9tIGh0dHA6Ly9zdGV2ZXNvdWRlcnMuY29tL3VhL2luZGV4LnBocCBmb2xsb3dpbmcK
LSAgICAvLyB0aGUgcnVsZSAiRG8gV2hhdCBFdmVyeSBPdGhlciBNb2Rlcm4gQnJvd3NlciBJcyBE
b2luZyIuIFRoZXkgc2VlbQotICAgIC8vIHRvIHNpZ25pZmljYW50bHkgaW1wcm92ZSBwYWdlIGxv
YWRpbmcgdGltZSBjb21wYXJlZCB0byBzb3VwJ3MKLSAgICAvLyBkZWZhdWx0IHZhbHVlcy4KLSAg
ICBzdGF0aWMgY29uc3QgaW50IG1heENvbm5lY3Rpb25zID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0
IGludCBtYXhDb25uZWN0aW9uc1Blckhvc3QgPSA2OwotCiAgICAgaWYgKGdfb2JqZWN0X2dldF9k
YXRhKEdfT0JKRUNUKHNlc3Npb24pLCAid2Via2l0LWluaXQiKSkKICAgICAgICAgcmV0dXJuOwog
CkBAIC0xNzIsMTEgKzE2NSw2IEBAIHN0YXRpYyB2b2lkIGVuc3VyZVNlc3Npb25Jc0luaXRpYWxp
emVkKFNvdXBTZXNzaW9uKiBzZQogICAgICAgICBnX29iamVjdF91bnJlZihyZXF1ZXN0ZXIpOwog
ICAgIH0KIAotICAgIGdfb2JqZWN0X3NldChzZXNzaW9uLAotICAgICAgICAgICAgICAgICBTT1VQ
X1NFU1NJT05fTUFYX0NPTk5TLCBtYXhDb25uZWN0aW9ucywKLSAgICAgICAgICAgICAgICAgU09V
UF9TRVNTSU9OX01BWF9DT05OU19QRVJfSE9TVCwgbWF4Q29ubmVjdGlvbnNQZXJIb3N0LAotICAg
ICAgICAgICAgICAgICBOVUxMKTsKLQogICAgIGdfb2JqZWN0X3NldF9kYXRhKEdfT0JKRUNUKHNl
c3Npb24pLCAid2Via2l0LWluaXQiLCByZWludGVycHJldF9jYXN0PHZvaWQqPigweGRlYWRiZWVm
KSk7CiB9CiAKQEAgLTg1MCw2ICs4MzgsMTggQEAgc3RhdGljIGJvb2wgc3RhcnROb25IVFRQUmVx
dWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlCiBTb3VwU2Vzc2lvbiogUmVzb3VyY2VIYW5kbGU6
OmRlZmF1bHRTZXNzaW9uKCkKIHsKICAgICBzdGF0aWMgU291cFNlc3Npb24qIHNlc3Npb24gPSBz
b3VwX3Nlc3Npb25fYXN5bmNfbmV3KCk7CisgICAgLy8gVmFsdWVzIHRha2VuIGZyb20gaHR0cDov
L3N0ZXZlc291ZGVycy5jb20vdWEvaW5kZXgucGhwIGZvbGxvd2luZworICAgIC8vIHRoZSBydWxl
ICJEbyBXaGF0IEV2ZXJ5IE90aGVyIE1vZGVybiBCcm93c2VyIElzIERvaW5nIi4gVGhleSBzZWVt
CisgICAgLy8gdG8gc2lnbmlmaWNhbnRseSBpbXByb3ZlIHBhZ2UgbG9hZGluZyB0aW1lIGNvbXBh
cmVkIHRvIHNvdXAncworICAgIC8vIGRlZmF1bHQgdmFsdWVzLgorICAgIHN0YXRpYyBjb25zdCBp
bnQgbWF4Q29ubmVjdGlvbnMgPSA2MDsKKyAgICBzdGF0aWMgY29uc3QgaW50IG1heENvbm5lY3Rp
b25zUGVySG9zdCA9IDY7CisKKyAgICBpZiAoIWdfb2JqZWN0X2dldF9kYXRhKEdfT0JKRUNUKHNl
c3Npb24pLCAid2Via2l0LWluaXQiKSkKKyAgICAgICAgICAgIGdfb2JqZWN0X3NldChzZXNzaW9u
LAorICAgICAgICAgICAgICAgICAgICAgICAgIFNPVVBfU0VTU0lPTl9NQVhfQ09OTlMsIG1heENv
bm5lY3Rpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgIFNPVVBfU0VTU0lPTl9NQVhfQ09O
TlNfUEVSX0hPU1QsIG1heENvbm5lY3Rpb25zUGVySG9zdCwgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCk7CiAgICAgcmV0dXJuIHNlc3Npb247CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102030</attachid>
            <date>2011-07-26 11:30:24 -0700</date>
            <delta_ts>2011-07-27 07:59:05 -0700</delta_ts>
            <desc>patch8</desc>
            <filename>e</filename>
            <type>text/plain</type>
            <size>3224</size>
            <attacher name="Marco Peereboom">marco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxNzY1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDctMTIgIE1hcmNvIFBl
ZXJlYm9vbSAgPG1hcmNvQHBlZXJlYm9vbS51cz4KKworICAgICAgICBbU291cF0gQ2Fubm90IG92
ZXJyaWRlIGRlZmF1bHQgbWF4LWNvbm5zIGFuZCBtYXgtY29ubnMtcGVyLWhvc3QgU291cCBTZXNz
aW9uIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NDM1NQorICAgICAgICBEZWZhdWx0IG1heC1jb25ucyBhbmQgbWF4LWNvbm5zLXBlci1o
b3N0IGFyZSBzZXQgYXQgImZpcnN0IGNvbnRhY3QiIHdpdGgKKyAgICAgICAgYSBzaXRlIGluc3Rl
YWQgb2YgYXQgY3JlYXRpb24gdGltZS4gIFRoaXMgcmVzdWx0cyBpbiB2YWx1ZXMgYmVpbmcKKyAg
ICAgICAgb3ZlcndyaXR0ZW4gaWYgdGhleSBhcmUgc2V0IHByaW9yIHRvIHNhaWQgImZpcnN0IGNv
bnRhY3QiOyB3aGljaCBpcyB0aGUKKyAgICAgICAgbW9zdCBsaWtlbHkgKG9yIG9ubHkpIHNjZW5h
cmlvLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gIFJpZ2dlZCBsaWJzb3VwIGFuZCB4eHh0ZXJtIHdlYiBicm93c2VyIHRvIGRp
YWdub3NlIHRoZQorICAgICAgICBpc3N1ZSBhbmQgdmFsaWRhdGUgdGhlIHBhdGNoLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbGxiYWNrTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250RmFsbGJhY2tMaXN0OjpkZXRlcm1pbmVQaXRjaCk6CisKIDIwMTEtMDctMjYg
IEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmRlclRleHQ6
OmFic29sdXRlUmVjdHNGb3JSYW5nZSgpIGFuZCBhYnNvbHV0ZVF1YWRzRm9yUmFuZ2UoKSBoYXZl
IG5lYXJseSBkdXBsaWNhdGUgY29kZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAJKHJldmlz
aW9uIDkxNzY1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlSGFuZGxlU291cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NCwxMyArMTQ0LDYgQEAgUmVz
b3VyY2VIYW5kbGU6On5SZXNvdXJjZUhhbmRsZSgpCiAKIHN0YXRpYyB2b2lkIGVuc3VyZVNlc3Np
b25Jc0luaXRpYWxpemVkKFNvdXBTZXNzaW9uKiBzZXNzaW9uKQogewotICAgIC8vIFZhbHVlcyB0
YWtlbiBmcm9tIGh0dHA6Ly9zdGV2ZXNvdWRlcnMuY29tL3VhL2luZGV4LnBocCBmb2xsb3dpbmcK
LSAgICAvLyB0aGUgcnVsZSAiRG8gV2hhdCBFdmVyeSBPdGhlciBNb2Rlcm4gQnJvd3NlciBJcyBE
b2luZyIuIFRoZXkgc2VlbQotICAgIC8vIHRvIHNpZ25pZmljYW50bHkgaW1wcm92ZSBwYWdlIGxv
YWRpbmcgdGltZSBjb21wYXJlZCB0byBzb3VwJ3MKLSAgICAvLyBkZWZhdWx0IHZhbHVlcy4KLSAg
ICBzdGF0aWMgY29uc3QgaW50IG1heENvbm5lY3Rpb25zID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0
IGludCBtYXhDb25uZWN0aW9uc1Blckhvc3QgPSA2OwotCiAgICAgaWYgKGdfb2JqZWN0X2dldF9k
YXRhKEdfT0JKRUNUKHNlc3Npb24pLCAid2Via2l0LWluaXQiKSkKICAgICAgICAgcmV0dXJuOwog
CkBAIC0xNzIsMTEgKzE2NSw2IEBAIHN0YXRpYyB2b2lkIGVuc3VyZVNlc3Npb25Jc0luaXRpYWxp
emVkKFNvdXBTZXNzaW9uKiBzZQogICAgICAgICBnX29iamVjdF91bnJlZihyZXF1ZXN0ZXIpOwog
ICAgIH0KIAotICAgIGdfb2JqZWN0X3NldChzZXNzaW9uLAotICAgICAgICAgICAgICAgICBTT1VQ
X1NFU1NJT05fTUFYX0NPTk5TLCBtYXhDb25uZWN0aW9ucywKLSAgICAgICAgICAgICAgICAgU09V
UF9TRVNTSU9OX01BWF9DT05OU19QRVJfSE9TVCwgbWF4Q29ubmVjdGlvbnNQZXJIb3N0LAotICAg
ICAgICAgICAgICAgICBOVUxMKTsKLQogICAgIGdfb2JqZWN0X3NldF9kYXRhKEdfT0JKRUNUKHNl
c3Npb24pLCAid2Via2l0LWluaXQiLCByZWludGVycHJldF9jYXN0PHZvaWQqPigweGRlYWRiZWVm
KSk7CiB9CiAKQEAgLTg1MCw2ICs4MzgsMjAgQEAgc3RhdGljIGJvb2wgc3RhcnROb25IVFRQUmVx
dWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlCiBTb3VwU2Vzc2lvbiogUmVzb3VyY2VIYW5kbGU6
OmRlZmF1bHRTZXNzaW9uKCkKIHsKICAgICBzdGF0aWMgU291cFNlc3Npb24qIHNlc3Npb24gPSBz
b3VwX3Nlc3Npb25fYXN5bmNfbmV3KCk7CisgICAgLy8gVmFsdWVzIHRha2VuIGZyb20gaHR0cDov
L3N0ZXZlc291ZGVycy5jb20vdWEvaW5kZXgucGhwIGZvbGxvd2luZworICAgIC8vIHRoZSBydWxl
ICJEbyBXaGF0IEV2ZXJ5IE90aGVyIE1vZGVybiBCcm93c2VyIElzIERvaW5nIi4gVGhleSBzZWVt
CisgICAgLy8gdG8gc2lnbmlmaWNhbnRseSBpbXByb3ZlIHBhZ2UgbG9hZGluZyB0aW1lIGNvbXBh
cmVkIHRvIHNvdXAncworICAgIC8vIGRlZmF1bHQgdmFsdWVzLgorICAgIHN0YXRpYyBjb25zdCBp
bnQgbWF4Q29ubmVjdGlvbnMgPSA2MDsKKyAgICBzdGF0aWMgY29uc3QgaW50IG1heENvbm5lY3Rp
b25zUGVySG9zdCA9IDY7CisgICAgZ3BvaW50ZXIgaW5pdERhdGE7CisKKyAgICBpbml0RGF0YSA9
IGdfb2JqZWN0X2dldF9kYXRhKEdfT0JKRUNUKHNlc3Npb24pLCAid2Via2l0LWluaXQiKTsKKyAg
ICBpZiAoIWluaXREYXRhKQorICAgICAgICAgICAgZ19vYmplY3Rfc2V0KHNlc3Npb24sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgU09VUF9TRVNTSU9OX01BWF9DT05OUywgbWF4Q29ubmVjdGlv
bnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgU09VUF9TRVNTSU9OX01BWF9DT05OU19QRVJf
SE9TVCwgbWF4Q29ubmVjdGlvbnNQZXJIb3N0LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICBO
VUxMKTsKICAgICByZXR1cm4gc2Vzc2lvbjsKIH0KIAo=
</data>
<flag name="review"
          id="97178"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102146</attachid>
            <date>2011-07-27 07:59:05 -0700</date>
            <delta_ts>2011-07-28 16:26:47 -0700</delta_ts>
            <desc>patch9</desc>
            <filename>f</filename>
            <type>text/plain</type>
            <size>3143</size>
            <attacher name="Marco Peereboom">marco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxODQ0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDctMjcgIE1hcmNvIFBl
ZXJlYm9vbSAgPG1hcmNvQHBlZXJlYm9vbS51cz4KKworICAgICAgICBbU291cF0gQ2Fubm90IG92
ZXJyaWRlIGRlZmF1bHQgbWF4LWNvbm5zIGFuZCBtYXgtY29ubnMtcGVyLWhvc3QgU291cCBTZXNz
aW9uIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NDM1NQorICAgICAgICBEZWZhdWx0IG1heC1jb25ucyBhbmQgbWF4LWNvbm5zLXBlci1o
b3N0IGFyZSBzZXQgYXQgImZpcnN0IGNvbnRhY3QiIHdpdGgKKyAgICAgICAgYSBzaXRlIGluc3Rl
YWQgb2YgYXQgY3JlYXRpb24gdGltZS4gIFRoaXMgcmVzdWx0cyBpbiB2YWx1ZXMgYmVpbmcKKyAg
ICAgICAgb3ZlcndyaXR0ZW4gaWYgdGhleSBhcmUgc2V0IHByaW9yIHRvIHNhaWQgImZpcnN0IGNv
bnRhY3QiOyB3aGljaCBpcyB0aGUKKyAgICAgICAgbW9zdCBsaWtlbHkgKG9yIG9ubHkpIHNjZW5h
cmlvLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gIFJpZ2dlZCBsaWJzb3VwIGFuZCB4eHh0ZXJtIHdlYiBicm93c2VyIHRvIGRp
YWdub3NlIHRoZQorICAgICAgICBpc3N1ZSBhbmQgdmFsaWRhdGUgdGhlIHBhdGNoLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhbGxiYWNrTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250RmFsbGJhY2tMaXN0OjpkZXRlcm1pbmVQaXRjaCk6CisKIDIwMTEtMDctMjcg
IEJlY3NpIEFuZHJhcyAgPGFiZWNzaUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bVjhdIEZp
eCB0aGUgYnVpbGQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VIYW5kbGVTb3VwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAkocmV2aXNpb24gOTE4NDQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDEzICsxNDQsNiBAQCBSZXNvdXJjZUhhbmRs
ZTo6flJlc291cmNlSGFuZGxlKCkKIAogc3RhdGljIHZvaWQgZW5zdXJlU2Vzc2lvbklzSW5pdGlh
bGl6ZWQoU291cFNlc3Npb24qIHNlc3Npb24pCiB7Ci0gICAgLy8gVmFsdWVzIHRha2VuIGZyb20g
aHR0cDovL3N0ZXZlc291ZGVycy5jb20vdWEvaW5kZXgucGhwIGZvbGxvd2luZwotICAgIC8vIHRo
ZSBydWxlICJEbyBXaGF0IEV2ZXJ5IE90aGVyIE1vZGVybiBCcm93c2VyIElzIERvaW5nIi4gVGhl
eSBzZWVtCi0gICAgLy8gdG8gc2lnbmlmaWNhbnRseSBpbXByb3ZlIHBhZ2UgbG9hZGluZyB0aW1l
IGNvbXBhcmVkIHRvIHNvdXAncwotICAgIC8vIGRlZmF1bHQgdmFsdWVzLgotICAgIHN0YXRpYyBj
b25zdCBpbnQgbWF4Q29ubmVjdGlvbnMgPSA2MDsKLSAgICBzdGF0aWMgY29uc3QgaW50IG1heENv
bm5lY3Rpb25zUGVySG9zdCA9IDY7Ci0KICAgICBpZiAoZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpF
Q1Qoc2Vzc2lvbiksICJ3ZWJraXQtaW5pdCIpKQogICAgICAgICByZXR1cm47CiAKQEAgLTE3Miwx
MSArMTY1LDYgQEAgc3RhdGljIHZvaWQgZW5zdXJlU2Vzc2lvbklzSW5pdGlhbGl6ZWQoU291cFNl
c3Npb24qIHNlCiAgICAgICAgIGdfb2JqZWN0X3VucmVmKHJlcXVlc3Rlcik7CiAgICAgfQogCi0g
ICAgZ19vYmplY3Rfc2V0KHNlc3Npb24sCi0gICAgICAgICAgICAgICAgIFNPVVBfU0VTU0lPTl9N
QVhfQ09OTlMsIG1heENvbm5lY3Rpb25zLAotICAgICAgICAgICAgICAgICBTT1VQX1NFU1NJT05f
TUFYX0NPTk5TX1BFUl9IT1NULCBtYXhDb25uZWN0aW9uc1Blckhvc3QsCi0gICAgICAgICAgICAg
ICAgIE5VTEwpOwotCiAgICAgZ19vYmplY3Rfc2V0X2RhdGEoR19PQkpFQ1Qoc2Vzc2lvbiksICJ3
ZWJraXQtaW5pdCIsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KDB4ZGVhZGJlZWYpKTsKIH0KIApA
QCAtODQ5LDcgKzgzNywyMiBAQCBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291
cmNlSGFuZGxlKiBoYW5kbGUKIAogU291cFNlc3Npb24qIFJlc291cmNlSGFuZGxlOjpkZWZhdWx0
U2Vzc2lvbigpCiB7Ci0gICAgc3RhdGljIFNvdXBTZXNzaW9uKiBzZXNzaW9uID0gc291cF9zZXNz
aW9uX2FzeW5jX25ldygpOworICAgIHN0YXRpYyBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IDA7Cisg
ICAgLy8gVmFsdWVzIHRha2VuIGZyb20gaHR0cDovL3N0ZXZlc291ZGVycy5jb20vdWEvaW5kZXgu
cGhwIGZvbGxvd2luZworICAgIC8vIHRoZSBydWxlICJEbyBXaGF0IEV2ZXJ5IE90aGVyIE1vZGVy
biBCcm93c2VyIElzIERvaW5nIi4gVGhleSBzZWVtCisgICAgLy8gdG8gc2lnbmlmaWNhbnRseSBp
bXByb3ZlIHBhZ2UgbG9hZGluZyB0aW1lIGNvbXBhcmVkIHRvIHNvdXAncworICAgIC8vIGRlZmF1
bHQgdmFsdWVzLgorICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4Q29ubmVjdGlvbnMgPSA2MDsKKyAg
ICBzdGF0aWMgY29uc3QgaW50IG1heENvbm5lY3Rpb25zUGVySG9zdCA9IDY7CisKKyAgICBpZiAo
IXNlc3Npb24pIHsKKyAgICAgICAgc2Vzc2lvbiA9IHNvdXBfc2Vzc2lvbl9hc3luY19uZXcoKTsK
KyAgICAgICAgZ19vYmplY3Rfc2V0KHNlc3Npb24sCisgICAgICAgICAgICAgICAgICAgICBTT1VQ
X1NFU1NJT05fTUFYX0NPTk5TLCBtYXhDb25uZWN0aW9ucywKKyAgICAgICAgICAgICAgICAgICAg
IFNPVVBfU0VTU0lPTl9NQVhfQ09OTlNfUEVSX0hPU1QsIG1heENvbm5lY3Rpb25zUGVySG9zdCwg
CisgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICB9CisKICAgICByZXR1cm4gc2Vzc2lv
bjsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>