864 Commits

Author SHA1 Message Date
Johannes Meyer
b23cbd796f Raise version to 2.12.1 2023-11-15 12:22:46 +01:00
Yonas Habteab
bcdad8c9b3 MigrationManager: Enhance how pgsql privileges are checked
For mysql it's just enough to check whether the privileges are granted
at database or table label, but for PostgreSQL it's necessary that the
privileges are granted at database and at table level.
2023-10-26 17:07:17 +02:00
Yonas Habteab
a99f685d15 Add missing pgsql USAGE privilege 2023-10-26 17:07:17 +02:00
Johannes Meyer
21d631ad7e Raise version to 2.12.0 2023-09-21 16:35:31 +02:00
Yonas Habteab
c3eef5f607 DbMigrationHook: Pad matching groups to the desired length before using them 2023-09-20 15:35:39 +02:00
Johannes Meyer
9c6d930e17 MigrationManager: Also check table privileges 2023-09-19 14:37:55 +02:00
Yonas Habteab
167ff54947 Enhance logging 2023-09-19 14:37:55 +02:00
Yonas Habteab
47b214ee1b Use PDO::fetchColumn() where applicable 2023-09-19 14:37:55 +02:00
Yonas Habteab
2505e79a2d DbMigration: Check for mysql collation name whether to check 2.11 is migrated 2023-09-19 14:37:55 +02:00
Yonas Habteab
dc738ec4ce DbMigrationHook: Adjust regex pattern & add missing argument docs 2023-09-19 14:37:55 +02:00
Yonas Habteab
96a6321569 DbMigration: Adjust usage of Database::getDb() 2023-09-19 14:37:55 +02:00
Yonas Habteab
fac3855a86 DbMigrationStep: Don't cache sql statements unnecessarily 2023-09-19 14:37:55 +02:00
Yonas Habteab
26cae8b882 Rename MigrationHook -> DbMigrationHook 2023-09-19 14:37:55 +02:00
Yonas Habteab
ce89d4a7cb Rename Common\DbMigration -> DbMigrationStep 2023-09-19 14:37:55 +02:00
Yonas Habteab
2657f032dc Allow to automatically fix missing grants & elevalte database users
Co-authored-by: Johannes Meyer
2023-09-19 14:37:55 +02:00
Yonas Habteab
ac24c6d34b Don't traverse schema query if the last successfully migrated version is found 2023-09-19 14:37:55 +02:00
Yonas Habteab
73b1041816 Fix phpstan claims & php code sniffer errors 2023-09-19 14:37:55 +02:00
Yonas Habteab
13569a34b7 Check explicitly for false before raising an unknown error 2023-09-19 14:37:55 +02:00
Yonas Habteab
4b2784f85e Use Icinga Web as a component name 2023-09-19 14:37:55 +02:00
Yonas Habteab
2944ceaa52 Rename getSchemaQueryFor() & drop $version param 2023-09-19 14:37:55 +02:00
Yonas Habteab
ce012dcdb2 Hook: Don't abort loading remaining hooks due to one broken hook
`Hook::all()` shouldn't abort loading the remaining hooks when one of
the provided hook is broken.
2023-09-19 14:37:55 +02:00
Yonas Habteab
15792fb59a Provide DbMigration hook & register when bootstrapping 2023-09-19 14:37:55 +02:00
Yonas Habteab
81c9e5cfc5 Introduce MigrationManager class 2023-09-19 14:37:55 +02:00
Yonas Habteab
babc59437f Introduce base MigrationHook class & helpers 2023-09-19 14:37:54 +02:00
Eric Lippmann
b693369412 Fix class in Platform::hasOracleSupport() 2023-09-07 08:51:22 +02:00
Johannes Meyer
c027282d8c Test: Load a module's composer autoloader 2023-08-31 10:18:37 +02:00
raviks789
33b6c01fe2 Create fake session to write csp nonces to it
`Csp::createnonces()` writes to a window aware session and hence a fake base session
is created in `BaseTestCase::setUp()` method
2023-08-28 16:56:51 +02:00
Sukhwinder Dhillon
ee9d139a3a PhpDoc: Fix incorrect @param and @return type hints 2023-08-23 10:53:15 +02:00
Sukhwinder Dhillon
a88d0fe348 Web: Method hasAccessToSharedNavigationItem() requires param #2 of type Config 2023-08-23 10:53:14 +02:00
Sukhwinder Dhillon
e3036c41a2 Web: Add $accessibleMenuItems explicitly as non-dynamic property 2023-08-23 10:53:14 +02:00
Sukhwinder Dhillon
391eede52f StderrWriter::log(): Fix Variable '$color' is probably undefined 2023-08-23 10:53:14 +02:00
Sukhwinder Dhillon
8358dc1c5e Hook::has(): Method expects only one parameter 2023-08-23 10:53:14 +02:00
Sukhwinder Dhillon
a0ed272cb8 ApplicationBootstrap: Fix method name case 2023-08-23 10:53:14 +02:00
raviks789
58938f6636 Config: Import exception NotWritableError 2023-08-23 10:53:13 +02:00
raviks789
1b9d977da4 Config: Fix parameter type for $fromDisk of method module() 2023-08-23 10:53:13 +02:00
raviks789
11c7f913c8 Benchmark: Define parameter $what as nullable 2023-08-23 10:53:13 +02:00
raviks789
dd8875f99f ConfigFormEventsHook: Use self to access static property $lastErrors 2023-08-23 10:53:13 +02:00
raviks789
2265b9d27b LegacyWeb: Import Exception class 2023-08-23 10:53:13 +02:00
raviks789
1c0480d484 Module: Use correct name case for Web::getFrontController() method 2023-08-23 10:53:13 +02:00
Alexander A. Klimov
6de4bd6e7e Explicitly add Module#configdir as (non-dynamic) property
W/o this the login page, if on PHP 8.2, says:

Deprecated: Creation of dynamic property Icinga\Application\Modules\Module::$configdir is deprecated in /usr/share/icingaweb2/library/Icinga/Application/Modules/Module.php on line 264

This breaks modules (if any) which use the property and not the getter.
2023-08-23 10:53:13 +02:00
Johannes Meyer
65b3006adf Check if \Throwable instead of \Exception..
..everywhere else...

fixes #5079
2023-08-10 14:12:06 +02:00
raviks789
8a17c56345 Remove requiring vendor dependencies
Also avoid autoloading vendor.
2023-08-09 15:16:16 +02:00
Johannes Meyer
597cb5c94d tests: Use a real app for bootstrapping
Makes the tests less isolated, but streamlines
the autoloading and other stuff in a way that's
more maintainable than before.
2023-07-05 09:24:49 +02:00
Johannes Meyer
e7adc06497 ApplicationBootstrap: Process ICINGAWEB_MODULES_DIR by default 2023-07-04 16:08:41 +02:00
Johannes Meyer
693bed1710 Raise version to 2.11.4 2023-01-26 09:42:18 +01:00
Johannes Meyer
8837fea7a4 Libraries: Only attempt a partial match if the library name contains a slash
fixes #4971
2023-01-12 09:54:42 +01:00
Johannes Meyer
d0a83a646c Release version 2.11.3 2022-12-14 13:21:01 +01:00
Johannes Meyer
6ef968bb96 Raise version to v2.11.2 2022-11-04 12:14:40 +01:00
Johannes Meyer
225d43b45f Release version 2.11.1 2022-07-06 14:48:48 +02:00
Sukhwinder Dhillon
f0f2835708 Module: Don't pass null as param to class_exists() 2022-07-05 15:42:15 +02:00