14188 Commits

Author SHA1 Message Date
Johannes Meyer
e21071ce0f Drop obsolete route references
The related controller action is gone since
b6b5caace373aade21e7a2c7fe24272f05d11dfd
2025-07-08 16:41:18 +02:00
Johannes Meyer
078fdc84ab Manager: Perform module loading asynchronously
So that authentication can suspend it. There are cases,
e.g. cube, where authentication is required in run.php.
During bootstrapping loading modules is mostly required
to load libraries, register routes and hooks. Most of the
time authentication is not required for these, but if
it is, evaluation is now interrupted and continued
after authentication has actually been performed.

I don't see a real risk for any breaking change here,
since authentication happens shortly after. It actually
avoids a breaking change, since without this, cube's
Icinga DB support would break or at least malfunction.

And cube is only a single example.

refs #5265
2025-07-08 16:41:18 +02:00
Johannes Meyer
4ebd1e42e0 Auth: Perform authentication only once and not lazily
Since authentication is now performed even for static
resources, there's no reason anymore to support implicit
authentication. This also limits authentication attempts
to a single one, previously failed attempts were repeated.

Requiring authentication during bootstrapping, i.e. before
authentication has been performed, will now trigger a
deprecation notice.

refs #5265
2025-07-08 16:41:18 +02:00
Johannes Meyer
a28eb4beb8 EmbeddedWeb: Explicitly perform authentication
It is nowadays no exception that stylesheet may be dependent
on who's using the app. So to avoid race conditions like
in #5385 authentication is an explicit step during bootstrap
now.

fixes #5385
2025-07-08 16:39:29 +02:00
Johannes Meyer
dadff36660 Module: Expect user and group backends upon registration
Providing a user or user group backend in configuration.php
now has no effect anymore. They are expected to be announced
in run.php, just like hooks. A warning appears in the log
for cases where a configuration.php still attempts it. Should
help with troubleshooting since it will appear after an error
that a specific backend has not been found.

refs #5265
2025-07-08 16:39:29 +02:00
Johannes Meyer
fff524624e php: Fix workflow 2025-07-08 16:36:03 +02:00
Johannes Meyer
8f518e7bab php: Run on support branches, php84 and phpunit 9.6 2025-07-08 16:20:06 +02:00
Johannes Meyer
092571a17b L10n-update: Use template from github-actions 2025-06-03 16:20:35 +02:00
Florian Strohmaier
d56757f20f menu.less: Make caret appear connected to main viewport 2025-05-15 16:54:45 +02:00
Jan Schuppik
750948a729
Fix: spacing and text-breaking (#5355)
Fix #5244
2025-05-14 15:34:12 +02:00
Johannes Meyer
9a9113bd2b css: Center icons in collapsed menu with and without a scrollbar 2025-05-12 13:57:04 +02:00
Ravi Kumar Kempapura Srinivasa
63a73eab6f
Menu navigation: Improve flyout transition (#5367)
resolves #5160
2025-05-08 16:17:14 +02:00
Johannes Rauh
aa7a60c893 Replace search icon png with fontawesome icon 2025-05-08 08:37:37 +02:00
Sukhwinder Dhillon
0eea5cae51 ServicestatusQuery: Add missing support for relative time filter for (host|service)_last_time_* columns 2025-05-07 10:35:47 +02:00
Jan Schuppik
85621487e8
Fix: split fpm-uri flag in socket and url flag (#5364)
fixes #5249
2025-05-06 11:35:10 +02:00
Alexander Aleksandrovič Klimov
5333f2deb7
Disable deprecation warnings unless ICINGAWEB_ENVIRONMENT is set to "dev" (#5359)
in ApplicationBootstrap#setupErrorHandling(). In webrouter.php disable
them unconditionally (until ApplicationBootstrap#setupErrorHandling())
not to duplicate the check. ApplicationBootstrap#setupErrorHandling())
is called pretty early, so we won't miss much.

fixes #5117

* In addition, this provides #5269 and mitigates #5152 in production
where ICINGAWEB_ENVIRONMENT isn't set.
2025-05-05 17:58:28 +02:00
marianrh
b16cf68c86 Support setting a default comment for acknowledgements 2025-05-05 17:20:58 +02:00
Johannes Meyer
eafb6c95b7 menu: Align badges correctly and ellipsize text again 2025-04-30 16:46:31 +02:00
Johannes Rauh
05f9e7c5ee Show label as navigation flyout header 2025-04-30 15:29:59 +02:00
Johannes Meyer
6c57d32979
Fix menu caret positioning (#5363) 2025-04-30 15:18:14 +02:00
Johannes Meyer
6100281c89 menu: Always align the flyout caret with the menu item 2025-04-30 15:01:56 +02:00
Johannes Meyer
91396aeb73 css: Use a proper height for level 1 menu items
Helps with aligning the flyout caret next
2025-04-30 15:01:56 +02:00
Johannes Meyer
025ae944c5 css: Modernize pseudo element selectors in menu.less 2025-04-30 09:54:49 +02:00
Johannes Meyer
68c97fb6ff
Fix browser timezone information being lost (#5357)
fixes #5209
2025-04-28 16:30:53 +02:00
raviks789
1b363360f6
Add tests for detecting browser timezone name 2025-04-28 16:22:59 +02:00
raviks789
380b3688bd
TimezoneDetect: Verify the timezone name cookie 2025-04-28 15:12:37 +02:00
raviks789
ef4b59123e
timezone.js: Remove unnecessary days parameter in writeCookie method
Since the timezone cookie is not being expired, days parameter is not necessary in writeCookie method.
2025-04-24 10:38:43 +02:00
raviks789
2d265babf7
Fix browser timezone information being lost 2025-04-24 10:23:46 +02:00
Silas
ff04a2ea43
Fix that CSV exports contain empty strings instead of zeros 2025-04-07 13:46:21 +02:00
Johannes Meyer
6c7f1e5466 Dashlet: Properly embed iframe urls
fixes #5346
2025-04-01 11:19:00 +02:00
Johannes Meyer
219b11789b
Release/v2.12.4 (#5345) v2.12.4 2025-03-26 16:42:31 +01:00
Johannes Meyer
41bbf6e35d Update CHANGELOG.md 2025-03-26 16:41:23 +01:00
Johannes Meyer
e98a776509 Raise version to 2.12.4 2025-03-26 16:41:23 +01:00
Johannes Meyer
1ddd04df50 DbUserBackend: Fix broken password hash fetch routine
fixes #5343
2025-03-26 16:40:48 +01:00
Johannes Meyer
15e74ebb0c
Release/v2.12.3 (#5342) v2.12.3 2025-03-26 10:39:37 +01:00
Johannes Meyer
53fa6d57e1 Raise ipl requirement 2025-03-26 10:35:11 +01:00
Johannes Meyer
c07a45096c Update CHANGELOG.md 2025-03-26 10:31:04 +01:00
Johannes Meyer
01fb35dd4a Raise version to 2.12.3 2025-03-26 10:31:04 +01:00
Johannes Meyer
ec40efe157 Only open trusted iframe sources by default
Trusted in this case means, it was Icinga Web that
rendered a link and the user followed it. Whether
a source is trustworthy or not is detected by use
of the user's session id to hash it combined with
the source similar to how CSRF tokens are assembled.
2025-03-26 10:25:31 +01:00
Johannes Meyer
aad020511f js: Only load URLs prefixed by the base URL 2025-03-26 10:25:05 +01:00
Johannes Meyer
484bd26d63 Window: Only accept valid window IDs 2025-03-26 10:24:17 +01:00
Johannes Meyer
2b08d88edf Url: Always compare host and port to identify external urls 2025-03-26 10:23:31 +01:00
Johannes Meyer
191444ccd9 Pdf: Ensure dompdf can create temporary files
This is required since dompdf seems to automatically load
our custom font and complains otherwise.
2025-03-25 13:59:18 +01:00
Johannes Meyer
1a1f96be49 php: Install the same vendor dependencies for all php versions 2025-03-25 13:51:59 +01:00
Sukhwinder Dhillon
f1fe2525bd tabs.less: Don't let icinga-loader element overlap the dropdown nav 2025-03-20 17:48:37 +01:00
Johannes Meyer
d56d10c712 monitoring: Use the (new) icon for the reporting section
The same that the reporting module is using now
2025-03-20 16:58:45 +01:00
Markus Opolka
6c8453062f Fix doc module markdown table rows in light mode
- Replaced the gradient mixin with a simple color
  for odd rows. This fixes and markdown table rows
  in light mode and - since there are very gradients
  in general - it makes the overall look more uniform.

See https://github.com/Icinga/icingaweb2/issues/5320
2025-03-20 16:39:13 +01:00
Johannes Meyer
db851bbe33 Don't mention Twitter anymore, it's gone now for good 2025-03-20 16:36:52 +01:00
Johannes Meyer
d86ede517f
Fix case sensitive authentication with postgres (#5338)
fixes #5223
2025-03-20 16:34:30 +01:00
Johannes Meyer
92dad17a2b DbUserGroupBackend: Match memberships case-insensitive on pgsql 2025-03-20 16:24:21 +01:00