-
Notifications
You must be signed in to change notification settings - Fork 700
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: simplesamlphp/simplesamlphp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.4.5
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: simplesamlphp/simplesamlphp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.4.6
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 10 commits
- 17 files changed
- 3 contributors
Commits on Apr 2, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 48e6db7 - Browse repository at this point
Copy the full SHA 48e6db7View commit details
Commits on May 21, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 68d8a1b - Browse repository at this point
Copy the full SHA 68d8a1bView commit details
Commits on May 29, 2026
-
HTTP: have getServerHTTPS() honor https baseurlpath when $_SERVER['HT…
…TPS'] is absent (#2638) * HTTP: have getServerHTTPS() honor https baseurlpath when $_SERVER['HTTPS'] is absent When SimpleSAMLphp is invoked from an external script (e.g. via \SimpleSAML\Auth\Simple from a host application's controller) behind a TLS-terminating upstream proxy, $_SERVER['HTTPS'] is absent in PHP -- nginx's stock fastcgi_params ships `fastcgi_param HTTPS $https if_not_empty;`, and $https is empty when nginx itself receives a plain HTTP connection from the upstream proxy. In that topology getServerHTTPS() returns false for what is actually an HTTPS request, which cascades through five callers -- most visibly via Session::getSessionFromRequest() throwing CriticalConfigurationError ('Setting secure cookie on plain HTTP') from the secure-cookie check. The maintainer-prescribed workaround for reverse-proxy deployments (see PRs #795, #376, #324, #491) is to set baseurlpath to a full URL. That works for Utils\HTTP::getBaseURL()'s full-URL branch but is silently ignored by getServerHTTPS() and its four downstream callers. This change has getServerHTTPS() consult the admin-set baseurlpath as a secondary signal -- but only when: (a) $_SERVER['HTTPS'] is COMPLETELY ABSENT (preserves explicit 'off') (b) baseurlpath is a full https:// URL (c) baseurlpath's host exactly matches the current request's host (case-insensitive) No client-controlled header (X-Forwarded-Proto etc.) is read at any point -- consistent with the maintainer position taken in PRs #795, Adds 8 PHPUnit tests covering: the bug demonstration, the host-match guard, the HTTPS=on short-circuit, explicit HTTPS=off preservation, case-insensitive host comparison, host-with-port in the request, relative-path baseurlpath rejection, and http:// baseurlpath rejection. Verified against upstream master: 880 -> 888 tests, 0 regressions. * tests: fix PSR-12 spacing (2 blank lines after methods) PHPCS reported 8 violations from PR #2638 — 7x 'Expected 2 blank lines after method, found 1' and 1x 'closing brace for the class must go on the next line after the body'. Auto-fixed by phpcbf. No behavioral change; all 888 unit tests still pass. * HTTP: drop defensive try/catch around Configuration::getInstance() `getBaseURL()` (same file) calls `Configuration::getInstance()` without a try/catch; the new `getServerHTTPS()` fallback should follow the same pattern for consistency. The catch's `return false` was untested (would require Configuration to throw, which it doesn't in normal operation) — codecov flagged it as the 1 line of missing patch coverage on PR #2638. * HTTP: add debug logging to getServerHTTPS() baseurlpath fallback Per review feedback (@thijskh): when $_SERVER['HTTPS'] is absent and getServerHTTPS() falls back to the baseurlpath check, log a debug-level line explaining which variable drove the HTTPS-or-not conclusion, so deployers who don't get the URL they expect can diagnose it. Three distinct debug lines cover the three fallback outcomes: - baseurlpath host matches current host -> treated as HTTPS - baseurlpath host does NOT match -> not HTTPS (names both hosts) - baseurlpath is not a full https:// URL -> not HTTPS, with a hint to set baseurlpath/application.baseURL for upstream-TLS-terminating deployments Logging is confined to the new fallback branch; the pre-existing $_SERVER['HTTPS'] cases are unchanged and unlogged to avoid noise on the common path. All three lines are exercised by existing tests.
Configuration menu - View commit details
-
Copy full SHA for 3c32925 - Browse repository at this point
Copy the full SHA 3c32925View commit details -
Configuration menu - View commit details
-
Copy full SHA for ea30ba1 - Browse repository at this point
Copy the full SHA ea30ba1View commit details -
Configuration menu - View commit details
-
Copy full SHA for bc15b40 - Browse repository at this point
Copy the full SHA bc15b40View commit details -
Configuration menu - View commit details
-
Copy full SHA for 10d3dfc - Browse repository at this point
Copy the full SHA 10d3dfcView commit details -
Configuration menu - View commit details
-
Copy full SHA for ba107df - Browse repository at this point
Copy the full SHA ba107dfView commit details -
* Reject ExpectedIssuer mismatches for SP-initiated flows.Solicited and unsolicited responses. SAML2INT “Response MUST be signed” feature flag code sniffer fixes phstan issues fixed * Refactor SAML validation to throw on invalid SubjectConfirmation, update tests, and switch error strings to sprintf * Load SAML2Int policy from saml2int.conf.php.dist instead of config.php * Add documentation for the saml2int config file
Configuration menu - View commit details
-
Copy full SHA for 51b678c - Browse repository at this point
Copy the full SHA 51b678cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 538ede7 - Browse repository at this point
Copy the full SHA 538ede7View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac2dd03 - Browse repository at this point
Copy the full SHA ac2dd03View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v2.4.5...v2.4.6