Commit Graph

1848 Commits

Author SHA1 Message Date
Eric Lippmann 5b4fab0750 Add license header
This time without syntax errors hopefully :)
2015-02-03 16:27:59 +01:00
Eric Lippmann 5fa2e3cfdc Revert "Add license header"
This reverts commit 338d067aba.
2015-02-03 16:16:26 +01:00
Eric Lippmann 4c7d120523 Revert "Fix typo in UserBackend"
This reverts commit 9fa1fd626c.
2015-02-03 16:16:26 +01:00
Eric Lippmann 160b3a96ca Revert "Fix typo in UserGroupBackend"
This reverts commit e8c4f45d68.
2015-02-03 16:16:26 +01:00
Eric Lippmann e8c4f45d68 Fix typo in UserGroupBackend 2015-02-03 16:14:13 +01:00
Eric Lippmann 9fa1fd626c Fix typo in UserBackend 2015-02-03 16:13:22 +01:00
Eric Lippmann 4ef5f0c813 monitoring/security: Guard delete comment action 2015-02-03 16:11:56 +01:00
Eric Lippmann 6517f8e2be security: Activate permissions 2015-02-03 16:08:35 +01:00
Eric Lippmann 338d067aba Add license header
fixes #7788
2015-02-03 15:51:04 +01:00
Eric Lippmann 08fd000496 Remove any topbar related stuff
It's not used anywhere.
2015-02-03 12:42:02 +01:00
Alexander Klimov a6cea24934 Platform::zendClassExists(): don't fail if a Zend class file doesn't exist 2015-02-03 12:22:23 +01:00
Markus Frosch cb08b25e17 Remove executable flags from some PHP libraries
Note: dompdf.php is actually a CLI script, but has no shebang and is not used
in Icingaweb2.

Fixes #8345
2015-02-03 10:50:50 +01:00
Johannes Meyer 7989b48248 Fix ldap auth when the userNameAttribute holds multiple values
fixes #8246
2015-02-03 10:15:54 +01:00
Thomas Gelf f8c5bf6819 Web\Hook: support hook base classes in modules
refs #8207
2015-02-02 17:44:29 +01:00
Thomas Gelf 3596e7ce62 FilterEditor: use preserved params
fixes #7904
2015-02-02 17:07:54 +01:00
Eric Lippmann 9d6906bd64 Save user dashboards to Icinga Web 2's configuration directory
fixes #8056
2015-02-02 15:06:29 +01:00
Eric Lippmann 52c40bdc5b lib/SimpleQuery: Increase default limit to 25
Please follow the referenced issues.

fixes #8337
refs #8339
2015-02-02 14:16:27 +01:00
Eric Lippmann 94193abdc0 lib: Fix User::can() 2015-02-02 14:16:26 +01:00
Eric Lippmann 9ac9342107 Revert "lib: Reduce else { if { to elseif { in User::can()"
This reverts commit e5b0b52874.
2015-02-02 14:16:26 +01:00
Eric Lippmann 5a1ebf9c89 lib: Implement Tab::getUrl() 2015-02-02 14:16:26 +01:00
Johannes Meyer bf470125c3 Merge branch 'master' into feature/create-missing-directories-when-creating-inis-8219
Conflicts:
	modules/monitoring/library/Monitoring/MonitoringWizard.php
2015-01-30 16:21:42 +01:00
Johannes Meyer f5a651664c Create the enabledModules directory when necessary only as well
refs #8219
2015-01-30 16:16:12 +01:00
Johannes Meyer 9426a5bd23 Use File::create() in Config::saveIni() to create missing nested directories
refs #8219
2015-01-30 15:43:02 +01:00
Johannes Meyer fdcec046e0 Make File::create(.., $recursive = true) create missing nested directories
refs #8219
2015-01-30 15:42:22 +01:00
Eric Lippmann e5b0b52874 lib: Reduce else { if { to elseif { in User::can() 2015-01-30 11:20:05 +01:00
Eric Lippmann df29dd0e7c Implement Form::hasPermission() and Form::getPermission() 2015-01-30 09:35:01 +01:00
Eric Lippmann 2faf5f0ca1 Throw SecurityException in ActionController::assertPermission() 2015-01-30 09:34:19 +01:00
Johannes Meyer 63305fdf9a Add Icinga\Application\Config::saveIni()
Simplifies saving INI files. Icinga\File\Ini\IniWriter does already require an
instance of Icinga\Application\Config so it's obvious to give "Config" the
task to initialize the writer.. We do also have a central place to handle
creating missing ancestor directories now.

refs #8219
2015-01-30 09:32:08 +01:00
Eric Lippmann 375345f837 lib: Add SecurityException
All assertPermission() calls must throw this exception.
2015-01-30 09:06:10 +01:00
Johannes Meyer 3e128732b8 Apply a limit to results fetched via Ldap\Connection::fetchRow()
fixes #7993
2015-01-29 17:29:11 +01:00
Johannes Meyer 6e533f223e Log warnings emitted by ldap_control_paged_result_response() as debug
Such a warning is emitted as well in case it's not critical. That is passing
an alternative overall result limit using ldap_search() to the server causes
it being applied across pages so ldap_control_paged_result_response()
does not indicate the "end" of the resultset just by adjusting the cookie
but by emitting the warning as well.
2015-01-29 17:12:59 +01:00
Johannes Meyer 9ff0bbcfc0 Fix that Icinga\Protocol\Ldap\Connection does not correctly apply limits 2015-01-29 17:07:58 +01:00
Johannes Meyer 97cc37b99c Move php version check from ...\Ldap\Query to ...\Ldap\Connection
refs #8261
refs #6176
2015-01-29 15:59:03 +01:00
Johannes Meyer 2a115e71d4 Add support for paged LDAP search results
fixes #8261
refs #6176
2015-01-29 15:53:15 +01:00
Marius Hein dd483d98df LessCompiler: Remove useless argument
refs #6417
2015-01-29 14:04:47 +01:00
Marius Hein c1df1f822e ifont: Reorganize files and drop use less attributes
fixes #6417
2015-01-29 11:25:37 +01:00
Johannes Meyer 3a983e8859 Merge branch 'master' into feature/improve-autologin-setup-8274 2015-01-28 18:01:15 +01:00
Marius Hein 4abb30e55b Merge branch 'master' into bugfix/ie8-fixes-6417 2015-01-28 17:08:56 +01:00
Marius Hein 9d05190517 ifont: Fix empty font glyphs for IE8
The embedded font is included inline in the stylesheets. IE falls back and
tries to load one of the other font sources which was not exported by the web
server. This fix moves the fontello directory to public and add add a
prefix path to the embedded stylesheet.

refs #6417
2015-01-28 17:06:55 +01:00
Johannes Meyer 6fde4eec30 Show all tabs except "Add to Dashboard" when issuing a command
refs #8279
2015-01-28 12:50:29 +01:00
Eric Lippmann c53b1d27e9 lib: Deprecate Data\Filterable because of ...
addFilter and applyFilter do the same in all usages.
addFilter could be replaced w/ getFilter()->add().
We must no require classes implementing this interface to implement redundant methods over and over again.
The interface must be moved to the namespace Icinga\Data\Filter.
It lacks documentation.
2015-01-27 14:33:46 +01:00
Johannes Meyer 47b27fcfe4 setup: Look for the authentication.ini instead of the config.ini
The config.ini does not include any settings mandatory to operate
Icinga Web 2, but the authentication.ini does.

refs #8134
2015-01-27 13:34:59 +01:00
Johannes Meyer 50fc85d7ff Rename authentication type "autologin" to "external"
refs #8274
2015-01-27 09:49:36 +01:00
Johannes Meyer d452f3218d Use "ini" as preferences store in case preferences are not configured
refs #8234
2015-01-23 16:25:24 +01:00
Johannes Meyer 2a543bb5ae Rename the preference setting `type' to `store'
refs #8234
2015-01-23 16:25:23 +01:00
Eric Lippmann 7bd42b476f bootstrap: Load setup module in case the setup token exists
The web setup may write the config.ini even if it errors. Thus our bootstrap
has to load the setup module whenever the setup.token exists.
Another approach would to write the config.ini in our web setup at the very end.
2015-01-23 15:27:52 +01:00
Johannes Meyer 14a4aaeb77 Revert "Fix that when chosing to not to store preferences an invalid config is created"
This reverts commit 6284da451e.
2015-01-23 15:23:43 +01:00
Johannes Meyer 6284da451e Fix that when chosing to not to store preferences an invalid config is created
fixes #8234
2015-01-23 14:42:09 +01:00
Eric Lippmann cd8822ceff lib: Add View::hasPermission() 2015-01-23 09:36:45 +01:00
Eric Lippmann 6da3cb8403 lib: Reorder auth related functions in the ActionController 2015-01-23 09:36:05 +01:00
Eric Lippmann 44de790cc9 Security: Temporary grant all permissions 2015-01-22 17:12:49 +01:00
Eric Lippmann ef0a7c0e77 Revert "Security: Temporary grant all permissions"
This reverts commit 9b7e75a616.

Patching function hasPermission is not enough. A fix will follow.
2015-01-22 17:11:53 +01:00
Eric Lippmann 0f13c0428c Controller: Introduce method assertHttpMethod()
We have actions where only certain HTTP methods, e.g. POST are allowed but they are not restricted yet.
Controller::assertHttpMethod() takes a number of allowed HTTP methods and responds with HTTP 405 in case
the current request's method is not one of the given methods.
2015-01-22 15:47:16 +01:00
Eric Lippmann 9b7e75a616 Security: Temporary grant all permissions
We'll introduce permissions and restrictions in the next hours. Because our web setup
does not configure permissions yet, all permissions are granted for all users from now on.
2015-01-22 15:20:38 +01:00
Eric Lippmann f16aac5154 Security: Sort permissions only if not empty 2015-01-22 15:20:19 +01:00
Johannes Meyer 94d727dbb8 Fix error in Icinga\Web\Form in case the label decorator is missing
Zend_Form::getDecorator() returns false instead of null in case the
decorator is not found.
2015-01-22 09:21:50 +01:00
Johannes Meyer 10eacf9682 Allow jumping to already visited pages
This was already possible using just the base implementation of Wizard
but since WebWizard has optional pages it did not work with pages that
had such an optional page as previous page.

refs #8191
2015-01-21 15:39:06 +01:00
Johannes Meyer 64a8006973 Add Wizard::isComplete()
Wizard::isFinished() is not applicable in case a wizard is a child of another
wizard. Wizard::isComplete() fulfills the need to check whether a user went
through a wizard entirely.

refs #8191
2015-01-21 13:56:53 +01:00
Johannes Meyer 1f6a81aefb Add Wizard::skipPage()
Required to not to duplicate code in custom wizards and to avoid errors
when detecting the direction.

refs #8191
2015-01-21 13:07:08 +01:00
Johannes Meyer 2288e2a687 Add support for nested wizards
The amount of vertical dimensions is not limited as well as the location a
nested wizard can occur in the main wizard's order. In case a custom
implementation is used as nested wizard, all core functionalities are
still being utilized.

refs #8191
2015-01-20 15:54:14 +01:00
Eric Lippmann 2bd2f32b2e postgresql/auth: Fix that users cannot login when using PostgreSQL >= version 9.0
fixes #8251
2015-01-19 16:43:19 +01:00
Matthias Jentsch 4dfad963e9 Merge branch 'master' into feature/improve-chart-implementation-7841 2015-01-19 15:15:24 +01:00
Matthias Jentsch ba1007465a Adapt bar width to amount of data points 2015-01-19 15:13:44 +01:00
Eric Lippmann a1a36301fe View: Add string helpers 2015-01-19 14:20:57 +01:00
Eric Lippmann a0a3241d1c lib: Add String::ellipsis() 2015-01-19 14:20:37 +01:00
Matthias Jentsch fecd4151d1 Move axis labels to the top of the chart 2015-01-19 13:35:41 +01:00
Eric Lippmann ac503031a7 Config: Fix PHPDoc for fromIni 2015-01-19 11:43:39 +01:00
Eric Lippmann 87adbacb3b Config: Fix coding style 2015-01-19 11:43:39 +01:00
Eric Lippmann 599cb620d8 Config: Don't throw NotReadableError if the file does not exist 2015-01-19 11:43:39 +01:00
Eric Lippmann 7fc70c5a02 IniWriter: Don't allow read for others on new files 2015-01-19 11:43:38 +01:00
Matthias Jentsch f6eb9a764f Determine axis orientation based on max label length 2015-01-19 11:33:21 +01:00
Eric Lippmann b983f1901b modules: Fix that the forms namespace is not registered when the module does not have any library file 2015-01-14 13:24:31 +01:00
Matthias Jentsch 76d3e5435f Display bigger legend labels correctly without overlapping 2015-01-13 18:25:19 +01:00
Matthias Jentsch d1c7d9d2f9 Improve SVG layout 2015-01-13 18:21:11 +01:00
Matthias Jentsch 807666bf88 Improve chart axis readability
Introduce different line weights to separate between the smallest visible separator (steps) and single chart values (ticks). Calculate the amount of ticks per step using the available chart space.

fixes #7846
2015-01-13 17:56:50 +01:00
Matthias Jentsch debc305789 Add logarithmic AxisUnit
resolves #7845
2015-01-13 17:56:50 +01:00
Eric Lippmann fbe252063b IniWriter: Do not use umask(0)
chmod is not affected in any way by the umask.
2014-12-30 15:39:03 +01:00
Eric Lippmann 70c564bb0e Cli: Remove useless sprintf format in Command::fail() 2014-12-30 14:41:00 +01:00
Eric Lippmann 8eb37d9d76 Cli/Command: Add @type PHPDoc to params 2014-12-30 14:33:36 +01:00
Eric Lippmann 50bbf77d0c Fix module domain detection in Form::getTranslationDomain()
The usage of preg_replace had two errors:
1) The regular expression was wrong
2) $matches[0] always contains the full matched string, not the first parenthesized subpattern

The correct version of preg_replace would've been:

if (preg_match('/^Icinga\\\\Module\\\\([A-Za-z]+)\\\\/', get_called_class(), $matches) === 1) {
    return strtolower($matches[1]);
}

But since there's no benefit of using a regular expression here except less speed, I replaced it
with using explode.

refs #7551
2014-12-30 10:08:33 +01:00
Eric Lippmann 58cfb67983 Load setup module when necessary when bootstrapping the CLI
fixes #8146
2014-12-30 09:27:37 +01:00
Eric Lippmann 9d9dd8ac99 Merge branch 'feature/rhel-packages-6401'
resolves #6401
2014-12-29 16:50:20 +01:00
Eric Lippmann 57121bf0ea dompdf: Rename LICENSE.LGPL to LICENSE 2014-12-29 16:31:21 +01:00
Eric Lippmann 0b8ab18243 Parsedown: Rename LICENSE.txt to LICENSE 2014-12-29 16:30:44 +01:00
Matthias Jentsch a1950aabba Fix some obsolete or wrong docstrings 2014-12-29 16:27:28 +01:00
Matthias Jentsch 4cf8da4bb9 Do not focus logout menu item after a recurring login
Implement new MenuItemRenderer made for pages that are not part
of the regular site navigation and should trigger a complete site reload
instead of handling it via XHR.
2014-12-29 16:20:05 +01:00
Eric Lippmann 839523a73f Web: Load setup module if necessary 2014-12-29 14:31:34 +01:00
Eric Lippmann 611d01788f Add setup related utility functions to ApplicationBootstrap.php 2014-12-29 14:29:31 +01:00
Eric Lippmann 7d36a59c67 Use '@return $this' instead of '@return self' for document fluent interfaces in ApplicationBootstrap.php 2014-12-29 14:01:19 +01:00
Eric Lippmann 4ea52161a9 Merge branch 'master' into feature/packages-4075 2014-12-29 12:31:38 +01:00
Boden Garman 5e40ce2088 Only check the session save path is writable if the session handler is 'files'
fixes #8053

Signed-off-by: Eric Lippmann <eric.lippmann@netways.de>
2014-12-29 09:37:47 +01:00
Eric Lippmann 7f5ba135ee Revert "Relax session storage check to the `files' save handler"
This reverts commit f7d11ce11f.

Sorry mate but a guy on GitHub was faster ;)

refs #8053
2014-12-29 09:37:07 +01:00
Matthias Jentsch 41c101d99f Use neutral default color in perfdata piecharts
If nothing is known about the state of the monitoring object, the piecharts should neither indicate OK nor Critical.
2014-12-23 16:12:25 +01:00
Matthias Jentsch cda5a6a903 Streamline chart implementation
Define sparkline layout through CSS class and remove label/tooltip formatting.

fixes #7077
2014-12-23 15:26:45 +01:00
Matthias Jentsch 64a2acd12e Do not display labels for single data sets in perfdata piecharts
Display generic chart titles for the whole piechart that only contain title and percentage and don't style perfdata piecharts using HTML properties.

refs #7077
refs #6200
refs #7304
2014-12-23 15:14:17 +01:00
Johannes Meyer f7d11ce11f Relax session storage check to the `files' save handler
fixes #8053
2014-12-22 11:02:48 +01:00
Johannes Meyer 6d263ae316 Do NOT fetch the translation domain from the request in Form::translate(..)
It might be the case that a module is using a library form...

refs #7551
2014-12-19 13:07:51 +01:00
Johannes Meyer cf43b81400 Use the class namespace instead of the request in Form::translate(Plural)
refs #7551
2014-12-19 12:08:54 +01:00
Johannes Meyer e5d2d4cec2 Add module-aware Form::translate and Form::translatePlural
refs #7551
2014-12-19 11:29:24 +01:00
Eric Lippmann 1468ed0a19 lib: Add separator parameter to String::cname() 2014-12-18 17:23:54 +01:00