Commit Graph

3568 Commits

Author SHA1 Message Date
Eric Lippmann b3bc1b6f81 Let the SummaryNavigationItemRenderer show the worst state
fixes #11185
2016-12-08 10:40:22 +01:00
Alexander A. Klimov 8c2b6ae665 Conform to coding guidelines
refs #12634
2016-12-07 18:33:26 +01:00
Alexander A. Klimov 69c8ed471b FilterEditor: add possibility to fold and unfold filter by click
refs #12634

Signed-off-by: Alexander A. Klimov <alexander.klimov@icinga.com>
2016-12-07 18:26:45 +01:00
Alexander A. Klimov 648f088564 Conform to coding guidelines
refs #12598
2016-12-07 17:45:50 +01:00
Rune Darrud 59f1a70d5e Add support for nested AD groups resolved from the user
This will make sure that nested groups also work with roles.

Signed-off-by: Alexander A. Klimov <alexander.klimov@icinga.com>

refs #12598
2016-12-07 17:15:59 +01:00
Eric Lippmann 4eb61c2bcf Revert breaking change in Auth::isAuthenticated()
refs #12580
fixes #13281
2016-12-06 12:41:22 +01:00
Alexander A. Klimov 4205eb4cc9 nl2br helper: convert also raw newlines 2016-12-05 13:33:11 +01:00
Eric Lippmann e549c44247 Don't show exception when no announcement has been created
refs #11198
2016-11-29 16:32:30 +01:00
Eric Lippmann 39c7451664 Implement announcements
refs #11198
2016-11-29 15:24:34 +01:00
Eric Lippmann a9461ada54 Only render a menu item when it's not empty
A menu item is not empty when it either has children or a defined URL.
2016-11-28 14:56:17 +01:00
Johannes Meyer 78be71bc92 Merge branch 'bugfix/evaluate-redirect_remote_user-12164'
fixes #12164
2016-11-21 08:53:35 +01:00
Eric Lippmann 3d6e804ff3 Merge branch 'feature/include-check-if-chosen-locale-is-available-11820'
resolves #11820
2016-11-17 11:23:49 +01:00
Eric Lippmann 95cbb61987 Add parameter markAsError to Form::warning() and Form::error()
refs #11820
2016-11-17 11:21:58 +01:00
Eric Lippmann 4891afd646 Add paramater type to ResourceFactory::getResourceConfigs()
This allows to filter resources by type.
2016-11-17 10:14:45 +01:00
Eric Lippmann 39a5b3f64a Refuse to enable modules prefixed w/ icingaweb2-module-
fixes #10870
2016-11-16 16:21:35 +01:00
Eric Lippmann 1cdef234a1 Revert "Module: Drop deprecated method registerHook and arg $key of method provideHook"
This reverts commit f1a1f41192.

It makes absolutely sense to remove depcreated code, but this removal introduces too many problems while not being really necessary.
Some of our modules and modules written by others still rely on the deprecated code. A upgrade of Icinga Web 2 would break many running systems out there.
Before removing this code we should upgrade our modules and notify the authors of other modules about the deprecation.
Further, we should maintain something like a deprecation info file because nobody reads @deprecated tags.
All of the above will not protect us from systems where modules aren't up to date. We also have to implement a mechanism where it is still possible to disable faulty modules.
2016-11-16 16:17:42 +01:00
Eric Lippmann f7e5cd3b71 Check the correct return type in case preg_replace fails in ExternalBackend.php 2016-11-16 14:10:31 +01:00
Johannes Meyer 3a816ce0f7 ExternalBackend: Don't throw an error if it's not possible to clean usernames 2016-11-16 12:04:46 +01:00
Johannes Meyer 0bd00ba3d0 ExternalBackend: Simplify how remote users are identified
refs #12164
2016-11-16 11:55:54 +01:00
Johannes Meyer e75bfbc197 Response: Add ;charset=UTF-8 to the default content type
resolves #13117
2016-11-15 13:30:16 +01:00
Johannes Meyer 7d98025d7d Merge branch 'bugfix/hooks-don-t-respect-module-permissions-12396'
fixes #12396
2016-11-14 09:46:08 +01:00
Johannes Meyer f1a1f41192 Module: Drop deprecated method registerHook and arg $key of method provideHook 2016-11-11 16:15:59 +01:00
Johannes Meyer 5bce7dc9b8 Hook: Check a user's module permission before providing it's hook instances
refs #12396
2016-11-11 16:15:16 +01:00
Alexander A. Klimov 1cd2cfbdc9 Revert "Make hooks respect module permissions"
This reverts commit 4d2e6d2d87.
2016-11-11 11:14:23 +01:00
Johannes Meyer f7a8524dce DbUserGroupBackend: Group by group.id when joining group memberships
Prevents duplicate results in case a group has multiple members.
2016-11-11 09:19:59 +01:00
Johannes Meyer 3a619eb8c7 DbConnection: Don't ignore asterisks when rendering filters
refs #11885
2016-11-11 09:18:53 +01:00
Johannes Meyer 634a69aec9 DbConnection: Explicitly check for NULL when rendering unequal filters
resolves #12852
2016-11-11 09:17:58 +01:00
Eric Lippmann c1d7d7005b Update dompdf to version 0.7.0 and let the Web 2 rpm depend on it 2016-11-10 14:59:18 +01:00
Johannes Meyer 0152a5941d DbQuery: Fix wrong operator precedence when rendering unequal filters
fixes #13107
refs #12852
2016-11-10 13:10:31 +01:00
Alexander A. Klimov 14363e52f4 Revert "Merge branch 'feature/emit-log-messages-in-the-webserver-s-log-11652'"
This reverts commit f27e8c059d.

refs #11652
2016-11-09 11:48:17 +01:00
Johannes Meyer 0ef81a2e0b Response: Use a constant for the default content type
There is already setHeader() to adjust this dynamically.

refs #12161
2016-11-09 11:38:04 +01:00
Eric Lippmann 2b060d9bd4 Challenge API requests only if the controller requires auth
fixes #12580
2016-11-07 10:40:38 +01:00
Alexander A. Klimov d9330486e9 Replace ExternalBackend::getRemoteUserEnvvars() with an attribute
refs #12164
2016-11-04 17:27:36 +01:00
Alexander A. Klimov f27e8c059d Merge branch 'feature/emit-log-messages-in-the-webserver-s-log-11652'
resolves #11652
2016-11-04 17:15:06 +01:00
Alexander A. Klimov 1fd0896a7d Merge branch 'feature/inirepository-should-support-multiple-tables-13034'
resolves #13034
2016-11-04 10:37:44 +01:00
Johannes Meyer ad79e67550 IniRepository: Reduce complexity of method getDataSource
refs #13034
2016-11-04 10:17:37 +01:00
Johannes Meyer c44e164de9 IniRepository: Introduce method createConfig
refs #13034
2016-11-04 10:16:45 +01:00
Johannes Meyer a0db5bea87 IniRepository: Don't call getDataSource over and over again
refs #13034
2016-11-04 10:15:56 +01:00
Johannes Meyer 3c5fe76cc0 IniRepository: Directly pass the key column to method extractSectionName
refs #13034
2016-11-04 10:04:42 +01:00
Johannes Meyer ac3e182f0d IniRepository: Make key column validation in the constructor more readable
refs #13034
2016-11-04 09:59:37 +01:00
Johannes Meyer ca689bc944 IniRepository: Improve documentation of attribute $configs
refs #13034
2016-11-04 09:57:56 +01:00
Johannes Meyer df47026792 Repository: Fix documentation of method getDataSource
refs #13034
2016-11-04 09:56:53 +01:00
Alexander A. Klimov 1f74cee21b Merge branch 'bugfix/hosts-without-services-are-hidden-from-restricted-roles-12852'
fixes #12852
fixes #10537
2016-11-03 19:27:30 +01:00
Alexander A. Klimov bd7851d15c IniRepository: improve initialization of per-table datasources
refs #13034
2016-11-03 18:05:05 +01:00
Alexander A. Klimov 38602379be Repository: allow not to provide a datasource for all tables
refs #13034
2016-11-03 16:12:09 +01:00
Alexander A. Klimov e5b24eb467 IniRepository: fix doc and method order
refs #13034
2016-11-03 16:00:20 +01:00
Alexander A. Klimov fb3f3ed788 IniRepository: add support for per-table datasources
refs #13034
2016-11-03 15:06:37 +01:00
Alexander A. Klimov e655699917 Repository: add support for per-table datasources
refs #13034
2016-11-03 14:35:18 +01:00
Alexander A. Klimov a85d259b0a PhpWriter: replace newlines in the message only if PHP logs to Syslog
refs #11652
2016-11-03 14:06:02 +01:00
Alexander A. Klimov 8952434393 PhpWriter: prefix messages with the app name as in Syslog
refs #11652
2016-11-03 12:35:40 +01:00
Alexander A. Klimov a24999ff7f PhpWriter: throw an exception on logging failure
refs #11652
2016-11-03 12:16:48 +01:00
Alexander A. Klimov ca8e4ea924 Conform to code style guidelines
refs #11652
2016-11-03 12:01:03 +01:00
Johannes Meyer 4a791e6204 IniRepository: Don't fail if there is no trigger to be found 2016-11-02 13:25:37 +01:00
Johannes Meyer 82c7a51050 IniRepository: Don't require a key column before the onInsert trigger
fixes #13005
2016-10-31 08:37:15 +01:00
Johannes Meyer d207dcbd03 Url: Throw ProgrammingError when trying to use Url::from* on the CLI
refs #7051
2016-10-28 11:47:45 +02:00
Johannes Meyer 957ad9361f IniRepository: Add support for triggers 2016-10-27 15:11:21 +02:00
Johannes Meyer f644860529 IniRepository: Fix that method update and delete fail without filter 2016-10-27 15:09:00 +02:00
Alexander A. Klimov 5212b6bab9 IniRepository: don't persist the key column as regular column 2016-10-26 10:27:30 +02:00
Alexander A. Klimov 418a428f1e Merge branch 'feature/allow-to-configure-the-syslog-facility-11214'
resolves #11214
2016-10-24 11:58:21 +02:00
Alexander A. Klimov 00af3d61b7 LoggingConfigForm: provide less Syslog facilities
refs #11214
2016-10-24 10:43:27 +02:00
Alexander A. Klimov 52e6293b96 Allow to configure the Syslog facility
refs #11214
2016-10-21 17:09:22 +02:00
Alexander A. Klimov 4d2e6d2d87 Make hooks respect module permissions
refs #12396
2016-10-20 18:28:19 +02:00
Alexander A. Klimov 7d94c1fddb DbQuery: handle strange NULL comparision results
refs #12852
2016-10-20 15:40:33 +02:00
Noah Hilverling e4324605bc Merge branch 'bugfix/username-and-password-not-being-passed-in-navigation-item-urls-12133'
fixes #12133
2016-10-20 09:30:54 +02:00
Alexander A. Klimov a387f0524f Add log writer PhpWriter
refs #11652
2016-10-19 15:29:51 +02:00
Noah Hilverling 1ff3149636 Url: Add basePath to urlString if url is external or has a username
refs #12133
2016-10-19 09:41:03 +02:00
Noah Hilverling 2fd1a957a8 Url: Add basePath to baseUrl in method getBaseUrl
refs #12133
2016-10-19 09:40:08 +02:00
Noah Hilverling 13827c79e4 Url: Improve documentation of method setHost
refs #12133
2016-10-19 09:35:40 +02:00
Alexander A. Klimov 00880710ed Navigation::fromArray(): pass $name only as string to addItem()
fixes #12923
2016-10-18 18:06:51 +02:00
Noah Hilverling 3b6b0b8d4b Url: Build full urlString instead of path if username is set
refs #12133
2016-10-18 16:19:24 +02:00
Noah Hilverling a952a400ca Url: Add username and password to method getBaseUrl
refs #12133
2016-10-18 16:16:13 +02:00
Noah Hilverling 9fcc39e0ba Url: Add use of method setBasePath in method setBaseUrl
refs #12133
2016-10-18 16:15:14 +02:00
Noah Hilverling 08719b0522 Url: Do not try to set attributes in method fromPath if not needed
refs #12133
2016-10-18 16:13:37 +02:00
Noah Hilverling b4aca4737b Url: Cut of "/" and spaces at the end of basePath in setBasePath
refs #12133
2016-10-18 16:08:34 +02:00
Noah Hilverling 1c55351460 Url: Remove "/" in front of path if the url has a user parameter
refs #12133
2016-10-18 16:07:13 +02:00
Noah Hilverling dda7311226 Url: Improve documentation
refs #12133
2016-10-18 16:03:31 +02:00
Noah Hilverling 4e64c02078 Url: Remove attribute baseUrl
refs #12133
2016-10-18 16:01:23 +02:00
Alexander A. Klimov d6ac6c8374 setup/AuthenticationPage: don't show the warning about external backend configuration if REDIRECT_REMOTE_USER is set
refs #12164
2016-10-18 15:19:13 +02:00
Alexander A. Klimov b16c64443b Merge branch 'bugfix/ini-writer-must-not-persist-section-keys-with-a-null-value-11743'
fixes #11743
2016-10-18 14:21:24 +02:00
Noah Hilverling 4dd9c05882 Url: Return basePath in method getBaseUrl if url is internal
refs #12133
2016-10-18 12:57:02 +02:00
Noah Hilverling f6f90822d6 Url: Set basePath correctly in methods fromRequest and fromPath
refs #12133
2016-10-18 12:57:02 +02:00
Noah Hilverling 888ac98007 Response: Improve documentation for method getHeader
refs #12161
2016-10-18 11:07:24 +02:00
Alexander A. Klimov 4d6160d987 ExternalBackend::getRemoteUser(): restore previous default behavior
refs #12164
2016-10-18 10:22:06 +02:00
Alexander A. Klimov ab01d2f915 ExternalBackend: don't reference more than necessary from the config
refs #12164
2016-10-18 10:17:21 +02:00
Noah Hilverling e5c736aab4 Response: Use method getHeader to check if Content-Type is set already
refs #12161
2016-10-18 10:13:58 +02:00
Noah Hilverling f95c789353 Response: Add method getHeader
refs #12161
2016-10-18 09:58:33 +02:00
Alexander A. Klimov ce951295d3 ExternalBackend: make the variable a webserver assigns a username to configurable
refs #12164
2016-10-17 18:46:00 +02:00
Noah Hilverling c927c32442 Response: Only set header Content-Type in method prepare if not already set
refs #12161
2016-10-17 16:34:07 +02:00
Noah Hilverling 703561f874 JsonResponse: Set content type at initialization and not at sendHeaders
refs #12161
2016-10-17 16:33:51 +02:00
Alexander A. Klimov 29c221418b External authentication: respect REDIRECT_REMOTE_USER as well
refs #12164
2016-10-17 16:19:26 +02:00
Noah Hilverling c3276d4341 Response: Remove empty line after method getContentType
refs #12161
2016-10-17 16:03:33 +02:00
Noah Hilverling 2439460371 Url: Fix incorrect line indentation in method getAbsoluteUrl
refs #12133
2016-10-17 10:16:03 +02:00
Noah Hilverling 4df9696ed9 StyleSheet: Modify send method to use setContentType of Response class
refs #12161
2016-10-17 08:29:51 +02:00
Noah Hilverling af5c578adf Response: Set header Content-Type for every response by default
refs #12161
2016-10-14 16:16:13 +02:00
Noah Hilverling 7cf6b860b5 Response: Add contentType attribute
refs #12161
2016-10-14 16:12:47 +02:00
Noah Hilverling 9439dfa8f3 Url: Fix path handling for internal urls
refs #12133
2016-10-14 15:05:34 +02:00
Noah Hilverling ef359aa686 Url: Improve documentation
refs #12133
2016-10-14 15:04:03 +02:00
Noah Hilverling 3e2f3c8467 Url: Add basePath attribute
refs #12133
2016-10-14 15:01:03 +02:00
Jennifer Mourek 0cd2d98f71 StyleSheet: Don't try to load the icinga default theme
refs #12660
2016-10-14 13:24:17 +02:00
Jennifer Mourek 8294471253 Revert "LessCompiler: Remove error message when switching to Icinga theme"
This reverts commit 2e24833d7c.
2016-10-14 09:39:24 +02:00
Jennifer Mourek 2e24833d7c LessCompiler: Remove error message when switching to Icinga theme
fixes #12660
2016-10-14 08:06:05 +02:00
Noah Hilverling f557b89aea Url: Add support for username and password
fixes #12133
2016-10-13 11:01:39 +02:00
Noah Hilverling c868789472 Url: Add alternative attributes for baseUrl
refs #12133
2016-10-13 11:01:10 +02:00
Alexander A. Klimov 9bb798c18b IniWriter: don't persist a section key if the value is null
refs #11743
2016-10-12 11:06:04 +02:00
Alexander A. Klimov 8bc7d47a62 Merge branch 'bugfix/preserve-http-response-code-in-rest-error-responses-12583'
fixes #12583
2016-10-11 10:46:20 +02:00
Alexander A. Klimov bf3cfda209 Response: rename setMetaDataFrom() to copyMetaDataFrom()
refs #12583
2016-10-11 10:45:15 +02:00
Eric Lippmann 529ba8ed8a Use the query's iterator instead fetchAll() on CSV export
fixes #12723
2016-10-11 09:53:21 +02:00
Eric Lippmann c83659eff7 Sometimes you just herp the derp so hard it herpderps 2016-09-29 16:19:41 +02:00
Alexander A. Klimov 4d16656100 Preserve status code and headers in JSON responses
refs #12583
2016-09-27 13:26:20 +02:00
Johannes Meyer 7ed3acbbd8 Module: Check a menu item's permission and don't overwrite its label
This allows now totally different values for an item's name and label
and fixes the bug that permissions declared in the configuration.php
were not evaluated for menu items.

fixes #11431
2016-09-26 11:01:26 +02:00
Johannes Meyer 5b875f3749 JsonResponse: Allow to output the "data" key in case of an error
As stated by the JSend specification this key is optional for error responses.
2016-09-21 15:58:59 +02:00
Eric Lippmann 3fdba713ed Merge branch 'bugfix/handle-recoverable-error-10361'
fixes #10361
2016-09-12 08:29:40 +02:00
Alexander A. Klimov c8b1693fdc Fix Controller::assertPermission() allowing everything for unauthenticated requests
fixes #12108
2016-09-12 08:18:36 +02:00
Eric Lippmann 4398267db5 Merge branch 'bugfix/wrong-url-makes-whole-dashboard-unusable-11920'
fixes #11920
2016-09-09 15:22:48 +02:00
Eric Lippmann ef7be98e0c Simplify InternalUrlValidator::isValid()
refs #11920
2016-09-09 15:22:24 +02:00
Eric Lippmann 1f980f92f2 Optimize imports in InternalUrlValidator
refs #11920
2016-09-09 15:21:06 +02:00
Eric Lippmann 576640e661 Simplify Version::getGitHead()
refs #11664
2016-09-09 14:19:32 +02:00
Alexander A. Klimov b240e0e6bb Implement Version::getGitHead()
refs #11664
2016-09-01 10:14:14 +02:00
Alexander A. Klimov fa113e023b dashboard/new-dashlet: don't allow external URLs
refs #11920
2016-08-31 15:11:55 +02:00
Johannes Meyer 124fb848a0 Repository: Fix column caches² 2016-08-18 15:40:20 +02:00
Johannes Meyer bd4f21df11 Repository: Fix column caches 2016-08-18 15:30:47 +02:00
Johannes Meyer ccb8bcc6e3 Repository: Allow for some more fine-grained control
Filter columns, search columns and sort rules can now be returned
dependent on a query's current target
2016-08-18 13:36:09 +02:00
Eric Lippmann ecbb0926dc Merge branch 'feature/change-password-10616'
resolves #10616
2016-08-04 16:09:41 +02:00
Thomas Gelf 2b50f6ff10 FilterExpression: render boolean true as such
fixes #12299
2016-08-03 13:03:08 +00:00
Eric Lippmann e62d94209f Allow users to change their password if backend is db
refs #10616
2016-07-21 17:38:19 +02:00
Eric Lippmann e6ec6e05b2 Rename Preferences to My Account
refs #10616
2016-07-21 12:31:10 +02:00
Eric Lippmann 42991b0756 Ensure correct URL for the refresh container button
Shifted params no longer appear in the URL which is retrieved from the request object.
We now use Url::fromRequest() instead.
2016-07-13 10:24:30 +02:00
Johannes Meyer 4774db16ef View: Add methods setHelperFunction and dropHelperFunction 2016-07-11 09:08:43 +02:00
Markus Frosch e9681de388 RepositoryQuery: Avoid cloning sub-objects when they are null
fixes #12078
2016-06-30 13:16:05 +02:00
Markus Frosch dfa77b2b2f IniRepository: Avoid using iterator_to_array with ArrayDatasource
While iterating ConfigObject/ArrayDatasource will not rewrite the section header into a row value as keycolumn.

In addition we now properly use the filter.

refs #12065
2016-06-28 16:21:06 +02:00
Eric Lippmann fc5ed3feb1 Bump version to 2.3.4 2016-06-23 14:09:55 +02:00
Eric Lippmann d4b9b6d303 Bump version to 2.3.3 2016-06-07 15:15:01 +02:00
Eric Lippmann 54b43efb33 Fix exception if module.info contains newlines that are not part of the module's description
fixes #11831
2016-06-06 16:21:10 +02:00
Eric Lippmann 97451dae86 Merge branch 'bugfix/remove-large-add-to-menu-tab-11850'
fixes #11850
2016-06-02 17:57:51 +02:00
Eric Lippmann fee45a2438 Database: Never ignore asterisk filters
fixes #11885
2016-06-02 17:27:32 +02:00
hailthemelody@rm-laptop04 188703cf95 fix various typos
Signed-off-by: Johannes Meyer <johannes.meyer@netways.de>
2016-06-02 08:24:05 +02:00
Alexander A. Klimov 50037d8ec9 Tabs: fix wrong parameter for array_splice()
refs #11850
2016-05-31 14:47:25 +02:00
Johannes Meyer b759ab6f5a DbResourceForm: Don't show SSL form elements by default
Addded additionally a check for PHP 5.4 so that these elements
are not shown for earlier versions.

refs #11115
2016-05-27 15:45:22 +02:00
Lee Clemens 87e774cb88 Add SSL Support to MySQL resources
Signed-off-by: Johannes Meyer <johannes.meyer@netways.de>
2016-05-27 13:15:48 +02:00
Alexander A. Klimov 21e4ba5680 Icinga Web 2.3.2 2016-04-28 14:56:31 +02:00
Alexander A. Klimov 2179c3aaef FilterEditor: check for a hidden form field instead of the submit button 2016-04-27 15:05:25 +02:00
Alexander A. Klimov 6def061742 FilterEditor: correct submit button name 2016-04-27 12:49:40 +02:00
Alexander A. Klimov 281e6e8163 Revert "Revert "FilterEditor::handleRequest(): don't apply a filter's changes if the 'Apply' button hasn't been pressed""
This reverts commit 45a6259b4c.
2016-04-27 12:46:48 +02:00
Alexander A. Klimov 45a6259b4c Revert "FilterEditor::handleRequest(): don't apply a filter's changes if the 'Apply' button hasn't been pressed"
This reverts commit 61a04e7ba1.
2016-04-27 12:10:46 +02:00
Marius Hein 6607af61e1 Set dashboard active if it is not disabled 2016-04-26 13:50:02 +02:00
Alexander A. Klimov eecd15ee68 NavigationItem: fall back to the default renderer if an error occurrs
fixes #10486
2016-04-25 15:26:08 +02:00
Johannes Meyer 28c024c037 Repository: Properly handle non-aliased columns 2016-04-21 10:10:24 +02:00
Alexander A. Klimov 242cdab754 DateTimePicker: implement getFormat()
refs #10847
2016-04-18 17:19:57 +02:00
Alexander A. Klimov 61a04e7ba1 FilterEditor::handleRequest(): don't apply a filter's changes if the 'Apply' button hasn't been pressed
fixes #10848
2016-04-18 15:15:41 +02:00
Eric Lippmann fdbcc6af8e Bump version to 2.3.1 2016-04-18 01:10:20 +02:00
Eric Lippmann 773c3cc88e Bump version to 2.3.0 2016-04-13 16:23:38 +02:00
Eric Lippmann b0a6eb5b1e Ignore case and whitespaces in the glob filter
refs #10965
2016-04-13 15:54:41 +02:00
Eric Lippmann 4d488ab354 Merge branch 'master' into feature/restrict-custom-variables-10965 2016-04-13 15:44:12 +02:00
Alexander A. Klimov 589da9bcd1 monitoring: Apply custom variable restrictions
refs #10965
2016-04-13 15:43:42 +02:00
Eric Lippmann 42b7867562 Merge branch 'feature/support-multiple-ticket-patterns-10909'
refs #10909
2016-04-13 15:35:22 +02:00
Eric Lippmann 99adeaa065 Merge branch 'bugfix/external-auth-no-env-11391'
fixes #11391
2016-04-13 13:57:56 +02:00
Eric Lippmann be7263ebfa Fix that only one default dashboard could be removed
fixes #11078
2016-04-13 12:27:25 +02:00
Eric Lippmann 7dbcd27c3c Remove superfluous whitespace 2016-04-13 11:04:54 +02:00
Eric Lippmann 9082a5204e Fix tab order of refresh and close container controls 2016-04-13 11:04:23 +02:00
Eric Lippmann 99d08bf03b Get remote user from $_SERVER if env does not have it in external auth
refs #11391
2016-04-11 14:09:04 +02:00
Eric Lippmann 2ac54d7c3e lib: Add ExternalBackend::getRemoteUser()
If the user is authenticated via the web server, this method should be used to retrieve the user because
it supports both reading the user from the environment or from the $_SERVER variable as fallback.

refs #11391
2016-04-11 14:01:36 +02:00
Eric Lippmann c803ec64c5 lib: Move getters before setters in ExternalBackend 2016-04-11 10:57:01 +02:00
Eric Lippmann 1d1a4b4be3 Optimize imports in LdapConnection 2016-04-08 12:58:30 +02:00
Eric Lippmann 1f69189b14 Merge branch 'feature/ldap-scope-11485'
resolves #11485
2016-04-08 12:57:41 +02:00
Markus Frosch 955a9482ad lib/LDAP: Add fetchByDn for a base scope retrieval on an entry
refs #11485
2016-04-07 17:16:51 +02:00
Markus Frosch 202d61dd4e lib/LDAP: Add support for LDAP search scope
Configurable on the LdapQuery, handled by LdapConnection::ldapSearch

refs #11485
2016-04-07 17:16:38 +02:00
Markus Frosch adeaf60aed lib/LDAP: Do not explicitly set the fields list when ordering
refs #11489
2016-04-07 17:13:07 +02:00
Florian Strohmaier 0a9c0925cb CSS: Add space before the autosubmit info in forms 2016-04-07 12:46:13 +02:00
Eric Lippmann 5b17a145f1 Support multiple TTS integrations in the ticket hook
refs #10909
2016-04-06 11:58:01 +02:00
Eric Lippmann 97bedfaa08 lib: Provide ticket pattern class for ticket hooks
refs #10909
2016-04-06 11:18:28 +02:00
Markus Frosch 0f538e7f06 lib/LDAP: LdapUtils::explodeDN replace deprecated use of eval in preg_replace
fixes #11490
2016-04-04 09:25:59 +02:00
Eric Lippmann 0edd1b5a08 doc: natcasesort files 2016-04-01 15:01:12 +02:00
Eric Lippmann a5119a7a2e Fix TreeNodeIterator::isEmpty() 2016-03-30 15:31:53 +02:00
Eric Lippmann 528be1ee79 doc: Iterate files alphabetically and directories last 2016-03-30 15:31:53 +02:00
Eric Lippmann c7aec8ae64 Respect module stylesheets again when generating the ETag
fixes #11465
2016-03-29 11:39:41 +02:00
Eric Lippmann 6e28b4690e Merge branch 'feature/user-getroles-10887'
resolves #10887
2016-03-29 11:28:56 +02:00
Eric Lippmann e0781cf8b5 Fix PHPDoc of AdmissionLoader::applyRoles()
refs #10887
2016-03-29 11:26:00 +02:00
Eric Lippmann 5b5978787b Move permission and restriction initialization in AdmissionLoader
refs #10887
2016-03-29 11:25:55 +02:00
Eric Lippmann 32c6a03000 Remove Role::addPermission()
Method is not used.

refs #10887
2016-03-29 11:25:53 +02:00
Eric Lippmann 123488cfc0 Remove Role::addRestriction()
Method is not used.

refs #10887
2016-03-29 11:25:51 +02:00
Eric Lippmann 08b70267cd Move setters after getter in Role.php
refs #10887
2016-03-29 11:25:47 +02:00
Eric Lippmann 3d6ae6ac26 Fix PHPDoc of User::setRestrictions()
refs #10887
2016-03-29 11:25:39 +02:00
Eric Lippmann 98934e9c5f lib/DbConnection: Use isset for charset check 2016-03-24 17:55:30 +01:00
Raphael Bicker ea871ea032 Fix Cannot execute queries while other unbuffered queries are active
fixes #11264

Signed-off-by: Eric Lippmann <eric.lippmann@netways.de>
2016-03-24 17:53:55 +01:00
Alexander A. Klimov c6eb3cd2c7 Add missing User::$roles definition
refs #10887
2016-03-24 16:34:32 +01:00
Alexander A. Klimov df0d3aaf1e AdmissionLoader: set the roles of the user
refs #10887
2016-03-24 16:24:24 +01:00
Alexander A. Klimov 57ce39834d Role: implement setPermissions() and setRestrictions()
refs #10887
2016-03-24 16:11:31 +01:00
Eric Lippmann f1f4cdc3cb lib: Use AdmissionLoader::applyRoles() in Auth
refs #10887
2016-03-24 15:30:30 +01:00
Eric Lippmann 1aa42bdaf6 lib: Add User::getRoles() and ::setRoles()
refs #10887
2016-03-24 15:30:07 +01:00
Eric Lippmann 6ec1878977 lib: Add Authentication/Role
refs #10887
2016-03-24 15:29:39 +01:00
Eric Lippmann 2699d2c9ed lib: Rename AdmissionLoader::applyPerm... to applyRoles()
refs #10887
2016-03-24 15:28:21 +01:00
Markus Frosch 88d973ac39 Restrict access to application log with 'application/log' permission
fixes #11279
2016-03-02 20:47:37 +01:00
Markus Frosch 929f45deea Fix session resume for external auths
When REMOTE_USER is not available from _SERVER (PHP internal webserver)

fixes #11277
2016-03-02 17:39:05 +01:00
Marius Hein 845a8b78cf Bump version 2016-02-29 22:41:58 +01:00
Thomas Gelf 1fba491160 DbConnection: fix utf8-encoded MySQL connections 2016-02-29 20:58:34 +01:00
Eric Lippmann 9c5dfc5207 Merge branch 'bugfix/benchmark-not-always-rendered-10856'
fixes #10856
2016-02-27 22:49:44 +01:00
Eric Lippmann 03d7f3a1f4 Ensure trailing slash if cookie path is detected automatically
Seems like IE (8, 9, ?) has problems w/o the trailing slash and additional directories on the server that start w/ the path.

refs #11187
2016-02-27 22:42:32 +01:00
Eric Lippmann 5f43ac8f26 Fix path, secure flag and domain of session cookies
refs #11187
2016-02-27 22:24:01 +01:00
Eric Lippmann 5f642879c7 Respect cookie domain config in Cookie.php
refs #11187
2016-02-27 22:19:37 +01:00
Alexander A. Klimov 923e902957 Web::bootstrap(): set up the request before setting up the session
refs #11187
2016-02-27 22:17:01 +01:00
Eric Lippmann 7cef06f981 Disable benchmark only if the layout is disabled
Benchmark should be disabled if the response is not HTML. This is most likely the case when the layout is disabled.
If Web 2 or Zend sends JSON for example, the layout is disabled.

The follwing code inside an action disables the layout (and view):
$this->_helper->layout()->disableLayout();

The following code inside an action disables the action's view script:
$this->_helper->viewRenderer->setNoRender(true);

Note that an action's view script is also disabled via setNoRender() when rendering another view script via
render() or renderScript().

Another appraoch is to check the content-type. If explicitly set to not HTML, disable benchmark:

$renderBenchmark = true;
$response = $this->getResponse();
$headers = $response->getHeaders();
foreach ($headers as $header) {
    if (strtolower($header['name']) === 'content-type'
        && stristr($header['value'], 'text/html') === false
    ) {
        $renderBenchmark = false;
        break;
    }
}
if ($renderBenchmark) {
    $layout->benchmark = $this->renderBenchmark();
}

Maybe we should also provide a action method for disabling benchmark, regardless of the user's setting.

refs #10856
2016-02-27 20:14:02 +01:00
Eric Lippmann bf7d082576 Fix PHPDoc of Url::addFilter() 2016-02-27 16:25:04 +01:00
Alexander A. Klimov 5b0730574d Simplify Url::addFilter()
This changes the rendered resulting Url from x&(y&z) to x&y&z.

refs #10778
2016-02-27 16:23:09 +01:00
Eric Lippmann 8433bf1fc1 Don't hide the filter editor from the view if the view is compact
refs #10778
2016-02-27 15:57:00 +01:00
Eric Lippmann d8b14cb772 Control whether a filter editor should be rendered via setVisible()
We (may) have situations where a controller or view has to access the filter editor being created via Controller::setupFilterControl().
This is impossible if the view is compact because the filterEditor will be unset. This change introduces FilterEditor::setVisible() for
giving the responsibility of rendering to the filter editor. Controller::setupFilterControl() will be adapted accordingly.

refs #10778
2016-02-27 15:51:13 +01:00
Eric Lippmann 88f4f68f29 Merge branch 'bugfix/move-auth-backend-configuration-to-app-config-10309'
fixes #10309
2016-02-27 15:25:11 +01:00
Eric Lippmann e4a0678df0 Load resources from config automatically instead of throwing an exception
fixes #10918
2016-02-26 12:29:30 +01:00
Eric Lippmann 9d5e21e71e Remove IniUserGroupBackend.php
Does not conform to its interface anymore and is not in use.
2016-02-26 10:32:13 +01:00
Thomas Gelf 9231746d09 functions.php: failsafe method initialization
This avoids collisions for modules not using the fake bootstrap in our
current tests. Can be removed once we fixed that.
2016-02-25 18:07:29 +01:00
Alexander A. Klimov 1bbb7a3118 Manager::detectEnabledModules(): shorten error message 2016-02-25 17:34:03 +01:00
Alexander A. Klimov 1aada1abbb Present the fact that Icinga Web 2's config directory isn't readable in a nicer way
fixes #11119
2016-02-25 17:31:09 +01:00
Alexander A. Klimov 45168caa37 TimezoneDetect: support comma-separated icingaweb2-tzo cookies 2016-02-25 14:41:42 +01:00
Alexander A. Klimov af18334e3e Cookie icingaweb2-tzo: use `-' as separator
fixes #11126
2016-02-25 13:21:34 +01:00
Alexander A. Klimov b7bdf2e8d4 Implement UrlValidator 2016-02-23 16:34:18 +01:00
Johannes Meyer c7443924bd NavigationItemRenderer: Ignore target for '#' urls
fixes #11197
2016-02-22 11:13:23 +01:00
Alexander A. Klimov 9ef78e6856 Fix double escape of `&' in navigation items
fixes #11190
2016-02-19 15:38:34 +01:00
Alexander A. Klimov 41a8c75a4f FilterEditor: always escape filter embedded in HTML 2016-02-19 15:22:10 +01:00
Alexander A. Klimov a83ab2c7cb Escape URLs of navigation items while rendering them
fixes #11091
2016-02-18 15:01:21 +01:00
Thomas Gelf 2ec36667eb Web: change bootstrap order, fixes custom auth 2016-02-18 10:16:22 +01:00
Alexander A. Klimov a3c7a04826 Menu: rename Configuration/Authorization to Configuration/Authentication
refs #10309
2016-02-17 18:56:55 +01:00
Thomas Gelf 97b5800f32 LessCompiler: fix #layout usage in module CSS 2016-02-17 18:26:07 +01:00
Alexander A. Klimov 6c39fb51f8 Menu: move Configuration/Authentication to Configuration/Application/Authentication
refs #10309
2016-02-17 18:23:38 +01:00
Thomas Gelf b63d2ad291 Module: fix multi-instance hook registrations
This fixes the problem that registering the same Hook multiple times
with the provideHook shortcut and no class name kept only one
implementation
2016-02-17 10:30:25 +01:00
Eric Lippmann b005df68a2 Fix that user dashboards are always deleted on add/update
fixes #11136
2016-02-17 10:17:23 +01:00
Alexander A. Klimov c78a7912e7 Fix parse error in Auth.php 2016-02-15 14:50:33 +01:00
Alexander A. Klimov 74b4c344d6 Shorten check for empty auth header
refs #11151
2016-02-15 14:22:36 +01:00
Alexander A. Klimov 8a4f15d32c Don't redirect unauthenticated API requests to the login page
refs #11151
2016-02-15 13:36:29 +01:00
Alexander A. Klimov c5281935c6 Regenerate a session ID only if the session exists
refs #11151
2016-02-15 11:14:37 +01:00
Alexander A. Klimov a464e74aa4 Allow basic auth for API requests only
refs #11151
2016-02-15 10:53:32 +01:00
Alexander A. Klimov dc9cfc1c81 Call getRequest() only once in Auth::authHttp()
refs #11151
2016-02-15 10:44:33 +01:00
Alexander A. Klimov 4c97fb7d01 Don't request basic auth if auth scheme isn't basic
fixes #10506
2016-02-15 10:39:18 +01:00
Johannes Meyer cdb873cbdb ResourceFactory: Validate a resource's configuration
Probably only a quickfix, but feels still more proper than the
previous solution, on a second thought..
2016-02-12 14:19:44 +01:00
Alexander A. Klimov 32876ca8ae LdapUserGroupBackend: respect config option group_filter
refs #11142
2016-02-11 15:49:28 +01:00
Alexander A. Klimov 8493540f43 FilterExpression: provide default value for setCaseSensitive()
refs #11051
2016-02-11 13:32:42 +01:00
Alexander A. Klimov e97426e1df FilterExpression: document getCaseSensitive() and setCaseSensitive()
refs #11051
2016-02-11 13:30:34 +01:00
Alexander A. Klimov ea9bc6cebd Conform to coding guidelines
refs #11051
2016-02-11 13:29:00 +01:00
Alexander A. Klimov aae7c1150e Implement FilterMatchNotCaseInsensitive
refs #11051
2016-02-11 12:00:33 +01:00
Alexander A. Klimov 8ebc92ee44 Implement FilterMatchCaseInsensitive
refs #11051
2016-02-11 11:59:57 +01:00
Alexander A. Klimov 809861cb53 FilterExpression: make case insensitive matching possible
refs #11051
2016-02-11 11:48:50 +01:00
Alexander A. Klimov a5924f2ca8 Don't rely on case sensitive usernames in navigation items stored in INI files
refs #11051
2016-02-10 16:22:51 +01:00
Alexander A. Klimov 001c63e376 Don't rely on case sensitive usernames in preferences stored in INI files
refs #11051
2016-02-10 16:21:19 +01:00
Alexander A. Klimov 9c592ead23 icingacli: repair command and action shortcuts
refs #11120
2016-02-10 13:28:34 +01:00
Alexander A. Klimov 34afcc07b3 LdapConnection: disallow an empty root DN
fixes #11114
2016-02-09 10:29:08 +01:00
Alexander A. Klimov 474803fee4 Change all license headers to only reflect a file's year of creation
refs #11000
2016-02-08 15:41:00 +01:00
Eric Lippmann 34344915f2 Fix short array syntax in DashboardConfig 2016-01-29 08:44:31 +01:00
Eric Lippmann 32f87284ad PHP7: Fix MySQL and PostgreSQL PDO extension checks
refs #10251
2016-01-28 13:52:31 +01:00
Eric Lippmann 4dda451c79 Fix expcetion when the dashboards folder is missing 2016-01-28 12:50:13 +01:00
Eric Lippmann c1f7b2ed2d PHP7: Fix Zend autoload issues
refs #10251
2016-01-27 16:52:32 +01:00
Eric Lippmann 41c05c3451 Re-add String.php for backwards compatibility 2016-01-27 16:46:55 +01:00
Eric Lippmann 7fd575080e PHP7: Rename String to StringHelper
refs #10251
2016-01-27 16:46:55 +01:00