]>
granicus.if.org Git - icinga2/log
Michael Friedrich [Fri, 12 Apr 2019 10:49:41 +0000 (12:49 +0200)]
Improve REST API docs
- Better explanation for filters and filter_vars
- Update examples to use filters in the body only, don't fuck around with the URL parameters.
- Better explain actions and their intent
- More insights into config packages and their intention
- Improve API clients and add the tables from icinga2-api-examples
- Formatting for CLI requests
(cherry picked from commit
31170db12349f67b48b56f67342225a19e0f34e3 )
Michael Friedrich [Wed, 3 Apr 2019 09:04:07 +0000 (11:04 +0200)]
Fix headings in the docs
refs #6918
(cherry picked from commit
e909302fd90ccc4aecdb99bcc04750c4aa0f098d )
Michael Friedrich [Wed, 3 Apr 2019 13:00:36 +0000 (15:00 +0200)]
Docs: Improve config object types chapter
(cherry picked from commit
2ce82b56d480cb0af469cc5d6feb8eb52c3f9c49 )
Alexander A. Klimov [Thu, 7 Mar 2019 14:38:25 +0000 (15:38 +0100)]
Doc: adjust default of ApiListener#bind_host
(cherry picked from commit
915525dbcdb1af544aa7518250955d9c1d78fa3a )
Michael Friedrich [Thu, 17 Jan 2019 17:20:23 +0000 (18:20 +0100)]
Add technical concept docs for our internal JSON-RPC message API
(cherry picked from commit
3c591a03b048cc3fd00ad75e467797f9448f3fa5 )
Michael Friedrich [Mon, 1 Apr 2019 11:22:15 +0000 (13:22 +0200)]
Technical Concepts: Add config compiler references
(cherry picked from commit
219602761166375b51089aaa25c9d7e28cf692d3 )
Peter Eckel [Mon, 11 Feb 2019 12:54:17 +0000 (13:54 +0100)]
Avoid duplicating non-zero count message replay messages in the debug log
(cherry picked from commit
5d59863725ea843312fd89a9fc9e434187a56650 )
Michael Friedrich [Thu, 28 Mar 2019 08:56:49 +0000 (09:56 +0100)]
Fix code block in distributed monitoring docs
Michael Friedrich [Tue, 26 Mar 2019 08:46:36 +0000 (09:46 +0100)]
REST API Docs: Add Golang client code example
(cherry picked from commit
4296622f526dfe17ffe9155430f38f39616288a4 )
Michael Friedrich [Mon, 25 Mar 2019 09:59:55 +0000 (10:59 +0100)]
Document that `ca list` is not an inventory, add cleanup cycle
(cherry picked from commit
870de6a35d48136e2a393b8b975bd365dd602909 )
Luiz Amaral [Thu, 28 Mar 2019 08:50:12 +0000 (09:50 +0100)]
Fix incorrect title in API docs
Partially picked from
ae2de7b423fe67c6ca135123fe676b444e4b4367
Michael Insel [Thu, 7 Mar 2019 18:56:49 +0000 (19:56 +0100)]
Unify documentation code formatting
This unifies the documentation code formatting to use only backticks.
(cherry picked from commit
081d88436f66725152f5f5b58d07053da7ababd5 )
Alexander A. Klimov [Mon, 7 Jan 2019 14:32:19 +0000 (15:32 +0100)]
HttpServerConnection#DataAvailableHandler(): reduce log spam
(cherry picked from commit
f4ab0737d127284dae76483c7c4b0638e4a5f01d )
Michael Friedrich [Tue, 19 Mar 2019 11:55:29 +0000 (12:55 +0100)]
Release version 2.10.4
Michael Insel [Mon, 26 Nov 2018 16:13:58 +0000 (17:13 +0100)]
Fix check_perfmon to support non-localized names
This fixes check_perfmon to support non-localized names on localized
Windows machines. The fix handles the given performance counter by
default as non-localized name, if none is found it falls back to the
localized name.
refs #5546
(cherry picked from commit
5da4fbde3b501c174ec028b7a7ae036194a5a77e )
Michael Friedrich [Tue, 19 Mar 2019 11:08:19 +0000 (12:08 +0100)]
Docs: Update supported package repos in Getting Started chapter
- Add Raspbian
- Link to support matrix
- Use generic source list generators for Debian/Ubuntu
- Reorder dependent repo chapters (EPEL, etc.)
- Drop el6 instructions for IDO
(cherry picked from commit
1c546a7b510a1f15059932ccc60ab52161c68915 )
Michael Friedrich [Tue, 19 Mar 2019 10:50:30 +0000 (11:50 +0100)]
Update RELEASE checklist
Michael Friedrich [Tue, 19 Mar 2019 10:50:17 +0000 (11:50 +0100)]
Update AUTHORS
Alexander A. Klimov [Fri, 8 Mar 2019 15:55:06 +0000 (16:55 +0100)]
check_network -h: drop non-existent feature
refs #6155
(cherry picked from commit
9f26569bcc203d98498466cc1ffa6549a9b81998 )
Michael Insel [Mon, 18 Mar 2019 16:20:28 +0000 (17:20 +0100)]
Fix heading level in development chapter
This fixes the wrong heading level for the Debian development
environment.
(cherry picked from commit
da3775b6dbc0541558b9ee3618b55f057297a137 )
Dirk Goetz [Mon, 18 Mar 2019 18:43:47 +0000 (19:43 +0100)]
SELinux: add unreserved_port_type attribute to icinga2_port_t
Fixes #7029
(cherry picked from commit
726be2fec262f10b42649d1dad5099336e8610e9 )
Alexander A. Klimov [Fri, 15 Mar 2019 12:15:24 +0000 (13:15 +0100)]
ElasticsearchWriter: don't leak sockets
refs #7018
(cherry picked from commit
b2e2b587da530a5b79f746ed0db5b3804b502e07 )
Alexander A. Klimov [Fri, 1 Mar 2019 13:30:49 +0000 (14:30 +0100)]
InfluxdbWriter: don't leak sockets
refs #6989
(cherry picked from commit
2a6b122413dfc8762a7839bbe41c125455a17b5c )
Michael Friedrich [Tue, 19 Mar 2019 10:28:48 +0000 (11:28 +0100)]
Merge pull request #7032 from Icinga/feature/backport-defer
Backport Defer class for 2.10
Michael Friedrich [Tue, 19 Mar 2019 10:23:18 +0000 (11:23 +0100)]
Backport Defer class for 2.10
Bas Couwenberg [Tue, 26 Feb 2019 07:49:36 +0000 (08:49 +0100)]
Fix nested hostgroup example
In Icinga 1.x the list of members was set on the group object, in Icinga 2 the list of groups is set on the member objects.
(cherry picked from commit
8d3c8fd107f5c6e0da5551992208213fd4b8a867 )
Alexander A. Klimov [Fri, 11 Jan 2019 17:25:12 +0000 (18:25 +0100)]
Notification#BeginExecuteNotification(): SetNextNotification() correctly
refs #5561
(cherry picked from commit
3b2054761ad90e71fba82d13cd57d7388f524993 )
Jean Flach [Thu, 10 Jan 2019 10:44:14 +0000 (11:44 +0100)]
Don't run UpdateObjectAuthority for Comments and Downtimes
(cherry picked from commit
2aff6a5887112259d795401e907a879ce424db51 )
Michael Friedrich [Thu, 8 Nov 2018 11:13:32 +0000 (12:13 +0100)]
Fix that no_more_notifications gets reset when Recovery notifications are filtered away
Hello from the OSMC hackathon :)
(cherry picked from commit
d082e8c1b19c88a68e0381db7f5806f31fe8523d )
Michael Insel [Thu, 25 Oct 2018 16:07:05 +0000 (18:07 +0200)]
Update Windows agent documentation screenshots
Updates the Windows agent screenshots in the documentation with the new design.
refs #6729
(cherry picked from commit
a1540aebcc4b082fbdcd56bbae69b02063a2c517 )
Michael Insel [Thu, 25 Oct 2018 16:00:10 +0000 (18:00 +0200)]
Update Windows Agent design
This updates the Windows agent design to use the Icinga background
image.
refs #6729
(cherry picked from commit
68faeccff817b15c9c7838670c49067aaf242c43 )
Alexander A. Klimov [Fri, 8 Mar 2019 15:39:23 +0000 (16:39 +0100)]
Assignment operators doc: tell what the { } are for
refs #5430
(cherry picked from commit
5e08e033ad6ddaba59734b49a5775fd0965f2b5f )
Alexander A. Klimov [Tue, 26 Feb 2019 13:46:22 +0000 (14:46 +0100)]
Doc: write systemd lower-case
See spelling chapter in https://freedesktop.org/wiki/Software/systemd/
(cherry picked from commit
e7f2370ada3129881e989a40eb40636f8c6dd131 )
Lee Garrett [Tue, 5 Mar 2019 16:40:14 +0000 (17:40 +0100)]
Typo and link fix
(cherry picked from commit
0a582905c5624056beca58cfcba44d954a20a91b )
Alexander A. Klimov [Tue, 26 Feb 2019 10:45:03 +0000 (11:45 +0100)]
Ignore failure of unit test base_utility/comparepasswords_issafe
... as volatile system load may cause false negatives
(cherry picked from commit
646feb76e06155f908a4dcee51144db8f05a114f )
Alexander A. Klimov [Tue, 26 Feb 2019 10:25:44 +0000 (11:25 +0100)]
Don't require OS headers to provide SO_REUSEPORT
(cherry picked from commit
bf0c68757f99f88b43d7696f98d8361f39b83b82 )
Michael Friedrich [Mon, 25 Feb 2019 15:53:13 +0000 (16:53 +0100)]
Release version 2.10.3
Michael Friedrich [Mon, 7 Jan 2019 14:59:24 +0000 (15:59 +0100)]
Dynamically print current copyright year in `--version` output
(cherry picked from commit
c1fedab7aea73f6aa9c9357c54c409665239d698 )
Michael Friedrich [Mon, 25 Feb 2019 12:40:58 +0000 (13:40 +0100)]
Fix formatting in development docs
(cherry picked from commit
710e4fa55e919032bd3b45c774130e1f938d3f81 )
Alexander A. Klimov [Fri, 22 Feb 2019 15:58:26 +0000 (16:58 +0100)]
Test Utility::ComparePasswords()
(cherry picked from commit
1b00331a88c396ab8c94188855074ed907a5bd66 )
Alexander A. Klimov [Fri, 22 Feb 2019 10:37:07 +0000 (11:37 +0100)]
Secure ApiUser::GetByAuthHeader() against timing attacks
(cherry picked from commit
9558ebc0f46febc7692bbb65394708b78b276d46 )
Michael Friedrich [Mon, 25 Feb 2019 09:14:30 +0000 (10:14 +0100)]
Merge pull request #6971 from Icinga/bugfix/downtime-acti
Activate downtimes before any checkable object
Michael Friedrich [Wed, 20 Feb 2019 12:56:15 +0000 (13:56 +0100)]
Activate downtimes before any checkable object
(cherry picked from commit
7936a147ba82ce7e19de43ccb5f4c830edd8d235 )
Michael Friedrich [Tue, 19 Feb 2019 12:49:52 +0000 (13:49 +0100)]
Debug: Log calls to ConfigObject::Deactivate()
Only available in debug builds.
(cherry picked from commit
d98c0704c446b0fd47b18b610a92ac75de180853 )
Michael Friedrich [Mon, 11 Feb 2019 13:32:02 +0000 (14:32 +0100)]
Troubleshooting: Add notes on ephemeral port range blocking on Windows agents
(cherry picked from commit
6558287da03bb526ba2728201ff7d558a09faf46 )
Michael Friedrich [Fri, 8 Feb 2019 12:32:13 +0000 (13:32 +0100)]
Refactor conditions and add debug log messages for future crs and skipped crs
(cherry picked from commit
d1fb1a8eda05018c5f665fceeb52569e243a7b65 )
Jean Flach [Fri, 11 Jan 2019 15:16:45 +0000 (16:16 +0100)]
Fix checkresults from the future breaking checks
(cherry picked from commit
c97f3c80f550320abcbc3bcbaa0a3673c2091c34 )
Michael Insel [Fri, 1 Feb 2019 15:46:28 +0000 (16:46 +0100)]
Doc: Add .NET 3.5 to the windows build stack
The Windows Agent Wizard is currently build on .NET Framework 2.0, which
is not installed by default on Windows 10. This adds a note to the
development documentation to install the .NET Framework 3.5 (which
includes .NET Framework 2.0) component on Windows 10.
(cherry picked from commit
52d81d0af522956fec4ef63c0e3c06158cbefbf9 )
Michael Friedrich [Mon, 28 Jan 2019 16:33:05 +0000 (17:33 +0100)]
Don't allow retry_interval <= 0
(cherry picked from commit
8cbd4820725655e3c4ae06aef78308183be016da )
Alexander A. Klimov [Mon, 28 Jan 2019 17:29:57 +0000 (18:29 +0100)]
Downtime::AddDowntime(): place Downtimes in the same zone as the origin ScheduledDowntimes
(cherry picked from commit
ce847324bc8abe4f36071633b999fa88ba2213f3 )
Alexander A. Klimov [Tue, 15 Jan 2019 18:23:20 +0000 (19:23 +0100)]
Validate Zone::GetLocalZone() before using
(cherry picked from commit
b09e7b287e6b4bbc277c9ef7828e34f884927f82 )
Michael Friedrich [Wed, 16 Jan 2019 16:27:38 +0000 (17:27 +0100)]
Log: Ensure not to pass negative values to localtime()
refs #6887
(cherry picked from commit
2fc33996b620d97e54d75b0d8c101fb3d9ba791c )
Alexander A. Klimov [Wed, 9 Jan 2019 10:27:33 +0000 (11:27 +0100)]
Allow Checkable#retry_interval to be 0
refs #6871
(cherry picked from commit
9ae738d17fa6220d988001e4c56155aa6535992c )
Max Rosin [Wed, 5 Dec 2018 15:28:03 +0000 (16:28 +0100)]
Document that retry_interval is only used after an active check result
fixes #6795
(cherry picked from commit
00757919b322bc930360694c30485977cfb5506a )
Michael Friedrich [Tue, 4 Dec 2018 11:21:54 +0000 (12:21 +0100)]
Docs: Formatting for dev requirements
(cherry picked from commit
00673cd75911e56cf977fdb5c14c809a97c01e6d )
Michael Friedrich [Tue, 4 Dec 2018 11:14:01 +0000 (12:14 +0100)]
Minor updates for core dumps
The main parts are discussed in #6723
(cherry picked from commit
43c171056f826cf08b4155472ad9a6a4d14ba8a9 )
Michael Friedrich [Tue, 4 Dec 2018 09:58:44 +0000 (10:58 +0100)]
Michael Friedrich [Tue, 4 Dec 2018 09:54:39 +0000 (10:54 +0100)]
Purge INSTALL.md and add packager info to README.md
Everything is located in the online documentation, where the README.md
points to.
(cherry picked from commit
9801b8b7a040fd4c91aa05d596ec644ddd294bdc )
Michael Friedrich [Tue, 4 Dec 2018 09:51:04 +0000 (10:51 +0100)]
Fix formatting in dev docs
(cherry picked from commit
8cbe286e676a56c536cee517b898cbe2f25b2547 )
Michael Friedrich [Mon, 3 Dec 2018 10:28:39 +0000 (11:28 +0100)]
Docs: Update README.md with a better description and direct URLs to icinga.com/docs
(cherry picked from commit
e0b3e05c636db082da264c92fc02593f7ff44ded )
Michael Friedrich [Mon, 3 Dec 2018 10:15:04 +0000 (11:15 +0100)]
Docs: Update anchors
(cherry picked from commit
ac9ed41537b36d7a41e26e8535e208579cccbfc2 )
Michael Friedrich [Mon, 3 Dec 2018 10:11:16 +0000 (11:11 +0100)]
Docs: More updates on dev environments, add mini TOC
(cherry picked from commit
ec39a74453f673032cd52edb29eb747d80cb5fe9 )
Michael Friedrich [Mon, 3 Dec 2018 08:50:39 +0000 (09:50 +0100)]
Docs: Simplify INSTALL.md and point to icinga.com/docs
(cherry picked from commit
3827e15c4abf49b4ecdbd23d36e76cb4fdab67a0 )
Michael Friedrich [Mon, 3 Dec 2018 08:49:42 +0000 (09:49 +0100)]
Docs: Delete extra docs for windows builds
This should be visible in icinga.com/docs, no extra
docs needed.
(cherry picked from commit
c6fc144102eada72ff8146f4be00fd48ceb0d423 )
Michael Friedrich [Mon, 3 Dec 2018 08:49:27 +0000 (09:49 +0100)]
Docs: First draft for development docs
(cherry picked from commit
4382b87baa0f4fa433772b2b38814fce0d443200 )
Michael Friedrich [Wed, 14 Nov 2018 13:25:37 +0000 (14:25 +0100)]
Add technical docs for the check scheduler (general, initial check, offsets)
David asked me about initial check offsets, so I wrote something :)
(cherry picked from commit
9409e93bc798ffbe497c97cd110b492d533ce9dc )
Michael Friedrich [Mon, 11 Feb 2019 12:17:52 +0000 (13:17 +0100)]
Update AUTHORS
Michael Insel [Fri, 8 Feb 2019 15:57:19 +0000 (16:57 +0100)]
Fix check_swap percentage calculation
This fixes the check_swap percentage calculation. When the pagefile is
turned off the available swap and total swap are 0 which leads to a
wrong calculation and misformated output.
refs #6913
(cherry picked from commit
4961e9ba62eebcfc1cf22e1840b289e4eab067d2 )
Alexander A. Klimov [Thu, 17 Jan 2019 11:13:44 +0000 (12:13 +0100)]
TcpSocket#Bind(): also set SO_REUSEPORT
refs #6898
(cherry picked from commit
984f7be03060f89235ccee1a1ef3e5fba652a9df )
Michael Friedrich [Mon, 28 Jan 2019 16:29:46 +0000 (17:29 +0100)]
ClusterEvents::AcknowledgementSet event should forward 'persistent' attribute
(cherry picked from commit
9f2ccfbaa0fd35e33a002dd48c7b429636dc806c )
Michael Insel [Wed, 30 Jan 2019 18:41:24 +0000 (19:41 +0100)]
Fix check_swap formatting
This fixes a small formatting mistake introduced by #6811. To keep the
check_swap output in sync with all other plugins I fixed the formatting.
Michael Friedrich [Wed, 30 Jan 2019 13:47:59 +0000 (14:47 +0100)]
Fix Convert::ToLong(double val)
(cherry picked from commit
b58cb17e4b389c6bd703e2334cb0bb2739213f62 )
Michael Friedrich [Wed, 30 Jan 2019 13:23:57 +0000 (14:23 +0100)]
Add a unit test for Convert::ToLong(double) - fails
(cherry picked from commit
b1362aeb9b6822a88ce4e3a187974f5ef20a4bad )
Alexander A. Klimov [Tue, 4 Dec 2018 16:45:54 +0000 (17:45 +0100)]
Downtime#HasValidConfigOwner(): respect Downtime#authoritative_zone
refs #6542
(cherry picked from commit
c98d6a52545bf0e10b9b0d644b0d15813ab7de48 )
Alexander A. Klimov [Tue, 4 Dec 2018 16:44:42 +0000 (17:44 +0100)]
Add and populate Downtime#authoritative_zone
refs #6542
(cherry picked from commit
5431eae116df92d0b856e7f856da24df5a948144 )
Alexander A. Klimov [Thu, 6 Dec 2018 11:50:48 +0000 (12:50 +0100)]
Downtime#HasValidConfigOwner(): wait for ScheduledDowntimes
refs #6542
(cherry picked from commit
39e0d787e82c187de64b29e4979f4caac0907441 )
Alexander A. Klimov [Thu, 6 Dec 2018 11:41:49 +0000 (12:41 +0100)]
Implement ScheduledDowntime::AllConfigIsLoaded()
refs #6542
(cherry picked from commit
bbcf469af1c584a92d028446c6ff1f558950cd97 )
Markus Frosch [Tue, 18 Dec 2018 11:08:41 +0000 (12:08 +0100)]
appveyor: Run Debug builds
[skip travis]
(cherry picked from commit
ace12db110e565b20f8b1141e62e488b9c4abc8f )
Markus Frosch [Tue, 18 Dec 2018 10:52:06 +0000 (11:52 +0100)]
tools/win32: Invalidate CMake cache on build
(cherry picked from commit
fcfde9ac22ff6bfde73ecfe1672bb686e1559e28 )
Michael Friedrich [Thu, 6 Dec 2018 08:55:42 +0000 (09:55 +0100)]
Revert "ThreadPool#Stop(): discard non-processed queue items"
This reverts commit
797ecd1539c91d3dd02dc7d164ce602c52a6f802 .
Alexander A. Klimov [Thu, 29 Nov 2018 16:51:53 +0000 (17:51 +0100)]
Remove redundand check for object existence on creation via API
refs #3937
Michael Friedrich [Wed, 21 Nov 2018 10:20:54 +0000 (11:20 +0100)]
Docs: Add a section for DB IDO Cleanup
refs #6784
fluxX04 [Thu, 15 Nov 2018 08:54:58 +0000 (09:54 +0100)]
update apache status command to be identical according the itl
Alex [Fri, 2 Nov 2018 06:45:48 +0000 (07:45 +0100)]
Doc fix: documentation link for apt
Fixes `check_apt` documentation link to point to the right man page.
David Lublink [Thu, 1 Nov 2018 22:51:42 +0000 (18:51 -0400)]
* BugFix : Wrong operator on stride variable causing incorrect behaviour ( #6749 )
Leon Stringer [Wed, 31 Oct 2018 11:46:12 +0000 (11:46 +0000)]
Doc fix: error in example path.
Michael Friedrich [Mon, 10 Sep 2018 14:10:16 +0000 (16:10 +0200)]
Call SSL_shutdown() at least twice
Edgar Fuß [Thu, 18 Oct 2018 16:42:21 +0000 (18:42 +0200)]
Put running downtimes in effect
If Icinga2 was restarted with a newly configured downtime that should
be in effect at the time of restart, the should-be-running segment of
it was not put into effect.
Add new LegacyTimePeriod::FindRunningSegment() and
ScheduledDowntime::FindRunningSegment() functions, call the latter in
ScheduledDowntime::CreateNextDowntime() before trying the old
ScheduledDowntime::FindNextSegment().
Edgar Fuß [Thu, 18 Oct 2018 16:35:14 +0000 (18:35 +0200)]
Remove spurious string in debug message
Remove a spurious " at " in the "Evaluating segment" debug message in ScheduledDowntime::FindNextSegment().
Edgar Fuß [Thu, 18 Oct 2018 16:09:20 +0000 (18:09 +0200)]
Remove dead code
Remove some dead code in ScheduledDowntime::CreateNextDowntime().
Alexander A. Klimov [Tue, 24 Jul 2018 13:06:55 +0000 (15:06 +0200)]
Socket engine: drop life support objects
refs #6477
Alexander A. Klimov [Tue, 24 Jul 2018 12:40:35 +0000 (14:40 +0200)]
Make SocketEventDescriptor#EventInterface a SocketEvents::Ptr
refs #6477
Alexander A. Klimov [Tue, 24 Jul 2018 12:24:56 +0000 (14:24 +0200)]
SocketEvents: inherit from Stream
refs #6477
Michael Friedrich [Tue, 4 Dec 2018 14:20:37 +0000 (15:20 +0100)]
Only create downtimes from non-paused ScheduledDowntime objects in HA enabled cluster zones
Alexander A. Klimov [Mon, 3 Dec 2018 18:05:41 +0000 (19:05 +0100)]
HttpServerConnection#DataAvailableHandler(): be aware of being called multiple times concurrently
refs #6816
Alexander A. Klimov [Mon, 3 Dec 2018 15:38:52 +0000 (16:38 +0100)]
ThreadPool#Stop(): discard non-processed queue items
Michael Friedrich [Mon, 3 Dec 2018 13:40:50 +0000 (14:40 +0100)]
Add a code comment for connection: close handling
Sven Wegener [Mon, 3 Dec 2018 13:27:37 +0000 (14:27 +0100)]
Restore 'Connection: close' behaviour in HTTP responses
Actually the `corked` functionality caused problems with
not closing connections properly.
Full Analysis: https://github.com/Icinga/icinga2/issues/6799#issuecomment-
443710338
Full credits to @swegener :)
fixes #6799
Michael Insel [Thu, 29 Nov 2018 21:03:26 +0000 (22:03 +0100)]
Fix state conditions in check_memory and check_swap
This fixes the state conditions in check_memory and check_swap. This
turns the if/else if/else statements in simple if statements, since they
won't work properly when both thresholds are broken.
This also implements a new function to get a given state as wstring.
Michael Friedrich [Tue, 13 Nov 2018 16:13:54 +0000 (17:13 +0100)]
Release version 2.10.2