<?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>50344</bug_id>
          
          <creation_ts>2010-12-01 12:17:40 -0800</creation_ts>
          <short_desc>wss (websockets ssl) support for gtk via new gio TLS support</short_desc>
          <delta_ts>2011-01-31 11:44:34 -0800</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>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>50675</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dan Winship">danw</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>315803</commentid>
    <comment_count>0</comment_count>
      <attachid>75301</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2010-12-01 12:17:40 -0800</bug_when>
    <thetext>Created attachment 75301
Update SocketStreamHandleSoup to do wss://

Attached patch uses GTlsConnection to make wss:// work. You can test it against http://websockets.org/echo.html.

(The GPollableOutputStream stuff is basically an abstraction of the previous GSocket-specific API, that works on both GSocketConnection and GTlsConnection.)

Notably missing from this patch is a change to configure.in to require glib &gt;= 2.27.4 since I wasn&apos;t sure how you want to do that. (Currently the support for gsettings is just conditional on the glib version... so we could do the same thing here, and continue using the old ws://-only code with older glibs...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315805</commentid>
    <comment_count>1</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-01 12:20:23 -0800</bug_when>
    <thetext>Attachment 75301 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;JavaScriptCore/ChangeLog&apos;, u&apos;JavaScriptCore/wtf/gobject/GTypedefs.h&apos;, u&apos;WebCore/ChangeLog&apos;, u&apos;WebCore/platform/network/soup/SocketStreamHandle.h&apos;, u&apos;WebCore/platform/network/soup/SocketStreamHandleSoup.cpp&apos;]&quot; exit_code: 1
WebCore/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
WebCore/platform/network/soup/SocketStreamHandleSoup.cpp:90:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/network/soup/SocketStreamHandleSoup.cpp:165:  Extra space for operator !   [whitespace/operators] [4]
Total errors found: 3 in 5 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>315959</commentid>
    <comment_count>2</comment_count>
      <attachid>75301</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-01 17:26:26 -0800</bug_when>
    <thetext>Comment on attachment 75301
Update SocketStreamHandleSoup to do wss://

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

Awesome! The addition of SSL socket support in GIO is great news. Will it need to be behind some version guards though, so that we will still work properly with older GIO versions?

&gt; WebCore/platform/network/soup/SocketStreamHandleSoup.cpp:90
&gt; +	g_socket_client_set_tls(socketClient.get(), TRUE);

Indentation is slightly off here.

&gt; WebCore/platform/network/soup/SocketStreamHandleSoup.cpp:165
&gt; +    if (error &amp;&amp; ! g_error_matches(error.get(), G_IO_ERROR, G_IO_ERROR_WOULD_BLOCK)) {

One extra space between ! and g_error_matches.

&gt; WebCore/platform/network/soup/SocketStreamHandleSoup.cpp:274
&gt; -    // G_IO_HUP and G_IO_ERR are are always active. See:
&gt; -    // http://library.gnome.org/devel/gio/stable/GSocket.html#g-socket-create-source
&gt; -    if (condition &amp; G_IO_HUP) {
&gt; -        handle-&gt;close();
&gt; -        return FALSE;
&gt; -    }
&gt; -    if (condition &amp; G_IO_ERR) {
&gt; -        handle-&gt;client()-&gt;didFail(handle, SocketStreamError(0)); // FIXME: Provide a sensible error.
&gt; -        return FALSE;
&gt; -    }
&gt; -    if (condition &amp; G_IO_OUT)
&gt; -        handle-&gt;writeReady();
&gt; +    handle-&gt;writeReady();

Are connection erros (such as HUP) still handled properly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316146</commentid>
    <comment_count>3</comment_count>
    <who name="Dan Winship">danw</who>
    <bug_when>2010-12-02 07:46:09 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Awesome! The addition of SSL socket support in GIO is great news. Will it need to be behind some version guards though, so that we will still work properly with older GIO versions?

Yes. (Mentioned in comment 0. I didn&apos;t deal with it in the patch because I wasn&apos;t sure how we wanted to deal with it.)

&gt; Are connection errors (such as HUP) still handled properly?

Yes; when it eventually calls g_pollable_output_stream_write_nonblocking() again, the error will be returned at that point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316148</commentid>
    <comment_count>4</comment_count>
      <attachid>75378</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2010-12-02 07:48:09 -0800</bug_when>
    <thetext>Created attachment 75378
fix style nits</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318727</commentid>
    <comment_count>5</comment_count>
      <attachid>75378</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2010-12-08 04:37:45 -0800</bug_when>
    <thetext>Comment on attachment 75378
fix style nits

versioning issues will be taken care of by bug 50675</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320558</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-10 19:44:02 -0800</bug_when>
    <thetext>Attachment 75378 did not build on gtk:
Build output: http://queues.webkit.org/results/6970047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342166</commentid>
    <comment_count>7</comment_count>
      <attachid>80580</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2011-01-29 16:16:40 -0800</bug_when>
    <thetext>Created attachment 80580
updated patch

updated to top of tree, and ready to go now that the required glib version has been updated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342665</commentid>
    <comment_count>8</comment_count>
      <attachid>80580</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-01-31 10:31:29 -0800</bug_when>
    <thetext>Comment on attachment 80580
updated patch

Looks good to me. As discussed with danw on IRC I&apos;ll add the bug URL and title, fix a nit (remove a line break) and land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342714</commentid>
    <comment_count>9</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-01-31 11:37:32 -0800</bug_when>
    <thetext>Committed r77148: &lt;http://trac.webkit.org/changeset/77148&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342716</commentid>
    <comment_count>10</comment_count>
      <attachid>80580</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-01-31 11:44:34 -0800</bug_when>
    <thetext>Comment on attachment 80580
updated patch

Landed!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75301</attachid>
            <date>2010-12-01 12:17:40 -0800</date>
            <delta_ts>2010-12-02 07:48:09 -0800</delta_ts>
            <desc>Update SocketStreamHandleSoup to do wss://</desc>
            <filename>0001-Update-SocketStreamHandleSoup-to-use-GPollableOutput.patch</filename>
            <type>text/plain</type>
            <size>8344</size>
            <attacher name="Dan Winship">danw</attacher>
            
              <data encoding="base64">RnJvbSAyM2NhZDEzNGM1MmE2MGQyZDlmZWY3MjAxYmFkNWFmZmYxNGI2NDc3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW4gV2luc2hpcCA8ZGFud0Bnbm9tZS5vcmc+CkRhdGU6IFN1
biwgMjQgT2N0IDIwMTAgMTg6NTg6MjUgLTA0MDAKU3ViamVjdDogW1BBVENIXSAgICAgICAgIFVw
ZGF0ZSBTb2NrZXRTdHJlYW1IYW5kbGVTb3VwIHRvIHVzZSBHUG9sbGFibGVPdXRwdXRTdHJlYW0g
YW5kCiAJR1Rsc0Nvbm5lY3Rpb24gdG8gaW1wbGVtZW50IHdzcyBVUkxzCgogICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZS5oOgogICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZVNvdXAuY3BwOgogICAgICAgIChXZWJD
b3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVhbUhhbmRsZSk6CiAgICAgICAgKFdl
YkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6Y29ubmVjdGVkKToKICAgICAgICAoV2ViQ29yZTo6
U29ja2V0U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybVNlbmQpOgogICAgICAgIChXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGU6OmJlZ2luV2FpdGluZ0ZvclNvY2tldFdyaXRhYmlsaXR5KToKICAgICAg
ICAoV2ViQ29yZTo6d3JpdGVSZWFkeUNhbGxiYWNrKToKCiAgICAgICAgQWRkIGEgR1BvbGxhYmxl
T3V0cHV0U3RyZWFtIHR5cGVkZWYgZm9yIFRMUyBXZWJTb2NrZXRzIHN1cHBvcnQKCiAgICAgICAg
KiB3dGYvZ29iamVjdC9HVHlwZWRlZnMuaDoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDggKysrKwogSmF2YVNjcmlwdENvcmUvd3Rm
L2dvYmplY3QvR1R5cGVkZWZzLmggICAgICAgICAgICAgfCAgICAyICstCiBXZWJDb3JlL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTUgKysrKysrKysKIFdl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZS5oIHwgICAgMiAr
LQogLi4uL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcCAgICAgICAgfCAg
IDM2ICsrKysrKy0tLS0tLS0tLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygr
KSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
IGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDdkZjk3MTIuLjZjNTg4NmEgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMSBAQAorMjAxMC0xMi0wMSAgRGFuIFdpbnNoaXAgIDxkYW53QGdu
b21lLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBHUG9sbGFibGVPdXRwdXRTdHJlYW0gdHlwZWRlZiBmb3IgVExTIFdlYlNvY2tldHMg
c3VwcG9ydAorCisgICAgICAgICogd3RmL2dvYmplY3QvR1R5cGVkZWZzLmg6CisKIDIwMTAtMTEt
MzAgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L2dvYmplY3QvR1R5cGVkZWZzLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HVHlwZWRl
ZnMuaAppbmRleCA3NmQxYjFhLi43M2IzZTUyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvZ29iamVjdC9HVHlwZWRlZnMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9H
VHlwZWRlZnMuaApAQCAtNTQsOCArNTQsOCBAQCB0eXBlZGVmIHN0cnVjdCBfR0hhc2hUYWJsZSBH
SGFzaFRhYmxlOwogdHlwZWRlZiBzdHJ1Y3QgX0dJbnB1dFN0cmVhbSBHSW5wdXRTdHJlYW07CiB0
eXBlZGVmIHN0cnVjdCBfR0xpc3QgR0xpc3Q7CiB0eXBlZGVmIHN0cnVjdCBfR011dGV4IEdNdXRl
eDsKLXR5cGVkZWYgc3RydWN0IF9HT3V0cHV0U3RyZWFtIEdPdXRwdXRTdHJlYW07CiB0eXBlZGVm
IHN0cnVjdCBfR1BhdHRlcm5TcGVjIEdQYXR0ZXJuU3BlYzsKK3R5cGVkZWYgc3RydWN0IF9HUG9s
bGFibGVPdXRwdXRTdHJlYW0gR1BvbGxhYmxlT3V0cHV0U3RyZWFtOwogdHlwZWRlZiBzdHJ1Y3Qg
X0dTb2NrZXRDbGllbnQgR1NvY2tldENsaWVudDsKIHR5cGVkZWYgc3RydWN0IF9HU29ja2V0Q29u
bmVjdGlvbiBHU29ja2V0Q29ubmVjdGlvbjsKIHR5cGVkZWYgc3RydWN0IF9HU291cmNlIEdTb3Vy
Y2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDM3NzZkNDQuLjQ2ZDk4NzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMTItMDEgIERhbiBXaW5z
aGlwICA8ZGFud0Bnbm9tZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXBkYXRlIFNvY2tldFN0cmVhbUhhbmRsZVNvdXAgdG8gdXNlIEdQb2xs
YWJsZU91dHB1dFN0cmVhbSBhbmQKKwlHVGxzQ29ubmVjdGlvbiB0byBpbXBsZW1lbnQgd3NzIFVS
THMKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGUu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxlU291
cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVh
bUhhbmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OmNvbm5lY3Rl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtU2VuZCk6
CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OmJlZ2luV2FpdGluZ0ZvclNv
Y2tldFdyaXRhYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlUmVhZHlDYWxsYmFjayk6
CisKIDIwMTAtMTItMDEgIE5pY28gV2ViZXIgIDx0aGFraXNAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxlLmgKaW5kZXggMDhkMmQ5NC4uMjk1MzY3
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFt
SGFuZGxlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFt
SGFuZGxlLmgKQEAgLTYwLDcgKzYwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByaXZh
dGU6CiAgICAgICAgIFBsYXRmb3JtUmVmUHRyPEdTb2NrZXRDb25uZWN0aW9uPiBtX3NvY2tldENv
bm5lY3Rpb247CiAgICAgICAgIFBsYXRmb3JtUmVmUHRyPEdJbnB1dFN0cmVhbT4gbV9pbnB1dFN0
cmVhbTsKLSAgICAgICAgUGxhdGZvcm1SZWZQdHI8R091dHB1dFN0cmVhbT4gbV9vdXRwdXRTdHJl
YW07CisgICAgICAgIFBsYXRmb3JtUmVmUHRyPEdQb2xsYWJsZU91dHB1dFN0cmVhbT4gbV9vdXRw
dXRTdHJlYW07CiAgICAgICAgIFBsYXRmb3JtUmVmUHRyPEdTb3VyY2U+IG1fd3JpdGVSZWFkeVNv
dXJjZTsKICAgICAgICAgY2hhciogbV9yZWFkQnVmZmVyOwogICAgICAgICB2b2lkKiBtX2lkOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFu
ZGxlU291cC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1I
YW5kbGVTb3VwLmNwcAppbmRleCA3ZjYyZDVhLi5jM2E0NWZmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcApA
QCAtNTAsNyArNTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBUaGVzZSBmdW5jdGlvbnMg
aW1tZWRpYXRlbHkgY2FsbCB0aGUgc2ltaWxhcmx5IG5hbWVkIFNvY2tldFN0cmVhbUhhbmRsZSBt
ZXRob2RzLgogc3RhdGljIHZvaWQgY29ubmVjdGVkQ2FsbGJhY2soR1NvY2tldENsaWVudCosIEdB
c3luY1Jlc3VsdCosIHZvaWQqKTsKIHN0YXRpYyB2b2lkIHJlYWRSZWFkeUNhbGxiYWNrKEdJbnB1
dFN0cmVhbSosIEdBc3luY1Jlc3VsdCosIHZvaWQqKTsKLXN0YXRpYyBnYm9vbGVhbiB3cml0ZVJl
YWR5Q2FsbGJhY2soR1NvY2tldCosIEdJT0NvbmRpdGlvbiwgdm9pZCopOworc3RhdGljIGdib29s
ZWFuIHdyaXRlUmVhZHlDYWxsYmFjayhHUG9sbGFibGVPdXRwdXRTdHJlYW0qLCB2b2lkKik7CiAK
IC8vIEhhdmluZyBhIGxpc3Qgb2YgYWN0aXZlIGhhbmRsZXMgbWVhbnMgdGhhdCB3ZSBkbyBub3Qg
aGF2ZSB0byB3b3JyeSBhYm91dCBXZWJDb3JlCiAvLyByZWZlcmVuY2UgY291bnRpbmcgaW4gR0xp
YiBjYWxsYmFja3MuIE9uY2UgdGhlIGhhbmRsZSBpcyBvZmYgdGhlIGFjdGl2ZSBoYW5kbGVzIGxp
c3QKQEAgLTgyLDEzICs4MiwxMiBAQCBTb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVhbUhh
bmRsZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudAogICAgIDogU29j
a2V0U3RyZWFtSGFuZGxlQmFzZSh1cmwsIGNsaWVudCkKICAgICAsIG1fcmVhZEJ1ZmZlcigwKQog
ewotICAgIC8vIE5vIHN1cHBvcnQgZm9yIFNTTCBzb2NrZXRzIHlldC4KLSAgICBpZiAodXJsLnBy
b3RvY29sSXMoIndzcyIpKQotICAgICAgICByZXR1cm47Ci0gICAgdW5zaWduZWQgaW50IHBvcnQg
PSB1cmwuaGFzUG9ydCgpID8gdXJsLnBvcnQoKSA6IDgwOworICAgIHVuc2lnbmVkIGludCBwb3J0
ID0gdXJsLmhhc1BvcnQoKSA/IHVybC5wb3J0KCkgOiAodXJsLnByb3RvY29sSXMoIndzcyIpID8g
NDQzIDogODApOwogCiAgICAgbV9pZCA9IGFjdGl2YXRlSGFuZGxlKHRoaXMpOwogICAgIFBsYXRm
b3JtUmVmUHRyPEdTb2NrZXRDbGllbnQ+IHNvY2tldENsaWVudCA9IGFkb3B0UGxhdGZvcm1SZWYo
Z19zb2NrZXRfY2xpZW50X25ldygpKTsKKyAgICBpZiAodXJsLnByb3RvY29sSXMoIndzcyIpKQor
CWdfc29ja2V0X2NsaWVudF9zZXRfdGxzKHNvY2tldENsaWVudC5nZXQoKSwgVFJVRSk7CiAgICAg
Z19zb2NrZXRfY2xpZW50X2Nvbm5lY3RfdG9faG9zdF9hc3luYyhzb2NrZXRDbGllbnQuZ2V0KCks
IHVybC5ob3N0KCkudXRmOCgpLmRhdGEoKSwgcG9ydCwgMCwKICAgICAgICAgcmVpbnRlcnByZXRf
Y2FzdDxHQXN5bmNSZWFkeUNhbGxiYWNrPihjb25uZWN0ZWRDYWxsYmFjayksIG1faWQpOwogfQpA
QCAtMTA4LDcgKzEwNyw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpjb25uZWN0ZWQoR1Nv
Y2tldENvbm5lY3Rpb24qIHNvY2tldENvbm5lY3Rpb24sIEdFcnJvcioKICAgICB9CiAKICAgICBt
X3NvY2tldENvbm5lY3Rpb24gPSBhZG9wdFBsYXRmb3JtUmVmKHNvY2tldENvbm5lY3Rpb24pOwot
ICAgIG1fb3V0cHV0U3RyZWFtID0gZ19pb19zdHJlYW1fZ2V0X291dHB1dF9zdHJlYW0oR19JT19T
VFJFQU0obV9zb2NrZXRDb25uZWN0aW9uLmdldCgpKSk7CisgICAgbV9vdXRwdXRTdHJlYW0gPSBH
X1BPTExBQkxFX09VVFBVVF9TVFJFQU0oZ19pb19zdHJlYW1fZ2V0X291dHB1dF9zdHJlYW0oR19J
T19TVFJFQU0obV9zb2NrZXRDb25uZWN0aW9uLmdldCgpKSkpOwogICAgIG1faW5wdXRTdHJlYW0g
PSBnX2lvX3N0cmVhbV9nZXRfaW5wdXRfc3RyZWFtKEdfSU9fU1RSRUFNKG1fc29ja2V0Q29ubmVj
dGlvbi5nZXQoKSkpOwogCiAgICAgbV9yZWFkQnVmZmVyID0gbmV3IGNoYXJbUkVBRF9CVUZGRVJf
U0laRV07CkBAIC0xNTYsMTQgKzE1NSwxNCBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6d3Jp
dGVSZWFkeSgpCiAKIGludCBTb2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtU2VuZChjb25zdCBj
aGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogewotICAgIGlmICghZ19zb2NrZXRfY29uZGl0aW9uX2No
ZWNrKGdfc29ja2V0X2Nvbm5lY3Rpb25fZ2V0X3NvY2tldChtX3NvY2tldENvbm5lY3Rpb24uZ2V0
KCkpLCBHX0lPX09VVCkpIHsKKyAgICBpZiAoIWdfcG9sbGFibGVfb3V0cHV0X3N0cmVhbV9pc193
cml0YWJsZShtX291dHB1dFN0cmVhbS5nZXQoKSkpIHsKICAgICAgICAgYmVnaW5XYWl0aW5nRm9y
U29ja2V0V3JpdGFiaWxpdHkoKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgR093
blB0cjxHRXJyb3I+IGVycm9yOwotICAgIGdzc2l6ZSB3cml0dGVuID0gZ19vdXRwdXRfc3RyZWFt
X3dyaXRlKG1fb3V0cHV0U3RyZWFtLmdldCgpLCBkYXRhLCBsZW5ndGgsIDAsICZlcnJvci5vdXRQ
dHIoKSk7Ci0gICAgaWYgKGVycm9yKSB7CisgICAgZ3NzaXplIHdyaXR0ZW4gPSBnX3BvbGxhYmxl
X291dHB1dF9zdHJlYW1fd3JpdGVfbm9uYmxvY2tpbmcobV9vdXRwdXRTdHJlYW0uZ2V0KCksIGRh
dGEsIGxlbmd0aCwgMCwgJmVycm9yLm91dFB0cigpKTsKKyAgICBpZiAoZXJyb3IgJiYgISBnX2Vy
cm9yX21hdGNoZXMoZXJyb3IuZ2V0KCksIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfV09VTERfQkxP
Q0spKSB7CiAgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsKHRoaXMsIFNvY2tldFN0cmVhbUVycm9y
KGVycm9yLT5jb2RlKSk7IC8vIEZJWE1FOiBQcm92aWRlIGEgc2Vuc2libGUgZXJyb3IuCiAgICAg
ICAgIHJldHVybiAwOwogICAgIH0KQEAgLTIyMiw4ICsyMjEsOCBAQCB2b2lkIFNvY2tldFN0cmVh
bUhhbmRsZTo6YmVnaW5XYWl0aW5nRm9yU29ja2V0V3JpdGFiaWxpdHkoKQogICAgIGlmIChtX3dy
aXRlUmVhZHlTb3VyY2UpIC8vIEFscmVhZHkgd2FpdGluZy4KICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV93cml0ZVJlYWR5U291cmNlID0gYWRvcHRQbGF0Zm9ybVJlZihnX3NvY2tldF9jcmVhdGVf
c291cmNlKAotICAgICAgICBnX3NvY2tldF9jb25uZWN0aW9uX2dldF9zb2NrZXQobV9zb2NrZXRD
b25uZWN0aW9uLmdldCgpKSwgc3RhdGljX2Nhc3Q8R0lPQ29uZGl0aW9uPihHX0lPX09VVCksIDAp
KTsKKyAgICBtX3dyaXRlUmVhZHlTb3VyY2UgPSBhZG9wdFBsYXRmb3JtUmVmKGdfcG9sbGFibGVf
b3V0cHV0X3N0cmVhbV9jcmVhdGVfc291cmNlKAorICAgICAgICBtX291dHB1dFN0cmVhbS5nZXQo
KSwgMCkpOwogICAgIGdfc291cmNlX3NldF9jYWxsYmFjayhtX3dyaXRlUmVhZHlTb3VyY2UuZ2V0
KCksIHJlaW50ZXJwcmV0X2Nhc3Q8R1NvdXJjZUZ1bmM+KHdyaXRlUmVhZHlDYWxsYmFjayksIG1f
aWQsIDApOwogICAgIGdfc291cmNlX2F0dGFjaChtX3dyaXRlUmVhZHlTb3VyY2UuZ2V0KCksIDAp
OwogfQpAQCAtMjY2LDI0ICsyNjUsMTMgQEAgc3RhdGljIHZvaWQgcmVhZFJlYWR5Q2FsbGJhY2so
R0lucHV0U3RyZWFtKiBzdHJlYW0sIEdBc3luY1Jlc3VsdCogcmVzdWx0LCB2b2lkKgogICAgIGhh
bmRsZS0+cmVhZEJ5dGVzKGJ5dGVzUmVhZCwgZXJyb3IuZ2V0KCkpOwogfQogCi1zdGF0aWMgZ2Jv
b2xlYW4gd3JpdGVSZWFkeUNhbGxiYWNrKEdTb2NrZXQqLCBHSU9Db25kaXRpb24gY29uZGl0aW9u
LCB2b2lkKiBpZCkKK3N0YXRpYyBnYm9vbGVhbiB3cml0ZVJlYWR5Q2FsbGJhY2soR1BvbGxhYmxl
T3V0cHV0U3RyZWFtKiwgdm9pZCogaWQpCiB7CiAgICAgU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5k
bGUgPSBnZXRIYW5kbGVGcm9tSWQoaWQpOwogICAgIGlmICghaGFuZGxlKQogICAgICAgICByZXR1
cm4gRkFMU0U7CiAKLSAgICAvLyBHX0lPX0hVUCBhbmQgR19JT19FUlIgYXJlIGFyZSBhbHdheXMg
YWN0aXZlLiBTZWU6Ci0gICAgLy8gaHR0cDovL2xpYnJhcnkuZ25vbWUub3JnL2RldmVsL2dpby9z
dGFibGUvR1NvY2tldC5odG1sI2ctc29ja2V0LWNyZWF0ZS1zb3VyY2UKLSAgICBpZiAoY29uZGl0
aW9uICYgR19JT19IVVApIHsKLSAgICAgICAgaGFuZGxlLT5jbG9zZSgpOwotICAgICAgICByZXR1
cm4gRkFMU0U7Ci0gICAgfQotICAgIGlmIChjb25kaXRpb24gJiBHX0lPX0VSUikgewotICAgICAg
ICBoYW5kbGUtPmNsaWVudCgpLT5kaWRGYWlsKGhhbmRsZSwgU29ja2V0U3RyZWFtRXJyb3IoMCkp
OyAvLyBGSVhNRTogUHJvdmlkZSBhIHNlbnNpYmxlIGVycm9yLgotICAgICAgICByZXR1cm4gRkFM
U0U7Ci0gICAgfQotICAgIGlmIChjb25kaXRpb24gJiBHX0lPX09VVCkKLSAgICAgICAgaGFuZGxl
LT53cml0ZVJlYWR5KCk7CisgICAgaGFuZGxlLT53cml0ZVJlYWR5KCk7CiAgICAgcmV0dXJuIFRS
VUU7CiB9CiAKLS0gCjEuNy4zLjIKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75378</attachid>
            <date>2010-12-02 07:48:09 -0800</date>
            <delta_ts>2011-01-29 16:16:40 -0800</delta_ts>
            <desc>fix style nits</desc>
            <filename>0001-Update-SocketStreamHandleSoup-to-use-GPollableOutput.patch</filename>
            <type>text/plain</type>
            <size>8364</size>
            <attacher name="Dan Winship">danw</attacher>
            
              <data encoding="base64">RnJvbSBlMDVjNWMzZTY5Mzk5NmRkOTgzMjkyMDVhOGNkYmI0ZTM1YTUzNjc0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW4gV2luc2hpcCA8ZGFud0Bnbm9tZS5vcmc+CkRhdGU6IFN1
biwgMjQgT2N0IDIwMTAgMTg6NTg6MjUgLTA0MDAKU3ViamVjdDogW1BBVENIXSAgICAgICAgIFVw
ZGF0ZSBTb2NrZXRTdHJlYW1IYW5kbGVTb3VwIHRvIHVzZSBHUG9sbGFibGVPdXRwdXRTdHJlYW0g
YW5kCiAgICAgICAgIEdUbHNDb25uZWN0aW9uIHRvIGltcGxlbWVudCB3c3MgVVJMcwoKICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGUuaDoKICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcDoKICAgICAg
ICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUpOgogICAg
ICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OmNvbm5lY3RlZCk6CiAgICAgICAgKFdl
YkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1TZW5kKToKICAgICAgICAoV2ViQ29y
ZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpiZWdpbldhaXRpbmdGb3JTb2NrZXRXcml0YWJpbGl0eSk6
CiAgICAgICAgKFdlYkNvcmU6OndyaXRlUmVhZHlDYWxsYmFjayk6CgogICAgICAgIEFkZCBhIEdQ
b2xsYWJsZU91dHB1dFN0cmVhbSB0eXBlZGVmIGZvciBUTFMgV2ViU29ja2V0cyBzdXBwb3J0Cgog
ICAgICAgICogd3RmL2dvYmplY3QvR1R5cGVkZWZzLmg6Ci0tLQogSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA4ICsrKysKIEphdmFTY3JpcHRD
b3JlL3d0Zi9nb2JqZWN0L0dUeXBlZGVmcy5oICAgICAgICAgICAgIHwgICAgMiArLQogV2ViQ29y
ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICsrKysr
KysrCiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGUuaCB8
ICAgIDIgKy0KIC4uLi9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxlU291cC5jcHAgICAg
ICAgIHwgICAzNiArKysrKystLS0tLS0tLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDM3IGluc2Vy
dGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3ZGY5NzEyLi42YzU4ODZh
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTAtMTItMDEgIERhbiBXaW5zaGlwICA8
ZGFud0Bnbm9tZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgR1BvbGxhYmxlT3V0cHV0U3RyZWFtIHR5cGVkZWYgZm9yIFRMUyBXZWJT
b2NrZXRzIHN1cHBvcnQKKworICAgICAgICAqIHd0Zi9nb2JqZWN0L0dUeXBlZGVmcy5oOgorCiAy
MDEwLTExLTMwICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9nb2JqZWN0L0dUeXBlZGVmcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3Qv
R1R5cGVkZWZzLmgKaW5kZXggNzZkMWIxYS4uNzNiM2U1MiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL2dvYmplY3QvR1R5cGVkZWZzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dv
YmplY3QvR1R5cGVkZWZzLmgKQEAgLTU0LDggKzU0LDggQEAgdHlwZWRlZiBzdHJ1Y3QgX0dIYXNo
VGFibGUgR0hhc2hUYWJsZTsKIHR5cGVkZWYgc3RydWN0IF9HSW5wdXRTdHJlYW0gR0lucHV0U3Ry
ZWFtOwogdHlwZWRlZiBzdHJ1Y3QgX0dMaXN0IEdMaXN0OwogdHlwZWRlZiBzdHJ1Y3QgX0dNdXRl
eCBHTXV0ZXg7Ci10eXBlZGVmIHN0cnVjdCBfR091dHB1dFN0cmVhbSBHT3V0cHV0U3RyZWFtOwog
dHlwZWRlZiBzdHJ1Y3QgX0dQYXR0ZXJuU3BlYyBHUGF0dGVyblNwZWM7Cit0eXBlZGVmIHN0cnVj
dCBfR1BvbGxhYmxlT3V0cHV0U3RyZWFtIEdQb2xsYWJsZU91dHB1dFN0cmVhbTsKIHR5cGVkZWYg
c3RydWN0IF9HU29ja2V0Q2xpZW50IEdTb2NrZXRDbGllbnQ7CiB0eXBlZGVmIHN0cnVjdCBfR1Nv
Y2tldENvbm5lY3Rpb24gR1NvY2tldENvbm5lY3Rpb247CiB0eXBlZGVmIHN0cnVjdCBfR1NvdXJj
ZSBHU291cmNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAzNzc2ZDQ0Li42NjUyNTZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTEyLTAxICBE
YW4gV2luc2hpcCAgPGRhbndAZ25vbWUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBTb2NrZXRTdHJlYW1IYW5kbGVTb3VwIHRvIHVz
ZSBHUG9sbGFibGVPdXRwdXRTdHJlYW0gYW5kCisgICAgICAgIEdUbHNDb25uZWN0aW9uIHRvIGlt
cGxlbWVudCB3c3MgVVJMcworCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tl
dFN0cmVhbUhhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRT
dHJlYW1IYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRs
ZTo6U29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhh
bmRsZTo6Y29ubmVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6
cGxhdGZvcm1TZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6YmVn
aW5XYWl0aW5nRm9yU29ja2V0V3JpdGFiaWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVS
ZWFkeUNhbGxiYWNrKToKKwogMjAxMC0xMi0wMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxlLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGUuaAppbmRleCAw
OGQyZDk0Li4yOTUzNjcwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9Tb2NrZXRTdHJlYW1IYW5kbGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9Tb2NrZXRTdHJlYW1IYW5kbGUuaApAQCAtNjAsNyArNjAsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgUGxhdGZvcm1SZWZQdHI8R1NvY2tldENvbm5lY3Rp
b24+IG1fc29ja2V0Q29ubmVjdGlvbjsKICAgICAgICAgUGxhdGZvcm1SZWZQdHI8R0lucHV0U3Ry
ZWFtPiBtX2lucHV0U3RyZWFtOwotICAgICAgICBQbGF0Zm9ybVJlZlB0cjxHT3V0cHV0U3RyZWFt
PiBtX291dHB1dFN0cmVhbTsKKyAgICAgICAgUGxhdGZvcm1SZWZQdHI8R1BvbGxhYmxlT3V0cHV0
U3RyZWFtPiBtX291dHB1dFN0cmVhbTsKICAgICAgICAgUGxhdGZvcm1SZWZQdHI8R1NvdXJjZT4g
bV93cml0ZVJlYWR5U291cmNlOwogICAgICAgICBjaGFyKiBtX3JlYWRCdWZmZXI7CiAgICAgICAg
IHZvaWQqIG1faWQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9T
b2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1NvY2tldFN0cmVhbUhhbmRsZVNvdXAuY3BwCmluZGV4IDdmNjJkNWEuLjkyYzU1OTQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZVNv
dXAuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhh
bmRsZVNvdXAuY3BwCkBAIC01MCw3ICs1MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRo
ZXNlIGZ1bmN0aW9ucyBpbW1lZGlhdGVseSBjYWxsIHRoZSBzaW1pbGFybHkgbmFtZWQgU29ja2V0
U3RyZWFtSGFuZGxlIG1ldGhvZHMuCiBzdGF0aWMgdm9pZCBjb25uZWN0ZWRDYWxsYmFjayhHU29j
a2V0Q2xpZW50KiwgR0FzeW5jUmVzdWx0Kiwgdm9pZCopOwogc3RhdGljIHZvaWQgcmVhZFJlYWR5
Q2FsbGJhY2soR0lucHV0U3RyZWFtKiwgR0FzeW5jUmVzdWx0Kiwgdm9pZCopOwotc3RhdGljIGdi
b29sZWFuIHdyaXRlUmVhZHlDYWxsYmFjayhHU29ja2V0KiwgR0lPQ29uZGl0aW9uLCB2b2lkKik7
CitzdGF0aWMgZ2Jvb2xlYW4gd3JpdGVSZWFkeUNhbGxiYWNrKEdQb2xsYWJsZU91dHB1dFN0cmVh
bSosIHZvaWQqKTsKIAogLy8gSGF2aW5nIGEgbGlzdCBvZiBhY3RpdmUgaGFuZGxlcyBtZWFucyB0
aGF0IHdlIGRvIG5vdCBoYXZlIHRvIHdvcnJ5IGFib3V0IFdlYkNvcmUKIC8vIHJlZmVyZW5jZSBj
b3VudGluZyBpbiBHTGliIGNhbGxiYWNrcy4gT25jZSB0aGUgaGFuZGxlIGlzIG9mZiB0aGUgYWN0
aXZlIGhhbmRsZXMgbGlzdApAQCAtODIsMTMgKzgyLDEyIEBAIFNvY2tldFN0cmVhbUhhbmRsZTo6
U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xp
ZW50CiAgICAgOiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlKHVybCwgY2xpZW50KQogICAgICwgbV9y
ZWFkQnVmZmVyKDApCiB7Ci0gICAgLy8gTm8gc3VwcG9ydCBmb3IgU1NMIHNvY2tldHMgeWV0Lgot
ICAgIGlmICh1cmwucHJvdG9jb2xJcygid3NzIikpCi0gICAgICAgIHJldHVybjsKLSAgICB1bnNp
Z25lZCBpbnQgcG9ydCA9IHVybC5oYXNQb3J0KCkgPyB1cmwucG9ydCgpIDogODA7CisgICAgdW5z
aWduZWQgaW50IHBvcnQgPSB1cmwuaGFzUG9ydCgpID8gdXJsLnBvcnQoKSA6ICh1cmwucHJvdG9j
b2xJcygid3NzIikgPyA0NDMgOiA4MCk7CiAKICAgICBtX2lkID0gYWN0aXZhdGVIYW5kbGUodGhp
cyk7CiAgICAgUGxhdGZvcm1SZWZQdHI8R1NvY2tldENsaWVudD4gc29ja2V0Q2xpZW50ID0gYWRv
cHRQbGF0Zm9ybVJlZihnX3NvY2tldF9jbGllbnRfbmV3KCkpOworICAgIGlmICh1cmwucHJvdG9j
b2xJcygid3NzIikpCisgICAgICAgIGdfc29ja2V0X2NsaWVudF9zZXRfdGxzKHNvY2tldENsaWVu
dC5nZXQoKSwgVFJVRSk7CiAgICAgZ19zb2NrZXRfY2xpZW50X2Nvbm5lY3RfdG9faG9zdF9hc3lu
Yyhzb2NrZXRDbGllbnQuZ2V0KCksIHVybC5ob3N0KCkudXRmOCgpLmRhdGEoKSwgcG9ydCwgMCwK
ICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxHQXN5bmNSZWFkeUNhbGxiYWNrPihjb25uZWN0ZWRD
YWxsYmFjayksIG1faWQpOwogfQpAQCAtMTA4LDcgKzEwNyw3IEBAIHZvaWQgU29ja2V0U3RyZWFt
SGFuZGxlOjpjb25uZWN0ZWQoR1NvY2tldENvbm5lY3Rpb24qIHNvY2tldENvbm5lY3Rpb24sIEdF
cnJvcioKICAgICB9CiAKICAgICBtX3NvY2tldENvbm5lY3Rpb24gPSBhZG9wdFBsYXRmb3JtUmVm
KHNvY2tldENvbm5lY3Rpb24pOwotICAgIG1fb3V0cHV0U3RyZWFtID0gZ19pb19zdHJlYW1fZ2V0
X291dHB1dF9zdHJlYW0oR19JT19TVFJFQU0obV9zb2NrZXRDb25uZWN0aW9uLmdldCgpKSk7Cisg
ICAgbV9vdXRwdXRTdHJlYW0gPSBHX1BPTExBQkxFX09VVFBVVF9TVFJFQU0oZ19pb19zdHJlYW1f
Z2V0X291dHB1dF9zdHJlYW0oR19JT19TVFJFQU0obV9zb2NrZXRDb25uZWN0aW9uLmdldCgpKSkp
OwogICAgIG1faW5wdXRTdHJlYW0gPSBnX2lvX3N0cmVhbV9nZXRfaW5wdXRfc3RyZWFtKEdfSU9f
U1RSRUFNKG1fc29ja2V0Q29ubmVjdGlvbi5nZXQoKSkpOwogCiAgICAgbV9yZWFkQnVmZmVyID0g
bmV3IGNoYXJbUkVBRF9CVUZGRVJfU0laRV07CkBAIC0xNTYsMTQgKzE1NSwxNCBAQCB2b2lkIFNv
Y2tldFN0cmVhbUhhbmRsZTo6d3JpdGVSZWFkeSgpCiAKIGludCBTb2NrZXRTdHJlYW1IYW5kbGU6
OnBsYXRmb3JtU2VuZChjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogewotICAgIGlmICgh
Z19zb2NrZXRfY29uZGl0aW9uX2NoZWNrKGdfc29ja2V0X2Nvbm5lY3Rpb25fZ2V0X3NvY2tldCht
X3NvY2tldENvbm5lY3Rpb24uZ2V0KCkpLCBHX0lPX09VVCkpIHsKKyAgICBpZiAoIWdfcG9sbGFi
bGVfb3V0cHV0X3N0cmVhbV9pc193cml0YWJsZShtX291dHB1dFN0cmVhbS5nZXQoKSkpIHsKICAg
ICAgICAgYmVnaW5XYWl0aW5nRm9yU29ja2V0V3JpdGFiaWxpdHkoKTsKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgfQogCiAgICAgR093blB0cjxHRXJyb3I+IGVycm9yOwotICAgIGdzc2l6ZSB3cml0
dGVuID0gZ19vdXRwdXRfc3RyZWFtX3dyaXRlKG1fb3V0cHV0U3RyZWFtLmdldCgpLCBkYXRhLCBs
ZW5ndGgsIDAsICZlcnJvci5vdXRQdHIoKSk7Ci0gICAgaWYgKGVycm9yKSB7CisgICAgZ3NzaXpl
IHdyaXR0ZW4gPSBnX3BvbGxhYmxlX291dHB1dF9zdHJlYW1fd3JpdGVfbm9uYmxvY2tpbmcobV9v
dXRwdXRTdHJlYW0uZ2V0KCksIGRhdGEsIGxlbmd0aCwgMCwgJmVycm9yLm91dFB0cigpKTsKKyAg
ICBpZiAoZXJyb3IgJiYgIWdfZXJyb3JfbWF0Y2hlcyhlcnJvci5nZXQoKSwgR19JT19FUlJPUiwg
R19JT19FUlJPUl9XT1VMRF9CTE9DSykpIHsKICAgICAgICAgbV9jbGllbnQtPmRpZEZhaWwodGhp
cywgU29ja2V0U3RyZWFtRXJyb3IoZXJyb3ItPmNvZGUpKTsgLy8gRklYTUU6IFByb3ZpZGUgYSBz
ZW5zaWJsZSBlcnJvci4KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMjIyLDggKzIyMSw4
IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpiZWdpbldhaXRpbmdGb3JTb2NrZXRXcml0YWJp
bGl0eSgpCiAgICAgaWYgKG1fd3JpdGVSZWFkeVNvdXJjZSkgLy8gQWxyZWFkeSB3YWl0aW5nLgog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX3dyaXRlUmVhZHlTb3VyY2UgPSBhZG9wdFBsYXRmb3Jt
UmVmKGdfc29ja2V0X2NyZWF0ZV9zb3VyY2UoCi0gICAgICAgIGdfc29ja2V0X2Nvbm5lY3Rpb25f
Z2V0X3NvY2tldChtX3NvY2tldENvbm5lY3Rpb24uZ2V0KCkpLCBzdGF0aWNfY2FzdDxHSU9Db25k
aXRpb24+KEdfSU9fT1VUKSwgMCkpOworICAgIG1fd3JpdGVSZWFkeVNvdXJjZSA9IGFkb3B0UGxh
dGZvcm1SZWYoZ19wb2xsYWJsZV9vdXRwdXRfc3RyZWFtX2NyZWF0ZV9zb3VyY2UoCisgICAgICAg
IG1fb3V0cHV0U3RyZWFtLmdldCgpLCAwKSk7CiAgICAgZ19zb3VyY2Vfc2V0X2NhbGxiYWNrKG1f
d3JpdGVSZWFkeVNvdXJjZS5nZXQoKSwgcmVpbnRlcnByZXRfY2FzdDxHU291cmNlRnVuYz4od3Jp
dGVSZWFkeUNhbGxiYWNrKSwgbV9pZCwgMCk7CiAgICAgZ19zb3VyY2VfYXR0YWNoKG1fd3JpdGVS
ZWFkeVNvdXJjZS5nZXQoKSwgMCk7CiB9CkBAIC0yNjYsMjQgKzI2NSwxMyBAQCBzdGF0aWMgdm9p
ZCByZWFkUmVhZHlDYWxsYmFjayhHSW5wdXRTdHJlYW0qIHN0cmVhbSwgR0FzeW5jUmVzdWx0KiBy
ZXN1bHQsIHZvaWQqCiAgICAgaGFuZGxlLT5yZWFkQnl0ZXMoYnl0ZXNSZWFkLCBlcnJvci5nZXQo
KSk7CiB9CiAKLXN0YXRpYyBnYm9vbGVhbiB3cml0ZVJlYWR5Q2FsbGJhY2soR1NvY2tldCosIEdJ
T0NvbmRpdGlvbiBjb25kaXRpb24sIHZvaWQqIGlkKQorc3RhdGljIGdib29sZWFuIHdyaXRlUmVh
ZHlDYWxsYmFjayhHUG9sbGFibGVPdXRwdXRTdHJlYW0qLCB2b2lkKiBpZCkKIHsKICAgICBTb2Nr
ZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSA9IGdldEhhbmRsZUZyb21JZChpZCk7CiAgICAgaWYgKCFo
YW5kbGUpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAotICAgIC8vIEdfSU9fSFVQIGFuZCBHX0lP
X0VSUiBhcmUgYXJlIGFsd2F5cyBhY3RpdmUuIFNlZToKLSAgICAvLyBodHRwOi8vbGlicmFyeS5n
bm9tZS5vcmcvZGV2ZWwvZ2lvL3N0YWJsZS9HU29ja2V0Lmh0bWwjZy1zb2NrZXQtY3JlYXRlLXNv
dXJjZQotICAgIGlmIChjb25kaXRpb24gJiBHX0lPX0hVUCkgewotICAgICAgICBoYW5kbGUtPmNs
b3NlKCk7Ci0gICAgICAgIHJldHVybiBGQUxTRTsKLSAgICB9Ci0gICAgaWYgKGNvbmRpdGlvbiAm
IEdfSU9fRVJSKSB7Ci0gICAgICAgIGhhbmRsZS0+Y2xpZW50KCktPmRpZEZhaWwoaGFuZGxlLCBT
b2NrZXRTdHJlYW1FcnJvcigwKSk7IC8vIEZJWE1FOiBQcm92aWRlIGEgc2Vuc2libGUgZXJyb3Iu
Ci0gICAgICAgIHJldHVybiBGQUxTRTsKLSAgICB9Ci0gICAgaWYgKGNvbmRpdGlvbiAmIEdfSU9f
T1VUKQotICAgICAgICBoYW5kbGUtPndyaXRlUmVhZHkoKTsKKyAgICBoYW5kbGUtPndyaXRlUmVh
ZHkoKTsKICAgICByZXR1cm4gVFJVRTsKIH0KIAotLSAKMS43LjMuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80580</attachid>
            <date>2011-01-29 16:16:40 -0800</date>
            <delta_ts>2011-01-31 11:44:34 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>0001-use-GPollableOutputStream-and-GTlsConnection-to-impl.patch</filename>
            <type>text/plain</type>
            <size>7929</size>
            <attacher name="Dan Winship">danw</attacher>
            
              <data encoding="base64">RnJvbSA5ODY2NjY1Y2Y5MWI4ZGY4NjAxNTE3MDAzNjg2YjFmYjBlZmEzZmE1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW4gV2luc2hpcCA8ZGFud0Bnbm9tZS5vcmc+CkRhdGU6IFNh
dCwgMjkgSmFuIDIwMTEgMTk6MTE6MzQgLTA1MDAKU3ViamVjdDogW1BBVENIXSB1c2UgR1BvbGxh
YmxlT3V0cHV0U3RyZWFtIGFuZCBHVGxzQ29ubmVjdGlvbiB0byBpbXBsZW1lbnQgd3NzIFVSTHMK
Ci0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
fCAgICA4ICsrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HVHlwZWRlZnMu
aCAgICAgIHwgICAgMiArLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDE1ICsrKysrKysrCiAuLi4vcGxhdGZvcm0vbmV0d29yay9zb3VwL1Nv
Y2tldFN0cmVhbUhhbmRsZS5oICAgICB8ICAgIDIgKy0KIC4uLi9uZXR3b3JrL3NvdXAvU29ja2V0
U3RyZWFtSGFuZGxlU291cC5jcHAgICAgICAgIHwgICAzNiArKysrKystLS0tLS0tLS0tLS0tCiA1
IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCmluZGV4IDAzZmUxOTMuLmMyZTYxYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDExIEBACisyMDExLTAxLTI5ICBEYW4gV2luc2hpcCAgPGRhbndA
Z25vbWUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIEdQb2xsYWJsZU91dHB1dFN0cmVhbSB0eXBlZGVmIGZvciBUTFMgV2ViU29ja2V0
cyBzdXBwb3J0CisKKyAgICAgICAgKiB3dGYvZ29iamVjdC9HVHlwZWRlZnMuaDoKKwogMjAxMS0w
MS0yOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvZ29iamVjdC9HVHlwZWRlZnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvZ29iamVjdC9HVHlwZWRlZnMuaAppbmRleCBmOWY4ZjJmLi44MDYxZThhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR1R5cGVkZWZzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dUeXBlZGVmcy5oCkBAIC01Myw4ICs1Myw4
IEBAIHR5cGVkZWYgc3RydWN0IF9HSGFzaFRhYmxlIEdIYXNoVGFibGU7CiB0eXBlZGVmIHN0cnVj
dCBfR0lucHV0U3RyZWFtIEdJbnB1dFN0cmVhbTsKIHR5cGVkZWYgc3RydWN0IF9HTGlzdCBHTGlz
dDsKIHR5cGVkZWYgc3RydWN0IF9HTXV0ZXggR011dGV4OwotdHlwZWRlZiBzdHJ1Y3QgX0dPdXRw
dXRTdHJlYW0gR091dHB1dFN0cmVhbTsKIHR5cGVkZWYgc3RydWN0IF9HUGF0dGVyblNwZWMgR1Bh
dHRlcm5TcGVjOwordHlwZWRlZiBzdHJ1Y3QgX0dQb2xsYWJsZU91dHB1dFN0cmVhbSBHUG9sbGFi
bGVPdXRwdXRTdHJlYW07CiB0eXBlZGVmIHN0cnVjdCBfR1NvY2tldENsaWVudCBHU29ja2V0Q2xp
ZW50OwogdHlwZWRlZiBzdHJ1Y3QgX0dTb2NrZXRDb25uZWN0aW9uIEdTb2NrZXRDb25uZWN0aW9u
OwogdHlwZWRlZiBzdHJ1Y3QgX0dTb3VyY2UgR1NvdXJjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZWU5Yjdh
Li5lYTA1YzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTEtMDEtMjkgIERhbiBX
aW5zaGlwICA8ZGFud0Bnbm9tZS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRvIHVzZSBHUG9sbGFibGVPdXRwdXRTdHJlYW0gYW5k
IEdUbHNDb25uZWN0aW9uIHRvCisgICAgICAgIGltcGxlbWVudCB3c3MgVVJMcworCisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6Y29ubmVjdGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1TZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6YmVnaW5XYWl0aW5nRm9yU29ja2V0V3JpdGFiaWxp
dHkpOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVSZWFkeUNhbGxiYWNrKToKKworMjAxMS0wMS0y
OSAgRGFuIFdpbnNoaXAgIDxkYW53QGdub21lLm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBieSBY
YW4gTG9wZXouCiAKICAgICAgICAgW0dUS10gUmVtb3ZlIEhBVkVfTElCU09VUF8yXzI5XzkwIGNv
bmRpdGlvbmFsczsgd2UgZGVwZW5kIG9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxlLmgKaW5kZXggMzE2OGZhZS4u
YzhmZTNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1NvY2tldFN0cmVhbUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGUuaApAQCAtNjAsNyArNjAsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgR1JlZlB0cjxHU29ja2V0Q29ubmVjdGlv
bj4gbV9zb2NrZXRDb25uZWN0aW9uOwogICAgICAgICBHUmVmUHRyPEdJbnB1dFN0cmVhbT4gbV9p
bnB1dFN0cmVhbTsKLSAgICAgICAgR1JlZlB0cjxHT3V0cHV0U3RyZWFtPiBtX291dHB1dFN0cmVh
bTsKKyAgICAgICAgR1JlZlB0cjxHUG9sbGFibGVPdXRwdXRTdHJlYW0+IG1fb3V0cHV0U3RyZWFt
OwogICAgICAgICBHUmVmUHRyPEdTb3VyY2U+IG1fd3JpdGVSZWFkeVNvdXJjZTsKICAgICAgICAg
Y2hhciogbV9yZWFkQnVmZmVyOwogICAgICAgICB2b2lkKiBtX2lkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZVNvdXAu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhh
bmRsZVNvdXAuY3BwCmluZGV4IDg0MWUyMDkuLjFmNjlkOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFu
ZGxlU291cC5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhl
c2UgZnVuY3Rpb25zIGltbWVkaWF0ZWx5IGNhbGwgdGhlIHNpbWlsYXJseSBuYW1lZCBTb2NrZXRT
dHJlYW1IYW5kbGUgbWV0aG9kcy4KIHN0YXRpYyB2b2lkIGNvbm5lY3RlZENhbGxiYWNrKEdTb2Nr
ZXRDbGllbnQqLCBHQXN5bmNSZXN1bHQqLCB2b2lkKik7CiBzdGF0aWMgdm9pZCByZWFkUmVhZHlD
YWxsYmFjayhHSW5wdXRTdHJlYW0qLCBHQXN5bmNSZXN1bHQqLCB2b2lkKik7Ci1zdGF0aWMgZ2Jv
b2xlYW4gd3JpdGVSZWFkeUNhbGxiYWNrKEdTb2NrZXQqLCBHSU9Db25kaXRpb24sIHZvaWQqKTsK
K3N0YXRpYyBnYm9vbGVhbiB3cml0ZVJlYWR5Q2FsbGJhY2soR1BvbGxhYmxlT3V0cHV0U3RyZWFt
Kiwgdm9pZCopOwogCiAvLyBIYXZpbmcgYSBsaXN0IG9mIGFjdGl2ZSBoYW5kbGVzIG1lYW5zIHRo
YXQgd2UgZG8gbm90IGhhdmUgdG8gd29ycnkgYWJvdXQgV2ViQ29yZQogLy8gcmVmZXJlbmNlIGNv
dW50aW5nIGluIEdMaWIgY2FsbGJhY2tzLiBPbmNlIHRoZSBoYW5kbGUgaXMgb2ZmIHRoZSBhY3Rp
dmUgaGFuZGxlcyBsaXN0CkBAIC04MiwxMyArODIsMTIgQEAgU29ja2V0U3RyZWFtSGFuZGxlOjpT
b2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGll
bnQKICAgICA6IFNvY2tldFN0cmVhbUhhbmRsZUJhc2UodXJsLCBjbGllbnQpCiAgICAgLCBtX3Jl
YWRCdWZmZXIoMCkKIHsKLSAgICAvLyBObyBzdXBwb3J0IGZvciBTU0wgc29ja2V0cyB5ZXQuCi0g
ICAgaWYgKHVybC5wcm90b2NvbElzKCJ3c3MiKSkKLSAgICAgICAgcmV0dXJuOwotICAgIHVuc2ln
bmVkIGludCBwb3J0ID0gdXJsLmhhc1BvcnQoKSA/IHVybC5wb3J0KCkgOiA4MDsKKyAgICB1bnNp
Z25lZCBpbnQgcG9ydCA9IHVybC5oYXNQb3J0KCkgPyB1cmwucG9ydCgpIDogKHVybC5wcm90b2Nv
bElzKCJ3c3MiKSA/IDQ0MyA6IDgwKTsKIAogICAgIG1faWQgPSBhY3RpdmF0ZUhhbmRsZSh0aGlz
KTsKICAgICBHUmVmUHRyPEdTb2NrZXRDbGllbnQ+IHNvY2tldENsaWVudCA9IGFkb3B0R1JlZihn
X3NvY2tldF9jbGllbnRfbmV3KCkpOworICAgIGlmICh1cmwucHJvdG9jb2xJcygid3NzIikpCisg
ICAgICAgIGdfc29ja2V0X2NsaWVudF9zZXRfdGxzKHNvY2tldENsaWVudC5nZXQoKSwgVFJVRSk7
CiAgICAgZ19zb2NrZXRfY2xpZW50X2Nvbm5lY3RfdG9faG9zdF9hc3luYyhzb2NrZXRDbGllbnQu
Z2V0KCksIHVybC5ob3N0KCkudXRmOCgpLmRhdGEoKSwgcG9ydCwgMCwKICAgICAgICAgcmVpbnRl
cnByZXRfY2FzdDxHQXN5bmNSZWFkeUNhbGxiYWNrPihjb25uZWN0ZWRDYWxsYmFjayksIG1faWQp
OwogfQpAQCAtMTA4LDcgKzEwNyw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpjb25uZWN0
ZWQoR1NvY2tldENvbm5lY3Rpb24qIHNvY2tldENvbm5lY3Rpb24sIEdFcnJvcioKICAgICB9CiAK
ICAgICBtX3NvY2tldENvbm5lY3Rpb24gPSBhZG9wdEdSZWYoc29ja2V0Q29ubmVjdGlvbik7Ci0g
ICAgbV9vdXRwdXRTdHJlYW0gPSBnX2lvX3N0cmVhbV9nZXRfb3V0cHV0X3N0cmVhbShHX0lPX1NU
UkVBTShtX3NvY2tldENvbm5lY3Rpb24uZ2V0KCkpKTsKKyAgICBtX291dHB1dFN0cmVhbSA9IEdf
UE9MTEFCTEVfT1VUUFVUX1NUUkVBTShnX2lvX3N0cmVhbV9nZXRfb3V0cHV0X3N0cmVhbShHX0lP
X1NUUkVBTShtX3NvY2tldENvbm5lY3Rpb24uZ2V0KCkpKSk7CiAgICAgbV9pbnB1dFN0cmVhbSA9
IGdfaW9fc3RyZWFtX2dldF9pbnB1dF9zdHJlYW0oR19JT19TVFJFQU0obV9zb2NrZXRDb25uZWN0
aW9uLmdldCgpKSk7CiAKICAgICBtX3JlYWRCdWZmZXIgPSBuZXcgY2hhcltSRUFEX0JVRkZFUl9T
SVpFXTsKQEAgLTE1NiwxNCArMTU1LDE0IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjp3cml0
ZVJlYWR5KCkKIAogaW50IFNvY2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1TZW5kKGNvbnN0IGNo
YXIqIGRhdGEsIGludCBsZW5ndGgpCiB7Ci0gICAgaWYgKCFnX3NvY2tldF9jb25kaXRpb25fY2hl
Y2soZ19zb2NrZXRfY29ubmVjdGlvbl9nZXRfc29ja2V0KG1fc29ja2V0Q29ubmVjdGlvbi5nZXQo
KSksIEdfSU9fT1VUKSkgeworICAgIGlmICghZ19wb2xsYWJsZV9vdXRwdXRfc3RyZWFtX2lzX3dy
aXRhYmxlKG1fb3V0cHV0U3RyZWFtLmdldCgpKSkgewogICAgICAgICBiZWdpbldhaXRpbmdGb3JT
b2NrZXRXcml0YWJpbGl0eSgpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKICAgICBHT3du
UHRyPEdFcnJvcj4gZXJyb3I7Ci0gICAgZ3NzaXplIHdyaXR0ZW4gPSBnX291dHB1dF9zdHJlYW1f
d3JpdGUobV9vdXRwdXRTdHJlYW0uZ2V0KCksIGRhdGEsIGxlbmd0aCwgMCwgJmVycm9yLm91dFB0
cigpKTsKLSAgICBpZiAoZXJyb3IpIHsKKyAgICBnc3NpemUgd3JpdHRlbiA9IGdfcG9sbGFibGVf
b3V0cHV0X3N0cmVhbV93cml0ZV9ub25ibG9ja2luZyhtX291dHB1dFN0cmVhbS5nZXQoKSwgZGF0
YSwgbGVuZ3RoLCAwLCAmZXJyb3Iub3V0UHRyKCkpOworICAgIGlmIChlcnJvciAmJiAhZ19lcnJv
cl9tYXRjaGVzKGVycm9yLmdldCgpLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX1dPVUxEX0JMT0NL
KSkgewogICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbCh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcihl
cnJvci0+Y29kZSkpOyAvLyBGSVhNRTogUHJvdmlkZSBhIHNlbnNpYmxlIGVycm9yLgogICAgICAg
ICByZXR1cm4gMDsKICAgICB9CkBAIC0yMjIsOCArMjIxLDggQEAgdm9pZCBTb2NrZXRTdHJlYW1I
YW5kbGU6OmJlZ2luV2FpdGluZ0ZvclNvY2tldFdyaXRhYmlsaXR5KCkKICAgICBpZiAobV93cml0
ZVJlYWR5U291cmNlKSAvLyBBbHJlYWR5IHdhaXRpbmcuCiAgICAgICAgIHJldHVybjsKIAotICAg
IG1fd3JpdGVSZWFkeVNvdXJjZSA9IGFkb3B0R1JlZihnX3NvY2tldF9jcmVhdGVfc291cmNlKAot
ICAgICAgICBnX3NvY2tldF9jb25uZWN0aW9uX2dldF9zb2NrZXQobV9zb2NrZXRDb25uZWN0aW9u
LmdldCgpKSwgc3RhdGljX2Nhc3Q8R0lPQ29uZGl0aW9uPihHX0lPX09VVCksIDApKTsKKyAgICBt
X3dyaXRlUmVhZHlTb3VyY2UgPSBhZG9wdEdSZWYoZ19wb2xsYWJsZV9vdXRwdXRfc3RyZWFtX2Ny
ZWF0ZV9zb3VyY2UoCisgICAgICAgIG1fb3V0cHV0U3RyZWFtLmdldCgpLCAwKSk7CiAgICAgZ19z
b3VyY2Vfc2V0X2NhbGxiYWNrKG1fd3JpdGVSZWFkeVNvdXJjZS5nZXQoKSwgcmVpbnRlcnByZXRf
Y2FzdDxHU291cmNlRnVuYz4od3JpdGVSZWFkeUNhbGxiYWNrKSwgbV9pZCwgMCk7CiAgICAgZ19z
b3VyY2VfYXR0YWNoKG1fd3JpdGVSZWFkeVNvdXJjZS5nZXQoKSwgMCk7CiB9CkBAIC0yNjYsMjQg
KzI2NSwxMyBAQCBzdGF0aWMgdm9pZCByZWFkUmVhZHlDYWxsYmFjayhHSW5wdXRTdHJlYW0qIHN0
cmVhbSwgR0FzeW5jUmVzdWx0KiByZXN1bHQsIHZvaWQqCiAgICAgaGFuZGxlLT5yZWFkQnl0ZXMo
Ynl0ZXNSZWFkLCBlcnJvci5nZXQoKSk7CiB9CiAKLXN0YXRpYyBnYm9vbGVhbiB3cml0ZVJlYWR5
Q2FsbGJhY2soR1NvY2tldCosIEdJT0NvbmRpdGlvbiBjb25kaXRpb24sIHZvaWQqIGlkKQorc3Rh
dGljIGdib29sZWFuIHdyaXRlUmVhZHlDYWxsYmFjayhHUG9sbGFibGVPdXRwdXRTdHJlYW0qLCB2
b2lkKiBpZCkKIHsKICAgICBTb2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSA9IGdldEhhbmRsZUZy
b21JZChpZCk7CiAgICAgaWYgKCFoYW5kbGUpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAotICAg
IC8vIEdfSU9fSFVQIGFuZCBHX0lPX0VSUiBhcmUgYXJlIGFsd2F5cyBhY3RpdmUuIFNlZToKLSAg
ICAvLyBodHRwOi8vbGlicmFyeS5nbm9tZS5vcmcvZGV2ZWwvZ2lvL3N0YWJsZS9HU29ja2V0Lmh0
bWwjZy1zb2NrZXQtY3JlYXRlLXNvdXJjZQotICAgIGlmIChjb25kaXRpb24gJiBHX0lPX0hVUCkg
ewotICAgICAgICBoYW5kbGUtPmNsb3NlKCk7Ci0gICAgICAgIHJldHVybiBGQUxTRTsKLSAgICB9
Ci0gICAgaWYgKGNvbmRpdGlvbiAmIEdfSU9fRVJSKSB7Ci0gICAgICAgIGhhbmRsZS0+Y2xpZW50
KCktPmRpZEZhaWwoaGFuZGxlLCBTb2NrZXRTdHJlYW1FcnJvcigwKSk7IC8vIEZJWE1FOiBQcm92
aWRlIGEgc2Vuc2libGUgZXJyb3IuCi0gICAgICAgIHJldHVybiBGQUxTRTsKLSAgICB9Ci0gICAg
aWYgKGNvbmRpdGlvbiAmIEdfSU9fT1VUKQotICAgICAgICBoYW5kbGUtPndyaXRlUmVhZHkoKTsK
KyAgICBoYW5kbGUtPndyaXRlUmVhZHkoKTsKICAgICByZXR1cm4gVFJVRTsKIH0KIAotLSAKMS43
LjMuNQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>