diff --git a/src/allmydata/test/test_web.py b/src/allmydata/test/test_web.py index f90cb6dad..b6182949a 100644 --- a/src/allmydata/test/test_web.py +++ b/src/allmydata/test/test_web.py @@ -373,6 +373,11 @@ class Web(unittest.TestCase): d.addCallback(self.failUnlessIsBarDotTxt) return d + def test_GET_FILEURL_download(self): # YES + d = self.GET("/vdrive/global/foo/bar.txt?t=download") + d.addCallback(self.failUnlessIsBarDotTxt) + return d + def test_GET_FILEURL_missing(self): # YES d = self.GET("/vdrive/global/foo/missing") d.addBoth(self.should404, "test_GET_FILEURL_missing") @@ -697,6 +702,18 @@ class Web(unittest.TestCase): d.addCallback(_check) return d + def test_GET_DIRURL_localdir_nonabsolute(self): # YES + localdir = "web/nonabsolute/dirpath" + fileutil.make_dirs("web/nonabsolute") + d = self.GET("/vdrive/global/foo?t=download&localdir=%s" % localdir) + d.addBoth(self.shouldFail, error.Error, "localdir non-absolute", + "403 Forbidden", + "localfile= or localdir= requires an absolute path") + def _check(res): + self.failIf(os.path.exists(localdir)) + d.addCallback(_check) + return d + def touch(self, localdir, filename): path = os.path.join(localdir, filename) f = open(path, "w") diff --git a/src/allmydata/webish.py b/src/allmydata/webish.py index 0dee3288f..f8712cd4c 100644 --- a/src/allmydata/webish.py +++ b/src/allmydata/webish.py @@ -275,9 +275,6 @@ LOCALHOST = "127.0.0.1" class NeedLocalhostError: implements(inevow.IResource) - def locateChild(self, ctx, segments): - return rend.NotFound - def renderHTTP(self, ctx): req = inevow.IRequest(ctx) req.setResponseCode(http.FORBIDDEN) @@ -287,9 +284,6 @@ class NeedLocalhostError: class NeedAbsolutePathError: implements(inevow.IResource) - def locateChild(self, ctx, segments): - return rend.NotFound - def renderHTTP(self, ctx): req = inevow.IRequest(ctx) req.setResponseCode(http.FORBIDDEN)