<?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>209900</bug_id>
          
          <creation_ts>2020-04-02 02:42:06 -0700</creation_ts>
          <short_desc>[WPE][GTK] Public API should not allow trying to register a special URI scheme</short_desc>
          <delta_ts>2020-06-22 14:57:25 -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>WebKit API</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/Igalia/cog/issues/195</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=211989</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrian Perez">aperez</reporter>
          <assigned_to name="Adrian Perez">aperez</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1636841</commentid>
    <comment_count>0</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-04-02 02:42:06 -0700</bug_when>
    <thetext>Calling webkit_web_context_register_uri_scheme() with a “special”
URI scheme name (like “file” or “http”) which is not supposed to
be overriden should do a check at the API entry, instead of trying
to pass that down to WebKit unchecked and cause a failed assertion:

ASSERTION FAILED: !WTF::URLParser::isSpecialScheme(canonicalizedScheme.value())

Backtrace:

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000007fafb8fb54 in __GI_abort () at abort.c:79
#2  0x0000007fb0d4a4c0 in CRASH_WITH_INFO(...) () at /home/buildroot/buildroot/rpi3/output/build/wpewebkit-2.28.0/DerivedSources/ForwardingHeaders/wtf/Assertions.h:660
#3  WebKit::WebPageProxy::setURLSchemeHandlerForScheme (this=this@entry=0x7fa37f6000, handler=..., scheme=...)
    at /home/buildroot/buildroot/rpi3/output/build/wpewebkit-2.28.0/Source/WebKit/UIProcess/WebPageProxy.cpp:9114
#4  0x0000007fb0e5f7dc in webkitWebContextCreatePageForWebView (context=0x287691e0, webView=&lt;optimized out&gt;, webView@entry=0x287ac100, userContentManager=&lt;optimized out&gt;, relatedView=&lt;optimized out&gt;)
    at /home/buildroot/buildroot/rpi3/output/build/wpewebkit-2.28.0/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:1828
#5 ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636842</commentid>
    <comment_count>1</comment_count>
      <attachid>395254</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-04-02 02:49:03 -0700</bug_when>
    <thetext>Created attachment 395254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636844</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-04-02 02:49:42 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636847</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-02 03:26:33 -0700</bug_when>
    <thetext>Committed r259382: &lt;https://trac.webkit.org/changeset/259382&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395254.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636848</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-02 03:27:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/61200217&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651133</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-05-10 16:06:52 -0700</bug_when>
    <thetext>Note this makes it impossible to implement support for ftp. Probably only schemes that are actually supported by WebKit should be blacklisted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651225</commentid>
    <comment_count>6</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-05-11 02:31:07 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; Note this makes it impossible to implement support for ftp. Probably only
&gt; schemes that are actually supported by WebKit should be blacklisted.

It was already impossible to implement it outside of WebKit: without
the early check added by this at the GTK/WPE API level, the assertion
would be triggered anyway inside WebKit when trying to register an URI
scheme handler for FTP.

If we want to allow implementing FTP via a custom URI scheme handler,
then that would be a separate issue, and we will need to do a number
of changes inside WebKit. If anybody knows whether any application was
(or intends to) do that, please go ahead and open a new bug :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651226</commentid>
    <comment_count>7</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-05-11 02:45:35 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #6)
&gt; (In reply to Michael Catanzaro from comment #5)
&gt; &gt; Note this makes it impossible to implement support for ftp. Probably only
&gt; &gt; schemes that are actually supported by WebKit should be blacklisted.
&gt; 
&gt; It was already impossible to implement it outside of WebKit: without
&gt; the early check added by this at the GTK/WPE API level, the assertion
&gt; would be triggered anyway inside WebKit when trying to register an URI
&gt; scheme handler for FTP.

By the way, there is an “ENABLE_FTPDIR” build option in WebKit, enabled
by default. I think there is no support for returning documents of type
“application/x-ftp-directory” from libsoup, and that&apos;s why even when it&apos;s
enabled trying to load e.g. ftp://ftp.es.debian.org results in an error
saying “The URL cannot be shown” ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651260</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-05-11 06:51:19 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #6)
&gt; It was already impossible to implement it outside of WebKit: without
&gt; the early check added by this at the GTK/WPE API level, the assertion
&gt; would be triggered anyway inside WebKit when trying to register an URI
&gt; scheme handler for FTP.

That can&apos;t be true, because Epiphany registered this scheme unconditionally on startup until 3.36. That code has been there for years and was only removed for 3.36 because we noticed Chrome had decided to no longer handle ftp and decided to just give up on it.

&gt; If we want to allow implementing FTP via a custom URI scheme handler,
&gt; then that would be a separate issue, and we will need to do a number
&gt; of changes inside WebKit. If anybody knows whether any application was
&gt; (or intends to) do that, please go ahead and open a new bug :)

So yeah, Epiphany prior to 3.36 implemented FTP via a custom URI scheme handler.

If you think it would result in an assertion, then maybe I need to check to see if Epiphany is crashing on F31. We might have busted older Epiphany when upgrading to 2.28 if this assertion is new.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652259</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-05-13 09:44:30 -0700</bug_when>
    <thetext>I&apos;m reopening because I&apos;m worried about adding criticals for old Ephy versions. Maybe we should switch to g_warning() instead?

I don&apos;t think the code was previously invalid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664742</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-20 10:26:06 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #9)
&gt; I&apos;m reopening because I&apos;m worried about adding criticals for old Ephy
&gt; versions. Maybe we should switch to g_warning() instead?

The ASSERT was added in r213686, but didn&apos;t affect us because we used legacy custom protocol implementation until r250597. I think r250597 is when the regression was introduced.

Introducing criticals in previously-valid applications is not good, so let&apos;s switch to g_warning(). Also, let&apos;s not hardcode the list of protocols here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664744</commentid>
    <comment_count>11</comment_count>
      <attachid>402386</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-20 10:29:07 -0700</bug_when>
    <thetext>Created attachment 402386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664751</commentid>
    <comment_count>12</comment_count>
      <attachid>402391</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-20 10:52:21 -0700</bug_when>
    <thetext>Created attachment 402391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664978</commentid>
    <comment_count>13</comment_count>
      <attachid>402391</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-06-22 03:07:29 -0700</bug_when>
    <thetext>Comment on attachment 402391
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:1280
&gt; +        g_critical(&quot;Cannot register invalid URI scheme %s&quot;, scheme);

I would probably write this as:

   auto isValidScheme = !!WTF::URLParser::maybeCanonicalizeScheme(scheme);
   g_return_if_fail(iValidScheme);

So the error message follows the usual format emitted by the g_return[_val]_if_fail()
macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665048</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-22 08:39:34 -0700</bug_when>
    <thetext>I need to use canonicalizedScheme below, and I can avoid !! by using C++ bool:

auto canonicalizedScheme = WTF::URLParser::maybeCanonicalizeScheme(scheme);
bool isValidScheme = canonicalizedScheme;
g_return_if_fail(isValidScheme);

OK? Honestly I prefer to write out the critical as I did originally, but you&apos;re the reviewer. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665076</commentid>
    <comment_count>15</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-06-22 09:55:57 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #14)
&gt; I need to use canonicalizedScheme below, and I can avoid !! by using C++
&gt; bool:
&gt; 
&gt; auto canonicalizedScheme = WTF::URLParser::maybeCanonicalizeScheme(scheme);
&gt; bool isValidScheme = canonicalizedScheme;
&gt; g_return_if_fail(isValidScheme);
&gt; 
&gt; OK? Honestly I prefer to write out the critical as I did originally, but
&gt; you&apos;re the reviewer. ;)

I don&apos;t have a very strong preference, to be honest… The reason why I was
suggesting ending up using g_return_if_fail() would be to make sure it is
GLib the one formatting the message, to make all the checks on API input
parameters output messages with the same format.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665180</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-22 14:07:05 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #15)
&gt; I don&apos;t have a very strong preference, to be honest…

OK, I&apos;m going to commit the original version of the patch, because I&apos;d rather not expose a local variable in the error message. I like the error message g_return_if_fail() gives when used directly on public API function parameters, but when more complex decisions are needed, like in this case, I think it&apos;s nicer to write out a custom error message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665189</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-22 14:57:25 -0700</bug_when>
    <thetext>Committed r263369: &lt;https://trac.webkit.org/changeset/263369&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402391.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395254</attachid>
            <date>2020-04-02 02:49:03 -0700</date>
            <delta_ts>2020-06-20 10:29:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209900-20200402124901.patch</filename>
            <type>text/plain</type>
            <size>2088</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNkMjE0MzA1ZmVmZjlkYmEy
NTJhYzhlM2ZlNGQxZDZmMzUyZDg1YWQuLmQ5MmQyYmZhYmIzNGZkNzc3NWEwMDFhODQyMTI1Njc1
MDkxMTJiOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDQtMDIgIEFkcmlhbiBQ
ZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXVtHVEtd
IFB1YmxpYyBBUEkgc2hvdWxkIG5vdCBhbGxvdyB0cnlpbmcgdG8gcmVnaXN0ZXIgYSBzcGVjaWFs
IFVSSSBzY2hlbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwOTkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBuZWVkZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0V2ViQ29udGV4dC5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX2NvbnRleHRfcmVnaXN0
ZXJfdXJpX3NjaGVtZSk6IFVzZSBnX3JldHVybl9pZl9mYWlsKCkgdG8KKyAgICAgICAgY2hlY2sg
YXQgdGhlIHB1YmxpYyBBUEkgbGV2ZWwgd2hldGhlciB0aGUgcGFzc2VkIFVSSSBzY2hlbWUgaXMK
KyAgICAgICAgc3BlY2lhbCBhbmQgYmFpbCBvdXQgZWFybHkuCisKIDIwMjAtMDQtMDEgIFBlciBB
cm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gVVRJIGZy
b20gTUlNRSB0eXBlIGNhY2hlIGNhbiBiZSByZW1vdmVkIGFmdGVyIHIyNTg5MTUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAK
aW5kZXggMzNhOWI3ZDVhZDA2MGYyNzVkY2Y3MTU2YThjZmYzZjM3NjQ0ZTczNi4uY2UyNjg4MjVi
ZmM2ODMxNjJjMGNjMDA0ZjljZDVlZjIyNWQ3YzkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTEyMzEsNiAr
MTIzMSwxNCBAQCB2b2lkIHdlYmtpdF93ZWJfY29udGV4dF9yZWdpc3Rlcl91cmlfc2NoZW1lKFdl
YktpdFdlYkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IGNoYQogICAgIGdfcmV0dXJuX2lmX2ZhaWwo
c2NoZW1lKTsKICAgICBnX3JldHVybl9pZl9mYWlsKGNhbGxiYWNrKTsKIAorICAgIC8vIExpc3Qg
ZnJvbSBTb3VyY2UvV1RGL1VSTFBhcnNlci5jcHAsIGVudW0gU2NoZW1lLgorICAgIGdfcmV0dXJu
X2lmX2ZhaWwoIWdfYXNjaWlfc3RyY2FzZWNtcChzY2hlbWUsICJ3cyIpKTsKKyAgICBnX3JldHVy
bl9pZl9mYWlsKCFnX2FzY2lpX3N0cmNhc2VjbXAoc2NoZW1lLCAid3NzIikpOworICAgIGdfcmV0
dXJuX2lmX2ZhaWwoIWdfYXNjaWlfc3RyY2FzZWNtcChzY2hlbWUsICJmaWxlIikpOworICAgIGdf
cmV0dXJuX2lmX2ZhaWwoIWdfYXNjaWlfc3RyY2FzZWNtcChzY2hlbWUsICJmdHAiKSk7CisgICAg
Z19yZXR1cm5faWZfZmFpbCghZ19hc2NpaV9zdHJjYXNlY21wKHNjaGVtZSwgImh0dHAiKSk7Cisg
ICAgZ19yZXR1cm5faWZfZmFpbCghZ19hc2NpaV9zdHJjYXNlY21wKHNjaGVtZSwgImh0dHBzIikp
OworCiAgICAgYXV0byBoYW5kbGVyID0gV2ViS2l0VVJJU2NoZW1lSGFuZGxlcjo6Y3JlYXRlKGNv
bnRleHQsIGNhbGxiYWNrLCB1c2VyRGF0YSwgZGVzdHJveU5vdGlmeSk7CiAgICAgYXV0byBhZGRS
ZXN1bHQgPSBjb250ZXh0LT5wcml2LT51cmlTY2hlbWVIYW5kbGVycy5zZXQoU3RyaW5nOjpmcm9t
VVRGOChzY2hlbWUpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKICAgICBmb3IgKGF1dG8qIHdlYlZpZXcg
OiBjb250ZXh0LT5wcml2LT53ZWJWaWV3cy52YWx1ZXMoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402386</attachid>
            <date>2020-06-20 10:29:07 -0700</date>
            <delta_ts>2020-06-20 10:52:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209900-20200620122906.patch</filename>
            <type>text/plain</type>
            <size>2542</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIxNGZhZTRjM2Y2ODBiNDU1
ZGU1ZmRkNmQzMjhhZjM3ZWI4N2Q1MzkuLjI1MzcxNDVhNDAyZTkxNGIyOTFjNzZhOGE3NGIxNzYz
NTJkYmZiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMjAgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV1bR1RLXSBQ
dWJsaWMgQVBJIHNob3VsZCBub3QgYWxsb3cgdHJ5aW5nIHRvIHJlZ2lzdGVyIGEgc3BlY2lhbCBV
Ukkgc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDk5MDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYxMjAwMjE3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpCisKKyAgICAgICAgRXBpcGhhbnkgcHJpb3IgdG8gMy4z
NiByZWdpc3RlcnMgYSBzY2hlbWUgaGFuZGxlciBmb3IgZnRwLiBUaGlzIGludHJvZHVjZWQgY3Jp
dGljYWxzLiBMZXQncworICAgICAgICB1c2UgZ193YXJuaW5nKCkgaW5zdGVhZCwgYW5kIGF2b2lk
IGhhcmRjb2RpbmcgdGhlIGxpc3Qgb2YgZGlzYWxsb3dlZCBzY2hlbWVzLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAgICAgICAod2Via2l0
X3dlYl9jb250ZXh0X3JlZ2lzdGVyX3VyaV9zY2hlbWUpOgorCiAyMDIwLTA2LTE5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBEZWxheSBpc3N1aW5n
IE1hbmFnZWRTZXNzaW9uICYgTmV0d29yayBFeHRlbnNpb24gc2FuZGJveCBleHRlbnNpb25zIHVu
dGlsIGEgbG9hZCBpcyBhY3R1YWxseSBpc3N1ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggYzRjN2QwZjZjMTI2
MWI1MWQwMjA3MWE2NTJhYTA5M2QxYWEzYjlkMS4uNGVkYWVlOWY3MGY3YjQ2ZDA4YjUyNWUzYmEz
ZDE0YWZiYTg4ZDlhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTEyNzQsMTMgKzEyNzQsMTYgQEAgdm9pZCB3
ZWJraXRfd2ViX2NvbnRleHRfcmVnaXN0ZXJfdXJpX3NjaGVtZShXZWJLaXRXZWJDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBjaGEKICAgICBnX3JldHVybl9pZl9mYWlsKHNjaGVtZSk7CiAgICAgZ19y
ZXR1cm5faWZfZmFpbChjYWxsYmFjayk7CiAKLSAgICAvLyBMaXN0IGZyb20gU291cmNlL1dURi9V
UkxQYXJzZXIuY3BwLCBlbnVtIFNjaGVtZS4KLSAgICBnX3JldHVybl9pZl9mYWlsKGdfYXNjaWlf
c3RyY2FzZWNtcChzY2hlbWUsICJ3cyIpICE9IDApOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoZ19h
c2NpaV9zdHJjYXNlY21wKHNjaGVtZSwgIndzcyIpICE9IDApOwotICAgIGdfcmV0dXJuX2lmX2Zh
aWwoZ19hc2NpaV9zdHJjYXNlY21wKHNjaGVtZSwgImZpbGUiKSAhPSAwKTsKLSAgICBnX3JldHVy
bl9pZl9mYWlsKGdfYXNjaWlfc3RyY2FzZWNtcChzY2hlbWUsICJmdHAiKSAhPSAwKTsKLSAgICBn
X3JldHVybl9pZl9mYWlsKGdfYXNjaWlfc3RyY2FzZWNtcChzY2hlbWUsICJodHRwIikgIT0gMCk7
Ci0gICAgZ19yZXR1cm5faWZfZmFpbChnX2FzY2lpX3N0cmNhc2VjbXAoc2NoZW1lLCAiaHR0cHMi
KSAhPSAwKTsKKyAgICBhdXRvIGNhbm9uaWNhbGl6ZWRTY2hlbWUgPSBXVEY6OlVSTFBhcnNlcjo6
bWF5YmVDYW5vbmljYWxpemVTY2hlbWUoc2NoZW1lKTsKKyAgICBpZiAoIWNhbm9uaWNhbGl6ZWRT
Y2hlbWUpIHsKKyAgICAgICAgZ19jcml0aWNhbCgiQ2Fubm90IHJlZ2lzdGVyIGludmFsaWQgVVJJ
IHNjaGVtZSAlcyIsIHNjaGVtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAo
V1RGOjpVUkxQYXJzZXI6OmlzU3BlY2lhbFNjaGVtZShjYW5vbmljYWxpemVkU2NoZW1lLnZhbHVl
KCkpKSB7CisgICAgICAgIGdfd2FybmluZygiUmVnaXN0ZXJpbmcgc3BlY2lhbCBVUkkgc2NoZW1l
ICVzIGlzIG5vIGxvbmdlciBhbGxvd2VkIiwgc2NoZW1lKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KIAogICAgIGF1dG8gaGFuZGxlciA9IFdlYktpdFVSSVNjaGVtZUhhbmRsZXI6OmNyZWF0ZShj
b250ZXh0LCBjYWxsYmFjaywgdXNlckRhdGEsIGRlc3Ryb3lOb3RpZnkpOwogICAgIGF1dG8gYWRk
UmVzdWx0ID0gY29udGV4dC0+cHJpdi0+dXJpU2NoZW1lSGFuZGxlcnMuc2V0KFN0cmluZzo6ZnJv
bVVURjgoc2NoZW1lKSwgV1RGTW92ZShoYW5kbGVyKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402391</attachid>
            <date>2020-06-20 10:52:21 -0700</date>
            <delta_ts>2020-06-22 14:57:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209900-20200620125220.patch</filename>
            <type>text/plain</type>
            <size>2772</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIxNGZhZTRjM2Y2ODBiNDU1
ZGU1ZmRkNmQzMjhhZjM3ZWI4N2Q1MzkuLjI1MzcxNDVhNDAyZTkxNGIyOTFjNzZhOGE3NGIxNzYz
NTJkYmZiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMjAgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV1bR1RLXSBQ
dWJsaWMgQVBJIHNob3VsZCBub3QgYWxsb3cgdHJ5aW5nIHRvIHJlZ2lzdGVyIGEgc3BlY2lhbCBV
Ukkgc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDk5MDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYxMjAwMjE3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpCisKKyAgICAgICAgRXBpcGhhbnkgcHJpb3IgdG8gMy4z
NiByZWdpc3RlcnMgYSBzY2hlbWUgaGFuZGxlciBmb3IgZnRwLiBUaGlzIGludHJvZHVjZWQgY3Jp
dGljYWxzLiBMZXQncworICAgICAgICB1c2UgZ193YXJuaW5nKCkgaW5zdGVhZCwgYW5kIGF2b2lk
IGhhcmRjb2RpbmcgdGhlIGxpc3Qgb2YgZGlzYWxsb3dlZCBzY2hlbWVzLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAgICAgICAod2Via2l0
X3dlYl9jb250ZXh0X3JlZ2lzdGVyX3VyaV9zY2hlbWUpOgorCiAyMDIwLTA2LTE5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBEZWxheSBpc3N1aW5n
IE1hbmFnZWRTZXNzaW9uICYgTmV0d29yayBFeHRlbnNpb24gc2FuZGJveCBleHRlbnNpb25zIHVu
dGlsIGEgbG9hZCBpcyBhY3R1YWxseSBpc3N1ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggYzRjN2QwZjZjMTI2
MWI1MWQwMjA3MWE2NTJhYTA5M2QxYWEzYjlkMS4uMzAwYTBiZTEyMDk5NmMyNWUzNTdiNGJhNDIz
NDk1MTM1ZjlhMmZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTcwLDYgKzcwLDcgQEAKICNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVVJMUGFyc2VyLmg+CiAjaW5jbHVkZSA8
d3RmL2dsaWIvR1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KICNp
bmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgpAQCAtMTI3NCwxMyArMTI3NSwxNiBAQCB2b2lk
IHdlYmtpdF93ZWJfY29udGV4dF9yZWdpc3Rlcl91cmlfc2NoZW1lKFdlYktpdFdlYkNvbnRleHQq
IGNvbnRleHQsIGNvbnN0IGNoYQogICAgIGdfcmV0dXJuX2lmX2ZhaWwoc2NoZW1lKTsKICAgICBn
X3JldHVybl9pZl9mYWlsKGNhbGxiYWNrKTsKIAotICAgIC8vIExpc3QgZnJvbSBTb3VyY2UvV1RG
L1VSTFBhcnNlci5jcHAsIGVudW0gU2NoZW1lLgotICAgIGdfcmV0dXJuX2lmX2ZhaWwoZ19hc2Np
aV9zdHJjYXNlY21wKHNjaGVtZSwgIndzIikgIT0gMCk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChn
X2FzY2lpX3N0cmNhc2VjbXAoc2NoZW1lLCAid3NzIikgIT0gMCk7Ci0gICAgZ19yZXR1cm5faWZf
ZmFpbChnX2FzY2lpX3N0cmNhc2VjbXAoc2NoZW1lLCAiZmlsZSIpICE9IDApOwotICAgIGdfcmV0
dXJuX2lmX2ZhaWwoZ19hc2NpaV9zdHJjYXNlY21wKHNjaGVtZSwgImZ0cCIpICE9IDApOwotICAg
IGdfcmV0dXJuX2lmX2ZhaWwoZ19hc2NpaV9zdHJjYXNlY21wKHNjaGVtZSwgImh0dHAiKSAhPSAw
KTsKLSAgICBnX3JldHVybl9pZl9mYWlsKGdfYXNjaWlfc3RyY2FzZWNtcChzY2hlbWUsICJodHRw
cyIpICE9IDApOworICAgIGF1dG8gY2Fub25pY2FsaXplZFNjaGVtZSA9IFdURjo6VVJMUGFyc2Vy
OjptYXliZUNhbm9uaWNhbGl6ZVNjaGVtZShzY2hlbWUpOworICAgIGlmICghY2Fub25pY2FsaXpl
ZFNjaGVtZSkgeworICAgICAgICBnX2NyaXRpY2FsKCJDYW5ub3QgcmVnaXN0ZXIgaW52YWxpZCBV
Ukkgc2NoZW1lICVzIiwgc2NoZW1lKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlm
IChXVEY6OlVSTFBhcnNlcjo6aXNTcGVjaWFsU2NoZW1lKGNhbm9uaWNhbGl6ZWRTY2hlbWUudmFs
dWUoKSkpIHsKKyAgICAgICAgZ193YXJuaW5nKCJSZWdpc3RlcmluZyBzcGVjaWFsIFVSSSBzY2hl
bWUgJXMgaXMgbm8gbG9uZ2VyIGFsbG93ZWQiLCBzY2hlbWUpOworICAgICAgICByZXR1cm47Cisg
ICAgfQogCiAgICAgYXV0byBoYW5kbGVyID0gV2ViS2l0VVJJU2NoZW1lSGFuZGxlcjo6Y3JlYXRl
KGNvbnRleHQsIGNhbGxiYWNrLCB1c2VyRGF0YSwgZGVzdHJveU5vdGlmeSk7CiAgICAgYXV0byBh
ZGRSZXN1bHQgPSBjb250ZXh0LT5wcml2LT51cmlTY2hlbWVIYW5kbGVycy5zZXQoU3RyaW5nOjpm
cm9tVVRGOChzY2hlbWUpLCBXVEZNb3ZlKGhhbmRsZXIpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>