From fc78fdee9b7a95a6791d23575907cb3389363087 Mon Sep 17 00:00:00 2001 From: Daniel Beck Date: Sun, 7 Sep 2014 18:46:49 +0200 Subject: [PATCH] [FIXED JENKINS-21881] System property for disabling X-Frame-Options --- .../security/FrameOptionsPageDecorator.java | 17 +++++++++++++++++ .../FrameOptionsPageDecorator/httpHeaders.jelly | 6 ++++++ core/src/main/resources/lib/layout/layout.jelly | 1 - 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 core/src/main/java/jenkins/security/FrameOptionsPageDecorator.java create mode 100644 core/src/main/resources/jenkins/security/FrameOptionsPageDecorator/httpHeaders.jelly diff --git a/core/src/main/java/jenkins/security/FrameOptionsPageDecorator.java b/core/src/main/java/jenkins/security/FrameOptionsPageDecorator.java new file mode 100644 index 0000000000..5de081874c --- /dev/null +++ b/core/src/main/java/jenkins/security/FrameOptionsPageDecorator.java @@ -0,0 +1,17 @@ +package jenkins.security; + +import hudson.Extension; +import hudson.model.PageDecorator; +import org.kohsuke.accmod.Restricted; +import org.kohsuke.accmod.restrictions.NoExternalUse; + +/** + * Adds the 'X-Frame-Options' header to all web pages. + * + * @since TODO + */ +@Extension(ordinal = 1000) +public class FrameOptionsPageDecorator extends PageDecorator { + @Restricted(NoExternalUse.class) + public static boolean enabled = Boolean.valueOf(System.getProperty(FrameOptionsPageDecorator.class.getName() + ".enabled", "true")); +} diff --git a/core/src/main/resources/jenkins/security/FrameOptionsPageDecorator/httpHeaders.jelly b/core/src/main/resources/jenkins/security/FrameOptionsPageDecorator/httpHeaders.jelly new file mode 100644 index 0000000000..d865f88f51 --- /dev/null +++ b/core/src/main/resources/jenkins/security/FrameOptionsPageDecorator/httpHeaders.jelly @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/core/src/main/resources/lib/layout/layout.jelly b/core/src/main/resources/lib/layout/layout.jelly index c0cf630a36..a1b4dfafb7 100644 --- a/core/src/main/resources/lib/layout/layout.jelly +++ b/core/src/main/resources/lib/layout/layout.jelly @@ -56,7 +56,6 @@ THE SOFTWARE. -