Hello!

The attached program could eventually become part of the test-suite.
Currently it shows quite different results for JDK and kaffe.

$ kaffe badURL
file:abc
http://www.kaffe.org/
file:/etc/passwd
file:/etc/passwd/
bad
ftp://sunsite.unc.edu/pub/
file://sunsite.unc.edu/pub/
file:/etc/passwd/
bad
http://intranetserver
http://intranet-server
http://intranet-server/~onick
ftp://onick@intranet-server/public-html
http:/www.kaffe.org/
http:/www.kaffe.org/

$ /usr/local/java/bin/java badURL
bad
http://www.kaffe.org/
bad
bad
gopher://gopher.ibm.com/
ftp://sunsite.unc.edu/pub/
file://sunsite.unc.edu/pub/
file:/etc/passwd/
bad
http://intranetserver/
http://intranet-server/
http://intranet-server/~onick
ftp://onick@intranet-server/public-html
http:/www.kaffe.org/
http:/www.kaffe.org/

Pavel Roskin
import java.net.URL;
import java.net.MalformedURLException;

class badURL
{

public static void main (String[] argv)
{
        URL url;
        String urls;
        String[] patterns = {
                "abc",
                "http://www.kaffe.org/",
                "/etc/passwd",
                "/etc/passwd/",
                "gopher://gopher.ibm.com/",
                "ftp://sunsite.unc.edu/pub/",
                "file://sunsite.unc.edu/pub/",
                "file:/etc/passwd/",
                "foo:/dev/null",
                "http://intranetserver",
                "http://intranet-server",
                "http://intranet-server/~onick",
                "ftp://onick@intranet-server/public-html",
                "http:/www.kaffe.org/",
                "http:///www.kaffe.org/",
                null
        };

        for (int i = 0; patterns[i] != null; i++) {
                try {
                        url = new URL(patterns[i]);
                        urls = url.toString();
                } catch (MalformedURLException e) {
                        urls = "bad";
                }
                System.out.println(urls);
        }

}

}

Reply via email to