<?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>218798</bug_id>
          
          <creation_ts>2009-12-15 15:01:56 +0000</creation_ts>
          <short_desc>kio_sftp is much slower than command line scp</short_desc>
          <delta_ts>2011-03-25 09:43:00 +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>unspecified</version>
          <rep_platform>openSUSE</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>254865</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Todor Buyukliev">todor</reporter>
          <assigned_to name="Andreas Schneider">asn</assigned_to>
          <cc>a</cc>
    
    <cc>alessandro-ghersi</cc>
    
    <cc>alpha_one_x86</cc>
    
    <cc>alvaro.aguilera</cc>
    
    <cc>david</cc>
    
    <cc>kernelcruncher</cc>
    
    <cc>muziofg</cc>
    
    <cc>senjas</cc>
    
    <cc>vojta.d</cc>
    
    <cc>xia_nai</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>52</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>880307</commentid>
    <comment_count>0</comment_count>
    <who name="Todor Buyukliev">todor</who>
    <bug_when>2009-12-15 15:01:56 +0000</bug_when>
    <thetext>Version:            (using KDE 4.3.1)
Compiler:          gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux) Target: x86_64-suse-linux
OS:                Linux
Installed from:    openSUSE RPMs

uploading a file to a server on the lan runs at about 1MB/s through dolphin&apos;s sftp. when using command line scp to the same server the speed is 10MB/s. the lan is 100 Mbit/s.

the sftp ioslave is underutilizing the bandwidth to the point of being unusable for large files.

this might be caused by explicit setting of the socket write buffer size to some small value (which disables the kernel autotuning) or by using small buffer when reading the local file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880431</commentid>
    <comment_count>1</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2009-12-15 21:26:42 +0000</bug_when>
    <thetext>The reason is that the old kio implementation and the current sftp implementation in libssh is a blocking IO. We are working on this so you have to wait for the next libssh version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880644</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2009-12-16 09:34:35 +0000</bug_when>
    <thetext>*** Bug 218845 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884053</commentid>
    <comment_count>3</comment_count>
    <who name="Tommi Tervo">tommi.tervo</who>
    <bug_when>2009-12-21 13:11:04 +0000</bug_when>
    <thetext>*** Bug 219532 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992424</commentid>
    <comment_count>4</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2010-07-21 16:35:12 +0000</bug_when>
    <thetext>*** Bug 245204 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992426</commentid>
    <comment_count>5</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2010-07-21 16:35:30 +0000</bug_when>
    <thetext>*** Bug 239824 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020367</commentid>
    <comment_count>6</comment_count>
      <attachid>51758</attachid>
    <who name="Philip Lorenz">lorenzph</who>
    <bug_when>2010-09-17 15:28:16 +0000</bug_when>
    <thetext>Created attachment 51758
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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020666</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2010-09-18 10:57:46 +0000</bug_when>
    <thetext>Philip:

Thank you very much for your patch! I haven&apos;t implemented this yet cause we plan to have complete async API in libssh 0.5. I think the concept will be much the same how to use it. So it makes probably sense to apply it now.

I will talk to Aris how the API should look like in libssh 0.5, review your patch carefully and come back to you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028850</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2010-10-07 12:25:02 +0000</bug_when>
    <thetext>*** Bug 253430 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047700</commentid>
    <comment_count>9</comment_count>
    <who name="Dario Andres">andresbajotierra</who>
    <bug_when>2010-11-21 18:10:35 +0000</bug_when>
    <thetext>*** Bug 246557 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047713</commentid>
    <comment_count>10</comment_count>
    <who name="Dario Andres">andresbajotierra</who>
    <bug_when>2010-11-21 18:20:47 +0000</bug_when>
    <thetext>*** Bug 240814 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100961</commentid>
    <comment_count>11</comment_count>
    <who name="Andrew Gaydenko">a</who>
    <bug_when>2011-03-25 05:26:51 +0000</bug_when>
    <thetext>4.6.1 is still infected with the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100962</commentid>
    <comment_count>12</comment_count>
    <who name="Andrew Gaydenko">a</who>
    <bug_when>2011-03-25 05:28:29 +0000</bug_when>
    <thetext>*** This bug has been confirmed by popular vote. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101001</commentid>
    <comment_count>13</comment_count>
    <who name="Andreas Schneider">asn</who>
    <bug_when>2011-03-25 09:43:00 +0000</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 254865 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51758</attachid>
            <date>2010-09-17 15:28:16 +0000</date>
            <delta_ts>2010-09-17 15:28:16 +0000</delta_ts>
            <desc>Use sftp_async_read to speed up get requests</desc>
            <filename>kio_sftp_use_sftp_async_read.patch</filename>
            <type>text/plain</type>
            <size>8774</size>
            <attacher name="Philip Lorenz">lorenzph</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>