1 |
CHANGES version 4.4 |
CHANGES version 4.4 |
2 |
|
|
3 |
This file summarizes changes made since 1.0 |
This file summarizes changes made since 3.0 |
4 |
|
|
5 |
Version 4.4 |
Version 4.4 |
6 |
|
|
814 |
|
|
815 |
* This release makes use of autoheader and config.h. Thanks to Mark |
* This release makes use of autoheader and config.h. Thanks to Mark |
816 |
Ferlatte <ferlatte!cryptio.net>. |
Ferlatte <ferlatte!cryptio.net>. |
|
|
|
|
|
|
|
Version 2.5.1: |
|
|
|
|
|
* This release adds a new check for unix socket based servers in |
|
|
addition to networked port. The syntax is based on the monit port |
|
|
command, e.g.: unix /var/run/foosocket |
|
|
|
|
|
* The file creation mask monit was started with is now passed along |
|
|
to programs started by monit. In other words, the umask monit was |
|
|
started with is inherited by programs started by monit. |
|
|
|
|
|
* The monit daemon is now properly detached from the console |
|
|
tty. Thanks to Mark Ferlatte <ferlatte!cryptio.net>. |
|
|
|
|
|
* Changed the the default udp socket test to actually check if an udp |
|
|
server is running or not. In previous versions the default udp test |
|
|
would always return success even if there was no server behind the |
|
|
stated portnumber. The new udp test is not perfect, a 1 byte udp |
|
|
packet is sent to the server to test if the server is running; this |
|
|
may cause an error report by the server. Still, we belive this test |
|
|
is better than no test. In a future release this test will be |
|
|
improved. |
|
|
|
|
|
* This release makes it possible to write %xy url-encoded characters |
|
|
in the http protocol request. |
|
|
|
|
|
* This release fixes a problem with a changed monitrc file and a |
|
|
monit daemon running in the background. The monit httpd will now |
|
|
start again if it was previously stopped or it will restart with a |
|
|
new portnumber if the portnumber was changed in the monitrc file. |
|
|
|
|
|
|
|
|
Version 2.5: |
|
|
|
|
|
* This release adds IP address based ACL for monit httpd. It is now |
|
|
possible to use IP addresses in addition to hostnames in the |
|
|
'allow' statement. |
|
|
|
|
|
* The http protocol test is now based on HTTP/1.1 and actually |
|
|
supports HTTP/1.1 virtual hosts. |
|
|
|
|
|
* The http protocol test is also extended to include an optional |
|
|
request statement for http. With this statement it is possible to |
|
|
ask monit to check a particular url, like so: |
|
|
host www.cnn.com port 80 proto http request "/markets/ipo" |
|
|
|
|
|
* The status command is changed to print an uptime string for each |
|
|
process in addition to the usual output. The web interface will also |
|
|
show the uptime for each process monitored. |
|
|
|
|
|
* Suse rpm spec files added in contrib/packages/suse by Thomas Oppel |
|
|
|
|
|
* And finally, the monit's web interface has got a new designed |
|
|
|
|
|
|
|
|
Version 2.4.3: |
|
|
|
|
|
* This release adds a new configuration file statement that makes it |
|
|
possible to specify an address the monit httpd should bind to. |
|
|
|
|
|
* This release fixes a problem with monit httpd descriptor |
|
|
inheritance. On Solaris it has been observed that programs started |
|
|
by monit could inherit the monit httpd server socket with the |
|
|
result that these programs also seemed to listen on the httpd port |
|
|
number. Thanks to Christian Hopp <chopp!iei.tu-clausthal.de> for |
|
|
reporting and help solving this bug. |
|
|
|
|
|
* The date header in email alerts is changed to a RFC 1123 Date |
|
|
string. This will make Mail User Agents happier. Again thanks to |
|
|
Christian Hopp <chopp!iei.tu-clausthal.de> for reporting this |
|
|
problem. |
|
|
|
|
|
|
|
|
Version 2.4.2: |
|
|
|
|
|
* This release adds an explicit date header to emails emitted by |
|
|
monit. It seems that qmail have problems setting the date header |
|
|
and if the header is not present in the mail, qmail will set a |
|
|
wrong date (i.e. the EPOCH). Patch submitted by Georgi |
|
|
Chorbadzhiyski <gf!unixsol.org>. |
|
|
|
|
|
* This release also fixes a possible SIGSEGV that could occur when |
|
|
the monit http://../_about HTML page was displayed. Thanks to |
|
|
Martin Pala for helping with the patch. |
|
|
|
|
|
* More consistent log and console reporting when starting and |
|
|
stopping the monit deamon and minor simplification in the http |
|
|
server code. Again thanks to Martin Pala for submitting patches. |
|
|
|
|
|
* This release also revert to using the old alarm code for http |
|
|
connection timeout in the monit http server, instead of using the |
|
|
new SO_RCVTIMEO socket option since few Unix versions support this |
|
|
(correctly). |
|
|
|
|
|
|
|
|
Version 2.4.1: |
|
|
|
|
|
* Fixed a bug that could cause monit *not* to start programs. The 2.4 |
|
|
version had a bug that could cause a SIGSEGV in spawn.c with the |
|
|
result that the child process that should start a program died. This |
|
|
bug occured if the set logfile syslog statement was used in monitrc. |
|
|
Thanks to Volker-J Westphal <volker-j.westphal!db.com> for reporting |
|
|
and help solving this bug. |
|
|
|
|
|
* $ is allowed in the from address in mail-format, to make this type |
|
|
of statement legal; mail-format { from: monit@$HOST }. |
|
|
|
|
|
* Internal simplification of the mail format code, Thanks to Martin |
|
|
Pala <martinp!tildeslash.com>. |
|
|
|
|
|
* The SIGUSR1 signal is blocked in the alert function so e.g. a monit |
|
|
wakeup call cannot interrupt a mail alert transfeer. |
|
|
|
|
|
|
|
|
Version 2.4: |
|
|
|
|
|
* Extended refactoring of the alert function. It is now possible to |
|
|
customize the email message monit will send. Thanks to Martin Pala |
|
|
<martinp!tildeslash.com>, for helping with this refactoring and for |
|
|
providing code that makes it possible to send multiple alert messages. |
|
|
|
|
|
* If a monit daemon is running in the background it is requested to |
|
|
stop programs. This way, a monit daemon will not start a program |
|
|
again after it was stopped with the command; 'monit stop' |
|
|
|
|
|
* The statements 'checksum start' and 'checksum stop' are |
|
|
depricated. Instead use the 'checksum file' statement. |
|
|
|
|
|
* Fixed a significant but extremely rare alarm signal thread conflict. |
|
|
An alarm signal emitted by one thread and catched by another could |
|
|
cause monit to die (observed on FreeBSD). This could happen if monit |
|
|
was sending an alert mail while the http thread processed a request |
|
|
at the same time. |
|
|
|
|
|
* Minor bug fixes in the parser and the source code is changed to use |
|
|
stronger typing. |
|
|
|
|
|
|
|
|
Version 2.3: |
|
|
|
|
|
* This release adds a group statement feature to monit, thanks to |
|
|
K. Sayah Karadji. It's now possible to group together several |
|
|
program entries in the control file and manage a group of programs |
|
|
from the command line. This release also introduce the autostart |
|
|
statement, also provided by K. Sayah Karadji. This statement is used |
|
|
to control if monit should automatically start a program if it is |
|
|
not running. |
|
|
|
|
|
* Restarts is again a noise keyword, (but note, restart without the |
|
|
ending 's' is a regular keyword). This makes it possible to write |
|
|
the timeout statement verbosely again as stated in the documentation: |
|
|
timeout if 3 restarts within 3 cycles |
|
|
|
|
|
Version 2.2.1: |
|
|
|
|
|
* This release fix a problem with Basic Authentication overriding the |
|
|
Host Allow List authentication. Now both authentication methods can |
|
|
be used together as stated in the documentation. |
|
|
|
|
|
* This release also fix build problems on Solaris and on FreeBSD (with |
|
|
only GNU Portable Threads). |
|
|
|
|
|
|
|
|
Version 2.2: |
|
|
|
|
|
* The monit http server socket is made reusable. This is useful if |
|
|
monit has been shut down, and then restarted right away. |
|
|
|
|
|
* The md5 checksum function has been refactored. Checksum are now |
|
|
optional per program entry. |
|
|
|
|
|
|
|
|
Version 2.1.1: |
|
|
|
|
|
* The socket interface has been made more robust in this release by |
|
|
masking out the SIGPIPE signal. |
|
|
|
|
|
* Removed a mini memory leakage when starting/stopping programs from |
|
|
the web-interface. |
|
|
|
|
|
|
|
|
Version 2.1: |
|
|
|
|
|
* Basic Authentication schema added. This feature is usefull if you |
|
|
want to connect to a monit httpd from a host without a permanent |
|
|
IP-address and want an alternative to the host allow list |
|
|
authentication. |
|
|
|
|
|
* If an 'allow host' entry is removed from the control file, the host |
|
|
will also be removed from monits internal allow list on the next |
|
|
poll cycle. This was not done in previous releases. |
|
|
|
|
|
* Some refactoring and extensive HTML documentation for the monit |
|
|
source code. |
|
|
|
|
|
|
|
|
Version 2.0: |
|
|
|
|
|
* Support for start, stop and restart of specified programs from the |
|
|
command line. |
|
|
|
|
|
* The http interface now support start and stop of all programs |
|
|
managed by monit. This is e.g. useful for managing daemons on |
|
|
several machines from a browser. |
|
|
|
|
|
* monit now use POSIX threads and does not fork of a standalone http |
|
|
process, instead the monit http server is started in its own thread. |
|
|
|
|
|
|
|
|
Version 1.4.1: |
|
|
|
|
|
* Programs are now actually started with standard filedescriptors |
|
|
opened. There was a bug in the spawn.c code that did the opposite. |
|
|
Thanks to Martin Pala <martinp!tildeslash.com> for providing this |
|
|
bugfix. |
|
|
|
|
|
If you had a problem with starting certain deamons from monit this |
|
|
release will (probably) fix that. |
|
|
|
|
|
|
|
|
Version 1.4: |
|
|
|
|
|
* Fixed build problems on Solaris 2.[5/6] |
|
|
|
|
|
|
|
|
Version 1.4beta: |
|
|
|
|
|
* monit now has a web-interface. You can check if monit is running and |
|
|
the status of all programs monitored by monit from a browser. |
|
|
|
|
|
* A checksum is taken for all programs that monit uses for managing |
|
|
daemons, and an alert notification is sent if a program changes. |
|
|
Thanks to Rick Robino <rrobino!peek.com> for suggesting this feature. |
|
|
|
|
|
* The spawn code has been simplified and tighten. |
|
|
|
|
|
* NOTE: THIS VERSION HAS ONLY BEEN BUILT AND TESTED ON LINUX RH 7.1. |
|
|
|
|
|
|
|
|
Version 1.3.1: |
|
|
|
|
|
* Alert notification is put after server restart. Relevant if monit |
|
|
watches the local smtp server and use this for alert as well. |
|
|
Thanks to "Martynas" <martynas!inet.lt> for the reminder. |
|
|
|
|
|
* The timeout alarm is started before monit tries to open a socket, so |
|
|
monit doesn't hang on a connection. |
|
|
|
|
|
* Fixed the possible '-c' exploit. (And hopefully others). |
|
|
|
|
|
|
|
|
Version 1.3: |
|
|
|
|
|
* Most of the source files in this release are to some extent |
|
|
changed. For the most part, it's just polishing, but the grammar is |
|
|
refactored a bit and the connection testing code are extended |
|
|
much. Because of this I feel more comfortable to coin this release a |
|
|
BETA release. The quality of the code should be good, but this |
|
|
release has not been long into production. Feedback and any bugfixes |
|
|
are welcome. |
|
|
|
|
|
* NB! The syntax for the host-statement is changed slightly. The new |
|
|
syntax is (see the man file for explanation): |
|
|
[HOST hostname] PORT number [TYPE {TCP|UDP}] [PROTO(COL) {name}] |
|
|
|
|
|
* Code added for safer exec and environment handling |
|
|
|
|
|
* Polished the controlfile grammar, so that optional statements |
|
|
doesn't have to be written in any particular order. |
|
|
|
|
|
* Extended the alert function to include restart alerts. Alert is now |
|
|
a standalone statement, not depending on timeout. |
|
|
|
|
|
* Code added for better memory allocation. |
|
|
|
|
|
* When testing (default) connection to a port, new code is added to |
|
|
test if it's possible to write or read to/from the socket. This is |
|
|
a good vitality test for any server. |
|
|
|
|
|
* The following was provided by Michael Amster <mamster!webeasy.com> |
|
|
and included into this release: |
|
|
|
|
|
- sendmail.c now correctly supports RFC822 and does not send bare |
|
|
linefeeds. |
|
|
|
|
|
- Fixed stack smashing security issues. General replacement of |
|
|
strcpy with strncpy, sprintf with snprintf, strcat with strncat. |
|
|
|
|
|
* Michael also provided code that inspired me to create a new |
|
|
interface for semantic test for some of the more popular Internet |
|
|
protocols, like HTTP, POP, SMTP and FTP. The "interface" design is |
|
|
loosely based on the Delegation Pattern. It's easy to develop new or |
|
|
change existing protocol modules without changing any main program |
|
|
logic. With this feature, monit will be able to, not only connect |
|
|
to a certain port, but also speak the protocol to verify that the |
|
|
server works. If you want to create your own protocol modules, see |
|
|
the NOTES file in the protocols directory. |
|
|
|
|
|
|
|
|
Version 1.2: |
|
|
|
|
|
* monit now saves its pidfile in /var/run or /etc when run by root |
|
|
|
|
|
* Fixed Mailserver-statement so real hostnames can be used as well as |
|
|
localhost. |
|
|
|
|
|
* Fixed permission problem when checking for running process. This |
|
|
problem occured when monit was started by a regular user and monit |
|
|
tested a program run by root (e.g. a program doing setuid=root). |
|
|
In this case monit wrongfully reported that the program was not |
|
|
running, even if it did. |
|
|
|
|
|
* The following was provided by Olivier Beyssac and included into |
|
|
this release: |
|
|
|
|
|
- In case your server provides IP-based or name-based virtual hosts |
|
|
you can now use monit for connection testing to explicit stated |
|
|
hostnames: |
|
|
New format for this is : host <hostname> port <number> |
|
|
This is backward-compatible with the "port <number>" only |
|
|
statement, where the hostname is implicit localhost. |
|
|
|
|
|
- Added an every statement, to check a process every n cycle |
|
|
|
|
|
|
|
|
Version 1.1: |
|
|
|
|
|
* Support for UDP as well as TCP in port checking |
|
|
|
|
|
* Program timeout mechanism and alert notification |
|
|
|
|
|
* Fixed minor precedence problem between global 'set-variables' set at |
|
|
the command-line and the control file |
|
|
|
|
|
|
|
|
Version 1.0: |
|
|
|
|
|
* Initial release |
|
|
|
|