Skip to content

Conversation

@ganesh-at-wiw
Copy link
Contributor

@ganesh-at-wiw ganesh-at-wiw commented Jan 8, 2026

Prepare


Description

Target issue

closes #issue-number-here

Implementation Details


Test and Document the changes

  • Static code analysis has been run locally and issues have been fixed
  • Relevant unit and integration tests have been added/updated
  • Relevant documentation has been updated if any (i.e. user guides, installation and configuration guides, technical design docs etc)

Please check the below before submitting your PR. The PR will not be merged if there are no commits that start with docs: to indicate documentation changes or if the below checklist is not selected.

  • I confirm that there is no impact on the docs due to the code changes in this PR.

Closes #12963,

Summary by CodeRabbit

  • Chores
    • Modernized Apache HTTP server configuration by updating access control directives across service endpoints.
    • Removed legacy Internet Explorer compatibility settings.
    • Streamlined security header configuration for improved maintainability.

✏️ Tip: You can customize this high-level summary in your review settings.

@mo-auto
Copy link
Member

mo-auto commented Jan 8, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 8, 2026

📝 Walkthrough

Walkthrough

Removed obsolete Apache directives and updated legacy access control syntax to "Require all granted" in the HTTPS Apache template.

Changes

Cohort / File(s) Summary
Apache HTTPS template (headers & browser workarounds)
jans-linux-setup/jans_setup/templates/apache/https_jans.conf
Removed Header always set X-Xss-Protection "1; mode=block" and SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0.
Apache HTTPS template (access control modernization)
jans-linux-setup/jans_setup/templates/apache/https_jans.conf
Replaced legacy Order deny,allow / Allow from all with Require all granted in <Proxy *> and <Location> blocks for /jans-scim, /jans-fido2, /jans-auth, /jans-config-api, /jans-casa, and /kc.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related issues

Suggested labels

comp-jans-casa

🚥 Pre-merge checks | ✅ 2 | ❌ 3
❌ Failed checks (1 warning, 2 inconclusive)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description uses a placeholder target issue reference ('closes #issue-number-here') with no actual issue link, and the Implementation Details section is empty. Update the description to properly reference issue #12963 and provide implementation details explaining why these directives were removed and what they were replaced with.
Title check ❓ Inconclusive The title 'ci: removed obsolete directives...' is vague and generic; it uses ellipsis instead of specifying which directives or explaining the scope of changes. Replace with a more specific title that describes the actual changes, such as 'fix: update Apache configuration to use modern access control directives' or similar.
Linked Issues check ❓ Inconclusive The linked issue #12963 is an auto-created placeholder with no substantive requirements, objectives, or scope description to validate against. Provide a properly documented issue with clear requirements, objectives, and acceptance criteria that the code changes can be validated against.
✅ Passed checks (2 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed All changes in the PR are scoped to updating the Apache configuration file to modernize access control directives; no unrelated modifications detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@mo-auto
Copy link
Member

mo-auto commented Jan 8, 2026

Error: Hi @ganesh-at-wiw, You did not reference an open issue in your PR. I attempted to create an issue for you.
Please update that issues' title and body and make sure I correctly referenced it in the above PRs body.

@mo-auto mo-auto added area-CI Issue or changes required in automatic builds or CI infrastructure comp-jans-linux-setup Component affected by issue or PR labels Jan 8, 2026
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
jans-linux-setup/jans_setup/templates/apache/https_jans.conf (1)

90-97: This LocationMatch is allowed by VirtualHost-level access control; clarify whether explicit Require is needed for consistency.

The <LocationMatch /jans-auth/auth/cert/cert-login.htm> block doesn't have an explicit Require directive, unlike all other <Location> blocks in the configuration. However, the VirtualHost *:443 block has Require all granted at the top level, which applies to all nested locations by inheritance—so access is permitted.

Since all sibling Location blocks explicitly declare Require all granted, consider either:

  • Adding Require all granted here as well for consistency, or
  • Documenting why this LocationMatch intentionally relies on VirtualHost-level access control while Java-level authentication (via CertService) handles the actual certificate validation and authorization.
🤖 Fix all issues with AI agents
In @jans-linux-setup/jans_setup/templates/apache/https_jans.conf:
- Line 56: Several "Require all granted" directives are indented with tabs while
the rest of the file uses spaces; replace the leading tab characters before each
"Require all granted" (the occurrences of the directive) with the same number of
spaces used by surrounding blocks so indentation matches the file's existing
style (apply the same change to all instances including the ones noted in the
review).
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 75fa989 and 4f91ec9.

📒 Files selected for processing (1)
  • jans-linux-setup/jans_setup/templates/apache/https_jans.conf
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: jgomer2001
Repo: JanssenProject/jans PR: 12927
File: jans-casa/plugins/cert-authn/apache/certauthn_vhost_tls1.3.conf:0-0
Timestamp: 2025-12-31T16:10:36.685Z
Learning: For the cert-authn plugin in jans-casa, Apache configuration templates (such as certauthn_vhost_tls1.3.conf) are documented in the plugin documentation page rather than with inline comments in the configuration files themselves.
📚 Learning: 2025-12-31T16:10:36.685Z
Learnt from: jgomer2001
Repo: JanssenProject/jans PR: 12927
File: jans-casa/plugins/cert-authn/apache/certauthn_vhost_tls1.3.conf:0-0
Timestamp: 2025-12-31T16:10:36.685Z
Learning: For the cert-authn plugin in jans-casa, Apache configuration templates (such as certauthn_vhost_tls1.3.conf) are documented in the plugin documentation page rather than with inline comments in the configuration files themselves.

Applied to files:

  • jans-linux-setup/jans_setup/templates/apache/https_jans.conf
🔇 Additional comments (2)
jans-linux-setup/jans_setup/templates/apache/https_jans.conf (2)

54-57: LGTM: Access control modernization is correct.

The update from legacy Order deny,allow / Allow from all syntax to Require all granted is the correct approach for Apache 2.4+. All proxy and location blocks are consistently updated, which is appropriate for a reverse proxy configuration where authentication and authorization are handled by the backend services.

Also applies to: 59-63, 65-69, 71-76, 78-82, 84-88, 99-102


27-32: Approve removal of obsolete security directives.

The removal of the X-Xss-Protection header and the SetEnvIf User-Agent workaround for MSIE are appropriate modernization steps. The X-XSS-Protection header is deprecated by OWASP, MDN, and Mozilla standards in favor of Content-Security-Policy, and the MSIE workaround is obsolete since Internet Explorer is no longer supported. The existing security headers (X-Content-Type-Options, HSTS) and CSP infrastructure remain appropriate.

Before merging, verify that:

  1. Your security policy or documentation doesn't explicitly require the X-XSS-Protection header
  2. No legacy clients depend on the MSIE workaround

Copy link
Contributor

@jgomer2001 jgomer2001 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand why Require replaces the existing Order/Allow. Those are unrelated afaik

ganesh-at-wiw and others added 2 commits January 21, 2026 16:24
Update https_jans.conf

Fixed indentation

Signed-off-by: Ganesh Dutt Sharma <ganesh@gluu.org>
@sonarqubecloud
Copy link

@sonarqubecloud
Copy link

@sonarqubecloud
Copy link

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
jans-linux-setup/jans_setup/templates/apache/https_jans.conf (1)

17-18: Consider adding TLS 1.3 support, with deployment considerations.

The current configuration supports TLS 1.2 only. TLS 1.3 offers improved performance and security, but requires Apache 2.4.38+ with OpenSSL 1.1.1+ or newer. Before adding it, verify your target deployment environments support these versions.

-    SSLProtocol -all +TLSv1.2
+    SSLProtocol -all +TLSv1.2 +TLSv1.3

This is optional and depends on your minimum supported server versions across deployment targets.

@sonarqubecloud
Copy link

@sonarqubecloud
Copy link

@sonarqubecloud
Copy link

@sonarqubecloud
Copy link

@sonarqubecloud
Copy link

Quality Gate Passed Quality Gate passed for 'Jans authentication server parent'

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarQube Cloud

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-CI Issue or changes required in automatic builds or CI infrastructure comp-jans-linux-setup Component affected by issue or PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: ci: removed obsolete directives... -autocreated

5 participants