####################### Icinga 1.7.x Change Log ####################### Thanks to all contributers, testers and developers. Please read AUTHORS and THANKS for a detailed list :-) 1.7.0 - 15/05/2012 !!! ATTENTION !!! idomod.o was renamed to idomod.so, module extension is now .so idomod.so will now be installed to $libdir instead of $bindir Check the upgrade docs: http://docs.icinga.org/latest/en/upgrading.html !!! ATTENTION !!! ENHANCEMENTS * core: notifications: Create contact list after eventbroker callbacks (Andreas Ericsson) #2110 - MF * core: fix event removal from queues with O(1) removal from doubly linked lists (Andreas Ericsson) #2183 - MF * core: avoid senseless looping when free()'ing macros (Andreas Ericsson) #2184 - MF * core: avoid insane looping through event list when rescheduling checks (Mathias Kettner, Andreas Ericsson) #2182 - MF * core: allow empty host groups in service and host dependencies if allow_empty_hostgroup_assignment flag is set (Daniel Wittenberg) #2255 - MF * core: fix compatibility problems on solaris 10 (affects core, cgis, ido) (Carl R. Friend) #2292 - MF/RB/TD * core: add trigger_time to downtimes to allow calculating of flexible downtimes endtime #2537 - MF * core: add nebmodule version/name check for idomod (this allows future version dependencies) #2569 - MF * classic ui: Added option for max log entries displayed in showlog.cgi #2145 - RB * classic ui: Added config option for status totals in status.cgi #2018 - RB * classic ui: Added multiple hosts/services to status.cgi GET #1981 - RB * classic ui: Added nostatusheader in status.cgi as config option #2018 - RB * classic ui: Added statusmap resizing with exclude/include button (thanks to Mat) #2186 - RB * classic ui: Added Select hosts or services by clicking on line instead of box #2118 - RB * classic ui: include graph icons by default in logos #2222 - MF * classic ui: added missing comment tool tip box to outages.cgi #2396 - RB * classic ui: add javascript to refresh page/pause easier #2119 - RB * classic ui: Added Scheduling queue filter for specific host or service #2421 - RB * classic ui: add display_status_totals as cgi.cfg option in order to allow the status totals to be shown again #2443 - RB * classic ui: Changed reading of auth information from cgiauth.c to cgiutils.c #2524 - RB * classic ui: Added readonly cgi.cfg view into the config section #1776 - RB * classic ui: add is_in_effect and trigger_time to downtime view for html, csv, json #2538 - MF * classic ui: add modified attributes row to extinfo.cgi showing diffs to original config (thx Sven Nierlein for the idea) #2473 - MF * classic ui: add modified attributes reset command to extinfo.cgi allowing to reset to original config #2474 - MF * idoutils: add new index for state in table statehistory #2274 - TD * idoutils: add is_in_effect and trigger_time to scheduleddowntime and downtimehistory tables #2539 - MF * idoutils: change varchar(255) to TEXT in mysql (not cs and address rfc columns) #2181 - MF * idoutils: enhance dbversion table with modified and created columns #2562 - MF * idoutils: set module info in idomod, to be checked on neb module load in future versions #2569 - MF * install: add configure option --with-temp-file= to set temp_file for icinga.cfg #2121 - MF * install: add --with-plugin-dir to configure for setting the plugins path accordingly #2344 - MF * install: change default target location of idomod.so from $bindir to $libdir #2346 - MF ** packagers dreams come finally true! :) * install: introduce "lib/" in default prefix install for modules #2347 - MF * install: revamp the broker_module entry in icinga.cfg pointing to new module definition #2348 - MF * install: change idomod extension from .o to .so, make .so the default extension for modules #2354 - MF * install: add configure target --with-eventhandler-dir and "make install-eventhandlers" for contrib/eventhandlers #2352 - MF * install: add --enable-cgi-log to configure to enable cgi logging during build #2364 - MF * install: fix configure --ido-instance-name is incorrect, missing 'with' (thx Marco) #2407 - MF * install: add --enable-nagiosenv to configure to expose custom variables with prefix NAGIOS_ instead of ICINGA_ for easier reuse of well known check scripts #2083 - TD * install: add --with-http-auth-file to allow different file/loc of htpasswd.users #2533 - MF * install: make the location of the ido.sock, ido2db.lock, icinga.chk, idomod.tmp configurable #1856 - MF * install: use custom state dir instead of hardcoded localstatedir #2583 - MF * config: introduce conf.d as place for own configs #2360 - MF * tests: replace libtap with an actively developed version #1192 - MF * tests: fix and rewrite perl tests in t/ #2369 - AW * icinga.spec: use --with-plugin-dir instead of --libexexdir for nagios plugins dir #2344 - MF * icinga.spec: make aware of the change of idomod.o location and changed extension (now .so) #2350 - MF * icinga.spec: add "README LICENSE Changelog UPGRADING" to all packages as docs (thx Michael Gruener) #2212 - MF * icinga.spec: put module/idoutils/db into docs instead of manually copying to /etc/icinga/idoutils (thx Michael Gruener) #2357 - MF * icinga.spec: add README.RHEL README.RHEL.idoutils to upstream, being installed as docs (thx Michael Gruener, Stefan Marx) #2212 - MF * icinga.spec: use eventhandler configure/make in package creation from #2352 #2363 - MF * icinga.spec: use --enable-cgi-log from upstream instead of manual sed #2365 - MF * icinga.spec: introduce conf.d as place for own configs #2367 - MF * icinga.spec: introduce icinga-idoutils-libdbi-mysql|pgsql as seperate packages #2361 - MF * icinga.spec: updates from rhel bug #1666 - MF ** move pid file to _localstatedir/run/icinga.pid ** install icinga.logrotate example ** move ext cmd file location to _localstatedir/spool/icinga/cmd/icinga.cmd ** set icinga user's home to _localstatedir/spool/icinga ** move checkresults to _localstatedir/spool/icinga/checkresults ** use --with-http-auth-file from #2533 ** add default /etc/icinga/passwd with icingaadmin:icingaadmin default login * icinga.spec: use ido2db.lock, ido.sock, idomod.tmp, icinga.chk configure params #1856 - MF * icinga.spec: use --with-state-dir for spool dir #2583 - MF FIXES * core: Plug some macro leaks triggered when sending notifications (Andreas Ericsson) #2109 - MF * core: mark services as executing only when we know we will actually run them (Andreas Ericsson) #2302 - MF * core: fix handling of allow_empty_hostgroup_assignment when hitting NULL'edhost_name attribute, now properly finishing #949 - MF * core: drop abbreviations in debug log and make them more telling #2138 - MF * core: remove deprecated code for log_external_commands_user #1619 - MF * core: fix scheduled_downtime_depth falsely incremented if in flexible downtime with duration < end-starttime window #2536 - MF * core: log error reason when failing to create the status file (Ulf Lange) #2560 - MF * core: deny to load idomod.o if detected in old config #2354 #2569 - MF * classic ui: Fixed status totals are wrong when searching #1524 - RB * classic ui: Fixed wrong URLs for status.cgi overview #2173 - RB * classic ui: Fixed Host status sorting in status.cgi not working #2220 - RB * classic ui: Fixed notifications.cgi - memory access error #2234 - RB * classic ui: Done clean up document_header() and unused vars in cgi's #2252 - RB * classic ui: Fixed status.cgi: host param not honoured with servicefilter #2262 - RB * classic ui: fixed Tooltip from action_url interfering with pnp4nagios integration #2198 - RB * classic ui: fixed json output for comments and downtimes in extinfo.cgi sometimes invalid #2343 - RB * classic ui: fixed invalid json output for tac.cgi #2160 - RB * classic ui: Fixed Invalid json data if field value is multiline #2263 - RB * classic ui: fixed Commit commands with more then 500 multiple pairs of hosts and services #2373 - RB * classic ui: fixed reset forms on return after submitting command #2117 - RB * classic ui: Change Excel icon to odf spreadsheet icon #2391 - RB * classic ui: fixed Availability Records Break if JavaScript is disabled #2412 - RB * classic ui: fixed Truncated HTML table when displaying outages in outages.cgi #2323 - RB * classic ui: fixed Log File Navigation in current/ealier/recent archive clarification #2441 - RB * classic ui: fixed Extra leading space in status.cgi CSV output #2535 - RB * classic ui: fixed Authentication in trends.cgi not working correctly #2209 - RB * classic ui: fixed Reuse of a buffer causes incorrect results in scheduling queue display (extinfo.cgi) #2603 - CF * idoutils: fix ORA-00913 too many values when MERGE INTO eventhandlers #2319 - MF * idoutils: change standard string escaping for postgresql queries to use the E'foo' notation #1974 - MF * idoutils: fix several build problems in solaris: use supplied sprintf functions in preference over local one, build .so instead of .o shared librarys, use explicit -fPIC compiler switch #524,#1772,#2354 - TD * idoutils: fix core dumps in solaris when using os supplied printf functions #2271,#1253,#2503,#2292 - TD * idoutils: fix lob handling in Oracle #2303,#2342 - TD * idoutils: fix sample shell db create script for mysql #2358 - TD * idoutils: fix OCI-21500 when freeing lobs #2509 - TD * idoutils: add note to "if process data is not dumped via idomod, ido2db won't clean tables and set objects inactive" #2237 - MF * idoutils: fix pgsql unix_timestamp cannot handle timstamp with timezone #2203 - MF * idoutils: fix ido2db forks endless if database is not available, race condition on unclosed socket #2458 - MF/TD/CF * install: Fix notification template installation (Todd Zullinger) #2235 - MF * install: uninstall old idomod.o #2570 - MF CHANGES * neb api: move creation of notification contact list AFTER event broker callback NEBTYPE_NOTIFICATION_START #2110 ** allows neb modules to cancel/override notification list creation on notification start * debug: set debug_verbosity=2 by default * configure: --enable-libtap=yes by default for builtin 'make test-tap' * install: --with-temp-file= #2121 ** sets path to an Icinga exclusive update temp file i.e. /tmp/icinga.tmp * install: --with-plugin-dir= #2344 ** sets path to plugins directory path i.e. $prefix/libexec * install: change default target location of idomod.so from $bindir to $libdir #2346 * install: change idomod extension from .o to .so, make .so the default extension for modules #2354 ** make sure to UPDATE the location in your CONFIG !!! * install: introduce "lib/" in default prefix install for modules #2347 * install: --with-eventhandler-dir= #2352 ** sets path to eventhandler directory path i.e. $prefix/libexec/eventhandlers * install: make install-eventhandlers #2352 ** install sample eventhandlers to defined location * install: --enable-cgi-log #2364 ** enables cgi logging (EXPERIMENTAL) * install: --with-http-auth-file #2533 ** sets location/name of htpasswd.users * install: ido2db lockfile, ido.sock file, icinga.chk, idomod.tmp as configure params #1856 ** --with-icinga-chkfile= ** --with-ido2db-lockfile= ** --with-ido-sockfile= ** --with-idomod-tmpfile= * install: use custom state dir --with-state-dir #2583 * config: $sysconfdir/conf.d #2360 * install: --enable-libtap is now deprecated, new libtap does not require configure anymore #1192 * tests: you can now test with pleasure: $ make distclean ; ./configure ; make test #2369 #1192 * core: add trigger_time to downtimes #2537 ** downtimes in status.dat/retention.dat now holding trigger_time ** nebstruct and event broker api now passing trigger_time and is_in_effect * core: nebcallback for downtime start now happens *after* setting "in effect" attributes #2539 ** needed to pass is_in_effect and trigger_time to neb modules * core: new neb module load error: NEBMODULE_ERROR_IDO_VERSION #2569 * classic ui: Added option for max log entries displayed in showlog.cgi #2145 ** added new config option "default_num_displayed_log_entries" ** added new input field to redefine amount of displayed log entries ** added "switch" to show/hide filters in showlog.cgi * classic ui: status.cgi ** added new config option "display_status_totals" ** you can define more then one object to display ** host=hostA&host=hostB&host=... ** same with hostgroups and servicegroups ** nostatusheader is still available as URL param ** hostgroup=all now only shows hosts which are in a host groups ** host sorting is working now ** added 2 new cgi vars ** sortobject = determine if to sort host or service list (host_service_view) ** allunhandledproblems = to display ALL unhanded problems ** fixed and reorganized the links in status totals ** searching returns more then one hostgroup/servicegroup if group name matches ** combined Host/Service view now properly supported ** dropped "ALT" and "TITLE" tag from action url image in host and service status list ** status totals are now split into "displayed/all" for filtering ** filtering host/services/hostgroups/servicegroups is now possible via status totals * classic ui: add javascript to refresh page/pause easier #2119 ** DO A FULL PAGE RELOAD AFTER UPGRADING ** no reload necessary to pause refresh ** selecting item in status.cgi/extinfo.cgi resets' refresh counter ** added cgi config option "refresh_type" to choose between http header refresh and javascript refresh * classic ui: Added statusmap resizing with exclude/include button #2186 ** now statusmap get's displayed much better (thanks to Mat) * classic ui: Added Select hosts or services by clicking on line instead of box #2118 ** selecting a host/service/downtime/comment checkbox now works also by clicking the row * classic ui: fixed reset forms on return after submitting command #2117 ** forms getting reset on page load ** fixed problem with downtime checkbox selection ** changed all forms to POST request * classic ui: fixed json output for comments and downtimes in extinfo.cgi sometimes invalid #2343 ** changes array names in json output of extinfo.cgi ** comments -> host_comments / service_comments ** downtimes -> host_downtimes / service_downtimes * classic ui: fixed Commit commands with more then 500 multiple pairs of hosts and services #2373 ** now it's possible to submit ~990 commands at the same time * classic ui: outages.cgi ** added missing comment tool tip box ** fixed truncating of outages list * classic ui: Added Scheduling queue filter for specific host or service #2421 ** now everyone who is authorized for can see hosts/services in scheduling queue ** added links to host/service extinfo * classic ui: Added readonly cgi.cfg view into the config section #1776 ** New Option in config.cgi to view all cgi config options and their current values * classic ui: statuswml.cgi and statuswrl.cgi are DEPRECATED now !!!!!!!!! ** both will be removed in Icinga 1.8 !!!!!! * classic ui: cmd.cgi now accepts change commands with attr command #2474 ** CHANGE_HOST_MODATTR, CHANGE_SVC_MODATTR ** but ONLY 0 = reset, other values will trigger an error * idoutils: limit long_output and perfdata database storage in mysql to 32k #2342 * idoutils: enlarge field "FAILURE_PREDICTION_OPTIONS" in table hosts from 64 to 128 Bytes #2479 * idoutils: Oracle only->change method retrieving lastid, introduce individual sequence caching sizes #2510 * idoutils: fix pgsql unix_timestamp cannot handle timstamp with timezone #2203 * idoutils change varchar(255) to TEXT in mysql # 2181 * idoutils: add create_time and modify_time to dbversion table #2562 ** allows to determine the initial import plus modified date 1.6.1 - 02/12/2011 FIXES * core: fix freshness checks are generating stale alerts, even if result was received in time #2136 CHANGES 1.6.0 - 30/11/2011 ENHANCEMENTS * core: acknowledgements can now expire by providing an end_time through commands #770 * core: allow startup with no hosts/services/contacts defined, only warn #2015 * core: log error on non-existing host/service/contact/*group when sending a command to the core #1737 * core: reduce notification load by moving notification viability check into notification list creation (Opsview Team) #1744 * core: protect downtime and comment list modification with a lock (Andreas Ericsson) #2025 * core: determine last_program_stop from creation of retention.dat and use that for decision if passive checks are fresh or not (Andreas Ericsson) #2027 * core: add icinga startup delay checks to example configs, including perfdata #1937 * core: indicate event loop start in logs #2036 * core: add notifications to stalking hosts/services, not only logging/event handlers #1367 * core: add eventloop mutex, will be used by IcingaMQ #2040 * classic ui: add expiry option and end_time to acknowledgements on cmd.cgi #770 * classic ui: Acknowledge child hosts from on blocking outages #1858 * classic ui: add opt-in extinfo_show_child_hosts to show child hosts in extinfo.cgi #1820 * classic ui: add complete command line to config.cgi #1329 ** if resource.cfg readable by webserver for $USERn$ macros ** adds host/service params to config.cgi to process their macros * classic ui: Add more info of (ack, downtime, ... ) status to json export in status.cgi (ivo) #1988 * classic ui: add hostgroup and servicegroup summary to menu.html #2007 * classic ui: Change markup color for unreachable hosts in statusmap.c #1464 * idoutils: add SLA monitoring via opt-in enable_sla cfg option #2037 ** pgsql timestamp with timezone changes remain experimental in SLA table * idoutils: added end_time column for acknowledgelemts expiry #770 * idoutils: add Indices for notification queries for Icinga Web #1964 * idoutils: add option to format debug log timestamp like locale %c (debug_readable_timestamp in ido2db.cfg) #2033 * idoutils: add max_notifications_age, max_contactnotifications_age, max_contactnotificationmethods_age as housekeeping for notification tables #2051 * idoutils: use local timestamp datatype instead of date/datetime, store icinga timestamps as UTC #1954 * idoutils: change timestamp to use time zone by default in postgresql (thx Florian Helmberger) #2106 * config: add config examples for local monitoring - check_procs for ido2db #1870 * icinga.spec: enable cmd.cgi logging by default #2124 FIXES * core: fix downtime and comments delete with wrong loop pointers causing segfaults #1979 * core: fix $NOTIFICATIONRECIPIENTS$ macro contains all contacts assigned to host|service, not only notified contacts #2023 * core: plug memory leak in downtimes comment add (Dorian Guillois) #1979 * core: make first_notification_delay depend on the first !OK hard state change and don't reset timer for new hard states which would replace it (Rogerio F Cunha) #1918 * core: fix memory leak in xodtemplate.c (thx Dorian Guillois) * classic ui: fix for Classic-UI displays bad timeperiods #1989 * classic ui: fixed wrong color in histogram and trends for unknown/unreachable #2042 * classic ui: fixed search not returning all results, only first match (without * at the end) #844 * classic ui: fixed wrong output from status.cgi with option hostservicedetail #2019 * classic ui: fix typo in histogram.c (thanks Sven-Göran Bergh) * idoutils: host state change last_hard_state overrides last_state, last_hard_state always -1 #1932 * idoutils: extend conninfo.agent_version field to varchar(16) #2104 * idoutils: terminate threads cleanly, including db connection * install: rework the version updates in icinga and idoutils * icinga.spec: --libexecdir does not point to possible location of nagios-plugins in resource.cfg:$USER1$ #2123 CHANGES * package: complete remove icinga-api as module #1935 ** Development is being discontinued for now, 1.5.0 was last combined release. ** remove files in module/icinga-api ** update configure and mark options deprecated ** mark as deprecated in Makefile, install-api spits out warning ** remove build from icinga.spec ** add module/icinga-api/README for further instructions for non Changelog readers * core: new commands and event ** CMD_ACKNOWLEDGE_HOST_PROBLEM_EXPIRE 174 ** CMD_ACKNOWLEDGE_SVC_PROBLEM_EXPIRE 175 ** EVENT_EXPIRE_ACKNOWLEDGEMENT * core: new notification type (internal and macros) ** NOTIFICATION_STALKING * classic ui: "showlog_initial_states" and "showlog_current_states" are now disabled by default to prevent browser freezes #1172 * classic ui: highlight_table_rows is now enabled by default #1777 * classic ui: removed unused javascript libraries ** html/js/: builder.js, controls.js, dragdrop.js, effects.js, slider.js, sound.js, mootools.js * classicui: new regex search uses 'search_string' instead of 'navbarsearch=1&host=', both are kept for compatibility reasons #844 * icinga.cfg: stalking_notifications_for_hosts=0 stalking_notifications_for_services=0 * cgi.cfg: default_expiring_acknowledgement_duration=86400 * cgi.cfg: extinfo_show_child_hosts=0 added * cgi.cfg: authorized_for_full_command_resolution and authorized_contactgroup_for_full_command_resolution added * add objects/ido2db_check_proc.cfg (not included by default) #1870 * ido2db.cfg ** enable_sla=0 ** debug_readable_timestamp=0 ** max_notifications_age, max_contactnotifications_age, max_contactnotificationmethods_age * icinga.spec ** enable cmd.cgi logging by default in rpm 1.5.1 - 09/09/2011 FIXES * core: free memory allocated notification macros right after sending the notification, not in next notification * classic ui: fix Localization: Form validation message could be improved (thx Mario Rimann) #1849 * classic ui: fix wrong titles in list of scheduled downtimes (thx Mario Rimann) #1848 * classic ui: fix host and service names are not allowed to have a '+' included #1843 * claasic ui: fix service overview for single hostgroups when show_partial_hostgroups is switched on #1013 * claasic ui: fix authorized_for_all_hosts/authorized_for_all_services retruns true for historical data #1166 * idoutils: idomod: change stacked memory allocation for broker_data IDO_MAX_BUFLEN #1879 * idoutils: fix idomod should log more verbose on errors, asking for a running ido2db process #1885 * spec file: re-add processing headers CHANGES 1.5.0 - 24/08/2011 ENHANCEMENTS * core: do not update host/service status during scheduler initialization on startup (idoutils already know that) #1741 * classic ui: Added option to suppress coloring of hosts/services in maintenance #992 * classic ui: Added option to show partial hostgroups #1013 * classic ui: changing drop down menu in status.cgi to jquery-dd #1644 * classic ui: default downtime duration is configurable in cgi.cfg #1642 * classic ui: Added ability to combine host and service in one CGI parameter (Aaron Brady) #1633 * classic ui: Changed tac.cgi to distinct between active, passive and disabled properly #1120 * classic ui: Add log entries to json output of avail.cgi #1659 * classic ui: add host urgency sort order in status.cgi (Jochen Bern) #1452 * classic ui: add author to comment tooltips in status.cgi #1691 * classic ui: reduce the header part of status.cgi #1507 ** &nostatusheader used in frameset menu, info table is smaller * classic ui: authorization for * in cgi.cfg via contactgroups (Stephen Gran) #1752 ** authorized_contactgroup_for_all_hosts, authorized_contactgroup_for_all_services, authorized_contactgroup_for_system_information, ** authorized_contactgroup_for_configuration_information, authorized_contactgroup_for_all_host_commands, ** authorized_contactgroup_for_all_service_commands, authorized_contactgroup_for_system_commands, authorized_contactgroup_for_read_only * classic ui: add xml output to avail.cgi for direct source of jasper reports #1712 * classic ui: add combined view of all unhandled hosts and services including the multiple command dropdowns for each (initial idea by Thruk) #1328 * classic ui: add "link to this page" to all cgis #1783 * classic ui: add export icons instead of "export to..." text on cgis supporting it (csv, json, xml, link) #1789 * classic ui: add highlight_table_rows to status.cgi, can be disabled via cfg option #1777 * idoutils: add update-version-schema for updating the idoutils db schema versions automagically, independant of update-version #1616 * idoutils: dump multiline mbufs as bulk inserts #1110 ** configfile/runtime variables, host contacts/parents, service contacts, timeranges, host/service/contactgroup memebers ** oracle uses bulk arrays binded on prepared insert statements * idoutils: remove host and service checks from default data_processing_options as they are not used by icinga-web #1757 * idoutils: Add logging of bind variable value for oracle #1314 * idoutils: oracle change perfdata columns to clob #1749 * idoutils: oracle: change logentry_data type to clob #1750 * install: add --with-p1-file-dir allowing custom location (default is now $libdir instead of $bindir) #1569 ** only when embedded perl is enabled ** affects (new_)mini_epn and icinga.cfg * install: add configure option to set log dir and cgi log dir and phpapi log dir #1715 ** e.g. --with-phpapi-log-dir=/var/log/icinga/api --with-log-dir=/var/log/icinga --with-cgi-log-dir=/var/log/icinga/gui ** apache user permissions * install: after daemon stop in init script, retry and then issue a kill -9 on the daemon #1747 * config: add easy-to-use config examples and scripts for notifications #1697 ** advanced notify-by-email ** notify-by-jabber, notify-by-twitter examples * config: add check_dummy command definitions as example to commands.cfg #1719 * config: tune icinga.cfg for performance, enable_environment_macros=0, enable_embedded_perl=0 by default #1635 * style: add new ident tools #1617 FIXES * core: remove duplicated unlinks for check result files with multiple results (Ton Voon) #1615 * core: fix retain status file over an init script reload #1579 * core: fix freshness_threshold problem in host checks by using check_interval in HARD or OK state, else retry_interval (like service checks) (Andreas Ericsson) #1331 * core: make command_check_interval=-1 equal to 5s instead of 60s, targetting as often as possible (Andreas Ericsson) #1651 * core: fix problem where acknowledgements were getting reset when a hard state change occurred (Ton Voon) #1618 * core: avoid using global macros when sending notifications (Andreas Ericsson) #1653 * core: avoid sending notifications to the wrong contact (Andreas Ericsson) #1654 * core: try to avoid a single check being reaped multiple times (Andreas Ericsson) #1652 * core: Fix typo in configure.in preventing compilation on FreeBSD (thanks sag47) #1732 * core: plug memory leak with display_name on start/reload #1841 * core: fix content of macro $NOTIFICATIONRECIPIENTS$ grows and grows #1695 * classic ui: fix cross site scripting vulnerability in config.cgi on config expander arguments #1605 * classic ui: better handling of writing to cgi.log in cmd.cgi #1161 * classic ui: fixing tac.cgi header problems with counting and adding pending and descriptions #1505 #1506 #1508 * classic ui: corrected behaviour of pending states in tac header #1508 * classic ui: fix counting for services in tac header is wrong #1508 * classic ui: remove sidebar.html inclusion in index.html causing troubles on reload #1632 * classic ui: fixed: User can execute host/servicegroup commands even if not authorized for (Sven Nierlein) #1679 * classic ui: fixed: plugin_output_short didn't get checked properly and caused segfault in status.cgi #1673 * classic ui: fixed: submitting non existent host/service on avail.cgi causes segfault #1700 * classic ui: fixed: Alert History State filter for HARD/SOFT state not working (Lennart Betz) #1722 * classic ui: fixed: jquery 1.5.2 triggers memory leak in IE #1740 * classic ui: fixed: ssi files don't get included if icinga path contains uppercase letters #1716 * idoutils: do not update start_time of already started downtimes #1658 * idoutils: fix started downtime update for table scheduleddowntime in oracle #1658 * idoutils: remove leftover socket file in init-script startup, e.g. from a system crash #1745 * idoutils: simplify ido2db_get_object_id oracle function #1655 * idoutils: fix oracle long_output column in eventhandlers missed #1748 * idoutils: fix oracle ocilib 3.9.2+ fixes causing wrong 4byte->8Byte casts #1751 * idoutils: fix ORA-00600 while executing merge #1362 * install: fix event handlers cmd file location in contrib #1501 * install: icinga.spec should not provide nagios version #1562 * install: don't include git meta data in upstream tarballs #1562 * install: fix make install-idoutils overwrites sample - adding idoutils.cfg-sample instead #1625 * install: fix icinga.cmd and log dir replacement in icinga-api aubmodule #1573 #1715 * install: fix DEBUG_LOG_PATH in p1.pl, will now be using configurable log-dir #1715 * install: do not overwrite config in make fullinstall #1754 * install: fix configure should tell if ocilib or libdbi if idoutils enabled in summary #1780 * config: deprecate log_external_commands_user #1619 CHANGES https://wiki.icinga.org/display/Dev/Changes * location of p1.pl is now default in %{_libdir}/icinga instead of %{_bindir}/icinga: configure flag for pkg --with-p1-file-dir= * new notification examples: contrib/notifications/* sample-config/template-object/notifications.cfg * eventhandlers got their proper icinga.cmd location through configure * p1.pl.in will be created from configure into p1.pl * module/idoutils/config/idoutils.cfg-sample is now installed instead of idoutils.cfg * add log dir options for core, cgi and phpapi log ** --with-log-dir=%{logdir} --with-cgi-log-dir=%{logdir}/gui --with-phpapi-log-dir=%{logdir}/api ** p1.pl DEBUG_LOG_PATH is replaced ** icinga.cfg logdir, archive, debug_file uses  (LOGDIR) ac macro ** cgi.cfg cgi logfir, archive uses  (CGILOGDIR) ac macro ** phpapi log and icinga.cmd target are overwritten by core configure in their places ** ownership of cgi and api log dirs is apache user and group * cgi.cfg config changes ** cgi_log_file=@CGILOGDIR@/icinga-cgi.log cgi_log_archive_path=@CGILOGDIR@ ** show_partial_hostgroups=0 default_downtime_duration=7200 suppress_maintenance_downtime=0 ** authorized_contactgroup_for_all_hosts, authorized_contactgroup_for_all_services, authorized_contactgroup_for_system_information, ** authorized_contactgroup_for_configuration_information, authorized_contactgroup_for_all_host_commands, ** authorized_contactgroup_for_all_service_commands, authorized_contactgroup_for_system_commands, authorized_contactgroup_for_read_only ** highlight_table_rows * icinga.cfg config changes ** log_archive_path=@LOGDIR@/archives p1_file=@P1FILELOC@/p1.pl debug_file=@LOGDIR@/icinga.debug ** enable_embedded_perl=0 enable_environment_macros=0 * idomod.cfg config changes ** data_processing_options=67108669 1.4.0 - 11/05/2011 ENHANCEMENTS * core: re-allow perfdata with empty results being put on perfdata channel, disable via opt-in cfg option #1413 * core: add downtime delete commands made "distributable" by deleting by host group name, host name or start time/comment (Opsview team) #1344 * core: add 'module' as object config, allowing cfg_dir usage loading multiple modules without touching broker_module in icinga.cfg #162 * classic ui: merged reading of logfiles into one function. It's easier now to add enhancements. #972 * classic ui: Adding some more icons to showlog.cgi #1239 * classic ui: adding entry time of comments in tooltip's in status.cgi #1244 * classic ui: Searching in the Icinga Logfile #516 * classic ui: changed print_generic_error() function to support csv output #1270 * classic ui: Added parameter to get_log_entries() function to use beginning and end timestamp #1271 * classic ui: Show downtime in host detail and service detail view #1141 * classic ui: Store cmd.cgi submissions in log #1161 * classic ui: enforce a need for comment for action taken in cmd.cgi #610 * classic ui: Add config option to set start of week (sunday/monday) #1269 * classic ui: Allow display of Network Outages for authorized hosts #1320 (thx mjbrooks) * classic ui: remove useless memory allocation when reading logfiles reverse (lifo) #1387 * classic ui: speed up data processing in summary.cgi #1392 * classic ui: Add an alternative CGI driven view for the top frame (Matthew Brooks) #1406 ** hosts/services counts with active unack, passiv unack, acked, totals (title tooltip) ** performance information on the right ** added urls and appropriate url filters * classic ui: Added json output "&jsonoutput" to nearly all pages in classic ui #1217 * classic ui: allow searching for host display_name normal and via regexp #1393 * classic ui: display host/service dependencies in host/service details in extinfo.cgi #1300 * classic ui: add module object definition for viewing with config.cgi including csv+json output #162 * idoutils: add db socket as config option in ido2db.cfg for mysql and postgresql #1107 * idoutils: reduce housekeeping cycle to every 3600s, set housekeeping thread startup delay to 300s #1157 * idoutils: introduce schema version and check against that instead of program version #1368 * idoutils: install sample (commented) config in modules/idoutils.cfg using new 'module' object config #162 * idoutils: add configure flag to set ido instance_name other than 'default' in idomod.cfg #1167 * config: increase default debug file size to 100M #1316 * install: add --with-ext-cmd-file-dir= to configure, allowing icinga.cmd dir to be altered #1268 * install: add make option to install doxygen development docu "install-dev-docu" #1309 FIXES * core: fix flexible downtime on service hard state change doesn't get triggered/activated #1128 * core: fix timeperiods daylight saving time problem (Luca Di Stefano) #1370 * core: do not update host/service status during scheduler initialization on startup #1741 * core: do not dump retained host state states to neb modules, re-enable via dump_retained_host_service_states_to_neb #1742 * classic ui: Fixing tooltip's in status.cgi, not showing messages with carriage return #1244 * classic ui: fixed csv export link to make it XSS save (IE) #1275 * classic ui: cmd.cgi: acknowledgement multiline comment -> command not being processed #1257 * classic ui: statusmap.cgi: fixed XSS vulnerability #1281 * classic ui: fix display_name survive reconfiguration and is use instead of host_name in classic ui #1282 * classic ui: don't show pause/continue urls on non-refreshable pages * classic ui: fix segfaults if no default_user_name= given in cgi.cfg #1289 * classic ui: Prevent statusmap.cgi markup from drawing when host should not be drawn (Matthew Brooks) #1383 * idoutils: update oracle hints in ido2db.cfg with tnsnames.ora and port cfg #1283 * idoutils: idomod: larger buffer size (by Opsview) #1286 * idoutils: fix rdbms deconnect after connection error #1313 * idoutils: fix race condition when issueing multiple reloads results in hanging IDO2DB processes #1410 * idoutils: fix postgresql: integer not big enough for bytes_processed (Stig Sandbeck) #1401 * install: use *.so instead of *.o for solaris, patch in contrib/solaris/ #524 1.3.0 - 16/02/2011 ENHANCEMENTS * classic ui: add instance hostname to html title #954 * classic ui: use the signal-colour red more economically in tac.css stylesheet (Joachim Raber) #868 * classic ui: add attribute based authorization based on Shibboleth (Tibor Vago, NIIF) #909 * classic ui: add config expander urls to extinfo.cgi for active checks and eventhandlers (Jochen Bern) #965 * classic ui: add collapse the display filter part on status.cgi #923 * classic ui: add tabfriendly titles, enabled by default (Jochen Bern) #975 * classic ui: add service states to annotate with current notification number opt-in (Jochen Bern) #976 * classic ui: change displayed name for hostgroups and servicegroups in extinfo.cgi * classic ui: adding "Attempt" column to host status detail list * classic ui: change default url target frame to main #1014 * classic ui: add url_stylesheet_path to cgi.cfg to allow custom css path #898 * classic ui: change color of unknown/unreachable state to more warm signalling purple #1029 * classic ui: move "add service/host comment" to the command box on extinfo.cgi, abandon remove all in favor of multiple comment delete #837 * classic ui: add trend timeperiod feature to locate the next problem (Carsten Emde) #1074 * classic ui: add configurable http charset support (default utf-8) within the cgis #1002 * classic ui: add csv export to config.cgi #1052 * classic ui: beautify and modularize error msg #1198 * core: add support for same host service dependencies with servicegroups (Mathieu Gagné) #928 * core: allow eventbroker modules to override sending notifications (Matthieu Kermagoret) #1057 * core: allow empty hostgroup aissgments for services as opt-in config option (Max Schubert) #949 * core: do not copy broker modules (OMD patch) #896 * core: fix host alias saved in resention data survived reconfiguration #935 * core: add basic dualstacked IPv6 support (core/cgi patch by Julius Kriukas, slight changes on Icinga, own IDOUtils backend code) #674 ** address6 as host definition attribute (to be used dual stacked, address stays default!) ** host macro $HOSTADDRESS6$ for e.g. check-host-alive ** if not set, host name is set as default (same behaviour as address) ** shown in classic ui only if set (not matching host name) ** idoutils mysql/postgresql/oracle hosts config table gets new column 'address6' populated ** note: as of this release, idoutils depends hard on include/objects.h of icinga core. internal idomod api changed, new datatype added. * install: add sysconfig source to init script #1015 * install: set -Wall gcc flags based on os/compiler #959 * install: create doxygen templates and add to html/doxygen #446 * idoutils: add index to table icinga_statehistory for usage in reporting module #957 * idoutils: add check for configuration file availability for idomod and ido2db (idea from Ricardo Maraschini) #1087 * idoutils: add cfg option to enable/disable oci errors to syslog through error handler #1060 * idoutils: add dbversion upgrade scripts for 1.3 #633 * idoutils: add dbversion check in ido2db and print error to syslog in case of non-matching #633 * idoutils: do not clear host|service|scheduleddowntime status tables on core restart/reload (inspired by Opsview) #1106 #1176 * idoutils: only insert service and host checks when they are finally processed, increase performance by replacing insert/update with single insert (idea by Opsview/Opsera Ltd with mysql and servicechecks) #1100 ** servicechecks table is heavily used next to hostchecks **- if the core does a host|service check, there are 3 situations the event broker will get data: INITIATE, ASYNC_PRECHECK, PROCESSED ** idomod/ido2db process INITIATE (insert) and PROCESSED (update) til now ** now, ido2db takes only PROCESSED with a full insert, mysql and postgres use sql standard insert, oracle a prepared statement with insert ** reduced number of check events sent to IDOUtils by 66% ** reduced number of fired SQL statements by 50% ** changed 1 SQL statement for each rdbms, making it smaller and saving index lookup (and virtual table by merge in oracle) ** index savings, and dropped unique keys - check upgrade sql scripts for mysql/postgresql/oracle * idoutils: add indexes for logentries, preventing heavy load #1055 * idoutils: enable max_logentries_age & max_acknowledgements_age with 31 days for cleaning by default in ido2db.cfg #1155 * idoutils: add multi valued inserts for host|service_contacts instead of single insert/update loops (thx Opsview) #1108 * contrib: bring daemonchk.cgi building into shape (Elan Ruusamäe) #1051 FIXES * core: base/utils: Refactor my_fcopy() (Andreas Ericsson) #427 * core: base/nebmods: Replace local file-copy hack with my_fdcopy() (Andreas Ericsson) #424 * core: force my_free() macro users to end the statement with a semi-colon (Andreas Ericsson) #927 * core: fix problem with extra whitespace in command definition and ePN (Jason Young) #918 * core: fix NOTIFICATIONTYPE MACRO never became CUSTOM (Alexey Dvoryanchikov) #950 * core: only catch SIGSEGV if we're not dumping core and running as a daemon #457 * core: protect against callbacks removing themsevles in nebmods (Andreas Ericsson) #1021 * core: fix possible validation error with empty hostgroups/servicegroups (Sven-Göran Bergh) #1040 * core: performance-data handling and checking is now thread-safe so long as embedded perl is not used (Andreas Ericsson) #1022 * core: children should no longer hang on mutex locks held in parent for localtime() (and similar) calls (Andreas Ericsson) #1039 * core: debug logging is now properly serialized, using soft-locking with a timeout of 150 milliseconds to avoid multiple threads competing for the privilege to write debug info (Andreas Ericsson) #1035 * core: fix parsing of long plugin output for async host checks (Jochen Bern) #1046 * core: log error reason when failing to open the status file (Andreas Ericsson) #1078 * core: fix allocate memory once for *GROUPMEMBERS macros (Stephane Lapie) #1076 * core: protect against poorly behaving thread-libraries (Andreas Ericsson) #1080 * core: fix extraneous alerts for services when host is down (Ton Voon) #1097 * core: reduce duplication of code for is_contact_member_of_contactgroup (Stephen Gran) #1126 * core: fix bug with passive host checks being incorrectly sent to event brokers as active checks (Ethan Galstad) #1133 * core: fix bug where passive host check status updates were not being propagated to event brokers (Ethan Galstad) #1134 * core: fix first_notification_delay logic (GalaxyMaster) #1145 * core: fix race condition on flexible downtime commands when duration not set or zero #1061 * classic ui: change servicestatus letter color to default black, not grey #946 * classic ui: fix waste of cpu in status summary (TomTom) #933 * classic ui: fix config.cgi start page wrong "command cxpansion" url (Alexey Dvoryanchikov) #951 * classic ui: do not allow url_encode returning empty string on Solaris (Ethan Galstad, Ton Voon) #924 * classic ui: fix object values in utf8 are displayed incorrectly in the web interface (Alexey Dvoryanchikov) #952 * classic ui: make html header w3c conform #952 * classic ui: fix typo for css attribute in extinfo.cgi (Ton Voon) #963 * classic ui: fix whitespace escaping in html urls (Jochen Bern) #965 * classic ui: fix config expander printing [SP] instead of [WS] (Jochen Bern) #965 * classic ui: fix status totals - incoherence between displayed list and values #993 * classic ui: fix deleting host comments won't work #994 * classic ui: changed naming of cgi config options for showlog_current_state(s) and showlog_current_state(s) #899 * classic ui: fix form/table DOM confusion in cgis (Sven-Göran Bergh) #1081 * classic ui: fix tac.cgi with incorrect links to filtered host details (Yannick Charton) #1065 * classic ui: fix missing html label/text for searchbox () #John Giacalone #1114 * classic ui: fix authorized_for_read_only can execute command over the status.cgi #1154 * install: fix LD_LIBRARY_PATH export on non bash in idoutils init script (Alexander Skwar) #936 * install: add log2ido for adding archived logs onto socket/rdbms #926 * install: add hint to configure that libpq is not yet fully working #622 * idoutils: fix unescape display name (Matthieu Kermagoret) #1027 * idoutils: fix solaris <= lacks asprintf (Julian Wiesner) #1048 * idoutils: fix unfreed oci handles in prepared statements #1093 * idoutils: increase debugoutput for conversion functions #1094 * idoutils: fix libdbi 0.8.3 deprecated functions dbi_result_get_(u)long #559 * idoutils: fix after core restart/reload on oracle db ORA-01403: no data found #1059 * idoutils: fix string escaping for backslashes in postgresql #1121 * idoutils: fix check for empty command args in host|service|notification definitions #1047 1.2.1 - 25/10/2010 ENHANCEMENTS: * core: fix initscript, no error when stopping stale lock (OMD patch) #897 * classic ui: Added config options to hide initial state and current state log entries in showlog.cgi #899 * classic ui: extinfo comment table cell names (Oliver Graf) #861 * classic ui: add csv export to avail.cgi (single|all hosts|services|servicegroups|hostgroups) #925 FIXES: * core: corrected wrong implementation of fix #584 - re notification for downtime after icinga restart * core: fix epn tag for disabling ePN (Yannick Charton) #914 * core: fix snprintf in make for Solaris #858 * core: fix config file parsing end of definition check #913 * core: fix ignoring empty definitions, only warn #860 * classic ui: fix for "Schedule a check of all services on this host" not working properly #895 * classic ui: comment tooltip now show's quotes and back slashes #907 * classic ui: fix change statusmap logo name to icinga #922 * classic ui: add support for ICINGA_ env vars for cgis #921 * idoutils: fix disconnecting on errors misbheaving, not closing db and daemon #886 1.2.0 - 06/10/2010 ENHANCEMENTS * core: add eventhandler override (Sven Nierlein) #731 * core: add config option to disable logging into the daemon log file #311 * core: fix delay sorting of comments/downtimes (Ton Voon) #753 * core: fix custom macros being cleaned/stripped (as they are user-defined and should be trusted) (Peter Morch) #752 * core: add the possibility to use * as a wildcard for all hosts in servicegroup definition #813 * core: fix scheduled downtime notifications resent on restart/reload #584 * core: disable eventprofiler on Solaris gcc3, preventing core dumps #702 #572 * classic ui: add commands expander to config display (Jochen Bern) #746 - $ARGn$ substitution will be shown between command_line and check_command associated for hosts, services, etc and help getting to know/use commands the core will execute. * classic ui: change menu, add unhandled host/service problems #745 * classic ui: reduce line-height of menu items (Martin F. Krafft) #833 * classic ui: allow searching for host without service attached to it #601 * classic ui: added tooltip for comments in status.cgi #805 * classic ui: remove php dependency by dropping extended live search #800 * classic ui: added csv export to most cgi pages #806 * classic ui: added possibility to delete multiple downtimes and comments (taken loads of ideas from Rune Darrud) #523 * classic ui: Beautifying the design of submit form in cmd.cgi and everything else in cmd.cgi #804 FIXES * core: fix send comments to the broker with proper expiration_time (Matthieu Kermagoret) #747 * core: fix segfault in escalation conditions when using object tricks (Vitali Voroth) #751 * core: fix for retaining host display name and alias, as well as service display name (Folkert van Heusden) #760 * core: fix format errors for logging eventhandlers (Guillaume Rousse) #779 * core: remove program update checks as scheduled timed events, not written to status/retention.dat anymore #790 * core: don't skip hostchecks when servicechecks are disabled (Stephen Gran) #778 * core: move eventprofiler init after config parsing, checking if enabled, making it optional all over #572 #702 * classic ui: update jquery for multiple cmds dropdown, resolve conflicts with pnp #807 * classic ui: moved individual document_header and document_footer to cgiutils.c, distinction by cgi_id #808 * classic ui: removed double header in tac.c #808 * classic ui: changed size of checkbox column to 16 #809 * classic ui: remove useless utils.inc.php since check-program-updates is dropped from core #800 * classic ui: fix status.cgi segfault without hostgroup parameter on solaris 10 #594 * classic ui: drop dead code on cgis (check_daemon_running) * classic ui: avoid the horizontal scroll bar at the bottom of the menu (Yannick Charton) #835 * idoutils: fix ido2db forking if database connection failed, now immediately disconnecting the client #773 * idoutils: fix database port in ido2db.cfg not honoured using libdbi #825 * install: remove php dependency and files for updatechecks/extended search in icinga.spec #800 * install: add mkdir -p for HTTPDCONF directory creation instead of install -D (misses on Unix) #802 * install: remove installing from ido2db init script from Makefile when installing idoutils #814 * install: better ssl detection in solaris when /usr/local/ssl used for --with-ssl #821 * install: replace echo -n by printf in init scripts (Lars Engels) #834 * config: fix typo preserve_state_information in description of retention file 1.0.3 - 18/08/2010 ENHANCEMENTS * core: new config option to set initial state of persistence for acknowledgements * core: add opt-in log_external_commands_user in icinga.cfg, user will be logged by the core if enabled and sent through icinga.cmd * core: add config option to disable the logging of current state in log after rotation (Ricardo Bartels) * core: add config option to log long plugin output (Ricardo Bartels) * core: add config option to enable event handlers for stalked hosts/services (Petya Kohts) * core: scheduled downtime can now start on SOFT error states * idoutils: add syslog output for start/stop, client connecting * idoutils: add db trimming thread startup delay config option * classic ui: cgi config option to show long_plugin_output in status.cgi (Ricardo Bartels) * classic ui: add config option to only show HARD states in tac.cgi * classic ui: add multiple selection/command sending to host/service status page - added extra column in host and service status with checkboxes using jquery - It is now possible to check off the hosts you want to send commands to Icinga. - Ex: schedule downtime for a custom selection of hosts or X number of services. * classic ui: add a pause/continue update button (main parts by Steve Koenig) - affects status.cgi and allows to select and run commands w/o page reload FIXES * core: fix temp_path overwritten by check_result_path in base/config.c * core: modify execv to execvp, accepting 4096 cmd args, for both host and service checks with adapted error handling * core: execvp searches in PATH too like popen, and returns if error, outputting the errno string * core: fix possible overflows and increase command length limit in mini_epn's (Thomas Guyot-Sionnest) * core: fix new_mini_epn to allow any command line length without breaking on extra trailing or leading whitespace (Ray Bengen) * core: fix wrong is_volatile conditions causing wrong service alerts in the logs * core: fix notify-service-by-email command from the stock template cuts off service check output * core: fix service checks should recognize that exit code 126 means plugin is not executable * core: fix service event handlers when service problem becomes hard during host down * core: fix service in soft state after hard state without recovery * core: fix all comments disappear after restart if one user comment is non-persistent (Ricardo Bartels) * core: fix macro processing (Jochen Bern) * core: fix non-scheduled hosts/services not being updated in IDO* * core: move the malloc block in insert_skiplist below dupcheck to avoid memory leaks (Thomas Guyot-Sionnest, Holger Weiss) * core: fix missing variable reset for use_syslog_local_facility and syslog_local_facility * classic ui: fix image urls in stylesheets * classic ui: remove check_daemon_running, remains useless * classic ui: fix multiurl action/status icon wrong name * classic ui: cmd.cgi "his" instead of "its" in command description * classic ui: fix customers can see machines from other customers when entering a downtime * classic ui: fix invalid pointer in extinfo.cgi type=7 * classic ui: for new Splunk integration query parameters * classic ui: fix for incorrect host state counts in status CGI when viewing servicegroups * classic ui: fix for extra colum in CSV export * install: fix api not installed using make install-unstripped * install: enable debuginfo in spec file * install: remove daemonchk.cgi from init-script * install: improve output of rhel init-script * install: add config checks for start, reload and restart on rhel init script * install: fix duplicated configcheck on restart in init-script * install: fix specfile for idoutils description * install: fix Makefile output if Icinga API not available * install: fix t/ and daemon-ini-redhat in distclean * install: add note about api installed successfully * idoutils: adapt oracle-drop.sql for current schema * idoutils: fix binding null values to name1/name2 in oracle * idoutils: fix typo in servicedepencies query for oracle * idoutils: fix oracle prep statement contactnotifmethoddata * idoutils: full rewrite of binding NULL values for oracle with ocilib * idoutils: change display_name to varchar(255) for mysql/oracle * idoutils: update pgsql schema, replace varchar(n) by text * idoutils: change configfilevariables varvalue to 1024 length for mysql/oracle 1.0.2 - 30/06/2010 ENHANCEMENTS * core: init script shows config errors option; don't remove pidfile if icinga did not stop in a timely manner * core: check if icinga running before starting; if died remove lockfile first * core: add in sync retention facility (Ton Voon, Opsera Ltd) * core: add new is_volatile setting of 2 for services, which respects the re-notification interval for notifications (Ton Voon) * core: add Icinga option -S functions much like -s but will dump the entire scheduling queue is it would run, in addition to providing the summary data (Steven (Steven D. Morrey) * core: icinga can send log messages to syslogd using a local facility instead of the default one * core: enhanced diagnostic output when a regular expression fails to compile (Max Schubert) * core: add state-based escalation ranges (Mark Gius) The directives first_notification and last_notification apply to the total count of notifications on a particular service or host. It is sometimes desirable to escalate after the Nth critical notification, rather than after a total number of N notifications have been sent. NOTE: This can be enabled through configure, it is currently incompaitble with mk_livestatus! * core: add event profiling option for stats of event counts and time taken for events * core: retention file loading speedup (Matthieu Kermagoret) * cgi: add opt-in display_name from hosts/services definitions; if set, they will be shown in the classical ui * cgi: re-add quick search to navmenu in order to provide quick host/service lookups without idoutils/api * cgi: add event profiling stats of event counts and time taken for events in 'Performance Info' * cgi: add config option show_all_services_host_is_authorized_for to cgi.cfg It's possible to disable that the user can see all services only being an authorized contact for the host * cgi: add multiple urls for notes|action_url on host|service object definition (Jochen Bernd) * idoutils: add config options to allow users decision on clearing realtime and config tables on Icinga core startup Actual config objects are marked as (in)active, because disabling the clearing results in historical config * idoutils: remove mysql binary selects, use case-sensitive collation instead (William Preston) * idoutils: Spread the list of linked lists thinner (extend objects hash slots) (Opsera Ltd) * idoutils: change select * into select [*_]id if unused results * idoutils: add syslog output, if ido2db is unable to do initial db query * idoutils: rewrite initscript not only depending on lockfile * idoutils: check if ido2db running before starting; if died remove lockfile first * idoutils: add upgrade scripts to fix object relations to historical data * config: add trailing slash in apache config for html dir FIXES * core: fix scheduling downtime for all services AND the host (cgi url, external commands) * core: fix custom notifications being sent during downtimes (Sven Nierlein) * core: fix spurious dollar signs added to command_lines (Alexander Wirt) * core: fix for choosing next valid time on day of DST change when clocks go one hour backwards (Ton Voon) * core: fix for nagios now erroring when "Error: Could not find any contactgroup matching..." displayed (Ton Voon) * core: minor cleanups to icingastats.c (Eric Sesterhenn) * core: remove dead code (Andreas Ericsson) * core: introduce common/shared.c and include/shared.h (Andreas Ericsson) * core: move cgiutils.h compile time option macros to config.h (Andreas Ericsson) * core: icinga.c: remove conditional main() configuration (Andreas Ericsson) * core: icinga.c: replace asprintf() + write_to_logs_and_console() with logit() (Andreas Ericsson) * core: revamp logging somewhat (Andreas Ericsson) * core: create logging.h, with stubs for the common function in cgiutils.c (Andreas Ericsson) * core: Janitor patch: Remove unused variables (Andreas Ericsson) * core: base/utils.c: typo-fix s/escape_newlines==/escape_newlines_please==/ (Andreas Ericsson) * core: cgi/cmd.c: Squelch warning about empty gnu_printf format string (Andreas Ericsson) * core: more linker tricks and less #ifdef's - log_debug_info() stubbed (Andreas Ericsson) * core: common/objects.c: Use calloc() instead of malloc() + manual NULL'ing (Andreas Ericsson) * core: macros: Protect against typos in macro names (Andreas Ericsson) * core: macros: Add NOTIFICATIONISESCALATED to the list of macro names (Marc Powell) * core: comments: Remove one comment at a time from hashlist (Hiren Patel) * core: fix checking of the open(2) system call (David Glick) * core: xodtemplate: Use macro magic to get rid of 900 LoC (Andreas Ericsson) * core: more s/malloc(size) + init/calloc(1, size)/ replacements (Andreas Ericsson) * core: header files: Remove dead prototypes (Andreas Ericsson) * core: base/commands.c: Fix error path of opening checkresult files (Andreas Ericsson) * core: fix open() error checking in move_check_result_to_queue() (Andreas Ericsson) * core: xdata/xpddefault.c: Close perfdata files if fd's are >= 0 (Andreas Ericsson) * core: fix xpddefault_{host,service}_perfdata_file_pipe not set properly on configuration re-read * core: fix SIGSEGV in checks.c on Solaris (Torsten Huebler) * core: added icinga object version variable in neb api for usage with idomod * core: fix notification_period inheritance for services (Gordon Messmer) * core: fix for notifications not being sent out when scheduled downtime is cancelled (Daniel Pouzzner) * core: fix for first notification delay being calculated incorrectly, and notifications potentially going out early (reported by Pawel Malachowski)(Ethan Galstad) * core: error out if services defined without description in service object definition (service def and/or used templates) * core: fix servicechecks with timeperiods containing 'exclude' directives are incorrectly re-scheduled * cgi: minor cleanups to cgiutils.c (Eric Sesterhenn) * cgi: fix cmd.cgi incomplete output for command description * cgi: fix typo: "stye" instead of "style" in cgi/tac.c * cgi: check_daemon_running() not working on MacOS (Hendrik Baecker) * cgi: fix CGIs don't show correct error on missing archived icinga-DATE.log file * cgi: fix missing js files * idoutils: Host DB inserts use string 'NULL\n' instead of NULL (William Preston) * idoutils: ndo2db_get_object_id fails to return existing IDs (William Preston) * idoutils: fix postgres wrong type in service_object_id * idoutils: modify string escaping again (mysql, pgsql), needs a full rewrite though * idoutils: fix for oracle when binding a NULL value on contactnotificationmethods * idoutils: completely renamed idoutils (s/ndo/ido/g etc), removing old sources * idoutils: fix compilation error of SUN_LEN on Solaris * idoutils: add configure check for gethostbyname including -nsl on Solaris (Alexander Skwar) * idoutils: fix host 2d y coord not stored properly 1.0.1 - 03/03/2010 ENHANCEMENTS * core: updated docs * core: fix config parsing for icinga_user and icinga_group * core: fix status.dat ok, no daemon running, show error instead of old data * core: permanently remove sleep on run_event == FALSE in main loop (Max Schubert) * core: add service_check_timeout_state configuration variable This setting determines the state Icinga will report when a service check times out - it does not respond within service_check_timeout seconds. c - Critical (default) u - Unknown w - Warning o - OK * core: add escalation_condition definition (Vitali Voroth DECOIT GmbH) The escalation_condition option is completely optional and can be defined for host escalations as well as for service escalations. escalation_condition ( [ & / | ] )* where is either host hostname = [u,d,o] or service hostname.service_description] = [w,u,c,o]. The escalation_condition accepts a list of one or more conditions separated by & (logical AND) or | (logical OR). w = WARNING u = UNKNOWN c = CRITICAL o = OK for services or UP for hosts d = DOWN for hosts * idoutils: add ido2db threaded housekeeper - periodic cleanup will now be performed in own thread - startup blocking behavior removed - housekeeper will wait for idomod instance, idle wait using und db_hello - creates own db connection and does its job * idoutils: add indexes for delete/select statements - delete/select will perform faster - getting cached objects with select runs faster - getting logentries within icinga-web is faster * idoutils: reorganize db setup files for MySQL/Postgresql/Oracle - module/idoutils/db// holds needed files - module/idoutils/scripts/ with installdb/upgradedb for MySQL - updated Makefile, README * idoutils: complete oracle rewrite to improve performance - query rewrite - 1x SELECT latest data time as is (called only at startup) - dynamic binded procedure for DELETE on table by instance_id called at startup for cleaning config/status - dynamic binded procedure for DELETE on tably by instance_id, field