Commit Graph

4047 Commits

Author SHA1 Message Date
Johannes Meyer 8e5380220c SimpleQuery: Cache count query result and use it in `hasResult()`
Does not affect views which do not run a count query. (e.g. dashlets)
Though, this is a quick win for all other views with which the user
interacts directly and gets the desired result quicker than before.

refs #3905
refs #3836
2019-10-11 10:27:43 +02:00
Johannes Meyer 52d830170f LessCompiler: Put required assets into a module's css block
We have to include these there otherwise mixins from assets
can't be used.
2019-10-01 15:30:17 +02:00
Johannes Meyer 5352e72d1f
Merge pull request #3946 from Icinga/fix/wrong-dashlet-order-3931
Fix wrong dashlet order
2019-09-26 14:34:13 +02:00
Johannes Meyer d699191629
Let modules provide css/js assets to be used by other modules (#3961) 2019-09-25 09:53:53 +02:00
Johannes Meyer f98f988aff Remove tristate form element 2019-09-23 08:36:24 +02:00
Johannes Meyer d4dc282ac8 DashboardContainer: Allow to define a priority for dashlets
refs #3931
2019-09-09 14:43:28 +02:00
Johannes Meyer 04b23811be Raise version to 2.7.1 2019-08-14 13:10:19 +02:00
Eric Lippmann c8ed889114 Fix operator in wildcard filter chains 2019-08-13 17:19:45 +02:00
Eric Lippmann 31d3153d2b Support wildcard filters in chains (#3903) 2019-08-12 13:41:38 +02:00
Eric Lippmann 666bdfb4c4 Revert "Fix double query execution"
This reverts PR 6ea012af7e, reversing
changes made to be5b9f870b.

The reverted commit fixed a double query execution bug by only executing
the query once in either SimpleQuery::hasResult() or upon iteration.

But the fix (b20291a60) introduced two problems:

* Default sort rules no longer work
* Show more links missing

We work with DataView objects in our controllers and views. When
iterating over a DataView, it applies its default sort rules and then
returns the underlying query, see DataView::getIterator().

DataView::hasResult() on the other hand does not apply the default sort
rules. So, if hasResult() is called first, the default sort rules are no
longer applied because the query will be executed only once.
The fix would be as easy as to apply sorting in DataView::hasResult() as
well.

But now the show more part kicks in. We know whether there are more
results because we execute queries with $limit + 1. This is enabled via
SimpleQuery::peekAhead(). Unfortunately, we call
SimpleQuery::peekAhead() ALWAYS after SimpleQuery::hasResult(). And
that's why the show more links are missing because the query is executed
only once with the "wrong" limit.

For now, we just revert the commit in question and postpone a proper fix
for the double execution.
2019-08-07 13:29:57 +02:00
Eric Lippmann f35946df29 Raise version to 2.7.0 2019-07-30 10:19:53 +02:00
Eric Lippmann b8fb193bdd Add FilterChain::setFilters() 2019-07-30 09:17:25 +02:00
Johannes Meyer b31dd77812
Merge pull request #3676 from Icinga/feature/form-styling
Improve look of our forms
2019-07-30 08:26:08 +02:00
Markus Frosch c66d206042 Cleanup executable flags on files
Some or scripts, but if so just vendor artifacts
2019-07-30 07:53:54 +02:00
Johannes Meyer 9cdf37410c ApplicationStateMessages: Fix message layout 2019-07-29 10:19:39 +02:00
Johannes Meyer 13ad506393 css: Rename class `icinga-forms` to `icinga-form` 2019-07-29 10:17:59 +02:00
Johannes Meyer 212606de78 setup: Apply new icinga form style 2019-07-29 10:17:59 +02:00
Johannes Meyer 0bc70a840c SortBox: Apply icinga form style 2019-07-29 10:17:59 +02:00
Johannes Meyer 346083109a Apply new form style to the filter editor 2019-07-29 10:17:59 +02:00
Johannes Meyer 05613c413d Enhance toggle-switch, spinner and control-info placement
tested with Chromium, IE11 (Win7), Edge (Win10)
2019-07-29 10:17:59 +02:00
Johannes Meyer 115bb80c6a View: Register our own view helper path
That's a different path than application/views/helpers because this one
uses a namespace so that we're able to extend Zend's view helpers
2019-07-29 10:17:59 +02:00
Johannes Meyer bc2e7588d7 FormNotifications: Don't ignore warning and error notifications 2019-07-29 10:17:59 +02:00
Johannes Meyer a5f292c2ae Form: Define classes `icinga-forms` and `icinga-controls` by default 2019-07-29 10:17:59 +02:00
Florian Strohmaier f14256a7ee CSS: Adapt form design with filter editor
refs #3676
2019-07-29 10:17:59 +02:00
Florian Strohmaier f70f996085 Announcements: Increase font-size and align control layout
refs #3676
refs #3560
refs #3839
2019-07-29 10:17:59 +02:00
Florian Strohmaier c492c6bb23 Announcements: Avoid duplicate `id attribute
refs #3762
2019-07-29 10:17:59 +02:00
Eric Lippmann c49f5d6a0f Don't override Zend's Checkbox for our toggle switch 2019-07-29 10:17:59 +02:00
Eric Lippmann 41ee36c7e6 Reduce default textarea rows 2019-07-29 10:17:59 +02:00
Jennifer Mourek bf48b6d26b WIP: New form styles
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2019-07-29 10:17:59 +02:00
Johannes Meyer 9d0ef4cf33 Wrap any markdown output with a `<section>` and remove explicit containers 2019-07-23 14:45:32 +02:00
Johannes Meyer 9de9fe8f39 Introduce class RolesConfig 2019-07-23 13:53:29 +02:00
Johannes Meyer 1f0ee9b0d4 IniRepository: Fix wrong documentation for $configs 2019-07-23 13:53:29 +02:00
Johannes Meyer 40529e76ef
Merge pull request #3858 from Icinga/feature/downtime-schedule-times
Require time output for downtime schedule and end/expire times
2019-07-18 08:47:55 +02:00
Johannes Meyer fcde2a9eea dashboard: Use the non-translated versions of pane and dashlet names for storage
This is a dirty quick fix. And calling it *quick* is already an overstatement.
Of course, it's also a breaking change, as **all** non-english users need to
update their dashboard.ini after this change.

Oh, and don't dare to move this over to the new dashboards!

refs #3542
2019-07-18 08:33:35 +02:00
Johannes Meyer 4fdfb190ad Navigation/DashboardPane: Properly register dashlets as children
refs #3542
2019-07-18 08:33:35 +02:00
Johannes Meyer 37a972cf75 dashboard: Differentiate between `name` and `title`
The former is the original name while title may
be changed by the user. This change is strictly
necessary for the references bug and should also
be introduced when rewriting this mess.

refs #3542
2019-07-18 08:33:35 +02:00
Johannes Meyer f8d3f43965 js: Drop vendor library tipsy 2019-07-18 07:57:14 +02:00
Johannes Meyer eac3a106ad Render `<title>` tags for line and bar charts instead of tipsy titles 2019-07-18 07:57:14 +02:00
Johannes Meyer c100654412 js: Integrate vendor library jquery-migrate 2019-07-18 07:57:14 +02:00
Johannes Meyer 91e4baa221 Remove remaining special cases for IE8 2019-07-18 07:57:14 +02:00
Jennifer Mourek 07586af41f Remove IE8 & IE9 traces 2019-07-18 07:56:09 +02:00
Florian Strohmaier 7cf620f3f1 JS: Use jquery 3.4.1
refs #3813
2019-07-18 07:56:09 +02:00
Jennifer Mourek 55d35b9e5b Remove jquery 1.11 dependency
refs #3784
2019-07-18 07:56:09 +02:00
Johannes Meyer e2cddc2d46 js: Introduce storage.js, a localStorage abstraction layer 2019-07-17 13:12:41 +02:00
Johannes Meyer 0574f44bd9 colllapsibleContainer.js: Rename to collapsible.js 2019-07-17 13:12:41 +02:00
Florian Strohmaier b07ffd4987 JS: Implement collapsible-container behavior 2019-07-17 13:12:41 +02:00
Eric Lippmann f9021e8fdd Add $requireTime to timeAgo() and timeSince() too 2019-07-15 10:11:52 +02:00
Johannes Meyer 5145de6b50
Merge pull request #3852 from Icinga/feature/cli-load-enabled-modules
CLI: Automatically load enabled modules if not disabled
2019-07-15 08:39:57 +02:00
Johannes Meyer 3edda43bca ActionController: Utilize view variable `$defaultTitle` instead of the constant
Allows controllers to also customize the default title with translated contents.

refs #3851
2019-07-15 08:24:44 +02:00
Eric Lippmann 16fbf6d7bd Introduce ConfigFormEventsHook 2019-07-15 07:52:32 +02:00
Eric Lippmann 98b8631db3 Optimize imports 2019-07-12 14:23:41 +02:00
Eric Lippmann 6fa5af4de1 CLI: Automatically load enabled modules if not disabled 2019-07-12 14:23:41 +02:00
Johannes Meyer 5d87f6712e
Merge pull request #3856 from Icinga/feature/send-failed-login-attempts-to-the-audit-log-3855
Send failed login-attempts to the audit log
2019-07-12 14:00:09 +02:00
Johannes Meyer 2257eaa0c1
Merge pull request #3849 from Icinga/feature/commonly-accessible-module-hooks-3772
Add possibility to disable permission checks for hooks
2019-07-12 13:59:44 +02:00
Johannes Meyer b06103bfc5 NavigationItemRenderer: Don't fail to render an icon if there's none
fixes #3859
2019-07-12 07:42:33 +02:00
Johannes Meyer 59fa054d42 AuthChain: Send failed login-attempts to the audit log
resolves #3855
2019-07-11 14:41:17 +02:00
Loei Petrus Marogi 617f1b35b3 Add possibility to let hooks always run
refs #3772
2019-07-11 13:36:33 +02:00
Eric Lippmann 1351be7da8 Add param to timeUntil() to require time output
If the time specified in timeUntil() is at least 3 days in the future,
the output will only contain the month and the day. With $requireTime it
will also ouput the time. This is useful for some views, e.g.
scheduled downtimes.
2019-07-11 13:07:17 +02:00
Niko Martini 7abd1b906b Cli: add version command
refs #3763
2019-07-11 08:17:56 +02:00
Johannes Meyer 801a6719b7
Merge pull request #3835 from Icinga/fix/problem-badges-not-visible-if-sidebar-is-collapsed-3568
ui: Show problem badges in collapsed sidebar
2019-07-11 08:00:12 +02:00
Johannes Meyer f0b5d8fd8e BadgeNavigationItemRenderer: Round counts to the neareset base
refs #3568
2019-07-03 11:29:37 +02:00
Johannes Meyer 559d57d466
Merge pull request #3834 from Icinga/fix/tactical-overview-big-numbers
Support higher number of problems in the tactical overview
2019-07-02 15:38:52 +02:00
Johannes Meyer 36524bcd94
Merge pull request #3814 from Icinga/feature/make-notes-and-comments-markdown-aware-3684
Make notes, comments and announcements markdown aware
2019-07-02 15:30:21 +02:00
Johannes Meyer 6ea012af7e
Merge pull request #3836 from Icinga/fix/query-double-execution
Fix double query execution
2019-07-02 13:56:50 +02:00
Eric Lippmann b20291a606 Fix double query execution
Our monitoring list views call SimpleQuery::hasResult() first in
order to determine whether there are results to display. This calls
fetchRow() which executes the underlying query the first time. If there
are resulsts, the query is iterated which executes the query again.
With this patch, SimpleQuery::hasResult() makes use of the inner
iterator instead of calling fetchRow(). The query is now executed only
once.
2019-06-27 15:11:45 +02:00
Johannes Meyer 6aa2cf69c7 HtmlPurifier: Enable cache directory
refs #3814
2019-06-27 14:41:13 +02:00
Niko Martini cae8cea482 Support higher number of problems in the tactical overview
refs #3746
2019-06-27 11:06:07 +02:00
Johannes Meyer 44c7c427e8 vendor: Update dompdf to version 0.8.3
refs #3785
2019-06-27 09:39:41 +02:00
Johannes Meyer 3f7b317ced vendor: Update lessphp to version 0.5.0
refs #3785
2019-06-27 09:21:13 +02:00
Johannes Meyer cdaef76faf vendor: Update Parsedown to version 1.7.3
refs #3785
2019-06-27 09:20:11 +02:00
Johannes Meyer 0aa32c7ef1 vendor: Update JShrink to version 1.3.2
refs #3785
2019-06-27 09:19:36 +02:00
Johannes Meyer 74642d1cf7 FileCache: Add method to prepare sub directories
refs #3814
2019-06-25 16:18:26 +02:00
Johannes Meyer bd2060739e announcements: Transform markdown markup 2019-06-25 15:04:04 +02:00
Johannes Meyer 1ac5557187 lib: Introduce Markdown view helper
refs #3684
2019-06-25 15:01:35 +02:00
Johannes Meyer dd664aab98 Url: Trim all leading slashes from paths, not just the first
refs #3829
2019-06-25 09:18:15 +02:00
Johannes Meyer dbd5e064ff
Merge pull request #3812 from Icinga/fix/cli-css-path
CLI: Fix CSS path
2019-06-05 14:09:24 +02:00
Johannes Meyer 40e27f8e2a LdapConnection: Properly render logical NOTs with only single expression
fixes #3818
2019-06-05 12:59:36 +02:00
Eric Lippmann b9c2c45af1 CLI: Fix CSS path
CLI commands which require our LESS parser had no access to our CSS
because the public path was set to the path of the icingacli executable
which is most likely bin.
2019-06-04 09:43:39 +02:00
Johannes Meyer 09090bcf9f
Merge pull request #3553 from oliverrahner/patch-1
Enable `$user:local_name$` placeholder in restrictions
2019-06-04 07:33:51 +02:00
Oliver Rahner 6ad74ef1cc
renamed variable $currentUser$ to $user:local_name$
updated docs, too
2019-06-03 23:56:21 +02:00
Johannes Meyer dcbb477d3a AnnouncementIniRepository: Also fetch column `start` in `findActive()` 2019-05-23 10:05:14 +02:00
Johannes Meyer de82dbe2ab
Merge pull request #3778 from Icinga/fix/browser-language-not-used-3750
Also adjust env var `LANGUAGE` when setting up the locale
2019-05-22 12:45:33 +02:00
Johannes Meyer 5d9aa0895f
Merge pull request #3570 from MVKozlov/patch-1
Return non-zero on display usage
2019-05-22 12:21:46 +02:00
Max Kozlov 27d12163c4 Icingacli should return UNKNOWN code, showUsage() also should return non-zero 2019-05-21 09:48:38 +03:00
Johannes Meyer 4af672fdfa Translator: Also adjust env var `LANGUAGE` when setting up the locale
fixes #3750
2019-05-10 12:33:31 +02:00
Elias Probst 483a9d1935 Typo (`Issueing` > `Issuing`) (#3773) 2019-05-03 15:56:47 +02:00
Johannes Meyer eb7db67dee
Merge pull request #3578 from Icinga/fix/cli-command
Fix uninitialized array and module in Cli\Command
2019-04-26 15:55:45 +02:00
Johannes Meyer 498f37d4ff
Command: Function getMainConfig should not deliver module config
Co-Authored-By: mxhash <mxhash@users.noreply.github.com>
2019-04-26 14:37:06 +02:00
Johannes Meyer c0e102cedd Release version 2.6.3
(cherry picked from commit 78d215ce36)
Signed-off-by: Johannes Meyer <johannes.meyer@icinga.com>
2019-04-24 14:49:21 +02:00
Johannes Meyer 1c0a70d152
Merge pull request #3758 from Icinga/fix/ldap-group-members-not-found-3650
Fix LDAP group members not found
2019-04-23 15:02:16 +02:00
Johannes Meyer a2d30a100c LdapQuery: Make all applied filters case-insensitive
LDAP peforms case-insensitive checks by default so do we now.

fixes #3650
2019-04-23 14:36:08 +02:00
Johannes Meyer 1d341f9253 LdapConnection: Include the normalized hostname in all informational messages
refs #3639
2019-04-23 10:55:23 +02:00
Johannes Meyer d998bd9894 LdapConnection: Normalize the hostname in all cases, not just for LDAPS
refs #3639
2019-04-23 10:54:40 +02:00
Johannes Meyer 0be1053197
Merge pull request #3748 from Icinga/feature/sortable-announcements-page-3414
Sortable announcements page
2019-04-18 14:51:16 +02:00
Johannes Meyer b50091fc21
Merge pull request #3747 from Icinga/bugfix/setuptimezone
ApplicationBootstrap#setupTimezone(): ensure a vaild default timezone to be set in any case
2019-04-17 14:46:22 +02:00
Johannes Meyer 4d0a9fb289 DbConnection: Rename getTimezoneOffset() to defaultTimezoneOffset()
refs Icinga/icingaweb2-module-director#1837
2019-04-17 12:30:33 +02:00
Johannes Meyer 9d30cfc3b7 IniParser: Add work-around for php bug 76965
refs #3733
2019-04-17 10:00:42 +02:00
Johannes Meyer 14b6e40562 DbConnection: Set current user's timezone on the connection
resolves #3525
2019-04-16 15:57:27 +02:00
Johannes Meyer db3cc699f7 ArrayDatasource: Store any type of key as a key column's value
fixes #3510
2019-04-16 13:26:48 +02:00
Johannes Meyer 37df008d7f AnnouncementIniRepository: Don't transform retrieved timestamps to DateTime
refs #3414
2019-04-16 13:03:16 +02:00
Johannes Meyer 032ca7ae50 SimpleQuery: Fail in case of missing order columns
refs #3414
2019-04-16 12:01:49 +02:00
Johannes Meyer e22d7daab6 SimpleQuery: Don't fail to order results based on sequenced column arrays
refs #3414
2019-04-16 12:00:55 +02:00
Alexander A. Klimov 5d4cdfe13f ApplicationBootstrap#setupTimezone(): ensure a vaild default timezone to be set in any case 2019-04-16 10:35:36 +02:00
Johannes Meyer 8fc467ca3c
Merge pull request #3714 from ignasr/fix/ldaps-port-3713
use the correct LDAPS port
2019-04-12 09:36:33 +02:00
ignasr 12ee9580a9 When using LDAPS, check if the Host field has hostnames with ports and use the value from Port field if not. 2019-04-12 08:57:52 +02:00
Johannes Meyer 3fe810ecf9 Form: Properly preserve defaults from DateTimePicker elements
fixes #3612
2019-04-10 10:51:36 +02:00
Johannes Meyer ccc2f487f6
Merge pull request #3706 from Icinga/fix/multiline-values-in-ini-files-broken-3705
Fix multiline values in ini files broken
2019-04-05 08:44:46 +02:00
Eric Lippmann 915c7b8fe5
Merge pull request #3504 from Icinga/fix/collapsible-sidebar-issues-3187
Fix collapsible sidebar issues
2019-03-21 09:09:27 +01:00
Jennifer Mourek b3b80fdc31 Make active first-level nav items better distinguishable 2019-03-20 11:07:39 +01:00
Jennifer Mourek 61b0d8aa90 Add icon with first letter of the li if there is no icon set else default to icon-circle 2019-03-20 11:07:39 +01:00
ignasr 9b1f49413d use the correct LDAPS port
refs #3713
2019-03-08 18:49:20 +01:00
Johannes Meyer 769d490631 config: Escape and unescape line breaks in ini values
refs #3705
2019-03-04 12:16:06 +01:00
Eric Lippmann 403c2d3495
Merge pull request #3481 from marianrh/feature/optionally-disable-mysql-server-certificate-validation
Allow disabling MySQL server certificate validation by setting ssl_do_not_verify_server_cert
2019-02-26 10:39:21 +01:00
Eric Lippmann b6e8151582
Merge pull request #3677 from Icinga/fix/escaped-ini-characters-3648
Fix escaped ini characters
2019-02-26 10:03:54 +01:00
Eric Lippmann 57f54b0f76
Merge pull request #3667 from Icinga/bugfix/undefined-offset-100-3589
Format::seconds(): handle negative values as expected
2019-02-26 09:59:24 +01:00
Thomas Gelf a487f83f99 Loader: fix indentation...
...it's too early in the morning, wrong .vimrc on this system - sorry.
2019-02-20 05:48:04 +01:00
Thomas Gelf 07776c54f3 Upload: do not fail on PHP 7.2
fixes #3689
2019-02-20 05:41:23 +01:00
Thomas Gelf 7868216d04 Loader: close clicommands directory after use
fixes #3688
2019-02-20 05:36:08 +01:00
Johannes Meyer ed7ecb32a5 IniParser: Properly unescape special characters in section names and option values
refs #3648

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2019-02-05 11:30:55 +01:00
Eric Lippmann 9571d1059f Fix URLs in our image helper having multiple params 2019-01-25 09:20:55 +01:00
Alexander A. Klimov c04b2594a6 Format::seconds(): handle negative values as expected
refs #3589
2019-01-17 16:40:27 +01:00
Thomas Gelf 08c879249b Auth: do not ask for unrelated group membership
If a specific User-Backend has been assigned to a Group Backend, and
the User has been authenticated by another User-Backend, then there is
no need to ask the unrelated Groups Backend for membership.
2018-12-18 14:51:13 +01:00
Markus Frosch 4081a85d90 Introduce Icinga\Util\Environment to manage limits
And replace the code in Icinga\File\Pdf with the new helper.
2018-12-05 15:42:48 +01:00
Eric Lippmann 87da1e76cd Respect php.ini limits when exporting to PDF 2018-12-05 15:12:03 +01:00
Markus Frosch a95e645236
Merge pull request #3643 from Icinga/feature/db-oracle-hostname-optional
DbConnection: Make host optional for Oracle connections
2018-12-05 15:09:46 +01:00
Markus Frosch f4f61dff5b vendor: Update dompdf to a fixed version for PHP 7.3
https://github.com/dompdf/dompdf/pull/1854
2018-12-05 14:57:21 +01:00
Markus Frosch ecfaf7cede GridChart: Fix compatibility issues with PHP 7.3 2018-12-05 14:57:21 +01:00
Markus Frosch 87e81e6b3a vendor: Update JShrink to 1.3.1
This fixes mainly problems with PHP 7.3.
2018-12-05 14:57:21 +01:00
Markus Frosch 5f52871b61
Merge pull request #3645 from Icinga/feature/zf1-php73
vendor: Update zf1 for PHP 7.3
2018-12-04 16:47:08 +01:00
Markus Frosch 113a10481b vendor: Update zf1 for PHP 7.3 2018-12-04 16:43:30 +01:00
Markus Frosch 2df8132c46 DbConnection: Make host optional for Oracle connections 2018-12-04 15:50:53 +01:00
Bas Couwenberg 075eb17005 Use continue <N> in case statements to fix ErrorException with PHP 7.3.
```
Fatal error: Uncaught ErrorException: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?
```
2018-11-23 18:34:56 +01:00
Eric Lippmann 081b90e92f Raise version to 2.6.2 2018-11-20 12:39:21 +01:00
Eric Lippmann d919e23d0b
Merge pull request #3585 from Icinga/feature/enhanced-ldap-logging
Feature/enhanced ldap logging
2018-11-15 11:28:47 +01:00
Eric Lippmann 0c06ec7431
Merge pull request #3558 from Icinga/fix/permission-test-in-hook-has
Fix permission test in Hook::has()
2018-11-15 11:26:07 +01:00
Eric Lippmann 1268c16a7f
Merge pull request #3588 from Icinga/fix/problems-the-world-has-and-ever-will
Fix problems the world has and ever will
2018-11-15 11:25:48 +01:00
Thomas Gelf b4afdf4115 DbConnection: do not fail for MySQL 8
fixes #3611
2018-11-08 11:11:37 +01:00
Michael Friedrich d1fb3b3674 Update URL to https://icinga.com 2018-10-18 11:02:57 +02:00
Markus Frosch 39f5b5e2cd LdapConnection: Ensure port and timeout are numbers 2018-10-16 14:44:01 +02:00
Markus Frosch 3f782460dc LdapConnection: Add timeout setting with a useful default value 2018-10-16 14:35:50 +02:00
Johannes Meyer 86ae8c12df IniParser: Use mode INI_SCANNER_RAW to parse ini files 2018-10-10 09:44:11 +02:00
Johannes Meyer 4e6b936862 helpers/url: Properly escape image urls 2018-10-10 09:44:11 +02:00
Johannes Meyer 77bb1944db Web: Setup the logger earlier in the bootstrap process
Previously only ERROR got logged (to syslog only) up until
setupLogger() was called. This prevented any other message
level from being logged. It's now required to be able to
log in the Auth singleton. It also fixes the problem that
during setupSession() some warnings were never visible
due to the same reason.
2018-10-08 14:03:34 +02:00
Johannes Meyer 2f9037e545 Auth: Log which groups were identified for the user being authenticated 2018-10-08 14:02:26 +02:00
Johannes Meyer d8e3f23342 LdapCapabilities: Log which attributes were discovered 2018-10-08 10:34:27 +02:00
Johannes Meyer 3c69a63ce3 LdapUserGroupBackend: Log what the ambiguity check does 2018-10-08 10:34:27 +02:00
Marius Hein ae469311be Fix uninitialized array and module in Cli\Command 2018-09-24 13:48:22 +02:00
Max Kozlov 65591c829f
Update Cli.php 2018-09-08 01:37:33 +03:00
Max Kozlov a55e32b1a1
Return non-zero on display usage
`Icingacli` should return non-zeno status code when display usage messages
 for example for invalid commands

https://github.com/Icinga/icinga2/issues/6585#issuecomment-418681789

It is good for automation and helps mitigate typing errors
2018-09-05 22:16:25 +03:00
Eric Lippmann 7e4b92b714 Fix permission test in Hook::has()
Before, only the first hook for the given type was tested. If this hook
belonged to a not permitted module, Hook::has() returned false. Though
there may have been other hooks which are permitted.
2018-08-16 17:03:42 +02:00
Oliver Rahner 34eadb7f29
Enable `$currentUser` placeholder in restrictions
implements #3493
2018-08-08 15:15:02 +02:00
Eric Lippmann b3e0b5d587 Raise version to 2.6.1 2018-08-02 12:46:39 +02:00
Eric Lippmann 0f075b034b Respect permissions in Hook::has() 2018-07-26 11:51:23 +02:00
Johannes Meyer c0f99539ff Raise version to v2.6.0 2018-07-19 09:27:11 +02:00
Eric Lippmann dd9e8c8ba9 Revert "Merge pull request #3487 from Icinga/fix/web-bootstrap"
This reverts commit b12b905076, reversing
changes made to c633c86db7.

refs #3500
2018-07-18 15:29:55 +02:00
Eric Lippmann 121bd545d1
Merge pull request #3530 from Icinga/feature/enforce-a-named-identity-for-audit-logs
AuditHook: Enforce a named identity and allow to pass a explicit time
2018-07-18 15:27:45 +02:00
Johannes Meyer f28f7150fc AuditHook: Enforce a named identity and allow to pass a explicit time 2018-07-18 14:45:00 +02:00
Eric Lippmann 7d47875241 Introduce PdfexportHook 2018-07-18 14:22:18 +02:00
Marian Rainer-Harbach 5e40405a12 Allow disabling MySQL server certificate validation by setting ssl_do_not_verify_server_cert
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-07-16 11:41:13 +02:00
Eric Lippmann 67929064cc
Merge pull request #3526 from Icinga/fix/some-xss-vulnerabilities
Fix some XSS vulnerabilities
2018-07-16 09:58:23 +02:00
Eric Lippmann 11f1a287ab
Merge pull request #3519 from Icinga/fix/mysql-ssl-connection-error-brings-up-no-explanation-3249
Pdo\Abstract: Properly handle incomplete error messages
2018-07-16 09:56:26 +02:00
Johannes Meyer 84622bf27b Fix some XSS vulnerabilities
Only a real issue with <= IE9 as other browsers properly escape
urls prior transmission.

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-07-16 09:53:30 +02:00
Johannes Meyer bf5c6a56b3 Revert "Fix some XSS vulnerabilities"
Accidentally pushed. Should re-enter with #3521.
2018-07-11 16:37:39 +02:00
Johannes Meyer b97933a146 Fix some XSS vulnerabilities
Only a real issue with <= IE9 as other browsers properly escape
urls prior transmission.
2018-07-11 13:10:57 +02:00
Johannes Meyer 44bfdd3986 Pdo\Abstract: Properly handle incomplete error messages
fixes #3249
2018-07-10 14:54:28 +02:00
Eric Lippmann 6cddd6beed
Merge pull request #3508 from Icinga/fix/filter-entries-are-deleted-when-pushing-enter-3454
FilterEditor: Add a hidden submit button to the start of the form's m…
2018-07-10 09:28:35 +02:00
Eric Lippmann b88c6b0a6e
Merge pull request #3516 from Icinga/feature/application-state-hook
Application state hook
2018-07-10 09:14:26 +02:00
Eric Lippmann 47405127d0 Add config to hide/show pplication state messages
refs #2835
2018-07-09 16:28:28 +02:00
Eric Lippmann d18d05ccee Introduce ApplicationStateHook
refs #2835
2018-07-09 16:28:25 +02:00
Eric Lippmann 303637df3c
Merge pull request #3452 from Icinga/feature/drop-php-lt-56-support
Drop support for PHP < 5.6
2018-07-09 09:18:18 +02:00
Johannes Meyer 6e6251604b FilterEditor: Add a hidden submit button to the start of the form's markup
When pushing enter our JS mimics what a browser would do. And that is
pushing the first submit button found in the form. Without this, that's
a delete button of the first logical junction. (the root condition)

fixes #3454
2018-07-06 10:41:49 +02:00
Eric Lippmann 189b519135
Merge pull request #3486 from Icinga/fix/request-parses-json-without-respecting-content-type-3484
Fix that Request parses json without respecting content type
2018-07-05 13:19:27 +02:00
Johannes Meyer 1f677e64f6 ActionController: Force HTTP redirects in method redirectHttp()
That's what its name implies, right? The counterpart is redirectXhr(),
which does still its job. redirectNow() on the other hand is for the
lazy people.
2018-07-04 14:44:03 +02:00
Johannes Meyer 8cbff87af1 Request: Parse the POST body only as JSON if it's really JSON
refs #3484
2018-07-04 11:09:11 +02:00
Johannes Meyer 842e5603a1 Request: Introduce method extractMediaType
refs #3484
2018-07-04 11:09:11 +02:00
Eric Lippmann 8990d6f46e Drop support for PHP < 5.6 2018-07-03 13:11:36 +02:00
Eric Lippmann d6c4df7a5d Use password_hash and password_verify 2018-07-03 13:08:06 +02:00
Eric Lippmann faaff42096 Revert "Introduce PasswordHelper for safer passwords"
This reverts commit f57277aa96.

Since we're dropping PHP support for versions lower than 5.6 this class is no longer necessary.
2018-07-03 13:08:06 +02:00
Eric Lippmann 966148e8f0
Merge pull request #3463 from kobmaki/feature/Allow-to-interface-with-sqlite-databases-3381
Support SQLite resources
2018-06-28 11:42:00 +02:00
Eric Lippmann 0433dc4166 Bootstrap modules at last
We initialize modules before we set up the user backend and other
singletons. But modules may access those in order to check the
permissions of the authenticated user for example. With this fix,
modules are loaded once all other bootstrap tasks have been completed.

refs #3470
2018-06-27 09:52:00 +02:00
Uwe Ebel 4b5cf47cce Introduce SQLite resource type
refs #3381

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-06-27 09:40:22 +02:00
Eric Lippmann c633c86db7
Merge pull request #3480 from Icinga/fix/revert-persistent-db-connections
No longer support persistent database connections
2018-06-27 09:36:37 +02:00
Eric Lippmann fdd791974d Update Parsedown 2018-06-25 16:07:47 +02:00
Eric Lippmann 66132c330a Update JShrink 2018-06-25 16:05:36 +02:00
Eric Lippmann 46907735fe Update HTMLPurifier 2018-06-25 16:04:10 +02:00
Eric Lippmann e55ac3e4a2 Update dompdf deps 2018-06-25 16:01:06 +02:00
Eric Lippmann 4d42c043e4 Remove traces of persistent db connections 2018-06-22 15:36:46 +02:00
Eric Lippmann af35794006 Revert "lib/db: Allow to configure persistent connections"
This reverts commit 4763b6b20a.
2018-06-22 14:43:32 +02:00
Eric Lippmann 6f1d8668a0 Fix line exceeds 120 characters 2018-06-22 11:04:48 +02:00
Alexander A. Klimov ee60a8df99 Don't let AutoRefreshForm handle API requests
refs #2749
2018-06-22 11:03:07 +02:00
Alexander A. Klimov 235e75d054 Form: handle API requests as expected
refs #2749
2018-06-22 11:03:07 +02:00
Alexander A. Klimov 880a0a254f DateTimePicker: support *nix timestamps
refs #2749
2018-06-22 11:03:07 +02:00
Alexander A. Klimov a444b8adf5 Request: support JSON as POST data format
refs #2749
2018-06-22 11:03:07 +02:00
Alexander A. Klimov 73473a3bb9 Fix tests
refs #2635
2018-06-22 09:57:10 +02:00
Alexander A. Klimov 906c1668a4 Split Json::encode() into Json::encode() and Json::sanitize()
refs #2635
2018-06-21 16:01:53 +02:00
Alexander A. Klimov 02b60633ff Auto-sanitize only in the monitoring module
refs #2635
2018-06-20 18:05:12 +02:00
Alexander A. Klimov 1a94a21263 Prefer Json::encode() over json_encode()
refs #2635
2018-06-20 18:05:11 +02:00
Alexander A. Klimov 9219cea776 Json::encode(): auto-sanitize bad UTF-8 strings
refs #2635
2018-06-20 18:05:11 +02:00
Johannes Meyer 3f66bd7437 Auth: Log login/logout activities to the audit log
refs #2563
2018-06-08 14:21:15 +02:00
Johannes Meyer 9da9f1237d Introduce class Icinga\Application\Hook\AuditHook
refs #2584
2018-06-08 14:21:15 +02:00
Eric Lippmann 96303f53f8
Merge pull request #3213 from Icinga/feature/drop-php-5-3-support
Drop PHP 5.3 support
2018-05-08 03:03:36 -04:00
Eric Lippmann 4bea67e756
Merge pull request #3315 from Icinga/bugfix/php-7-2-support-3185
Don't call session_start() after ini_set()
2018-05-07 05:44:52 -04:00
Alexander A. Klimov fc1f6e13ab Drop PHP 5.3 support 2018-05-07 11:36:54 +02:00
Eric Lippmann 60295f3407
Merge pull request #3443 from Icinga/fix/search-over-customvars-results-in-sql-error-2508
Fix search over customvars results in sql error 2508
2018-05-07 04:18:22 -04:00
Johannes Meyer cbc77cb7b2 Web: Implement method getMenu() using Icinga\Web\Menu and deprecate it
refs #2338
2018-04-30 10:30:58 +02:00
Johannes Meyer 71cb682832 Re-introduce class Icinga\Web\Menu
refs #2338
2018-04-30 10:24:57 +02:00
Johannes Meyer c3b19996f8 DbConnection: Introduce method getConfig()
refs #2508
2018-04-27 15:30:04 +02:00
Johannes Meyer 1b15048636 Drop obsolete Icinga\Web\Menu classes
refs #2338
2018-04-27 14:28:20 +02:00
Johannes Meyer 571b34c8cd Drop obsolete class Icinga\Web\Menu\BadgeMenuItemRenderer
refs #2338
2018-04-27 14:11:03 +02:00
Johannes Meyer 059088c089 Drop obsolete class Icinga\Web\Menu\SummaryMenuItemRenderer
refs #2338
2018-04-27 14:10:35 +02:00
Johannes Meyer d71982e333 Drop obsolete class Icinga\Web\Menu\PermittedMenuItemFilter
refs #2338
2018-04-27 14:10:00 +02:00
Johannes Meyer 1c4ebda037 Drop obsolete class Icinga\Web\MenuRenderer
refs #2338
2018-04-27 14:04:49 +02:00
Johannes Meyer 096fdfc887 Version.php: Raise version to 2.5.3 2018-04-27 10:23:36 +02:00
Johannes Meyer 23e508ac27 Version.php: Raise version to 2.5.2 2018-04-25 13:02:47 +02:00
Johannes Meyer b14b61d37a Platform: Also check for the sqlsrv extension when checking MSSQL support
refs #3320
2018-04-24 15:56:29 +02:00
Johannes Meyer 24128e0cc3 DbConnection: Automatically choose sqlsrv as driver..
..if available and none is explicitly set.

refs #3320
2018-04-24 15:50:12 +02:00
Johannes Meyer c566c8bfde
Merge pull request #3400 from Icinga/bugfix/mssql-detection
Platform: Also consider dblib when checking for MSSQL support
2018-04-24 15:46:45 +02:00
Johannes Meyer b76e6e7597 RepositoryQuery: Actually return self in method peekAhead and not the parent 2018-04-24 09:26:45 +02:00
Alexander A. Klimov 1280137eae Merge branch 'bugfix/form-number-inclusive-range' 2018-04-12 14:32:38 +02:00
Alexander A. Klimov 5cf51a70c8 Numeric input: validate inclusive ranges 2018-04-12 14:25:10 +02:00
Johannes Meyer 5f24fffe7d
Merge pull request #3412 from Icinga/bugfix/filter-editor-expand-upon-auto-refresh-2964
Preserve collapsed FilterEditor subtrees across auto-refreshes
2018-04-06 14:55:19 +02:00
Alexander A. Klimov 41b105136d Preserve collapsed FilterEditor subtrees across auto-refreshes
refs #2964
2018-04-06 13:54:51 +02:00
Johannes Meyer 72f0e809ae Pane: Add setter for $name
refs #2901
2018-04-06 11:08:20 +02:00
Johannes Meyer f522311cec
Merge pull request #3406 from Icinga/bugfix/filter-editor-new-elements-2900
FilterEditor: save changes on element addition
2018-04-05 12:12:59 +02:00
Alexander A. Klimov 15bc83ec14 IniParser::parseIniFile(): parse as ::parseIni() would do
refs #3357
2018-04-04 13:58:19 +02:00
Alexander A. Klimov b5dde96746 FilterEditor: save changes on element addition
refs #2900
2018-04-04 12:20:52 +02:00
Johannes Meyer ecd2320a23 AuthenticationHook: Remove superflous empty line at EOF
Travis complains about this in every PR created after this was introduced..
2018-04-04 11:22:23 +02:00
Alexander A. Klimov 4bf64cb131 Merge branch 'fix/ldap-group-membership-regression'
fixes #3324
2018-04-03 13:58:33 +02:00
Davide Bizzarri 8b5fe61996 Add AuthenticationHook
Created AuthenticationHook class with two main methods: onLogin and
onLogout that are called after login and before logout.
2018-03-28 16:18:31 +02:00
Markus Frosch 123a0b8196 Platform: Correct detecting MSSQL Support
PDO Implementation of zf1 builds on module mssql OR pdo_dblib, while dblib is preferred.

Newer implementations would support pdo_sqlsrv, but that is not available with ZF1.
2018-03-27 11:35:26 +02:00
Eric Lippmann 4a000d0098 Revert "Merge branch 'bugfix/domain-aware-auth-non-domain-ldap-group-backend-3250'"
This reverts commit 5cb7deda20, reversing
changes made to 02391e648b.

The change must be reverted because it makes it impossible to load groups
if domain aware auth is not enabled and the authenticated user specifies a domain.

refs #3324
2018-03-19 13:10:47 +01:00
Alexander A. Klimov 4477f33b31 Fix interference between two similar namespaces 2018-03-01 14:01:57 +01:00
lippserd f3404c24e5
Merge pull request #3340 from Icinga/bugfix/php-fatal-errors-2216
Unify the look of fatal and non-fatal errors
2018-02-21 09:26:21 +01:00
lippserd 133da1ef91
Merge pull request #3342 from Icinga/bugfix/pdf-export-broken-3338
Pdf: correct DOMPDF directory
2018-02-21 09:25:06 +01:00
Alexander A. Klimov 2355224b05 IcingaException::getConfidentialTraceAsString(): respect functions which don't take args "by definition" 2018-02-13 12:46:06 +01:00
Alexander A. Klimov 8e9d385a18 Unify the look of fatal and non-fatal errors
refs #2216
2018-02-07 10:45:20 +01:00
Alexander A. Klimov cf4af5180a Pdf: correct DOMPDF directory
refs #3338
2018-02-05 17:56:42 +01:00
Alexander A. Klimov 276d4f7e67 IcingaException::getConfidentialTraceAsString(): don't fail on internal functions
refs #3318
2018-01-25 14:20:41 +01:00
Alexander A. Klimov dadd2c80f6 Don't call session_start() after ini_set()
refs #3185
2018-01-24 17:38:20 +01:00
Alexander A. Klimov 72ec132f25 Correct interfaces to conform to PHP 7.2+ 2018-01-24 11:50:10 +01:00
Alexander A. Klimov cf9307fcc4 Donut: conform to PHP 5.3 2018-01-24 11:07:37 +01:00
Alexander A. Klimov 7f5962dfae FilterQueryString: fix typo 2018-01-24 10:31:57 +01:00
Alexander A. Klimov 7ae6e537d1 TemporaryLocalFileStorage::__destruct(): handle symlinks as expected 2018-01-24 10:28:58 +01:00
Eric Lippmann 56d28a6c14 Prepare release version 2.5.1 2018-01-22 13:47:41 +01:00
Alexander A. Klimov ff6fbdf5f2 Censor arguments in stack traces
refs #2810
2018-01-22 10:28:47 +01:00
Alexander A. Klimov 7106de5aa2 DbUserGroupBackend: implement Inspectable
refs #3233
2018-01-19 16:31:24 +01:00
Alexander A. Klimov 7227e10824 LdapUserGroupBackend: implement Inspectable
refs #3233
2018-01-19 16:31:24 +01:00
Johannes Meyer e59fa13786 Announcements: Render HTML in announcment messages
refs #2641
2018-01-19 16:12:53 +01:00
Johannes Meyer 3b9d8697ed Introduce class Icinga\Web\Helper\HtmlPurifier
refs #2641
2018-01-19 16:12:53 +01:00
lippserd d25e7b84eb
Merge pull request #3291 from Icinga/bugfix/ini-parser-hides-file-location-3252
IniParser: include the file location in parsing exceptions
2018-01-19 13:22:28 +01:00