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

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>254865</bug_id>
          
          <creation_ts>2010-10-21 12:01:04 +0000</creation_ts>
          <short_desc>Add support for async file downloading in kio_sftp</short_desc>
          <delta_ts>2011-08-18 09:01:05 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>kio</product>
          <component>sftp</component>
          <version>SVN</version>
          <rep_platform>Unlisted Binaries</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>wishlist</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Schneider">asn</reporter>
          <assigned_to name="Andreas Schneider">asn</assigned_to>
          <cc>alpha_one_x86</cc>
    
    <cc>ashelley</cc>
    
    <cc>finex</cc>
    
    <cc>ivo</cc>
    
    <cc>kokoko3k</cc>
    
    <cc>lorenzph</cc>
    
    <cc>todor</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1035066</commentid>
    <comment_count>0</comment_count>
      <attachid>52713</attachid>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2010-10-21 12:01:04 +0000</bug_when>
    <thetext>Created attachment 52713
sftp_async_read patch by Philip Lorenz

Version:           SVN (using Devel) 
OS:                Linux

Use sftp_async_read to speed up get requests

The attached patch uses sftp_async_read to speed up the sftp kioslave.
Preliminary testing showed that the transfer speed locally increased from
~3MByte/s to 18-20 MByte/s.

It should apply cleanly to trunk (r1152597) but was developed against the KDE
4.5 branch. 

Let me know if there are any issues with the patch and I will try to fix them.

Reproducible: Always</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081888</commentid>
    <comment_count>1</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2011-01-31 19:29:30 +0000</bug_when>
    <thetext>I&apos;m working on this. I will push it as soon as I did more testing and the kde-runtime git repository is working correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082544</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2011-02-01 22:51:57 +0000</bug_when>
    <thetext>Git commit 8eaeb42c787c182b046ce78e5bcdc4069e68c2bb by Andreas Schneider.
Committed on 30/01/11 at 21:15.
Pushed by anschneider into branch &apos;master&apos;.

kio_sftp: Added async sftp download support.

Thanks to Philip Lorenz.

BUG: 254865

M  +140  -15   kioslave/sftp/kio_sftp.cpp     
M  +56   -1    kioslave/sftp/kio_sftp.h     

http://commits.kde.org/kde-runtime/8eaeb42c787c182b046ce78e5bcdc4069e68c2bb</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090647</commentid>
    <comment_count>3</comment_count>
    <who name="Ivo Anjo">ivo</who>
    <bug_when>2011-02-23 16:31:27 +0000</bug_when>
    <thetext>Wow, the performance gains are very nice, and kind-of explain why kio_sftp was slower than other sftp/scp clients.

Can this &quot;fix&quot; be backported for 4.6? Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090708</commentid>
    <comment_count>4</comment_count>
    <who name="">ashelley</who>
    <bug_when>2011-02-23 18:20:45 +0000</bug_when>
    <thetext>thanks for fixing this.  i&apos;m not too sure how to test for this but is this related at all to this bug? https://bugs.kde.org/show_bug.cgi?id=264557</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090710</commentid>
    <comment_count>5</comment_count>
    <who name="Philip Lorenz">lorenzph</who>
    <bug_when>2011-02-23 18:23:45 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; thanks for fixing this.  i&apos;m not too sure how to test for this but is this
&gt; related at all to this bug? https://bugs.kde.org/show_bug.cgi?id=264557

No this is not related to that bug. The patch merely improved transfer speeds for the SFTP kioslave.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090715</commentid>
    <comment_count>6</comment_count>
    <who name="BRULE Herman">alpha_one_x86</who>
    <bug_when>2011-02-23 18:29:32 +0000</bug_when>
    <thetext>+1 to:
Can this &quot;fix&quot; be backported for 4.6? Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090785</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2011-02-23 22:05:46 +0000</bug_when>
    <thetext>I&apos;ve asked when I pushed the patch and the answer was no backport as this is a new feature. So this will probably be not in any 4.6 release.

We&apos;ve reached libssh 0.5 and the plan is to support async sftp_read and sftp_write soon. So I hope we will have libssh 0.6 soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090823</commentid>
    <comment_count>8</comment_count>
    <who name="Ivo Anjo">ivo</who>
    <bug_when>2011-02-24 00:17:47 +0000</bug_when>
    <thetext>(In reply to comment #7)
&gt; I&apos;ve asked when I pushed the patch and the answer was no backport as this is a
&gt; new feature. So this will probably be not in any 4.6 release.
&gt; 
&gt; We&apos;ve reached libssh 0.5 and the plan is to support async sftp_read and
&gt; sftp_write soon. So I hope we will have libssh 0.6 soon.

Oh, it&apos;s a pity. I think this can be seen as a bug fix, as in &quot;kio_sftp has bad performance, this fixes it&quot;, and it sucks having to wait 6 months for it, but thanks for trying and for all your hard work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090853</commentid>
    <comment_count>9</comment_count>
    <who name="BRULE Herman">alpha_one_x86</who>
    <bug_when>2011-02-24 07:53:10 +0000</bug_when>
    <thetext>And what about folder async listing (because it&apos;s vey slow), it&apos;s fixed too with this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101002</commentid>
    <comment_count>10</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2011-03-25 09:43:00 +0000</bug_when>
    <thetext>*** Bug 218798 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144062</commentid>
    <comment_count>11</comment_count>
    <who name="Antonio Orefice">kokoko3k</who>
    <bug_when>2011-07-21 07:10:19 +0000</bug_when>
    <thetext>Has this patch been applied?
I ask because something weird happened after my last upgrade to kde 4.6.5.
Now my sftp upload ove 1gps link goes at about 1MB/sec.
YES, about 100 times slower the theoretical limit.

Thunar copies the same file to the same server at about 50MB/Sec.

And as 218845 (KIO sftp:/ Slow in KDE 4) is marked as duplicate for 218845 (kio_sftp is much slower than command line scp) which is duplicate of this bug, i reported it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144063</commentid>
    <comment_count>12</comment_count>
    <who name="Philip Lorenz">lorenzph</who>
    <bug_when>2011-07-21 07:20:00 +0000</bug_when>
    <thetext>The patch has been applied and will be part of KDE 4.7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144067</commentid>
    <comment_count>13</comment_count>
    <who name="Antonio Orefice">kokoko3k</who>
    <bug_when>2011-07-21 07:28:29 +0000</bug_when>
    <thetext>Ok, going to open another bug report, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154880</commentid>
    <comment_count>14</comment_count>
    <who name="FiNeX">finex</who>
    <bug_when>2011-08-18 09:01:05 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; +1 to:
&gt; Can this &quot;fix&quot; be backported for 4.6? Thanks.

+1 :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52713</attachid>
            <date>2010-10-21 12:01:04 +0000</date>
            <delta_ts>2010-10-21 12:01:04 +0000</delta_ts>
            <desc>sftp_async_read patch by Philip Lorenz</desc>
            <filename>kio_sftp_use_sftp_async_read.patch</filename>
            <type>text/plain</type>
            <size>8774</size>
            <attacher name="Andreas Schneider">asn</attacher>
            
              <data encoding="base64">SW5kZXg6IGtpb3NsYXZlL3NmdHAva2lvX3NmdHAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtpb3NsYXZl
L3NmdHAva2lvX3NmdHAuY3BwCShyZXZpc2lvbiAxMTc1MzI2KQorKysga2lvc2xhdmUvc2Z0cC9r
aW9fc2Z0cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4Nyw5ICs5ODcsNyBAQAogCiAgIFFCeXRl
QXJyYXkgcGF0aCA9IHVybC5wYXRoKCkudG9VdGY4KCk7CiAKLSAgY2hhciBidWZbTUFYX1hGRVJf
QlVGX1NJWkVdID0gezB9OwogICBzZnRwX2ZpbGUgZmlsZSA9IE5VTEw7Ci0gIHNzaXplX3QgYnl0
ZXNyZWFkID0gMDsKICAgLy8gdGltZV90IGN1cnRpbWUgPSAwOwogICB0aW1lX3QgbGFzdHRpbWUg
PSAwOwogICB0aW1lX3Qgc3RhcnR0aW1lID0gMDsKQEAgLTEwNDYsNDMgKzEwNDQsNTAgQEAKICAg
ICB9CiAgIH0KIAorICBzZnRwUHJvdG9jb2w6OkdldFJlcXVlc3QgcmVxdWVzdChmaWxlLCBzYik7
CisgIAogICBpZiAoZmlsZSAhPSBOVUxMKSB7CiAgICAgYm9vbCBpc0ZpcnN0UGFja2V0ID0gdHJ1
ZTsKKyAgICBzc2l6ZV90IGJ5dGVzcmVhZCA9IDA7CiAgICAgbGFzdHRpbWUgPSBzdGFydHRpbWUg
PSB0aW1lKE5VTEwpOwotCisgICAgCiAgICAgZm9yICg7OykgewotICAgICAgYnl0ZXNyZWFkID0g
c2Z0cF9yZWFkKGZpbGUsIGJ1ZiwgTUFYX1hGRVJfQlVGX1NJWkUpOwotICAgICAga0RlYnVnKEtJ
T19TRlRQX0RCKSA8PCAiYnl0ZXNyZWFkPSIgPDwgUVN0cmluZzo6bnVtYmVyKGJ5dGVzcmVhZCk7
Ci0gICAgICBpZiAoYnl0ZXNyZWFkID09IDApIHsKLSAgICAgICAgLy8gQWxsIGRvbmUgcmVhZGlu
ZwotICAgICAgICBicmVhazsKLSAgICAgIH0gZWxzZSBpZiAoYnl0ZXNyZWFkIDwgMCkgeworICAg
ICAgLy8gRW5xdWV1ZSBnZXQgcmVxdWVzdHMKKyAgICAgIGlmICghcmVxdWVzdC5lbnF1ZXVlQ2h1
bmtzKCkpIHsKICAgICAgICAgZXJyb3IoS0lPOjpFUlJfQ09VTERfTk9UX1JFQUQsIHVybC5wcmV0
dHlVcmwoKSk7Ci0gICAgICAgIHNmdHBfYXR0cmlidXRlc19mcmVlKHNiKTsKICAgICAgICAgcmV0
dXJuOwogICAgICAgfQotCi0gICAgICBmaWxlZGF0YSA9IFFCeXRlQXJyYXk6OmZyb21SYXdEYXRh
KGJ1ZiwgYnl0ZXNyZWFkKTsKKyAgICAgIAorICAgICAgZmlsZWRhdGEuY2xlYXIoKTsKKyAgICAg
IGJ5dGVzcmVhZCA9IHJlcXVlc3QucmVhZENodW5rcyhmaWxlZGF0YSk7CisgICAgICAvLyBSZWFk
IHBlbmRpbmcgZ2V0IHJlcXVlc3RzCisgICAgICBpZiAoYnl0ZXNyZWFkID09IC0xKSB7CisgICAg
ICAgIGVycm9yKEtJTzo6RVJSX0NPVUxEX05PVF9SRUFELCB1cmwucHJldHR5VXJsKCkpOworICAg
ICAgICByZXR1cm47CisgICAgICB9IGVsc2UgaWYgKGJ5dGVzcmVhZCA9PSAwKSB7CisgICAgICAg
IGlmIChmaWxlLT5lb2YpCisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgIH0KKyAgICAgIAogICAgICAgaWYgKGlzRmlyc3RQYWNrZXQpIHsK
ICAgICAgICAgS01pbWVUeXBlOjpQdHIgcF9taW1lVHlwZSA9IEtNaW1lVHlwZTo6ZmluZEJ5TmFt
ZUFuZENvbnRlbnQodXJsLmZpbGVOYW1lKCksIGZpbGVkYXRhKTsKICAgICAgICAgbWltZVR5cGUo
cF9taW1lVHlwZS0+bmFtZSgpKTsKICAgICAgICAgaXNGaXJzdFBhY2tldCA9IGZhbHNlOwogICAg
ICAgfQorICAgICAgCiAgICAgICBkYXRhKGZpbGVkYXRhKTsKLSAgICAgIGZpbGVkYXRhLmNsZWFy
KCk7Ci0KICAgICAgIC8vIGluY3JlbWVudCB0b3RhbCBieXRlcyByZWFkCi0gICAgICB0b3RhbGJ5
dGVzcmVhZCArPSBieXRlc3JlYWQ7CisgICAgICB0b3RhbGJ5dGVzcmVhZCArPSBmaWxlZGF0YS5s
ZW5ndGgoKTsKIAogICAgICAgcHJvY2Vzc2VkU2l6ZSh0b3RhbGJ5dGVzcmVhZCk7CiAgICAgfQog
Ci0gICAgc2Z0cF9jbG9zZShmaWxlKTsKICAgICBkYXRhKFFCeXRlQXJyYXkoKSk7CiAgICAgcHJv
Y2Vzc2VkU2l6ZShzdGF0aWNfY2FzdDxLSU86OmZpbGVzaXplX3Q+KHNiLT5zaXplKSk7CiAgIH0K
IAotICBzZnRwX2F0dHJpYnV0ZXNfZnJlZShzYik7CiAgIGZpbmlzaGVkKCk7CiB9CiAKQEAgLTE2
OTksMyArMTcwNCwxMjAgQEAKICAgc2xhdmVTdGF0dXMoKG1Db25uZWN0ZWQgPyBtSG9zdCA6IFFT
dHJpbmcoKSksIG1Db25uZWN0ZWQpOwogfQogCitzZnRwUHJvdG9jb2w6OkdldFJlcXVlc3Q6Okdl
dFJlcXVlc3Qoc2Z0cF9maWxlIGZpbGUsIHNmdHBfYXR0cmlidXRlcyBzYiwgdXNob3J0IG1heFBl
bmRpbmdSZXF1ZXN0cykgOiBtRmlsZShmaWxlKSwgbVNiKHNiKSwgbU1heFBlbmRpbmdSZXF1ZXN0
cyhtYXhQZW5kaW5nUmVxdWVzdHMpIHsKKyAgCit9CisKK2Jvb2wgc2Z0cFByb3RvY29sOjpHZXRS
ZXF1ZXN0OjplbnF1ZXVlQ2h1bmtzKCkgeworICBzZnRwUHJvdG9jb2w6OkdldFJlcXVlc3Q6OlJl
cXVlc3QgcmVxdWVzdDsKKyAga0RlYnVnKEtJT19TRlRQX0RCKSA8PCAiZW5xdWV1ZUNodW5rcyI7
CisgIHdoaWxlIChwZW5kaW5nUmVxdWVzdHMuY291bnQoKSA8IG1NYXhQZW5kaW5nUmVxdWVzdHMp
IHsKKyAgICByZXF1ZXN0LmV4cGVjdGVkTGVuZ3RoID0gTUFYX1hGRVJfQlVGX1NJWkU7CisgICAg
cmVxdWVzdC5zdGFydE9mZnNldCA9IG1GaWxlLT5vZmZzZXQ7CisgICAgcmVxdWVzdC5pZCA9IHNm
dHBfYXN5bmNfcmVhZF9iZWdpbihtRmlsZSwgcmVxdWVzdC5leHBlY3RlZExlbmd0aCk7CisgICAg
aWYgKHJlcXVlc3QuaWQgPCAwKSB7CisgICAgICBpZiAocGVuZGluZ1JlcXVlc3RzLmlzRW1wdHko
KSkgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9IGVsc2UgeworICAgICAgICAgIGJy
ZWFrOworICAgICAgfQorICAgIH0KKyAgICAKKyAgICBwZW5kaW5nUmVxdWVzdHMuZW5xdWV1ZShy
ZXF1ZXN0KTsKKyAgICAKKyAgICBpZiAobUZpbGUtPm9mZnNldCA+IG1TYi0+c2l6ZSkgeworICAg
ICAgLy8gRG8gbm90IGFkZCBhbnkgbW9yZSBjaHVua3MgaWYgdGhlIG9mZnNldCBpcyBsYXJnZXIg
dGhhbiB0aGUgZ2l2ZW4gZmlsZSBzaXplLgorICAgICAgLy8gSG93ZXZlciB0aGlzIGlzIGRvbmUg
YWZ0ZXIgYWRkaW5nIGEgcmVxdWVzdCBhcyB0aGUgcmVtb3RlIGZpbGUgc2l6ZSBtYXkKKyAgICAg
IC8vIGhhdmUgY2hhbmdlZCBpbiB0aGUgbWVhbnRpbWUuCisgICAgICBicmVhazsKKyAgICB9Cisg
IH0KKyAgCisgIGtEZWJ1ZyhLSU9fU0ZUUF9EQikgPDwgImVucXVldWVDaHVua3MgZG9uZSIgPDwg
UVN0cmluZzo6bnVtYmVyKHBlbmRpbmdSZXF1ZXN0cy5zaXplKCkpOworICAKKyAgcmV0dXJuIHRy
dWU7Cit9CisKK2ludCBzZnRwUHJvdG9jb2w6OkdldFJlcXVlc3Q6OnJlYWRDaHVua3MoUUJ5dGVB
cnJheSAmZGF0YSkgeworICAKKyAgaW50IHRvdGFsUmVhZCA9IDA7CisgIHNzaXplX3QgYnl0ZXNy
ZWFkID0gMDsKKyAgCisgIHdoaWxlICghcGVuZGluZ1JlcXVlc3RzLmlzRW1wdHkoKSkgeworICAg
IHNmdHBQcm90b2NvbDo6R2V0UmVxdWVzdDo6UmVxdWVzdCAmcmVxdWVzdCA9IHBlbmRpbmdSZXF1
ZXN0cy5oZWFkKCk7CisgICAgaW50IGRhdGFTaXplID0gZGF0YS5zaXplKCkgKyByZXF1ZXN0LmV4
cGVjdGVkTGVuZ3RoOworICAgIAorICAgIGRhdGEucmVzaXplKGRhdGFTaXplKTsKKyAgICBpZiAo
ZGF0YS5zaXplKCkgPCBkYXRhU2l6ZSkgeworICAgICAgLy8gQ291bGQgbm90IGFsbG9jYXRlIGVu
b3VnaCBtZW1vcnkgLSBza2lwIGN1cnJlbnQgY2h1bmsKKyAgICAgIGRhdGEucmVzaXplKGRhdGFT
aXplIC0gcmVxdWVzdC5leHBlY3RlZExlbmd0aCk7CisgICAgICBicmVhazsKKyAgICB9CisgICAg
CisgICAgYnl0ZXNyZWFkID0gc2Z0cF9hc3luY19yZWFkKG1GaWxlLCBkYXRhLmRhdGEoKSArIHRv
dGFsUmVhZCwgcmVxdWVzdC5leHBlY3RlZExlbmd0aCwgcmVxdWVzdC5pZCk7CisgICAgCisgICAg
a0RlYnVnKEtJT19TRlRQX0RCKSA8PCAiYnl0ZXNyZWFkPSIgPDwgUVN0cmluZzo6bnVtYmVyKGJ5
dGVzcmVhZCk7CisgICAgCisgICAgaWYgKGJ5dGVzcmVhZCA9PSAwIHx8IGJ5dGVzcmVhZCA9PSBT
U0hfQUdBSU4pIHsKKyAgICAgIGlmIChieXRlc3JlYWQgPT0gMCkgeworICAgICAgICBwZW5kaW5n
UmVxdWVzdHMuZGVxdWV1ZSgpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gRGVjcmVhc2Ug
bWF4aW11bSBwZW5kaW5nIHJlcXVlc3RzIGFzIHdlIGRpZCBub3QgcmVjZWl2ZSBkYXRhIGZhc3Qg
ZW5vdWdoCisgICAgICAgIG1NYXhQZW5kaW5nUmVxdWVzdHMgPSBxTWF4KDEsIG1NYXhQZW5kaW5n
UmVxdWVzdHMgLyAyKTsKKyAgICAgIH0KKyAgICAgIC8vIERvbmUgcmVhZGluZyBvciB0aW1lb3V0
CisgICAgICBkYXRhLnJlc2l6ZShkYXRhLnNpemUoKSAtIHJlcXVlc3QuZXhwZWN0ZWRMZW5ndGgp
OworICAgICAgYnJlYWs7CisgICAgfSBlbHNlIGlmIChieXRlc3JlYWQgPT0gU1NIX0VSUk9SKSB7
CisgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIAorICAgIHRvdGFsUmVhZCArPSBieXRlc3Jl
YWQ7CisgICAgCisgICAgaWYgKGJ5dGVzcmVhZCA8IHJlcXVlc3QuZXhwZWN0ZWRMZW5ndGgpIHsK
KyAgICAgIC8vIElmIGxlc3MgZGF0YSBpcyByZWFkIHRoYW4gZXhwZWN0ZWQgLSByZXF1ZXVlIHRo
ZSByZXF1ZXN0CisgICAgICBkYXRhLnJlc2l6ZShkYXRhLnNpemUoKSAtIChyZXF1ZXN0LmV4cGVj
dGVkTGVuZ3RoIC0gYnl0ZXNyZWFkKSk7CisgICAgICAKKyAgICAgIC8vIFNhdmUgY3VycmVudCBm
aWxlIG9mZnNldAorICAgICAgdWludDY0X3Qgb2xkT2Zmc2V0ID0gbUZpbGUtPm9mZnNldDsKKyAg
ICAgIG1GaWxlLT5vZmZzZXQgPSByZXF1ZXN0LnN0YXJ0T2Zmc2V0ICsgYnl0ZXNyZWFkOworICAg
ICAgCisgICAgICAvLyBNb2RpZnkgY3VycmVudCByZXF1ZXN0CisgICAgICByZXF1ZXN0LmV4cGVj
dGVkTGVuZ3RoID0gcmVxdWVzdC5leHBlY3RlZExlbmd0aCAtIGJ5dGVzcmVhZDsKKyAgICAgIHJl
cXVlc3Quc3RhcnRPZmZzZXQgPSBtRmlsZS0+b2Zmc2V0OworICAgICAgcmVxdWVzdC5pZCA9IHNm
dHBfYXN5bmNfcmVhZF9iZWdpbihtRmlsZSwgcmVxdWVzdC5leHBlY3RlZExlbmd0aCk7CisgICAg
ICAKKyAgICAgIC8vIFJlc3RvcmUgdGhlIGZpbGUgb2Zmc2V0CisgICAgICBtRmlsZS0+b2Zmc2V0
ID0gb2xkT2Zmc2V0OworICAgICAgCisgICAgICBpZiAocmVxdWVzdC5pZCA8IDApIHsKKyAgICAg
ICAgLy8gRmFpbGVkIHRvIGRpc3BhdGNoIHJlcmVxdWVzdAorICAgICAgICByZXR1cm4gLTE7Cisg
ICAgICB9CisgICAgICAKKyAgICAgIHJldHVybiB0b3RhbFJlYWQ7CisgICAgfQorICAgIAorICAg
IHBlbmRpbmdSZXF1ZXN0cy5kZXF1ZXVlKCk7CisgIH0KKyAgCisgIC8vIEFkanVzdCBtYXhpbXVt
IHBlbmRpbmcgcmVxdWVzdHMKKyAgbU1heFBlbmRpbmdSZXF1ZXN0cyA9IHFNaW4obU1heFBlbmRp
bmdSZXF1ZXN0cyAqIDIsIE1BWF9UUkFOU0ZFUl9TSVpFIC8gTUFYX1hGRVJfQlVGX1NJWkUpOwor
ICAKKyAgcmV0dXJuIHRvdGFsUmVhZDsKK30KKworc2Z0cFByb3RvY29sOjpHZXRSZXF1ZXN0Ojp+
R2V0UmVxdWVzdCgpIHsKKyAgc2Z0cFByb3RvY29sOjpHZXRSZXF1ZXN0OjpSZXF1ZXN0IHJlcXVl
c3Q7CisgIGNoYXIgYnVmW01BWF9YRkVSX0JVRl9TSVpFXTsKKyAgCisgIC8vIFJlbW92ZSBwZW5k
aW5nIHJlYWRzIHRvIGF2b2lkIG1lbW9yeSBsZWFrcworICB3aGlsZSAoIXBlbmRpbmdSZXF1ZXN0
cy5pc0VtcHR5KCkpIHsKKyAgICByZXF1ZXN0ID0gcGVuZGluZ1JlcXVlc3RzLmRlcXVldWUoKTsK
KyAgICBzZnRwX2FzeW5jX3JlYWQobUZpbGUsIGJ1ZiwgcmVxdWVzdC5leHBlY3RlZExlbmd0aCwg
cmVxdWVzdC5pZCk7CisgIH0KKyAgCisgIC8vIENsb3NlIGNoYW5uZWwgJiBmcmVlIGF0dHJpYnV0
ZXMKKyAgc2Z0cF9jbG9zZShtRmlsZSk7CisgIHNmdHBfYXR0cmlidXRlc19mcmVlKG1TYik7Cit9
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDoga2lvc2xhdmUvc2Z0cC9raW9fc2Z0
cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIGtpb3NsYXZlL3NmdHAva2lvX3NmdHAuaAkocmV2aXNpb24gMTE3
NTMyNikKKysrIGtpb3NsYXZlL3NmdHAva2lvX3NmdHAuaAkod29ya2luZyBjb3B5KQpAQCAtMzEs
MTAgKzMxLDE1IEBACiAjaW5jbHVkZSA8bGlic3NoL3NmdHAuaD4KICNpbmNsdWRlIDxsaWJzc2gv
Y2FsbGJhY2tzLmg+CiAKKyNpbmNsdWRlIDxRUXVldWU+CisgCiAvLyBIb3cgYmlnIHNob3VsZCBl
YWNoIGRhdGEgcGFja2V0IGJlPyBEZWZpbml0ZWx5IG5vdCBiaWdnZXIgdGhhbiA2NGtiIG9yCiAv
LyB5b3Ugd2lsbCBvdmVyZmxvdyB0aGUgMiBieXRlIHNpemUgdmFyaWFibGUgaW4gYSBzZnRwIHBh
Y2tldC4KLSNkZWZpbmUgTUFYX1hGRVJfQlVGX1NJWkUgNjAgKiAxMDI0CisjZGVmaW5lIE1BWF9Y
RkVSX0JVRl9TSVpFICg2MCAqIDEwMjQpCiAjZGVmaW5lIEtJT19TRlRQX0RCIDcxMjAKKy8vIE1h
eGltdW0gYW1vdW50IG9mIGRhdGEgd2hpY2ggY2FuIGJlIHNlbnQgZnJvbSB0aGUgS0lPU2xhdmUg
aW4gb25lIGNodW5rCisvLyBzZWUgVHJhbnNmZXJKb2I6OnNsb3REYXRhUmVxIChtYXhfc2l6ZSB2
YXJpYWJsZSkgZm9yIHRoZSB2YWx1ZQorI2RlZmluZSBNQVhfVFJBTlNGRVJfU0laRSAoMTQgKiAx
MDI0ICogMTAyNCkKIAogbmFtZXNwYWNlIEtJTyB7CiAgIGNsYXNzIEF1dGhJbmZvOwpAQCAtMTI1
LDcgKzEzMCw1NyBAQAogICBRQnl0ZUFycmF5IG9wZW5IYW5kbGU7CiAgIEtVcmwgb3BlblVybDsK
ICAgS0lPOjpmaWxlc2l6ZV90IG9wZW5PZmZzZXQ7Ci0KKyAgCisgIC8qKgorICAgKiBHZXRSZXF1
ZXN0IGVuY2Fwc3VsYXRlcyBzZXZlcmFsIFNGVFAgZ2V0IHJlcXVlc3RzIGludG8gYSBzaW5nbGUg
b2JqZWN0LgorICAgKiBBcyBTRlRQIG1lc3NhZ2VzIGFyZSBsaW1pdGVkIHRvIE1BWF9YRkVSX0JV
Rl9TSVpFIHNldmVyYWwgcmVxdWVzdHMKKyAgICogc2hvdWxkIGJlIHNlbnQgc2ltdWx0YW5lb3Vz
bHkgaW4gb3JkZXIgdG8gaW5jcmVhc2UgdHJhbnNmZXIgc3BlZWRzLgorICAgKi8KKyAgY2xhc3Mg
R2V0UmVxdWVzdCB7CisgIHB1YmxpYzoKKyAgICAvKioKKyAgICAgKiBDcmVhdGVzIGEgbmV3IEdl
dFJlcXVlc3Qgb2JqZWN0LgorICAgICAqIEBwYXJhbSBmaWxlIHRoZSBzZnRwX2ZpbGUgb2JqZWN0
IHdoaWNoIHNob3VsZCBiZSB0cmFuc2ZlcnJlZC4KKyAgICAgKiBAcGFyYW0gc2IgdGhlIGF0dHJp
YnV0ZXMgb2YgdGhhdCBzZnRwX2ZpbGUgb2JqZWN0LgorICAgICAqIEBwYXJhbSBtYXhQZW5kaW5n
UmVxdWVzdHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcmFsbGVsIHJlcXVlc3RzIHRvIHN0YXJ0
IHdpdGguCisgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIG51bWJlciB3aWxs
IGJlIGFkanVzdGVkIGF1dG9tYXRpY2FsbHkgZGVwZW5kaW5nIAorICAgICAqICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG9uIHRoZSBjb25uZWN0aW9uIHNwZWVkLgorICAgICAqLworICAgIEdl
dFJlcXVlc3Qoc2Z0cF9maWxlIGZpbGUsIHNmdHBfYXR0cmlidXRlcyBzYiwgdXNob3J0IG1heFBl
bmRpbmdSZXF1ZXN0cz01KTsKKyAgICAvKioKKyAgICAgKiBSZW1vdmVzIGFsbCBwZW5kaW5nIHJl
cXVlc3RzIGFuZCBjbG9zZXMgdGhlIFNGVFAgY2hhbm5lbCBhbmQgYXR0cmlidXRlcworICAgICAq
IGluIG9yZGVyIHRvIGF2b2lkIG1lbW9yeSBsZWFrcy4KKyAgICAgKi8KKyAgICB+R2V0UmVxdWVz
dCgpOworICAgIAorICAgIC8qKgorICAgICAqIFN0YXJ0cyB1cCB0byBtYXhQZW5kaW5nUmVxdWVz
dHMgZmlsZSByZXF1ZXN0cy4gUmVhZGluZyBpcyBwZXJmb3JtZWQgaW4gdGhlCisgICAgICogdmlh
IHRoZSByZWFkQ2h1bmtzIG1ldGhvZC4KKyAgICAgKi8KKyAgICBib29sIGVucXVldWVDaHVua3Mo
KTsKKyAgICAvKioKKyAgICAgKiBBdHRlbXBzIHRvIHJlYWQgYWxsIHBlbmRpbmcgY2h1bmtzIGlu
IHRoZSBnaXZlbiBRQnl0ZUFycmF5LgorICAgICAqIEBwYXJhbSBkYXRhIHRoZSBhcnJheSBpbnRv
IHdoaWNoIHRoZSBkYXRhIHNob3VsZCBiZSBzYXZlZCAoaXQgc2hvdWxkIGJlIGVtcHR5KS4KKyAg
ICAgKiBAcmV0dXJuIDAgb24gRU9GIG9yIHRpbWVvdXQsIC0xIG9uIGVycm9yIGFuZCB0aGUgbnVt
YmVyIG9mIGJ5dGVzIHJlYWQgb3RoZXJ3aXNlLgorICAgICAqLworICAgIGludCByZWFkQ2h1bmtz
KFFCeXRlQXJyYXkgJmRhdGEpOworICBwcml2YXRlOgorICAgIHN0cnVjdCBSZXF1ZXN0IHsKKyAg
ICAgIC8qKiBJZGVudGlmaWVyIGFzIHJldHVybmVkIGJ5IHRoZSBzZnRwX2FzeW5jX3JlYWRfYmVn
aW4gY2FsbCAqLworICAgICAgaW50IGlkOworICAgICAgLyoqIFRoZSBudW1iZXIgb2YgYnl0ZXMg
ZXhwZWN0ZWQgdG8gYmUgcmV0dXJuZWQgKi8KKyAgICAgIHVpbnQzMl90IGV4cGVjdGVkTGVuZ3Ro
OworICAgICAgLyoqIFRoZSBTU0ggc3RhcnQgb2Zmc2V0IHdoZW4gdGhpcyByZXF1ZXN0IHdhcyBt
YWRlICovCisgICAgICB1aW50NjRfdCBzdGFydE9mZnNldDsKKyAgICB9OworICBwcml2YXRlOgor
ICAgIHNmdHBfZmlsZSBtRmlsZTsKKyAgICBzZnRwX2F0dHJpYnV0ZXMgbVNiOworICAgIHVzaG9y
dCBtTWF4UGVuZGluZ1JlcXVlc3RzOworICAgIFFRdWV1ZTxSZXF1ZXN0PiBwZW5kaW5nUmVxdWVz
dHM7CisgIH07CisgIAorICAKIHByaXZhdGU6IC8vIHByaXZhdGUgbWV0aG9kcwogCiAgIGludCBh
dXRoZW50aWNhdGVLZXlib2FyZEludGVyYWN0aXZlKEtJTzo6QXV0aEluZm8gJmluZm8pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>