[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:10:25 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit f1174b762622acdc1d00381e5151f8c975292b97
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Nov 9 05:10:57 2003 +0000

            Reviewed by John.
    
            - fixed 3478025 -- links with non-Latin-1 characters in the hostname are not getting IDN-encoded
    
            * kwq/KWQKURL.mm:
            (KURL::parse): Changed existing code to take advantage of the fact that a NUL character
            is classified as a path segment end character.
            (KURL::findHostnameInHierarchicalURL): Don't treat NUL characters as terminating characters
            for hostnames, because QChar::latin1() turns all non-Latin-1 characters into NUL characters.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5431 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index aaedb50..a4b89dd 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -2,6 +2,18 @@
 
         Reviewed by John.
 
+        - fixed 3478025 -- links with non-Latin-1 characters in the hostname are not getting IDN-encoded
+
+        * kwq/KWQKURL.mm:
+        (KURL::parse): Changed existing code to take advantage of the fact that a NUL character
+        is classified as a path segment end character.
+        (KURL::findHostnameInHierarchicalURL): Don't treat NUL characters as terminating characters
+        for hostnames, because QChar::latin1() turns all non-Latin-1 characters into NUL characters.
+
+2003-11-08  Darin Adler  <darin at apple.com>
+
+        Reviewed by John.
+
         - fixed 3477509 -- REGRESSION (112-113): crash in KHTMLPart::processObjectRequest at espn.com, chosun.com
 
         * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest): Use a dynamic_cast to check the type of the
diff --git a/WebCore/kwq/KWQKURL.mm b/WebCore/kwq/KWQKURL.mm
index 26fbc50..db77a97 100644
--- a/WebCore/kwq/KWQKURL.mm
+++ b/WebCore/kwq/KWQKURL.mm
@@ -990,7 +990,7 @@ void KURL::parse(const char *url, const QString *originalString)
 		passwordStart = passwordEnd = userEnd;
 	    }
 	    hostStart = passwordEnd + 1;
-	} else if (url[userEnd] == '\0' || url[userEnd] == '[' || isPathSegmentEndChar(url[userEnd])) {
+	} else if (url[userEnd] == '[' || isPathSegmentEndChar(url[userEnd])) {
 	    // hit the end of the authority, must have been no user
 	    // or looks like an IPv6 hostname
 	    // either way, try to parse it as a hostname
@@ -1038,7 +1038,7 @@ void KURL::parse(const char *url, const QString *originalString)
 	    portStart = portEnd = hostEnd;
 	}
 
-	if (url[portEnd] != '\0' && !isPathSegmentEndChar(url[portEnd])) {
+	if (!isPathSegmentEndChar(url[portEnd])) {
 	    // invalid character
 	    m_isValid = false;
 	    urlString = url;
@@ -1421,7 +1421,7 @@ bool KURL::findHostnameInHierarchicalURL(const QString &s, int &startOffset, int
     int hostnameEnd = length;
     for (int i = authorityStart; i < length; ++i) {
         char c = s[i].latin1();
-        if (c == ':' || isPathSegmentEndChar(c)) {
+        if (c == ':' || (isPathSegmentEndChar(c) && c != '\0')) {
             hostnameEnd = i;
             break;
         }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list