<?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>136322</bug_id>
          
          <creation_ts>2014-08-27 17:03:01 -0700</creation_ts>
          <short_desc>[SOUP] WebKitDownload cannot overwrite existing file</short_desc>
          <delta_ts>2014-09-01 01:36:04 -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>PC</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>136372</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1031845</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2014-08-27 17:03:01 -0700</bug_when>
    <thetext>If the destination of a WebKitDownload is a file that already exists, the download will always fail. This is awkward because some browsers want to allow users to save a downloaded file over an existing file.  For example, in Epiphany if you use the Save Image As feature (right click on an image) and try to save over a file that already exists, we have a dialog box to confirm that the user really wants to overwrite the file -&gt; user confirms he wants to overwrite the file -&gt; download fails with error message &quot;file already exists.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031849</commentid>
    <comment_count>1</comment_count>
      <attachid>237271</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2014-08-27 17:06:41 -0700</bug_when>
    <thetext>Created attachment 237271
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031931</commentid>
    <comment_count>2</comment_count>
      <attachid>237271</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-08-28 00:12:19 -0700</bug_when>
    <thetext>Comment on attachment 237271
Patch

Not sure we unconditionally want to overwrite an existing file, we should be careful with destructive operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031933</commentid>
    <comment_count>3</comment_count>
      <attachid>237271</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-28 00:23:54 -0700</bug_when>
    <thetext>Comment on attachment 237271
Patch

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

Doing this unconditionally might be dangerous. I think it might make sense to allow overwrite when the destination has been set by the application explicitly, since apps are supposed to handle that situation when deciding the destination name, but we should document that. When the destination is decided automatically by WebKit, I&apos;m not sure sure it&apos;s a good idea to overwrite existing file, though. The safest way would be to add API for that something like webkit_download_set_allow_overwrite()

&gt; Source/WebKit2/ChangeLog:3
&gt; +        [GTK] WebKitDownload cannot overwrite existing file

This is not a GTK specific issue, it affects all ports using libsoup as network backend.

&gt; Source/WebKit2/Shared/Downloads/soup/DownloadSoup.cpp:140
&gt; -        if (!g_file_move(m_intermediateFile.get(), destinationFile.get(), G_FILE_COPY_NONE, nullptr, nullptr, nullptr, &amp;error.outPtr())) {
&gt; +        if (!g_file_move(m_intermediateFile.get(), destinationFile.get(), G_FILE_COPY_OVERWRITE, nullptr, nullptr, nullptr, &amp;error.outPtr())) {

I think this should be done using the allowOverwrite parameter of DecideDestinationWithSuggestedFilename message, so that clients can decide and it won&apos;t affect EFL in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031934</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-28 00:26:19 -0700</bug_when>
    <thetext>So, I would split this patch. In this bug I would make sure we use the allowOverwrite parameter that we are currently ignoring, adding G_FILE_COPY_OVERWRITE flag when it&apos;s true (it will be false anyway, so there&apos;s no change in behaviour). And then I would open a new bug for the GTK port to decide how to handle overwrites in the GTK+ API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032165</commentid>
    <comment_count>5</comment_count>
      <attachid>237352</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2014-08-29 09:25:21 -0700</bug_when>
    <thetext>Created attachment 237352
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032175</commentid>
    <comment_count>6</comment_count>
      <attachid>237352</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-29 09:51:54 -0700</bug_when>
    <thetext>Comment on attachment 237352
Patch

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

Thanks, I have a few minor comments.

&gt; Source/WebKit2/Shared/Downloads/soup/DownloadSoup.cpp:91
&gt; -        m_destinationURI = m_download-&gt;decideDestinationWithSuggestedFilename(suggestedFilename, overwrite);
&gt; +        m_destinationURI = m_download-&gt;decideDestinationWithSuggestedFilename(suggestedFilename, m_overwriteDestination);

Nit: I would use m_allowOverwrite for consistency with the IPC message param name.

&gt; Source/WebKit2/Shared/Downloads/soup/DownloadSoup.cpp:140
&gt; -        if (!g_file_move(m_intermediateFile.get(), destinationFile.get(), G_FILE_COPY_NONE, nullptr, nullptr, nullptr, &amp;error.outPtr())) {
&gt; +        if (!g_file_move(m_intermediateFile.get(), destinationFile.get(), flags, nullptr, nullptr, nullptr, &amp;error.outPtr())) {

I think you can add the if directly here, without the local variable 

if (!g_file_move(m_intermediateFile.get(), destinationFile.get(), m_allowOverwrite ? G_FILE_COPY_OVERWRITE : G_FILE_COPY_NONE, nullptr, nullptr, nullptr, &amp;error.outPtr())) {

&gt; Source/WebKit2/Shared/Downloads/soup/DownloadSoup.cpp:200
&gt; +    bool m_overwriteDestination = false;

Initialize the member in the constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032408</commentid>
    <comment_count>7</comment_count>
      <attachid>237430</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2014-08-31 11:30:59 -0700</bug_when>
    <thetext>Created attachment 237430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032456</commentid>
    <comment_count>8</comment_count>
      <attachid>237430</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-01 01:36:02 -0700</bug_when>
    <thetext>Comment on attachment 237430
Patch

Clearing flags on attachment: 237430

Committed r173154: &lt;http://trac.webkit.org/changeset/173154&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032457</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-01 01:36:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237271</attachid>
            <date>2014-08-27 17:06:41 -0700</date>
            <delta_ts>2014-08-29 09:25:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136322-20140827190633.patch</filename>
            <type>text/plain</type>
            <size>1772</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyOTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGUxMzcwNjUxNmZhYzA3
YTQ4YmExYzZjZGQzNTM3NTdjNjM3NDcyNS4uOTQ3ODA2NjE2ZGUxYzg2ODM4YzVhZjg4ZjI3YWYw
MDBhNjFlYzQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTA4LTI3ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBX
ZWJLaXREb3dubG9hZCBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjMyMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0Rvd25sb2Fkcy9z
b3VwL0Rvd25sb2FkU291cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkQ2xpZW50Ojpk
aWRGaW5pc2hMb2FkaW5nKTogUGFzcyBHX0ZJTEVfQ09QWV9PVkVSV1JJVEUKKyAgICAgICAgZmxh
ZyB0byBnX2ZpbGVfbW92ZSgpIHNvIHRoYXQgd2UgY2FuIG92ZXJ3cml0ZSB0aGUgZGVzdGluYXRp
b24KKwogMjAxNC0wOC0yNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFN1YnBpeGVsIGxheW91dDogcmVtb3ZlIHJvdW5kZWRMYXlvdXRQb2ludC9yb3VuZGVkTGF5
b3V0U2l6ZSBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93
bmxvYWRzL3NvdXAvRG93bmxvYWRTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3du
bG9hZHMvc291cC9Eb3dubG9hZFNvdXAuY3BwCmluZGV4IGFiZWNmMjVkYjk0ODgyOTVmNTk3Mzg3
MzcxYzI0MjExNjI2YmZhMzAuLjg0MmNiZWVkYzYxOTY2ZjAwZGQ0NjkyMDEwNTRmMDgwNjRhYTk2
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvc291cC9Eb3du
bG9hZFNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvc291cC9E
b3dubG9hZFNvdXAuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgcHVibGljOgogICAgICAgICBBU1NF
UlQobV9pbnRlcm1lZGlhdGVGaWxlKTsKICAgICAgICAgR1JlZlB0cjxHRmlsZT4gZGVzdGluYXRp
b25GaWxlID0gYWRvcHRHUmVmKGdfZmlsZV9uZXdfZm9yX3VyaShtX2Rlc3RpbmF0aW9uVVJJLnV0
ZjgoKS5kYXRhKCkpKTsKICAgICAgICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IGVycm9yOwotICAg
ICAgICBpZiAoIWdfZmlsZV9tb3ZlKG1faW50ZXJtZWRpYXRlRmlsZS5nZXQoKSwgZGVzdGluYXRp
b25GaWxlLmdldCgpLCBHX0ZJTEVfQ09QWV9OT05FLCBudWxscHRyLCBudWxscHRyLCBudWxscHRy
LCAmZXJyb3Iub3V0UHRyKCkpKSB7CisgICAgICAgIGlmICghZ19maWxlX21vdmUobV9pbnRlcm1l
ZGlhdGVGaWxlLmdldCgpLCBkZXN0aW5hdGlvbkZpbGUuZ2V0KCksIEdfRklMRV9DT1BZX09WRVJX
UklURSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgJmVycm9yLm91dFB0cigpKSkgewogICAg
ICAgICAgICAgZG93bmxvYWRGYWlsZWQocGxhdGZvcm1Eb3dubG9hZERlc3RpbmF0aW9uRXJyb3Io
bV9yZXNwb25zZSwgZXJyb3ItPm1lc3NhZ2UpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237352</attachid>
            <date>2014-08-29 09:25:21 -0700</date>
            <delta_ts>2014-08-31 11:30:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136322-20140829112514.patch</filename>
            <type>text/plain</type>
            <size>2941</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyOTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGUxMzcwNjUxNmZhYzA3
YTQ4YmExYzZjZGQzNTM3NTdjNjM3NDcyNS4uMGIwMmEyYjVmMGYyZjhhNWUzODAwNmI0YmM2Mzcw
NzY3Y2NkMmMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA4LTI5ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbU09VUF0g
V2ViS2l0RG93bmxvYWQgY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYzMjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9Eb3dubG9hZHMv
c291cC9Eb3dubG9hZFNvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZENsaWVudDo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKTogcGFzcyBhIG1lbWJlciB2YXJpYWJsZQorICAgICAgICB0byBE
b3dubG9hZDo6ZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUgaW5zdGVhZCBv
ZiBhCisgICAgICAgIHRlbXBvcmFyeSBib29sLCBzbyB3ZSBjYW4gdXNlIHRoZSByZXN1bHQgaW4g
ZGlkRmluaXNoTG9hZGluZy4KKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRDbGllbnQ6OmRpZEZp
bmlzaExvYWRpbmcpOiBvdmVyd3JpdGUgdGhlIGRlc3RpbmF0aW9uCisgICAgICAgIGlmIERvd25s
b2FkOjpkZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZSBkZXRlcm1pbmVkIHdl
CisgICAgICAgIHNob3VsZCBkbyBzby4KKwogMjAxNC0wOC0yNSAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1YnBpeGVsIGxheW91dDogcmVtb3ZlIHJvdW5kZWRM
YXlvdXRQb2ludC9yb3VuZGVkTGF5b3V0U2l6ZSBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL3NvdXAvRG93bmxvYWRTb3VwLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvc291cC9Eb3dubG9hZFNvdXAuY3BwCmluZGV4IGFi
ZWNmMjVkYjk0ODgyOTVmNTk3Mzg3MzcxYzI0MjExNjI2YmZhMzAuLmI5ZWY4YjI3NjRjMzExZDMz
ZDgwM2NhMGI1NTNhNzNkNGNlNTliMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9Eb3dubG9hZHMvc291cC9Eb3dubG9hZFNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9Eb3dubG9hZHMvc291cC9Eb3dubG9hZFNvdXAuY3BwCkBAIC04OCw4ICs4OCw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIHN1Z2dlc3RlZEZpbGVuYW1lID0gZGVjb2RlVVJMRXNjYXBlU2Vx
dWVuY2VzKHVybC5sYXN0UGF0aENvbXBvbmVudCgpKTsKICAgICAgICAgfQogCi0gICAgICAgIGJv
b2wgb3ZlcndyaXRlOwotICAgICAgICBtX2Rlc3RpbmF0aW9uVVJJID0gbV9kb3dubG9hZC0+ZGVj
aWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUoc3VnZ2VzdGVkRmlsZW5hbWUsIG92
ZXJ3cml0ZSk7CisgICAgICAgIG1fZGVzdGluYXRpb25VUkkgPSBtX2Rvd25sb2FkLT5kZWNpZGVE
ZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZShzdWdnZXN0ZWRGaWxlbmFtZSwgbV9vdmVy
d3JpdGVEZXN0aW5hdGlvbik7CiAgICAgICAgIGlmIChtX2Rlc3RpbmF0aW9uVVJJLmlzRW1wdHko
KSkgewogI2lmIFBMQVRGT1JNKEdUSykKICAgICAgICAgICAgIEdVbmlxdWVQdHI8Y2hhcj4gYnVm
ZmVyKGdfc3RyZHVwX3ByaW50ZihfKCJDYW5ub3QgZGV0ZXJtaW5lIGRlc3RpbmF0aW9uIFVSSSBm
b3IgZG93bmxvYWQgd2l0aCBzdWdnZXN0ZWQgZmlsZW5hbWUgJXMiKSwgc3VnZ2VzdGVkRmlsZW5h
bWUudXRmOCgpLmRhdGEoKSkpOwpAQCAtMTM2LDggKzEzNSw5IEBAIHB1YmxpYzoKIAogICAgICAg
ICBBU1NFUlQobV9pbnRlcm1lZGlhdGVGaWxlKTsKICAgICAgICAgR1JlZlB0cjxHRmlsZT4gZGVz
dGluYXRpb25GaWxlID0gYWRvcHRHUmVmKGdfZmlsZV9uZXdfZm9yX3VyaShtX2Rlc3RpbmF0aW9u
VVJJLnV0ZjgoKS5kYXRhKCkpKTsKKyAgICAgICAgR0ZpbGVDb3B5RmxhZ3MgZmxhZ3MgPSBtX292
ZXJ3cml0ZURlc3RpbmF0aW9uID8gR19GSUxFX0NPUFlfT1ZFUldSSVRFIDogR19GSUxFX0NPUFlf
Tk9ORTsKICAgICAgICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IGVycm9yOwotICAgICAgICBpZiAo
IWdfZmlsZV9tb3ZlKG1faW50ZXJtZWRpYXRlRmlsZS5nZXQoKSwgZGVzdGluYXRpb25GaWxlLmdl
dCgpLCBHX0ZJTEVfQ09QWV9OT05FLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCAmZXJyb3Iu
b3V0UHRyKCkpKSB7CisgICAgICAgIGlmICghZ19maWxlX21vdmUobV9pbnRlcm1lZGlhdGVGaWxl
LmdldCgpLCBkZXN0aW5hdGlvbkZpbGUuZ2V0KCksIGZsYWdzLCBudWxscHRyLCBudWxscHRyLCBu
dWxscHRyLCAmZXJyb3Iub3V0UHRyKCkpKSB7CiAgICAgICAgICAgICBkb3dubG9hZEZhaWxlZChw
bGF0Zm9ybURvd25sb2FkRGVzdGluYXRpb25FcnJvcihtX3Jlc3BvbnNlLCBlcnJvci0+bWVzc2Fn
ZSkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xOTcsNiArMTk3LDcgQEAg
cHVibGljOgogICAgIEdSZWZQdHI8R0ZpbGU+IG1faW50ZXJtZWRpYXRlRmlsZTsKICAgICBSZXNv
dXJjZVJlc3BvbnNlIG1fZGVsYXllZFJlc3BvbnNlOwogICAgIEdNYWluTG9vcFNvdXJjZSBtX2hh
bmRsZVJlc3BvbnNlTGF0ZXI7CisgICAgYm9vbCBtX292ZXJ3cml0ZURlc3RpbmF0aW9uID0gZmFs
c2U7CiB9OwogCiB2b2lkIERvd25sb2FkOjpzdGFydCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237430</attachid>
            <date>2014-08-31 11:30:59 -0700</date>
            <delta_ts>2014-09-01 01:36:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136322-20140831133053.patch</filename>
            <type>text/plain</type>
            <size>3097</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGJjZmI0OTQ0ZjQ3ZWU5
YTNiNjMyODRmMjhmN2ZhYzI0ZDI4MzEzZi4uYjZlZGJjNGVkZmVjNzJmNGNlMTQ1NjY3MzIwNGQx
N2JmNjcwMTc2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA4LTMxICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbU09VUF0g
V2ViS2l0RG93bmxvYWQgY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYzMjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9Eb3dubG9hZHMv
c291cC9Eb3dubG9hZFNvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZENsaWVudDo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKTogcGFzcyBhIG1lbWJlciB2YXJpYWJsZQorICAgICAgICB0byBE
b3dubG9hZDo6ZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUgaW5zdGVhZCBv
ZiBhCisgICAgICAgIHRlbXBvcmFyeSBib29sLCBzbyB3ZSBjYW4gdXNlIHRoZSByZXN1bHQgaW4g
ZGlkRmluaXNoTG9hZGluZy4KKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRDbGllbnQ6OmRpZEZp
bmlzaExvYWRpbmcpOiBvdmVyd3JpdGUgdGhlIGRlc3RpbmF0aW9uCisgICAgICAgIGlmIERvd25s
b2FkOjpkZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZSBkZXRlcm1pbmVkIHdl
CisgICAgICAgIHNob3VsZCBkbyBzby4KKwogMjAxNC0wOC0zMSAgVGltIEhvcnRvbiAgPHRpbW90
aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBPY2Nhc2lvbmFsIGNyYXNoZXMgKG51bGwg
ZGVyZWYpIHVuZGVyIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZW5kTWFnbmlmaWNhdGlvbkdlc3R1
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvc291cC9Eb3du
bG9hZFNvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9zb3VwL0Rvd25s
b2FkU291cC5jcHAKaW5kZXggYWJlY2YyNWRiOTQ4ODI5NWY1OTczODczNzFjMjQyMTE2MjZiZmEz
MC4uODM2Mzg2NWMzOWExZDlhNmEyODY4YjAzMGE5NGI5ODczMTRjYjIwMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9zb3VwL0Rvd25sb2FkU291cC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9zb3VwL0Rvd25sb2FkU291cC5jcHAK
QEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VI
YW5kbGVDbGllbnQgewogcHVibGljOgogICAgIERvd25sb2FkQ2xpZW50KERvd25sb2FkKiBkb3du
bG9hZCkKICAgICAgICAgOiBtX2Rvd25sb2FkKGRvd25sb2FkKQorICAgICAgICAsIG1fYWxsb3dP
dmVyd3JpdGUoZmFsc2UpCiAgICAgewogICAgIH0KIApAQCAtODgsOCArODksNyBAQCBwdWJsaWM6
CiAgICAgICAgICAgICBzdWdnZXN0ZWRGaWxlbmFtZSA9IGRlY29kZVVSTEVzY2FwZVNlcXVlbmNl
cyh1cmwubGFzdFBhdGhDb21wb25lbnQoKSk7CiAgICAgICAgIH0KIAotICAgICAgICBib29sIG92
ZXJ3cml0ZTsKLSAgICAgICAgbV9kZXN0aW5hdGlvblVSSSA9IG1fZG93bmxvYWQtPmRlY2lkZURl
c3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1lKHN1Z2dlc3RlZEZpbGVuYW1lLCBvdmVyd3Jp
dGUpOworICAgICAgICBtX2Rlc3RpbmF0aW9uVVJJID0gbV9kb3dubG9hZC0+ZGVjaWRlRGVzdGlu
YXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUoc3VnZ2VzdGVkRmlsZW5hbWUsIG1fYWxsb3dPdmVy
d3JpdGUpOwogICAgICAgICBpZiAobV9kZXN0aW5hdGlvblVSSS5pc0VtcHR5KCkpIHsKICNpZiBQ
TEFURk9STShHVEspCiAgICAgICAgICAgICBHVW5pcXVlUHRyPGNoYXI+IGJ1ZmZlcihnX3N0cmR1
cF9wcmludGYoXygiQ2Fubm90IGRldGVybWluZSBkZXN0aW5hdGlvbiBVUkkgZm9yIGRvd25sb2Fk
IHdpdGggc3VnZ2VzdGVkIGZpbGVuYW1lICVzIiksIHN1Z2dlc3RlZEZpbGVuYW1lLnV0ZjgoKS5k
YXRhKCkpKTsKQEAgLTEzNyw3ICsxMzcsNyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVChtX2lu
dGVybWVkaWF0ZUZpbGUpOwogICAgICAgICBHUmVmUHRyPEdGaWxlPiBkZXN0aW5hdGlvbkZpbGUg
PSBhZG9wdEdSZWYoZ19maWxlX25ld19mb3JfdXJpKG1fZGVzdGluYXRpb25VUkkudXRmOCgpLmRh
dGEoKSkpOwogICAgICAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7Ci0gICAgICAgIGlm
ICghZ19maWxlX21vdmUobV9pbnRlcm1lZGlhdGVGaWxlLmdldCgpLCBkZXN0aW5hdGlvbkZpbGUu
Z2V0KCksIEdfRklMRV9DT1BZX05PTkUsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsICZlcnJv
ci5vdXRQdHIoKSkpIHsKKyAgICAgICAgaWYgKCFnX2ZpbGVfbW92ZShtX2ludGVybWVkaWF0ZUZp
bGUuZ2V0KCksIGRlc3RpbmF0aW9uRmlsZS5nZXQoKSwgbV9hbGxvd092ZXJ3cml0ZSA/IEdfRklM
RV9DT1BZX09WRVJXUklURSA6IEdfRklMRV9DT1BZX05PTkUsIG51bGxwdHIsIG51bGxwdHIsIG51
bGxwdHIsICZlcnJvci5vdXRQdHIoKSkpIHsKICAgICAgICAgICAgIGRvd25sb2FkRmFpbGVkKHBs
YXRmb3JtRG93bmxvYWREZXN0aW5hdGlvbkVycm9yKG1fcmVzcG9uc2UsIGVycm9yLT5tZXNzYWdl
KSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTE5Nyw2ICsxOTcsNyBAQCBw
dWJsaWM6CiAgICAgR1JlZlB0cjxHRmlsZT4gbV9pbnRlcm1lZGlhdGVGaWxlOwogICAgIFJlc291
cmNlUmVzcG9uc2UgbV9kZWxheWVkUmVzcG9uc2U7CiAgICAgR01haW5Mb29wU291cmNlIG1faGFu
ZGxlUmVzcG9uc2VMYXRlcjsKKyAgICBib29sIG1fYWxsb3dPdmVyd3JpdGU7CiB9OwogCiB2b2lk
IERvd25sb2FkOjpzdGFydCgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>