<?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>37777</bug_id>
          
          <creation_ts>2010-04-18 15:01:09 -0700</creation_ts>
          <short_desc>protocolHostAndPortEquals host check makes a wrong assumption</short_desc>
          <delta_ts>2010-04-24 09:47:18 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>213808</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-04-18 15:01:09 -0700</bug_when>
    <thetext>The logic assumes that both the URL starts at the same position. This is right for most URL but is wrong for URL containing credentials: the code will return false for http://foo.example.com and http://user:pass@foo.example.com.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213821</commentid>
    <comment_count>1</comment_count>
      <attachid>53639</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-04-18 15:37:52 -0700</bug_when>
    <thetext>Created attachment 53639
Proposed fix: take URLs credential into account</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214492</commentid>
    <comment_count>2</comment_count>
      <attachid>53639</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-04-19 23:13:33 -0700</bug_when>
    <thetext>Comment on attachment 53639
Proposed fix: take URLs credential into account

+    int lengthHostA = a.hostEnd() - hostStartA;

It&apos;s strange that the order of words is different in old and new variables, &quot;host start&quot; vs. &quot;length host&quot;.

r=me, good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216734</commentid>
    <comment_count>3</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-04-24 09:47:18 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 53639 [details])
&gt; +    int lengthHostA = a.hostEnd() - hostStartA;
&gt; 
&gt; It&apos;s strange that the order of words is different in old and new variables,
&gt; &quot;host start&quot; vs. &quot;length host&quot;.

Landed in r58219 with this correction.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53639</attachid>
            <date>2010-04-18 15:37:52 -0700</date>
            <delta_ts>2010-04-19 23:13:33 -0700</delta_ts>
            <desc>Proposed fix: take URLs credential into account</desc>
            <filename>37777-protocolHostAndPortEquals.diff</filename>
            <type>text/plain</type>
            <size>5415</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNjcwNzZlLi5lYTRjYTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDQt
MTggIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcHJvdG9jb2xIb3N0QW5kUG9y
dEVxdWFscyBob3N0IGNoZWNrIG1ha2VzIGEgd3JvbmcgYXNzdW1wdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc3NzcKKworICAgICAgICBBZGQg
YSBjaGVjayB0aGF0IHRoZSBVUkwgd2l0aCBjcmVkZW50aWFsIG1hdGNoZXMgdGhlIGN1cnJlbnQg
VVJMLgorCisgICAgICAgICogaHR0cC90ZXN0cy9hcHBjYWNoZS9jcmVkZW50aWFsLXVybC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvYXBwY2FjaGUvY3JlZGVudGlh
bC11cmwuaHRtbDogQWRkZWQuCisKIDIwMTAtMDQtMTcgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxh
bGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgWGFuIExvcGV6Lgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9jcmVkZW50aWFsLXVy
bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2NyZWRlbnRp
YWwtdXJsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z
MDc2MjM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNo
ZS9jcmVkZW50aWFsLXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUZXN0IHRoYXQg
YXBwbGljYXRpb24gY2FjaGUgZG9lc24ndCBibG9jayBsb2FkaW5nIHJlc291cmNlcyBmcm9tIHRo
ZSBzYW1lIG9yaWdpbiB3aXRoIGNyZWRlbnRpYWwuCisKK1NVQ0NFU1MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvY3JlZGVudGlhbC11cmwuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvY3JlZGVudGlhbC11cmwuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmM3ZWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9jcmVkZW50aWFsLXVybC5odG1sCkBAIC0wLDAg
KzEsMjggQEAKKzxodG1sIG1hbmlmZXN0PSJodHRwOi8vdXNlcjpwYXNzd29yZEAxMjcuMC4wLjE6
ODAwMC9hcHBjYWNoZS9yZXNvdXJjZXMvZW1wdHkubWFuaWZlc3QiPgorPGJvZHk+Cis8cD5UZXN0
IHRoYXQgYXBwbGljYXRpb24gY2FjaGUgZG9lc24ndCBibG9jayBsb2FkaW5nIHJlc291cmNlcyBm
cm9tIHRoZSBzYW1lIG9yaWdpbiB3aXRoIGNyZWRlbnRpYWwuPC9wPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
fQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgaWZyID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7CisgICAgaWZyLnNldEF0dHJpYnV0ZSgic3JjIiwgImphdmFzY3JpcHQ6
cGFyZW50LnN1Y2Nlc3MoKSwgJ1BBU1MnIik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpZnIpOworfQorCitmdW5jdGlvbiBzdWNjZXNzKCkKK3sKKyAgICBkb2N1bWVudC5ib2R5LnJl
cGxhY2VDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiU1VDQ0VTUyIpLCBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF0pOworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKworYXBwbGljYXRpb25DYWNoZS5vbmNhY2hlZCA9IHRlc3Q7CithcHBsaWNhdGlvbkNh
Y2hlLm9ubm91cGRhdGUgPSB0ZXN0OworPC9zY3JpcHQ+Cis8Ym9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc0ZmRm
MC4uM2U4ZmFhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wNC0xOCAgSnVsaWVuIENoYWZmcmFpeCAg
PGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBwcm90b2NvbEhvc3RBbmRQb3J0RXF1YWxzIGhvc3QgY2hlY2sgbWFr
ZXMgYSB3cm9uZyBhc3N1bXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNzc3NworCisgICAgICAgIFRoZSBob3N0IGNoZWNrIGFzc3VtZWQgdGhh
dCBib3RoIGhvc3Qgc3RhcnRlZCBhdCB0aGUgc2FtZSBwb3NpdGlvbi4gVGhpcyBpcyB0cnVlCisg
ICAgICAgIGlmIGJvdGggVVJMIGFyZSB0aGUgc2FtZSBidXQgc29tZXRpbWVzIG9uZSBoYXMgY3Jl
ZGVudGlhbCBhbmQgdGhlIG90aGVyIGRvZXMgbm90LgorICAgICAgICBJbiB0aGlzIGNhc2UsIHRo
ZSBtZXRob2Qgd291bGQgY29tcGFyZSBpbnZhbGlkIHBvc2l0aW9ucy4KKworICAgICAgICBUZXN0
OiBodHRwL3Rlc3RzL2FwcGNhY2hlL2NyZWRlbnRpYWwtdXJsLmh0bWwKKworICAgICAgICAqIHBs
YXRmb3JtL0tVUkwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJvdG9jb2xIb3N0QW5kUG9ydEFy
ZUVxdWFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnByb3RvY29sSG9zdEFuZFBvcnRBcmVFcXVhbCk6CisgICAgICAgIEZpeCB0aGUgaG9z
dCBjaGVjayB0byB0YWtlIGJvdGggVVJMJ3MgY3JlZGVudGlhbCBpbnRvIGFjY291bnQuCisKIDIw
MTAtMDQtMTcgIFZhbmdlbGlzIEtva2tldmlzICA8dmFuZ2VsaXNAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vS1VSTC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCmluZGV4IDEyYmE0
YTIuLmVlOWE0YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcApAQCAtMTM1MywyNyArMTM1MywyOSBAQCBib29sIHBy
b3RvY29sSG9zdEFuZFBvcnRBcmVFcXVhbChjb25zdCBLVVJMJiBhLCBjb25zdCBLVVJMJiBiKQog
ewogICAgIGlmIChhLm1fc2NoZW1lRW5kICE9IGIubV9zY2hlbWVFbmQpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKKwogICAgIGludCBob3N0U3RhcnRBID0gYS5ob3N0U3RhcnQoKTsKKyAgICBpbnQg
bGVuZ3RoSG9zdEEgPSBhLmhvc3RFbmQoKSAtIGhvc3RTdGFydEE7CiAgICAgaW50IGhvc3RTdGFy
dEIgPSBiLmhvc3RTdGFydCgpOwotICAgIGlmIChhLm1faG9zdEVuZCAtIGhvc3RTdGFydEEgIT0g
Yi5tX2hvc3RFbmQgLSBob3N0U3RhcnRCKQorICAgIGludCBsZW5ndGhIb3N0QiA9IGIuaG9zdEVu
ZCgpIC0gYi5ob3N0U3RhcnQoKTsKKyAgICBpZiAobGVuZ3RoSG9zdEEgIT0gbGVuZ3RoSG9zdEIp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIENoZWNrIHRoZSBzY2hlbWUKICAgICBm
b3IgKGludCBpID0gMDsgaSA8IGEubV9zY2hlbWVFbmQ7ICsraSkKICAgICAgICAgaWYgKGEuc3Ry
aW5nKClbaV0gIT0gYi5zdHJpbmcoKVtpXSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAKKwogICAgIC8vIEFuZCB0aGUgaG9zdAotICAgIGZvciAoaW50IGkgPSBob3N0U3RhcnRBOyBp
IDwgYS5tX2hvc3RFbmQ7ICsraSkKLSAgICAgICAgaWYgKGEuc3RyaW5nKClbaV0gIT0gYi5zdHJp
bmcoKVtpXSkKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlbmd0aEhvc3RBOyArK2kpCisgICAg
ICAgIGlmIChhLnN0cmluZygpW2hvc3RTdGFydEEgKyBpXSAhPSBiLnN0cmluZygpW2hvc3RTdGFy
dEIgKyBpXSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKKwogICAgIGlmIChhLnBv
cnQoKSAhPSBiLnBvcnQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRy
dWU7CiB9Ci0gICAgCiAKIFN0cmluZyBlbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKGNvbnN0
IFN0cmluZyYgbm90RW5jb2RlZFN0cmluZykKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vS1VSTEdvb2dsZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCmluZGV4
IDk3NDQ2YmQuLmI4Yjk1NDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2ds
ZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcApAQCAtMTE0NCw4ICsx
MTQ0LDEwIEBAIGJvb2wgcHJvdG9jb2xIb3N0QW5kUG9ydEFyZUVxdWFsKGNvbnN0IEtVUkwmIGEs
IGNvbnN0IEtVUkwmIGIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGludCBob3N0U3Rh
cnRBID0gYS5ob3N0U3RhcnQoKTsKKyAgICBpbnQgbGVuZ3RoSG9zdEEgPSBhLmhvc3RFbmQoKSAt
IGhvc3RTdGFydEE7CiAgICAgaW50IGhvc3RTdGFydEIgPSBiLmhvc3RTdGFydCgpOwotICAgIGlm
IChhLmhvc3RFbmQoKSAtIGhvc3RTdGFydEEgIT0gYi5ob3N0RW5kKCkgLSBob3N0U3RhcnRCKQor
ICAgIGludCBsZW5ndGhIb3N0QiA9IGIuaG9zdEVuZCgpIC0gYi5ob3N0U3RhcnQoKTsKKyAgICBp
ZiAobGVuZ3RoSG9zdEEgIT0gbGVuZ3RoSG9zdEIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIC8vIENoZWNrIHRoZSBzY2hlbWUKQEAgLTExNTQsOCArMTE1Niw4IEBAIGJvb2wgcHJvdG9j
b2xIb3N0QW5kUG9ydEFyZUVxdWFsKGNvbnN0IEtVUkwmIGEsIGNvbnN0IEtVUkwmIGIpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgLy8gQW5kIHRoZSBob3N0Ci0gICAgZm9y
IChpbnQgaSA9IGhvc3RTdGFydEE7IGkgPCBzdGF0aWNfY2FzdDxpbnQ+KGEuaG9zdEVuZCgpKTsg
KytpKQotICAgICAgICBpZiAoYS5zdHJpbmcoKVtpXSAhPSBiLnN0cmluZygpW2ldKQorICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoSG9zdEE7ICsraSkKKyAgICAgICAgaWYgKGEuc3RyaW5n
KClbaG9zdFN0YXJ0QSArIGldICE9IGIuc3RyaW5nKClbaG9zdFN0YXJ0QiArIGldKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIGlmIChhLnBvcnQoKSAhPSBiLnBvcnQoKSkK
</data>
<flag name="review"
          id="37406"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="37407"
          type_id="3"
          status="-"
          setter="jchaffraix"
    />
          </attachment>
      

    </bug>

</bugzilla>