Commit Graph

3324 Commits

Author SHA1 Message Date
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 45c95778ae Merge branch 'bugfix/update-dompdf-11117'
fixes #11117
2016-02-15 14:42:19 +01:00
Alexander A. Klimov 5ca40efc50 Update dompdf version number
refs #11117
2016-02-15 14:41: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 8b1b171a22 Update dompdf to version 0.6.2
refs #11117
2016-02-11 15:13:00 +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
Eric Lippmann b043317fd4 PHP7: Fix Only variables should be passed by reference exception in Translator
refs #10251
2016-01-27 16:46:54 +01:00
Eric Lippmann e9bc11d340 Fix case sensitive interpretation of dashboard config files
fixes #10878
2016-01-27 15:45:37 +01:00
Eric Lippmann 78c1e17c20 lib/Response: Allow to control the auto-refresh interval 2016-01-27 09:14:11 +01:00
Uwe Ebel 9f79f9a48b monitoring/CLI: Fix error on CSV output
Signed-off-by: Eric Lippmann <eric.lippmann@netways.de>

fixes #10921
2016-01-27 09:09:52 +01:00
Eric Lippmann f7ba48eaac CSS: Remove main-content.less
Not in use anymore.
2016-01-25 08:50:18 +01:00
Eric Lippmann f5945ff908 CSS: Move colors to mixins 2016-01-25 08:20:58 +01:00
Eric Lippmann d2e4664dce Add aria-label to dropdown menu and close container control 2016-01-25 07:23:12 +01:00
Johannes Meyer 8a17cc5161 login: Fix that the system's default theme is not applied
fixes #11021
2016-01-22 16:34:31 +01:00
Eric Lippmann bc187d91c5 monitoring: Make inline pie charts accessible 2016-01-22 13:33:22 +01:00
Johannes Meyer 424557f194 StdoutWriter: Rename to StderrWriter 2016-01-21 11:47:11 +01:00
Johannes Meyer 9240d1b4e0 cli: Polish log handling
* Reintroduced Command::$isDebugging, now without typo
* Removed @deprecated from Command::$isVerbose
* Changed default log level to WARNING
* Adjusted --verbose and --debug to activate log level INFO and DEBUG, respectively
2016-01-21 11:29:28 +01:00
Johannes Meyer 790d2a3949 Cli: Do not shift --verbose away, commands may still require it 2016-01-19 15:31:05 +01:00
Johannes Meyer 37dc601505 Command: Remove property "isDebugging"
It's not used anywhere and wrong initalized anyway.
2016-01-19 15:08:20 +01:00
Johannes Meyer be239b9a22 Cli: Configure logging properly but also offer customisations 2016-01-19 15:07:17 +01:00
Eric Lippmann 9968fb9011 Reload CSS after login because the user may have a different theme (WIP)
This is just a quick fix.

refs #10957
2016-01-18 12:56:02 +01:00
Eric Lippmann 9a5e69a8ec Improve tab styles for accessibility 2016-01-12 08:52:30 +01:00
Eric Lippmann 79fbed0ad4 Use icon font instead of images in the dashboard settings tab extension 2016-01-12 08:52:30 +01:00
Eric Lippmann 7c1ccc685f Rename close-toggle to close-container-control 2016-01-12 08:52:30 +01:00
Eric Lippmann 31df702a80 Remove logo.less
Not used anymore.
2016-01-12 08:52:30 +01:00
Eric Lippmann cbfaee8681 CSS: Optimize dashboard, column and controls styles
fixes #7350
fixes #10289
fixes #10871
2016-01-12 08:52:30 +01:00
Eric Lippmann 353b9da8a5 Bump version to 2.1.2 2015-12-23 14:21:56 +01:00
Eric Lippmann 25d8215b95 Fix Dashboard::setDefaultPane() activating an inexistent pane 2015-12-22 14:54:33 +01:00
Eric Lippmann 405b768dc2 Bump version to 2.1.1 2015-12-22 14:50:13 +01:00
Eric Lippmann 9599b63a55 Fix that setting a default theme had not effect 2015-12-22 13:00:01 +01:00
Uwe Ebel 3c47436c1b Fix the wrong mask for temp. directory in FileCache.php
Detail see https://dev.icinga.org/issues/10892.

ref #10892

Signed-off-by: Thomas Gelf <thomas@gelf.net>
2015-12-21 13:46:04 +01:00
Eric Lippmann ca1f412080 JS: Include autofocus behavior
refs #10671
2015-12-21 13:03:28 +01:00
Eric Lippmann dad9538496 Doc: Fix detection whether documentation is empty 2015-12-21 11:09:20 +01:00
Eric Lippmann 720e022bea Merge branch 'feature/use-_env-variables-with-built-in-php-webserver-10488'
resolves #10488
2015-12-21 10:46:05 +01:00
Eric Lippmann 8835552e80 Deprecate Module::registerHook() in favor of Module::provideHook()
refs #9685
2015-12-21 10:30:40 +01:00
Eric Lippmann a3f89c8d20 lib/Tabs: Throw HttpNotFoundException when activating an inexistent tab
refs #10884
2015-12-21 10:09:13 +01:00
Eric Lippmann 11e7d1050f Merge branch 'bugfix/line-breaks-in-comments-10603'
fixes #10603
2015-12-21 09:39:12 +01:00
Alexander A. Klimov fc8873ec0a Use getenv() instead of $_SERVER to get REMOTE_USER
refs #10488
2015-12-18 13:46:34 +01:00
Alexander A. Klimov 414a78d532 Use getenv() instead of $_SERVER to get ICINGAWEB_CONFIGDIR
refs #10488
2015-12-18 13:26:38 +01:00
Alexander A. Klimov 643ee7b108 Menu: use target="_self" instead of data-base-target="_self" in logout link
fixes #10330
2015-12-17 18:56:32 +01:00
Alexander A. Klimov 21f7af4b64 Revert "Merge branch 'bugfix/logout-requires-restart-of-browser-10330'"
This reverts commit 94f4c670c1, reversing
changes made to 7d5c15469e.

refs #10330
2015-12-17 18:50:51 +01:00
Alexander A. Klimov 9e2da07eb7 Menu: use target="_self" instead of data-base-target="_self" in logout link
refs #10330
2015-12-17 17:56:13 +01:00
Alexander A. Klimov f6cd4794ee NavigationItemRenderer::renderTargetAttribute(): don't use the same name for two different variables
refs #10330
2015-12-17 17:45:03 +01:00
Alexander A. Klimov a9b818d52c NavigationItemRenderer: split actualLinkTarget() into getIcingaLinkTarget() and getHtmlLinkTarget()
refs #10330
2015-12-17 17:38:21 +01:00
Alexander A. Klimov 5edd8df1b6 NavigationItemRenderer: provide more human-readable aliases for native HTML link targets
refs #10330
2015-12-17 16:52:14 +01:00
Alexander A. Klimov 2473c4bbef NavigationItemRenderer: provide more human-readable aliases for internal link targets
refs #10330
2015-12-17 16:51:45 +01:00
Eric Lippmann 8006090108 Merge branch 'feature/theming-10705'
resolves #10705
2015-12-16 12:49:11 +01:00
Eric Lippmann 755f361e4c Add behavior for dropdown navigation items
Dropdown navigation is not yet accessible. The added behavior listens for activity on dropdown-navigation-item for toggling the CSS class active.
2015-12-16 12:48:02 +01:00
Alexander A. Klimov d087ae2575 Make Service Grid working with host names that contain only digits
fixes #10790
2015-12-16 11:37:30 +01:00
Eric Lippmann 2d5bd3085f Don't send cookies on API requests 2015-12-10 13:34:54 +01:00
Eric Lippmann bcd1402123 CSS: Combine header-, footer-elements and layout-colors in layout.less 2015-12-10 13:34:53 +01:00
Eric Lippmann b193ea5d32 Fix print styles 2015-12-10 13:34:53 +01:00
Johannes Meyer 6679490f13 Merge branch 'master' into feature/theming-10705 2015-12-07 14:25:25 +01:00
Eric Lippmann a1bb4bb695 Merge branch 'master' into feature/theming-10705 2015-12-07 14:17:57 +01:00
Eric Lippmann cce6af9243 Don't load inaccessible themes
refs #10705
2015-12-07 13:51:30 +01:00
Eric Lippmann bf0b673640 Fix section for themes config in StyleSheet
refs #10705
2015-12-07 12:37:34 +01:00
Johannes Meyer d527ac2717 DbRepository: Handle columns of type Zend_Db_Expr #3 2015-12-07 12:06:27 +01:00
Johannes Meyer 8dd1ad869f DbQuery: Mark method renderFilter() deprecated 2015-12-07 10:31:25 +01:00
Johannes Meyer 4f8b6ffeb3 DbConnection: Transfer DbQuery::whereToSql() updates to renderFilterExpression() 2015-12-07 10:31:10 +01:00
Johannes Meyer 64f13f0512 DbRepository: Handle columns of type Zend_Db_Expr #2 2015-12-07 09:55:25 +01:00
Johannes Meyer 0d1d3c3b8f DbRepository: Handle columns of type Zend_Db_Expr 2015-12-04 08:22:48 +01:00
Johannes Meyer e7399c312f SortBox: Add support for sort defaults provided by the controller action 2015-12-04 07:44:55 +01:00
Johannes Meyer 4f5afb5ee2 SortBox: Fix "algorithm" to detect the opposite sort direction 2015-12-03 17:15:57 +01:00
Johannes Meyer 3d60e60842 SortBox: Fix too strict sort param check
One was able to produce invalid SQL or other
errors by adding "sort=" as parameter.
2015-12-03 15:17:09 +01:00
Johannes Meyer 43848989ae RepositoryQuery: Add method __toString() 2015-12-03 13:54:48 +01:00
Johannes Meyer acf732e760 RepositoryQuery: Add method __clone() 2015-12-03 13:54:38 +01:00
Johannes Meyer 5be48fc923 DbQuery: Do not call Zend_Db_Select::columns() unless it's necessary
This makes it possible to just use a DbQuery as "union container" without
ever calling from() on it.
2015-12-03 13:53:34 +01:00
Johannes Meyer 28cd9681c8 DbQuery: Add method union() 2015-12-03 13:50:01 +01:00
Eric Lippmann 3a22168b64 Handle no-cache control in JavaScript and StyleSheet, not in FileCache 2015-11-27 16:51:19 +01:00
Eric Lippmann bac09fd125 Fix void method result used in JavaScript 2015-11-27 16:48:38 +01:00
Eric Lippmann 1f467ecfaa Add theme to the stylesheet if set and ...
... revamp interface of LessCompiler and StyleSheet

refs #10705
2015-11-27 16:40:17 +01:00
Eric Lippmann e7262b7d14 Set up logging in EmbeddedWeb 2015-11-27 16:39:19 +01:00
Eric Lippmann 59b540cc12 lib: Implement cookie handling in Response
Cookies set via Response::setCookie() or Response::getCookies()::add() will be automatically sent to client.
2015-11-27 15:51:38 +01:00
Eric Lippmann 2a0d3412d1 lib: Add CookieSet for maintaining a set of cookies 2015-11-27 15:50:29 +01:00
Eric Lippmann 8fb9d94f46 lib: Allow to control reload CSS header in Response
Whenever the theme is switched, client side script code has to be instructed to reload CSS.

refs #10705
2015-11-27 15:44:40 +01:00
Eric Lippmann 5d4a628e2d Provide cookie implementation 2015-11-27 15:42:18 +01:00
Eric Lippmann 271b5f9d5c Move cookie support detection to a helper class
Icinga\Web\Cookie will become a real cookie implementation.
2015-11-27 15:42:18 +01:00
Johannes Meyer 9587c363f6 LdapConnection: Do not explicitly emit the bind password in the log 2015-11-27 08:13:35 +01:00
Eric Lippmann 64bed9867f lib: Add Web::getThemes()
refs #10705
2015-11-26 14:49:49 +01:00
Eric Lippmann 6e618300ec Guard the FileCache if the systemd private tmp directory for the web server has been removed
refs #10123
2015-11-26 12:13:02 +01:00
Eric Lippmann 045e4a99b5 Guard FileCache against an existing but not writeable runtime path
fixes #10123
2015-11-26 12:02:55 +01:00
Eric Lippmann 46363ace49 Fix HTMLPurifier packaging in our source tree
fixes #10166
2015-11-26 11:15:29 +01:00
Eric Lippmann e3c1734d1a doc: Use Util/DirectoryIterator 2015-11-24 16:10:45 +01:00
Eric Lippmann 076784f2c9 lib: Add util DirectoryIterator
refs #10705
2015-11-24 15:54:16 +01:00
Eric Lippmann 5c3089ae85 lib: Fix String::endsWith() complexity 2015-11-24 15:53:13 +01:00
Johannes Meyer 916c417666 LdapUserGroupBackend: Avoid inspecting a group with no members
fixes #10659
2015-11-24 09:45:49 +01:00
Eric Lippmann 91e576d530 lib: Add nl2br view helper
refs #10603
2015-11-20 15:17:38 +01:00
Thomas Gelf edcc698e1e Hook: throw exceptions for missing classes
We are otherwise not catching the resulting fatal errors right now
2015-11-17 17:04:04 +01:00
Thomas Gelf 94690f4fda Cli\Screen: fix tput for rows (it's lines) 2015-11-16 18:50:48 +01:00
Eric Lippmann fad52e0929 Update version 2015-11-16 15:34:47 +01:00
Eric Lippmann 96466241c2 Fix img helper not setting icon class 2015-11-16 15:27:59 +01:00
Eric Lippmann 0cc54ce34b Refresh session every 10 minutes
Quick and dirty fix.

fixes #10229
2015-11-16 14:19:33 +01:00
Eric Lippmann 5e5e9709a5 Show sort direction as toggle button 2015-11-16 10:20:21 +01:00