Commit Graph

1515 Commits

Author SHA1 Message Date
Johannes Meyer 5a169ee656 Fix "PreservingIniWriter not found"
The class was renamed a few commits ago to "IniWriter"
2014-11-04 14:35:57 +01:00
Johannes Meyer 170ded6510 Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	library/Icinga/Authentication/Backend/LdapUserBackend.php
	library/Icinga/File/Ini/IniWriter.php
2014-11-04 14:22:53 +01:00
Johannes Meyer 581935c26f Fix database setup and add support for the new schema
refs #7163
2014-11-04 13:51:15 +01:00
Johannes Meyer 805cb9f079 Do not report whether files were skipped because they already exist
I've removed the summary earlier as a user does not configure this in any
way so it's not necessary to show him what should had happened to files
as well.

refs #7163
2014-11-04 13:47:37 +01:00
Eric Lippmann 45d3005f3c Throw exceptions on PHP warnings
Sometimes we miss PHP warnings because our layout overlays them.
2014-11-04 13:20:41 +01:00
Johannes Meyer 8913bf53c9 Fix salt extraction 2014-11-04 13:03:36 +01:00
Johannes Meyer 99277383b9 Fix retrieving a user's data from the database 2014-11-04 13:03:12 +01:00
Johannes Meyer cad8f7538e Leave it up to the database to decide what is the current time 2014-11-04 12:42:39 +01:00
Matthias Jentsch f9fee2df70 Do not interrupt authentication chain on invalid ldap connection infos
Catch LdapExceptions and throw AuthenticationException to not interrupt authentication chain

fixes #7497
2014-11-04 12:35:41 +01:00
Eric Lippmann b38e3affb9 Move INI writer classes to the File namespace
fixes #7150
2014-10-31 10:54:53 +01:00
Eric Lippmann 16352fc10c Move Logger to the Application namespace
fixes #7148
2014-10-31 10:27:17 +01:00
Johannes Meyer 4f1e1ddb6f Adjust the DbUserBackend to reflect the new database schema 2014-10-30 15:40:07 +01:00
Johannes Meyer 538bc8aec8 Drop unused method parameter in DbTool::checkPrivileges 2014-10-30 15:08:04 +01:00
Johannes Meyer 521a36e0af Fix method documentation of DbTool::checkPgsqlPriv() 2014-10-30 15:07:33 +01:00
Johannes Meyer e58520c3e6 Drop irritating and redundant docblock warning 2014-10-30 15:06:57 +01:00
Johannes Meyer 1bd1b58d46 Drop unused use statement 2014-10-30 15:06:14 +01:00
Johannes Meyer c1bff9a26e Merge branch 'master' into feature/setup-wizard-7163 2014-10-30 10:38:21 +01:00
Johannes Meyer 9365e3ca94 Remove the setup token from disk upon completion of the wizard
refs #7163
2014-10-30 10:36:02 +01:00
Johannes Meyer ec47f6bdb3 Create permissions.ini when defining the initial administrator
refs #7163
2014-10-30 09:53:58 +01:00
Eric Lippmann 1b83ec3ce2 Preferences: Fix saving preferences when using a database store
Our DbSelect::where() is not (or no longer?) compatible w/ Zend_Db_Select::where().
DbStore::load() now uses Zend_Db_Select but we should definitely think about our
DbSelect::where() implementation.

fixes #7353
2014-10-30 09:49:21 +01:00
Eric Lippmann 39729c9580 Logger: Fix level comparison 2014-10-29 16:51:17 +01:00
Johannes Meyer 504853961b Add temporary requirement for the DOM php module
Should be removed once dompdf isn't shipped with Icinga Web 2 anymore

refs #7163
refs #6172
2014-10-29 16:25:25 +01:00
Johannes Meyer c8e323e8a7 Improve requirment checks
refs #7163
2014-10-29 16:24:31 +01:00
Johannes Meyer 4d8842db09 Return a dummy PHP username in case the POSIX module is not available 2014-10-29 16:22:41 +01:00
Johannes Meyer 81e06fe570 Do not show a requirement for Zend_Db_Adaper_*
refs #7163
refs #7464
2014-10-29 15:49:14 +01:00
Johannes Meyer 9cd4aeec06 Fix MySQL login creation in DbTool::addLogin()
refs #7163
2014-10-29 15:45:57 +01:00
Johannes Meyer 33a64eb55a Do not throw an exception in DbTool due to an implementation detail
Throwing exceptions due to failing logic which is purely an implementation
detail must not affect the calling code in any way.

refs #7163
2014-10-29 15:45:26 +01:00
Johannes Meyer 47d9426a1f Use a hardcoded path where to look for modules
refs #7163
2014-10-29 15:43:08 +01:00
Johannes Meyer ec6948dddf Fix that the ModulePage does not provide a wizard's requirement info
refs #7163
2014-10-29 11:38:21 +01:00
Johannes Meyer 32006420c5 Fix WelcomePage
There were some grammar- and layout-errors
as well as information missing :(
2014-10-29 11:36:03 +01:00
Johannes Meyer 6a3244d8df Do not show a summary for the MakeDirStep
The user does not configure anything this step will process so there is no
need to show the user a summary about something he can't control.

refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer 83cfcef85c Add EnableModuleStep
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer 3c438d9221 Allow install steps to return no summary
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer dbf5512252 Drop Icinga\Application\Installation and introduce Icinga\Installation
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer a899070606 Move MakeDirStep to Icinga\Web\Setup
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer dd6b045183 Fix that the ModulePage cant find modules when being asked for
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer 98acc24869 Create configuration sub directories as part of the setup wizard
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer 1fd4a301c4 Pass the wizard title to the summary page to be able to reuse the page
Module wizards can now use the SummaryPage as well if they want to.

refs #7163
2014-10-29 08:38:58 +01:00
Johannes Meyer 3206ded18c Pass the entire page data to the ModulePage
As module wizards might require some configuration values aggregated by
the main application wizard we pass the entire page data to each wizard as
if the data were aggregated by a module wizard itself.

refs #7163
2014-10-29 08:38:58 +01:00
Matthias Jentsch 2e8c0cffe6 Check privileges of database user accounts before continuing with the setup
Implement owner and privilege checks for postgresql, and fix some errors in
existing MySQL privilege checks.

resolves #7389
2014-10-27 15:08:52 +01:00
Johannes Meyer 2f83976f50 Add ModulePage
refs #7163
2014-10-24 17:10:17 +02:00
Johannes Meyer 851682cf18 Make page count assertion more sensitive
refs #7163
2014-10-24 14:06:31 +02:00
Johannes Meyer 1bd5868a88 Fix access of an array key which does not exist in some circumstances
refs #7163
2014-10-24 13:57:30 +02:00
Johannes Meyer 03bbc2e2e6 Use a dedicated method to clear a wizard's session
Simplifies session removal in case a sub-class of Icinga\Web\Wizard
requires special session handling

refs #7163
2014-10-24 13:55:41 +02:00
Johannes Meyer a8dd9c933d Add the possibility for modules to provide a setup wizard
refs #7163
2014-10-24 13:52:26 +02:00
Johannes Meyer 64e6886c9c Make it possible to pass the module paths directly to the module manager 2014-10-24 13:51:23 +02:00
Johannes Meyer d90d6fe6a9 Improve summary page layout a bit
refs #7163
2014-10-23 15:16:25 +02:00
Johannes Meyer a6cbde54c5 Move summary HTML generation from the view script to each install step
refs #7163
2014-10-23 15:15:59 +02:00
Johannes Meyer 216c072024 Implement installation routines modularly
This allows us to "merge" module installation
routines with our main installer routines.

refs #7163
2014-10-23 11:41:16 +02:00
Eric Lippmann f44b0525d8 logging: Fix that setting a numeric log level is flawed 2014-10-23 03:50:03 +02:00
Eric Lippmann f68c591a46 LDAP Auth: Make group loading really optional
fixes #7432
2014-10-23 03:50:03 +02:00
Johannes Meyer f5c4708ae2 Add a default file mode for new configuration files
The file mode which can be configured in the general configuration is now
used when creating new configuration files with the PreservingIniWriter.
2014-10-21 17:02:21 +02:00
Johannes Meyer a5b10235d2 Add more detail to error messages when token validation fails
refs #7163
fixes #7410
2014-10-21 16:10:21 +02:00
Johannes Meyer 8c62c66a4e Make regular expression pattern in autologin backend being fully optional 2014-10-20 15:14:14 +02:00
Eric Lippmann 424cee6b4a Auth: Load user groups using the new user group backends 2014-10-20 13:43:40 +02:00
Eric Lippmann 2b67683e00 DbConnection::__construct(): Set prefix if configured 2014-10-20 13:43:03 +02:00
Eric Lippmann aa56f3010c lib: Add DbUserGroupBackend 2014-10-20 13:42:33 +02:00
Eric Lippmann d170cf0c9d lib: Replace Membership with IniUserGroupBackend 2014-10-20 13:42:15 +02:00
Eric Lippmann d1228deef2 lib: Add UserGroupBackend as base class and factory for user group backends 2014-10-20 13:41:33 +02:00
Eric Lippmann 79ade944de Resources: Support type 'ini' yet only in the resources.ini
Configuring the resource type 'ini' via the web interface is not yet possible.
2014-10-20 13:40:35 +02:00
Eric Lippmann cee261bf7e Use lowercase username and user groups for loading user permissions and restrictions 2014-10-20 13:36:37 +02:00
Johannes Meyer e72f2cac24 Fix that page information gets deleted when navigating back
refs #7163
2014-10-17 15:42:06 +02:00
Johannes Meyer 24b6274f01 Fix logging configuration installation
refs #7163
refs #6933
2014-10-17 13:05:56 +02:00
Johannes Meyer 9f127be1dc Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	application/forms/Config/General/LoggingConfigForm.php
2014-10-17 13:04:59 +02:00
Johannes Meyer a54c81b2a7 Adjust button labels only in WebSetup::addButtons(), not in view scripts
refs #7163
2014-10-17 11:20:20 +02:00
Eric Lippmann 6c59c22044 Bootstrap: Remove logging configuration directives which do not override defaults 2014-10-16 15:59:56 +02:00
Eric Lippmann 6dfefb0e73 CLI: Fix logging setup 2014-10-16 15:59:35 +02:00
Eric Lippmann d2d653209f Logger/SyslogWriter: Define configuration defaults here
Usage of closelog() is optional so I removed the explicit calls.
2014-10-16 15:56:38 +02:00
Eric Lippmann 04a8df54cd Logger/FileWriter: Rename 'target' directive to 'file' 2014-10-16 15:55:24 +02:00
Eric Lippmann 97677ee2c1 Fix our Logger not supporting named logging levels and requiring the 'enabled' directive 2014-10-16 15:54:13 +02:00
Eric Lippmann 985154d3d8 Throw an ErrorException on E_STRICT errors 2014-10-16 15:51:18 +02:00
Eric Lippmann a2772a17a7 File: Fix ErrorException::__construct()'s parameters 2014-10-16 15:47:50 +02:00
Johannes Meyer d73423ceee Style summary page
Dropped also the layout logic as it was too generic.

refs #7163
2014-10-16 14:52:26 +02:00
Johannes Meyer d1ea7e87a2 Improve form styling slightly 2014-10-15 15:46:07 +02:00
Johannes Meyer 38ee467603 Fix that the session is written too early when post-dispatching 2014-10-15 13:15:30 +02:00
Johannes Meyer 2c09ca1623 Fix that retrieving notifications causes them to be dropped entirely
I've broke this when doing some improvements while being
brainless, obviously.
2014-10-15 13:14:51 +02:00
Johannes Meyer 5d44a005a0 Fix that notifications are not registered 2014-10-15 13:02:56 +02:00
Johannes Meyer 45e179d939 Fix that `type' is missing for installed ldap authentication backends
refs #7163
2014-10-15 10:44:08 +02:00
Matthias Jentsch 937dbe2c15 Add missing close buttons to views without tabs 2014-10-14 17:54:52 +02:00
Matthias Jentsch 9a9aa84e23 Respect base_dn in LdapUserBackend 2014-10-14 14:37:21 +02:00
Johannes Meyer b5798331db Wrap form notifications in <p> by default, not <div> 2014-10-13 09:41:36 +02:00
Johannes Meyer 13678bb33e Add useful @todo hint
refs #7163
2014-10-13 09:35:00 +02:00
Johannes Meyer 52016d81b9 Consider `root_dn' and `base_dn' when installing config files
refs #7163
2014-10-13 09:34:22 +02:00
Johannes Meyer 437b41c6c1 Merge branch 'master' into feature/setup-wizard-7163 2014-10-13 08:18:43 +02:00
Johannes Meyer ca6eca6b67 Quote database names, usernames and passwords when setting up the db
refs #7163
2014-10-09 16:02:18 +02:00
Johannes Meyer 78b130a4f3 Fix that the LDAP discovery page is shown for non-LDAP authentication
refs #7163
2014-10-09 15:05:21 +02:00
Johannes Meyer c3404fdc67 Support prepared statements in DbTool::exec and DbTool::query
refs #7163
2014-10-09 15:03:51 +02:00
Johannes Meyer f8f27e046d Ensure that we advance a wizard when pushing ENTER
refs #7163
2014-10-09 13:41:06 +02:00
Johannes Meyer 169a646a1a Fix that LDAP discovery suggestions are not populated
I've broke this when re-commiting the changes made by Matthias and fixed
this by populating dependent pages directly in WebSetup::setupPage.

refs #7163
2014-10-09 10:47:45 +02:00
Matthias Jentsch e29a568bff Add LDAP discovery pages
refs #7163
2014-10-09 10:20:07 +02:00
Matthias Jentsch df69fd2264 Make Dns::getSrvRecors being more generic
The `target' property of a returned service record is too specific and causes
other properties being ignored.
2014-10-09 10:19:21 +02:00
Matthias Jentsch dd21b7b5d1 Make sure that we work only with arrays when handling LDAP groups 2014-10-09 10:14:42 +02:00
Matthias Jentsch 04e83a53c5 Add `base_dn' directive to LDAP backend config 2014-10-09 10:10:09 +02:00
Eric Lippmann cc61dc2b01 Form: Don't override Zend_Form::setDefaults()
fixes #7315
2014-10-08 17:43:28 +02:00
Johannes Meyer 1cbe2451a8 Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	application/forms/Config/Resource/StatusdatResourceForm.php
2014-10-08 16:34:31 +02:00
Johannes Meyer 7c202dd8fa Improve the db-summary text and db-creation/-resource step handling
refs #7163
2014-10-08 15:36:26 +02:00
Johannes Meyer 8fa8642917 Do not show the db-creation step when the db-resource step was skipped
refs #7163
2014-10-08 15:35:12 +02:00
Johannes Meyer 89ae05899b Query a particular login name and create database logins using the DbTool
refs #7163
2014-10-08 15:33:51 +02:00
Johannes Meyer 96ba45d896 Convert password salt to ASCII to avoid encoding issues with PostgreSQL 2014-10-08 15:26:42 +02:00
Alexander Fuhr 4c23d98575 Merge branch 'master' into bugfix/monitoring-list-dup-entries-7057 2014-10-08 12:45:14 +02:00
Alexander Fuhr afc97b1cac Fix the duplicate entries in monitoring list shows
refs #7057
refs #7344
fixes #7057
2014-10-08 12:30:08 +02:00
Johannes Meyer baa6abdb00 Relax schema check
Checking one table for its existence is more than enough. Creating a diff
implies conditional CREATE TABLE instructions and the like, what we want
to avoid.

refs #7163
2014-10-08 11:24:05 +02:00
Johannes Meyer 393191ced1 Add admin creation routine
refs #7163
2014-10-08 10:26:12 +02:00
Johannes Meyer abc34a5f1a Add database setup routines
refs #7163
2014-10-07 17:08:50 +02:00
Johannes Meyer 7da11b83f5 Fix that the database is displayed instead of the login in the db summary
refs #7163
2014-10-07 17:06:51 +02:00
Johannes Meyer 1136a09741 Wrap report message registration in a specific method
refs #7163
2014-10-07 17:05:55 +02:00
Johannes Meyer 627a19a2a9 Fix warning "references should be passed by variable" 2014-10-07 15:57:00 +02:00
Eric Lippmann 1b23fd7fbe monitoring: Don't support status.dat as backend
Icinga Web 2 will not support status.dat for now and maybe forever.
2014-10-07 13:22:07 +02:00
Johannes Meyer d54bfddee4 Silence file_get_contents call
Since an earlier change already made the existence of config files not
required we do not care about any E_WARNING or notice emitted by
"file_get_contents".
2014-10-06 16:55:20 +02:00
Johannes Meyer 04ff2e271a Drop dependent page data more earlier
Not only the "setup_authentication_backend" page depends on the auth
type but also the "setup_admin_account" page, so just drop both entries
once a new auth type gets submitted.

refs #7163
2014-10-06 16:52:19 +02:00
Johannes Meyer ad7965228c Add install routines for all INI files
This is just a quick&dirty implementation. Once we know how modules are
being processed/installed this needs to be revisited.

refs #7163
2014-10-06 16:49:29 +02:00
Johannes Meyer b50c780bcf Let the setup's view scripts be a bit more generic
refs #7163
2014-10-06 16:04:58 +02:00
Johannes Meyer ac255eeda0 Change form name of GeneralConfigPage to "setup_general_config"
Used to be "setup_application_config".

refs #7163
2014-10-06 13:52:32 +02:00
Alexander Fuhr 421263af00 Make LDAP Groups optional
refs #7343
2014-10-06 13:35:17 +02:00
Eric Lippmann 865ef76cb8 filter: Fix whitespace sanitizing 2014-10-06 13:19:25 +02:00
Alexander Fuhr 5143c78f1a Merge branch 'master' into bugfix/monitoring-list-duplicates-7057 2014-10-06 13:06:56 +02:00
Alexander Fuhr 97d2a920db Implement GROUP BY clause functionality 2014-10-06 11:34:04 +02:00
Alexander Fuhr 36681bb55a Add new QueryException 2014-10-06 11:30:48 +02:00
Johannes Meyer 83006c014c Wrap wizard buttons in a div
refs #7163
2014-10-06 11:07:21 +02:00
Eric Lippmann 2956d9e342 form: Correctly set our default element decorators 2014-10-06 10:42:24 +02:00
Eric Lippmann fa96a1cbbe Number: Extend our FormElement class 2014-10-06 10:21:17 +02:00
Eric Lippmann a3409b166d Note: Extend our FormElement class 2014-10-06 10:21:02 +02:00
Eric Lippmann 9be52a9148 DateTimePicker: Extend our FormElement class
fixes #7322
2014-10-06 10:20:26 +02:00
Eric Lippmann 9db76bf371 CsrfCounterMeasure: Save calls to `setRequired()' and `setIgnore()' 2014-10-06 10:19:36 +02:00
Eric Lippmann 8106fe4f79 form: Add `FormElement' as base class for our elements 2014-10-06 10:19:05 +02:00
Johannes Meyer 9cbd7e945d Do not permit the user to give equal names to multiple resources
refs #7163
2014-10-06 09:43:50 +02:00
Johannes Meyer b4a1364a92 Add summary report
refs #7163
2014-10-06 09:30:51 +02:00
Johannes Meyer f29705fc59 Add summary page
refs #7163
2014-10-02 17:11:00 +02:00
Johannes Meyer 0f302bfc0a Fix form population in case the user navigates backwards to make changes
refs #7163
2014-10-02 17:08:55 +02:00
Johannes Meyer 4f52da95ac Drop page data when skipping a page that was displayed before
refs #7163
2014-10-02 16:35:41 +02:00
Alexander Klimov 1a2d15b638 Drop Icinga\Util\Enumerate 2014-10-02 13:59:54 +02:00
Alexander Klimov 051128b967 Icinga\Protocol\File\FileReader: don't use Icinga\Util\Enumerate 2014-10-02 13:59:53 +02:00
Alexander Klimov e192b939c2 Icinga\Protocol\File\FileIterator: extend EnumeratingFilterIterator 2014-10-02 13:59:52 +02:00
Alexander Klimov 081d8eecfc Implement abstract class EnumeratingFilterIterator 2014-10-02 13:59:51 +02:00
Alexander Fuhr 017d4b8c9d Introduce Groups from LDAP to User Object 2014-10-01 16:03:42 +02:00
Johannes Meyer a980184eb9 Move css instructions to dedicated stylesheet
refs #7163
2014-10-01 15:46:58 +02:00
Johannes Meyer 464fefa578 Fix exception in case the database access credentials are invalid
refs #7163
2014-10-01 15:44:43 +02:00
Matthias Jentsch ed91e119d2 Add close-button to all containers
refs #6216
2014-10-01 14:51:51 +02:00
Eric Lippmann 74bd9b319d restrictions: Include restriction's section name in user restrictions 2014-10-01 14:08:21 +02:00
Eric Lippmann 64d41ac5a3 filter: Make `DbQuery::applyFilterSql()' public
I want to use that function in a module :)
2014-10-01 12:51:28 +02:00
Johannes Meyer 8f79e0a713 Fix warning "references should be passed by variable only" 2014-10-01 09:17:48 +02:00
Johannes Meyer 08d259eccf Add database creation page
refs #7163
2014-10-01 09:16:53 +02:00
Eric Lippmann bbee06b57f form: Ignore note elments when retrieving values at form level 2014-10-01 08:18:34 +02:00
Eric Lippmann fa9bd59565 lib: Support `isset()' and `empty()' checks on CLI params 2014-10-01 08:17:35 +02:00
Eric Lippmann 084691570e permissions: Use a comma-separated list as config instead of the `permission_*' directives
Permissions are now set using a comma-separated list of permissions using the `permissions' config because
the `users' and `groups' are comma-separated lists too.
2014-10-01 08:14:03 +02:00
Eric Lippmann ebde422824 filter: Fix whitepsace sanitation when expression is an array 2014-10-01 04:00:43 +02:00
Eric Lippmann 46078f50db filter: Fix that leading and trailing whitespaces for columns and expressions let filters fail
Before, filtering for "host = localhost" issued "got invalid column host".
2014-10-01 03:13:27 +02:00
Eric Lippmann 1c7eb0d59a lib: Introduce function `String::cname()' 2014-09-30 22:34:58 +02:00
Matthias Jentsch 8eb7db9b35 Avoid type warning when using array_combine on empty arrays 2014-09-30 15:54:38 +02:00
Johannes Meyer c78b016d74 Remove boiler plate code 2014-09-30 10:26:10 +02:00