X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetTemplatePage.java;h=5831a1b339a8c0bd7fced073b91b7a9e06ebcd92;hb=ed57f849f204eee0a3074c1acb7c290ef20ada3a;hp=6689d31e738c4aeab484cd100d38de589fa1ff7a;hpb=d0ae5f106a59d7ac808e03287af2e5a33e50ba8b;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java b/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java index 6689d31..5831a1b 100644 --- a/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java +++ b/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java @@ -1,5 +1,5 @@ /* - * shortener - FreenetTemplatePage.java - Copyright © 2010 David Roden + * Sone - FreenetTemplatePage.java - Copyright © 2010 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -109,6 +109,9 @@ public class FreenetTemplatePage implements Page, LinkEnabledCallback { return new RedirectResponse(redirectTarget); } + if (isFullAccessOnly() && !request.getToadletContext().isAllowedFullAccess()) { + return new Response(401, "Not authorized", "text/html", "Not authorized"); + } ToadletContext toadletContext = request.getToadletContext(); if (request.getMethod() == Method.POST) { /* require form password. */ @@ -227,6 +230,17 @@ public class FreenetTemplatePage implements Page, LinkEnabledCallback { return Collections.emptyList(); } + /** + * Returns whether this page should only be allowed for requests from hosts + * with full access. + * + * @return {@code true} if this page should only be allowed for hosts with + * full access, {@code false} to allow this page for any host + */ + protected boolean isFullAccessOnly() { + return false; + } + // // INTERFACE LinkEnabledCallback // @@ -236,7 +250,7 @@ public class FreenetTemplatePage implements Page, LinkEnabledCallback { */ @Override public boolean isEnabled(ToadletContext toadletContext) { - return true; + return !isFullAccessOnly(); } /**