
####################################################################
#
# CHANGELOG
#
####################################################################

 !! Important notices !!

 - Dates in this file are formatted as DD/MM/YYYY (European format)
 - The rkhunter configuration file (default /etc/rkhunter.conf) will
   not be overwritten when using the rkhunter installer, unless
   specifically requested to do so (using the '--overwrite' option).
   Be sure you compare your existing configuration file against the
   one delivered in this package, in order to optimize the file for
   your machine.


 -- 

 * 1.4.2 (24/02/2014)

 New:
 - The 'ssh', 'sshd' and 'telnet' commands are now checked as part of
   the file properties test.
 - It is now possible to include configuration files found in a local
   configuration directory. This directory, called 'rkhunter.d', must
   be in the same directory as the main configuration file. Only files
   ending in '.conf' will be treated as configuration files, all other
   files will be ignored. The configuration options found in the files
   will be merged with the options found in the main configuration file
   and the local configuration file, if present. Both the local
   configuration file, and the 'rkhunter.d' configuration files, will
   only override a previously specified option if the option can only
   be specified once, or, for list options, if the null string is given.
   The installer will automatically include any configuration files to
   the file properties test.
 - A new configuration file option, 'SHOW_SUMMARY_WARNINGS_NUMBER',
   can be set so that the summary will display the actual number of
   warnings found, rather than the default message which simply states
   that one or more warnings were found. If no warnings were found,
   then it will be stated that '0' warnings were found.
 - The tests to see if 'syslog' is running, and its configuration
   file is present, have now been changed. The test has been renamed
   to state 'system logging' rather than 'syslog', and will now detect
   if 'systemd' logging is being used as well as, or instead of, syslog.
 - Two new tests have been added to the 'filesystem' checks. The first
   will check if any configured log files are missing, and the second
   will check if any configured log files are empty. The second test will
   also check if the log files are missing, but only report it if the
   first test has not done so. For both tests the results are only shown
   if the relevant test has been configured. To enable this there are
   also two new configuration file options - MISSING_LOGFILES and
   EMPTY_LOGFILES.
 - Added the 'UNHIDETCP_OPTS' configuration option. This may be set to
   options which are then used by the 'unhide-tcp' command. By default
   no options are used.
 - Added the SHOW_SUMMARY_TIME configuration option. This can be used
   to specify where the summary scan time should be displayed, if at
   all. The default (as before) is to display the time both on the
   screen and in the log file.
 - Added the PORT_PATH_WHITELIST configuration option to be used when
   specifying a pathname. Other port whitelisting types use the
   PORT_WHITELIST option as before.
 - Added Turkish translation files.
 - Added System V Shared Memory test for Linux.
 - Added ClamAV-compatible signatures for an Apache DSO, pam_unix.so
   backdoor, xsyslog, SHV4, SHV5, Kbeast, libncom, Jynx, Turtle, 
   Glupteba, trojaned OpenSSH daemon, improved libkeyutils.1.9.so and
   common sniffer strings. These signatures are highly experimental,
   prone to false positives and must be run manually using ClamAV.
   Currently no update mechanism is provided and the rkhunter-users
   mailing list may or may not provide support for any questions about
   these signatures.

 Changes:
 - The test 'possible_rkts' has been removed because this is exactly
   the same as the 'additional_rkts' test.
 - To allow for the merging of configuration options from files in the
   rkhunter.d directory, the UNHIDE_TESTS, MAIL-ON-WARNING, ENABLE_TESTS
   and DISABLE_TESTS options may now be specified more than once.
 - It is no longer required that the MAIL-ON-WARNING option exists in
   the configuration file.
 - Some configuration options, typically lists, can be specified more
   than once, and it is now possible to set these options to the null
   string ("") so as to delete any previous value. Previously use of the
   null string was ignored. Some options may assume a default value if
   the option is set to null.
   (This change was made so that configuration files in the 'rkhunter.d'
   directory, and the local configuration file, can reset an option to
   null, and, if required, provide new values simply by specifying the
   option once as null and then with a value.)
 - The file properties test will now state if the target of a symbolic
   link has changed. Previously this would have been detected, but
   reported as a change of hash value, inode, file size etc.
 - The PORT_WHITELIST configuration option can now only be used to
   specify protocol:port pairs or the '*' option. To specify pathnames,
   the new PORT_PATH_WHITELIST option must be used.
 - Displayed and logged pathnames which contain either space, tab or
   control characters are now displayed differently. A space character
   will be displayed as '<SP>', a tab as '<TAB>' and a control character
   as '?'. This should make pathnames with these characters easier to
   see when displayed or logged.
 - Detection of the O/S being used now includes looking for the
   '/etc/os-release' file.
 - In the configuration file the HASH_FUNC option has now changed
   name to HASH_CMD. However, the old name will still be recognised.
 - Most configuration options which take pathnames are now internally
   treated as newline-separated lists. As such, the options can only
   have one entry per line, and that entry can contain any character
   other than a newline character. (Note: Do not use quotes around the
   pathname.) Options which previously used the '%' character to
   represent a space, no longer require this.
 - The USER_FILEPROP_FILES_DIRS no longer recognises the '!' character
   as being special. Any pathnames to be excluded from the file
   properties checks should use the new EXCLUDE_USER_FILEPROP_FILES_DIRS
   configuration option instead. No '!' is required with that option.
 - The 'promisc' test for promiscuous network interfaces now uses
   either the 'ifconfig' command or, for Linux systems, the 'ip'
   command. Previously the 'ifconfig' command had to be present.
 - If either of the APPEND_LOG or COPY_LOG_ON_ERROR configuration
   options is set, then this is now logged.
 - It is now possible to include filenames containing a colon (:)
   character in the file properties tests. The filename can be specified
   in the configuration file using the USER_FILEPROP_FILES_DIRS option.

 Bugfixes:
 - Cater for the latest version of the 'unhide' command.
 - Allow the ALLOWDEVFILE option to handle file names containing
   forward slashes.
 - Improved the process check in the 'packet_cap_apps' test.
 - Ensure that the 'rkhunter.conf.local' file, if present, is not a
   symbolic link and is readable.
 - Improve the test that the root user is running rkhunter.
 - The RPM package manager would log (as an info message) if an 'rpm'
   command failed, but the user would generally be unaware of this.
   Additionally, the relevant file would pass the file properties
   test. Now the file is marked as having a missing hash.
 - The RPM package manager could produce additional spurious warnings
   if a file from a package was deleted, and the '/bin' or '/sbin'
   directories were symbolic links (as now occurs with Fedora).
 - The 'tripwire', 'ports' and 'running_procs' tests detect possible
   rootkits, but these were not being reported in the summary. This
   has now been fixed, and those tests will always show a summary.
 - The 'filesystem' test did not correctly check a files file type.
   Additionally, testing the files size prevented character and block
   file types from being detected. As before, empty files are ignored.
   The OSX 'file' command can return multiple lines for certain files.
   This has now been catered for (generally the output was assumed to
   be on one line.)
 - Some configuration options were not being processed until late in
   the code. Now, all options are processed early in the program. This
   means that any error messages will show up much earlier.
 - Some configuration options, for specific tests, were being processed
   even if the test was disabled. The configuration options are now
   only processed if the relevant test is enabled.
 - Some configuration options were not being checked fully for errors.
   Now, all options are fully checked, and any errors reported.
 - If the '--propupd' option was used with the '--enable' option,
   it could cause a shell error to appear and some tests not to run
   correctly.
 - If the '--propupd' option was used in conjunction with the file
   properties test, and the hash function was changed, or a package
   manager used, then the file properties test would fail stating that
   the new and old hash functions, or package managers, were
   incompatible. The test now runs as it should using the new hash
   function or package manager.
 - The pathname of the log file is now logged if the summary is
   disabled or a check is not being run. Previously the log file
   path only appeared in the check summary.
 - Both the '--bindir' command-line option, and the BINDIR configuration
   option, are now checked more thoroughly to ensure that the
   directories are valid.
 - AIX systems do not fully check files when using the 'strings'
   command. As such several warnings are produced when the strings
   command integrity test is executed. The strings command '-a' option
   is now used so that the whole file is checked. This option seems to
   be universal so should not be a problem for any other systems.
 - When using a hash command of 'NONE' the file properties test would
   still report some files as having no hash value. This is now fixed.
 - The xinetd check was too simple, and could miss services which were
   enabled. The test now also checks for any 'defaults' section, and
   checks the found service and 'id' names against the defaults.

 -- 

 * 1.4.0 (01/05/2012)

 New:
 - Added the '--list propfiles' command-line option. This will dump out
   the list of filenames that will be searched for when building the file
   properties database. By default the list is not shown if just '--list'
   is used.
 - Added Jynx rootkit check.
 - Added Turtle/Turtle2 rootkit check.
 - Added KBeast rootkit check.
 - The installer now supports the Slackware TXZ package layout option.

 Changes:
 - Avoid checking exclamation points in ALLOWDEVFILE checks (this was
   caught on 01/05/2012 causing a reissue of the 1.4.0 release).
 - Allow the ALLOWDEVFILE, ALLOWHIDDENFILE and ALLOWHIDDENDIR options to
   use '%' as the space character. (Note: This is a temporary fix).
 - The ALLOWPROCDELFILE option can now use wildcards in the file names.
 - The '--list perl' command-line option now shows whether the perl
   command itself is installed or not.
 - The 'shared_libs' test now allows whitelisting of the preloading
   environment variables.
 - The '-r/--rootdir' command-line options, and the ROOTDIR
   configuration option are now deprecated. If they are used then an
   error message will be displayed. The options will have no effect,
   but rkhunter will continue. The options will be completely removed
   at the next release.
 - The 'hidden_ports' test will now show if a found port is TCP or UDP.
 - It is now possible to whitelist ports in the 'hidden_ports' test
   using the PORT_WHITELIST configuration option.

 Bugfixes:
 - Allow the ALLOWPROCDELFILE option to work again.
 - Correct the check of the ProFTPD version number.
 - Fix the FreeBSD 'sockstat' command check to ensure that the correct
   fields are used.
 - Fix for newer version of the 'file' command when reporting scripts.
 - Fix the ALLOWHIDDENFILE option to allow hidden symbolic links.
 - The 'filesystem' check now handles files and directories with spaces
   in their names correctly.
 - The 'startup_files' test was displaying file names with spaces in
   them incorrectly. Also the test was not checking files which were
   in hidden directories.
 - Ensure that the ALLOWDEVFILE, ALLOWHIDDENFILE and ALLOWHIDDENDIR
   options re-evaluate their whitelisting lists to ensure that any
   wildcard entries are the most recent. (A time window previously
   existed which meant that the list was processed, but new files
   could be created before the test was run. As such they were reported
   as false-positive warnings, when they should have been whitelisted.)
 - Allow the EXISTWHITELIST option to work with symbolic links.
 - The test of whether prelinking is being used or not was sometimes
   causing the file properties hash test to be skipped, without the
   real reason being stated. Now the hash test will proceed but the
   user will still get a warning (because it detects that prelinking was
   used and is not now, or vice-versa).
 - Rkhunter will now check to see if the 'head' and 'tail' commands
   understand the '-n' option. If they do, then it will be used. If they
   do not, then the older 'head -1' and 'tail -1' commands will be used.

 -- 

 * 1.3.8 (17/11/2010)

 New:
 - It is now possible to whitelist specific rootkit strings in
   specific files using the RTKT_FILE_WHITELIST option. Details
   are in the configuration file.
 - For those systems on which files generally have the immutable
   -bit set, the 'immutable' test can now be reversed (that is,
   warnings will be issued for files which do not have the bit
   set). The configuration file option IMMUTABLE_SET can be set
   to '1' to enable this. By default it is '0'.
 - The installer now supports the ppc64 architecture.
 - The RTKT_FILE_WHITELIST option can be used to whitelist
   reported 'suspicious files' found in the 'running_procs' test.
 - Using the EXISTWHITELIST configuration option it is now possible
   to whitelist files and directories that might not always be
   present on the system. Whitelisted items are, in effect,
   whitelisted from 'existence' checks.
 - Added a new test to check for hidden network ports being used.
   It is called 'hidden_ports'. This test is disabled by default,
   and will only run if the 'unhide-tcp' command is present.
 - Added support for DragonFly BSD.
 - Added Inqtana worm check (variants A, B and C).
 - It is now possible to whitelist a combined pathname and port number
   with the PORT_WHITELIST configuration option. Details are in the
   configuration file.
 - Added Togroot rootkit check.
 - It is now possible to specify 'SOLARIS' as a package manager for
   Solaris systems. It can be used to check several of the file
   properties, such as the file permissions, ownership, size and so
   on. By default the stored 16-bit hash value is not used, and a hash
   value will be calculated, as before, using the configured hash
   function. However, if it is wished that the stored hash value is
   used, then the USE_SUNSUM configuration option must be enabled.
 - The command-line option '--list perl' may be used to see the
   installation status of perl modules that may be used by some of
   the tests.
 - For the file properties test the hash functions 'Whirlpool' and
   'Ripemd160' may now be specified. However, only the relevant perl
   module will be looked for when using these functions.
 - Added Solaris Wanuk backdoor and worm checks.
 - The new command-line option '-C' (or '--config-check') can be
   used to check the rkhunter configuration files. This will check
   most of the options, but only for the tests which would normally
   be run (as defined by the enable and disable options). The program
   exits once the check has run. See the man page for more details.
 - The 'hidden_procs' test will now run the 'unhide.rb' command if it
   is present. This is the Ruby version of the original C 'unhide'
   program. (The 'unhide' command is also still run if found.)
 - Added the DISABLE_UNHIDE configuration option. This allows users
   to disable one or other of the 'unhide' or 'unhide.rb' commands
   if they are both present on the system. The default is to look
   for and run both commands.
 - Added OS X Boonana (Koobface.A) trojan check.

 Changes:
 - Allow the 'unhide' command to be detected on Linux systems.
 - Allow most of the whitelisting-type configuration options to
   be specified more than once in the configuration file.
 - NIS entries are now ignored when checking the password file.
 - The use of '--disable all' on the command-line is now allowed
   provided that the '--enable' option is also used, and not set
   to 'none'. Disabling all the tests in the configuration file
   will still give an error.
 - If the enabled and disabled test name(s) are the same, then an
   error will now be displayed. This only applies to certain
   non-grouped test names.
 - The check of syslog remote logging no longer considers a
   127.x.x.x address as being remote.
 - In the configuration file the WEBCMD option has now changed
   name to WEB_CMD. However, the old name will still be recognised.
 - If the UPDT_ON_OS_CHANGE option is set, and an O/S change has been
   detected, a message is now logged stating that an automatic
   update will occur. Additionally, the output of the update is no
   longer displayed (it looked confusing).
 - Removed the automatic exception of TDB database files from the
   'filesystem' check. (This seems to have been introduced in version
   1.1.3, but we have whitelisting now.)
 - The file properties test now handles broken links. These were
   previously reported as an error. If there are any broken links,
   then the '--propupd' option will report how many have been found.
 - The old configuration options LOCAL_RC_PATH and SYSTEM_RC_DIR
   have now been removed. They were replaced by STARTUP_PATHS at
   version 1.3.6.
 - Most of the configuration options which take a list of pathnames,
   and which are not set in the provided config file, can now be
   specified more than once. They are all now space-separated lists
   as well.
 - The 'suspicious files' check in the 'running_procs' test now displays
   each found file individually. Additionally the warning will include
   the command being executed, the PID, the user id, the full pathname
   that appears to be suspicious, and the possible rootkit name.
 - Reverted a change to the 'os_specific' test so that it will show the
   test as being skipped for O/S's which have no specific tests. Without
   this if the test was enabled on its own, then nothing at all was
   displayed.
 - More rigorous testing of the various '.dat' files before each test
   which uses them has now been included. If a problem is found, then
   a warning is displayed.
 - The ALLOW_SSH_ROOT_USER configuration option can no longer be set
   to 'yes' if the 'PermitRootLogin' option is not set in the SSH
   configuration file. A value of 'unset' must be used.
 - The ALLOW_SSH_PROT_V1 configuration option can no longer be set
   to '1' if the 'Protocol' option is not set in the SSH configuration
   file. A value of '2' must be used. (The use of '1' in this instance
   was an undocumented, but allowed setting.)
 - The '--enable' and '--disable' command-line options may now be
   specified more than once.
 - The default behaviour when the command-line option '--disable' is
   used has been changed. Rkhunter will now also include the
   configuration file option used to disable tests, in order to
   determine overall which tests to run. This is more intuitive for the
   user. If the previous behaviour of only the '--disable' option being
   used to determine which tests to run, then the new '--nocf' option
   must also be used.
 - The network 'ports' test no longer displays the details of the test
   on the screen, but just shows the overall result. This brings the test
   format more inline with the other tests. The result of individual
   ports being checked is still logged as before.
 - The 'sort' and 'uniq' commands are now required to be on the system
   in order to run rkhunter.
 - Grsecurity-enabled systems may now run the network 'ports' test. If
   this causes a problem, then that particular test can be disabled.
 - Improved support for OS X a little bit more.
 - When using the installer '--show' option, if a directory does not
   exist, then it will now state that the directory will be created.
 - The 'hidden_procs' test used to run the 'unhide sys' command. Now
   it is possible to specify which test names to provide to the 'unhide'
   command by using the UNHIDE_TESTS configuration option. It defaults
   to 'sys'. This allows for additional tests to be run with 'unhide'
   if the user wishes, and caters for newer versions of 'unhide' which
   have several new options. Increased the amount of logging of what
   rkhunter is doing during the 'hidden_procs' test.
 - Both the '--bindir' command-line option and the BINDIR configuration
   file option may now be specified more than once. The description of
   how these options affect the PATH of rkhunter has been reworded in
   both the supplied rkhunter.conf file and the man page.
 - The log file permissions and owner/group settings will now be copied
   to each new log file, rather than a new log file, with default
   permissions, being created each time. This will allow users to
   modify the permissions/owner/group of the log file, without them
   being lost when a new log file is created. If no log file exists,
   then, as before, one will be created with permissions of 600 and
   with the owner/group of the root user.
 - For OS X users the test of root-equivalent accounts now works
   with directory services as well as with the password files.
 - The check of the syslog configuration file will now check all
   the files found, not just the first one.

 Bugfixes:
 - Corrected test of ProFTPD version number in apps test.
 - Make the apps test version number check case-independent.
 - Ensure the promiscuous interface whitelisting is applied to both
   parts of the test. Corrected and tidied up the displayed output.
 - Correct the test of rkhunter itself being changed to a non-script
   file.
 - Ensure the suspscan test removes any files it creates. (Again!)
 - The --rootdir/ROOTDIR configuration option now works correctly if
   specified as '/'. Previously it caused the file properties file
   entries to become a bit messed up.
 - The file properties immutable test checked the 'lsattr' command
   against the rkhunter configuration file. However, if the file was
   a symbolic link, then the test failed. Now the test checks 'lsattr'
   against several of the rkhunter installed files, looking for a
   regular, non-link, file. These include the configuration file, the
   rkhunter database files, and the language files.
 - The ALLOWDEVFILE whitelisting now allows filenames to contain
   colon (:) characters.
 - The rootkit summary could list detected rootkit names more than once.
   This has now been corrected, each rootkit name will only be
   displayed once. The rootkit count will also now only show the number
   of unique rootkits found.
 - It was possible for part of the summary to be displayed twice. This
   has now been corrected so that it only displays once.
 - For system startup files (rc files), the rootkit strings check now
   ignores comment lines (lines starting with '#'). For Solaris systems,
   the 'gstrings' command is used rather than 'strings' if it exists.
 - Allow *BSD 'grep' to work correctly with binary (i18n) files.
 - Removed the configuration file option use of a comma as an option
   separator. Now only spaces and tabs can be used. Use of a comma would
   prevent known rootkit files and directories, as well as RCS files, from
   being whitelisted correctly.
 - When the German language is selected rkhunter will now try to display
   messages using the correct encoding.
 - The test of rootkit strings in the startup files could display the
   wrong string and rootkit. It now displays the correct information.
 - The 'filesystem' check now correctly identifies non-standard
   directories (e.g. setgid directory), and allows them to be whitelisted.
 - The UPDT_ON_OS_CHANGE option was defaulting to 1 rather than 0.
 - The result of the libsafe check, a prelink command check, and a prelink
   hash function check were not being reported.
 - The 'filesystem' check would ignore files with spaces in their name if
   the default setting of SCAN_MODE_DEV was used. This has now been
   corrected, filenames with spaces in them are checked regardless of the
   configuration option setting.
 - If the installer is used with the RPM, TGZ or DEB layout options,
   and '/' is the build root, then this will now build correctly.
 - NetBSD, FreeBSD and OS X would print out an error regarding the 'print'
   command. They would also display the locking messages incorrectly. Both
   of these have now been corrected.
 - The sockstat/netstat output check for *BSD systems gave a spurious
   error message because FreeBSD/OpenBSD sockstat did not support the '-n'
   option. This has been fixed, but NetBSD systems will still use it.
 - The installer option '--layout custom /' now works correctly.
 - The SHA256 perl module was not being called correctly.

-- 

 * 1.3.6 (30/11/2009)

 New:
 - Added ZK rootkit check.
 - German translation provided.
 - Added the IGNORE_PRELINK_DEP_ERR option to the configuration file. This
   option can be used when a persistent prelink dependency error occurs.
   Further details of its use are in the configuration file.
 - Added CX rootkit check.
 - Added the USER_FILEPROP_FILES_DIRS configuration option. This allows
   users to add further files and directories to the file properties
   check. Details are in the configuration file. The installer program
   will automatically add the configuration file pathname to this option.
 - Added the EPOCH_DATE_CMD configuration option. In the file properties
   test any modification date/times will now be displayed in human-readable
   format as well as the number of epoch seconds. This option can be used
   to specify the command to use if the 'date' or 'perl' commands cannot
   convert epoch seconds.
 - Added the COPY_LOG_ON_ERROR configuration option. When set this will
   take a copy of the log file if any errors or warnings have occurred.
 - Added the WEBCMD configuration option. This allows users to specify
   the command used to download data file updates from the Internet.
 - It is now possible to put configuration changes into a local config
   file. This file, called 'rkhunter.conf.local', must be in the same
   directory as the main configuration file. Rkhunter will look for
   configuration options in the main config file, and then in the local
   config file if it exists. As before, for options allowed only once,
   the last one seen is used. For options allowed more than once, all
   options from both files will be used.
 - Added the SHARED_LIB_WHITELIST configuration option to allow the
   whitelisting of preloaded shared libraries.
 - Made some minor changes to enable support for SliTaz Linux.
 - Added the WARN_ON_OS_CHANGE and UPDT_ON_OS_CHANGE configuration
   options. During the file properties check there are some O/S tests
   performed to see if the O/S has changed since the last run of
   'rkhunter --propupd'. By default if something has changed, then a
   warning is shown. If the WARN_ON_OS_CHANGE option is unset, then no
   warnings will be shown. If the UPDT_ON_OS_CHANGE option is set, and
   the O/S has changed, then rkhunter will automatically update the file
   properties file (in effect, it will run 'rkhunter --propupd').
 - The installer now has a '--overwrite/-o' option. When used this will
   overwrite the existing configuration file. This allows a site to check
   the new config file (at least once) for changes, and then modify their
   own 'rkhunter.conf.local' file as required. This option can then be
   used to have the installer overwrite the default config file. It saves
   having to move the new default config file into place on each computer.
 - Locking is now possible when rkhunter runs. This prevents RKH running
   more than once and corrupting any modified files such as the log file,
   or the file properties file. New configuration options have been added
   to handle the locking, and the configuration file contains details of
   how the locking works. The default is not to use locking.
 - Added support for hash functions SHA224, SHA256, SHA384 and SHA512 using
   perl modules Digest-SHA-PurePerl or SHA256, both available at CPAN.
 - Added the UPDATE_LANG configuration option. This can be set to those
   language files the user wants to be updated when the '--update' option is
   used. Since most sites may only use one language, this can reduce the
   network bandwidth used. The default is to update all the languages. The
   configured default language, and English (en), are always updated.
 - Added the ALLOWPROMISCIF configuration option. This can be used to
   specify network interfaces which are allowed to be in promiscuous mode.
 - Added the SCANROOTKITMODE configuration option. If set to "THOROUGH" then
   the scanrootkit function will search for filenames in all directories.
   While still not optimal this is one step away from the rigidity of
   searching only in known locations. Enabling this feature implies you have
   the knowledge to interpret the results properly.
 - Added OSX rootkit check.
 - Added weaponX rootkit check.
 - Added the PKGMGR_NO_VRFY configuration option. This allows specified
   files to be exempt from the package manager verification process. Now
   that users can include their own files into the file properties check,
   it is possible that changed packaged files will cause a warning to be
   issued. This option allows those files to skip the package manager
   verification, and be treated as non-packaged files.
 - Added cb rootkit check.
 - Added Fu rootkit check.
 - Added ld-linuxv.so.1 LD_PRELOAD check.
 - Added Adore Rootkit aka strings.o rootkit aka Dextenea check.
 - Added iLLogiC rootkit check.
 - Added 'Spanish' rootkit check.
 - Added Xzibit rootkit check.
 - Added trNkit rootkit check.

 Changes:
 - Removed the 'os_specific' test for OpenBSD. The *BSD test is currently
   only applicable to NetBSD and FreeBSD.
 - Updated the ENYE LKM check.
 - The '--debug' option no longer needs to be the first option on the
   command line.
 - Improved support for MAC's now using the bash shell by default. Include
   logging of whether 64-bit is available.
 - When uninstalling rkhunter, old versions of the document directory
   (usually /usr/local/share/doc/rkhunter-*) will now be removed.
 - The warnings from the passwd and group file changes tests are now
   more specific about what has changed.
 - Small change to the detection of Source Mage Linux.
 - Renamed part of the 'shared_libs' test to display that it is checking
   for preloaded libraries, rather than just the preload file. The pathname
   of the preload file is now logged, and any found shared library files are
   now logged as a warning.
 - The SYSLOG_CONFIG_FILE configuration option can now take the value of
   'NONE' to indicate that there is no syslog configuration file, despite
   the fact that syslogd may be running.
 - Some tests will now show their result as 'Whitelisted'. If a test uses a
   configuration option, and this has been set, and the test passes - giving
   a green result - then it will now be shown as 'Whitelisted'. The user can
   now see that a test has either passed correctly - an 'OK' or 'Not found'
   type result - or has passed because the test requirements have been
   whitelisted. It is for the user to investigate if this is correct or not.
   (This change does not currently apply to all relevant tests.)
   Additionally, the configuration option WHITELISTED_IS_WHITE can be set
   if the 'Whitelisted' result is to be shown in white rather than green.
   For color set two users this will be shown in black.
 - Improved the O/S name detection slightly for those systems which only
   provide a version number.
 - Rkhunter now ensures that the output from the 'lsattr' command, or
   'ls -lno' on *BSD systems, and the 'file' command is valid. That is, it
   produces something on stdout. If it doesn't, then the 'immutable' and/or
   'scripts' test is skipped.
 - Changed the RPM spec file so as not to verify the checksum, size and mtime
   of the database files and the i18n files. These files may be changed by
   rkhunter itself.
 - The installer now uses the 'default' layout by default. It is no longer
   necessary to specify the layout at all if the default is to be used.
   The '--layout' option no longer needs to be the first option specified
   if it is used.
 - Improved Fleakit Linux Rootkit checks.
 - Improved SHV4 Rootkit checks.
 - Improved beX2 Rootkit check.
 - Improved Phalanx2 Rootkit check to include Phalanx version 2.3d as reported
   in ticket 2839813, including a PHALANX2_DIRTEST configuration option which 
   enables scanning for directory names and accepts the value '0' for default 
   directory names to search for and '1' for scanning the /etc and /usr 
   directories for directory names ending in '.p2' at the expense of a slightly
   longer running time. Absence of the configuration option selects value '0'.
 - Improved Ambient (ark) Rootkit check.
 - Improved BOBkit Rootkit check.
 - Improved Dica-Kit Rootkit check.
 - Improved Evil strings test.
 - Improved Possible rootkit files and directories test.
 - Improved Suspicious startup file strings test.
 - Improved Suspicious open files test.
 - Improved Known bad Linux kernel modules test.
 - Improved Dreams Rootkit check.
 - Improved Universal Rootkit (URK) check.
 - Improved FreeBSD Rootkit (FBRK) check and removed standalone ImperialS version.

 Bugfixes:
 - When using the Korn shell the application check could give a spurious
   error printing out '-1'.
 - The debug code only partially worked when using the Korn shell.
 - Fixed the option parsing in the configuration file such that leading
   and trailing whitespace are now correctly removed.
 - When displaying the list of checked rootkit names, the list was supposed
   to be sorted.
 - If the '--list' option was used more than once with the same argument
   (e.g. '--list tests --list tests'), it displayed the wrong information.
 - The rootkit strings check wasn't logging a warning for the particular
   string found. It was, however, displaying an overall test failure
   warning on the screen though.
 - The rootkit file whitelisting wasn't applied to the startup script
   malware check. Also the summary wasn't showing if any possible rootkits
   had been found or not.
 - If the '--propupd' option was used with either of the '--enable/--disable'
   command-line options, then the file properties would not be stored.
   However, if, for example, the 'hashes' test was enabled, then only these
   would be stored. In all cases the relevant test was not run after the
   file properties were obtained, unless the '--check' option was also used.
 - The installer now uses a basic 'echo' command. Hopefully it should work
   on all UNIX/Linux systems, and avoid any further "-e"'s being displayed.
 - Changed how rkhunter detects the Korn shell, and added a test to see if
   the 'echo -e' command works or not. As with the installer, this should
   allow rkhunter to work on all UNIX/Linux systems, and avoid any further
   "-e"'s being displayed.
 - When converting the case of characters, unpredictable results could
   occur when other languages were specified (via LANG). We now use character
   classes rather than the 'a-z' and 'A-Z' ranges.
 - For the 'ports' test ensure that only local ports are checked. Also if a
   port is whitelisted, the result will say so.
 - Using '--hash MD5 --propupd' on a prelinked system caused an error.
 - If a non-existent syslog config file was put into the RKH configuration
   file, then rkhunter incorrectly said that it was found.
 - If the use of prelinking changed, and the 'hashes' test was disabled, then
   rkhunter correctly logged a warning (of an O/S change) but did not display
   it unless the '--rwo' option was used. It now displays the warning whether
   '--rwo' is used or not.
 - The 'group_accounts' test now checks /etc/passwd, as well as the shadow
   file, for passwordless accounts.
 - If the passwd file did not exist, then a warning of this was logged three
   times. It is now logged once as a warning, and as an info message for the
   other times.
 - It was possible for the network ports test to incorrectly display a warning
   due to an uninitialised variable.
 - The SSH configuration file tests now allow for leading spaces/tabs.
 - When using the '--debug' option, and running the 'suspscan' test, the debug
   file itself could be logged as suspicious. It is now skipped from the test.
 - Ensure the /proc/ksyms or /proc/kallsyms file is readable before using it.
 - If the mirrors.dat file has been locally modified to provide a mirror, then
   the installer will no longer overwrite the file.

-- 

 * 1.3.4 (31/12/2008)

 New:
 - Added IntoXonia-NG rootkit check.
 - Added Vampire rootkit check.
 - Added support for TCB shadow files.
 - Added Phalanx2 rootkit check.

 Changes:
 - The MAIL-ON-WARNING option must now exist in the configuration file. This
   avoids it being accidentally misspelt, and rkhunter then not notifying the
   user of any warnings.
 - The DBDIR directory can now be read-only, after installation, provided that
   neither of the '--propupd' or '--update' options are specified, and that the
   '--versioncheck' option is not specified if ROTATE_MIRRORS is set to 1 in the
   configuration file.
 - Renamed the cron job file created by the RPM spec file from '01-rkhunter' to
   'rkhunter'. This will then run 'rkhunter' after a prelink cron job (if one exists),
   and avoid some of the 'run prelink' errors.
 - The system startup file and directory tests have now been merged. The configuration
   file options LOCAL_RC_PATH and SYSTEM_RC_DIR have been replaced by the
   STARTUP_PATHS option, but, for compatability, they will still be recognised.
 - The ALLOWPROCDELFILE configuration option, used to whitelist specific processes
   from the deleted files test, can now be followed by a colon-separated list
   of pathnames. The given process will then only be whitelisted if it is using
   one of the given pathnames.
 - The '--propupd' option can now take an optional file, directory or package name
   after it. The argument can be a list of names. When used, then only the given
   file names will be updated in the rkhunter.dat file. Hopefully this will make
   things a bit quicker on slower machines. See the man page for more details. If
   using a package manager, then you must run 'rkhunter --propupd' first.
 - The Linux 'os_specific' test has now been split into two separate tests -
   'loaded_modules' and 'avail_modules'. The tests, however, are the same as
   before, they check the currently loaded kernel modules and the names of the
   available modules. A new configuration file option has been added, called
   MODULES_DIR, so that users can specify which directory, and sub-directories,
   are checked for bad module names, should rkhunter be unable to work out the
   correct location.
 - The pathname of the debug file, if used, is now written to the log file.

 Bugfixes:
 - Cater for when ROOTDIR is explicitly set to '/'.
 - Added an infinite loop check to the readlink.sh supplied script - only 64 levels
   of symbolic links are allowed now. Also cater better for top-level names and
   links, and file names with spaces.
 - Improved the rsyslog remote logging check.
 - The wrong error message was shown if the English (en) language file was missing.
 - The hidden files and directories check wasn't checking for directories!
 - Improved the O/S name detection. Previously the lsb-release file would have
   preference to any other file. This could result in some gibberish being given as
   the O/S name, rather than continuing to look for other release files. This has
   now been fixed.
 - The tests against the SSH configuration file now accept the key/value pair to be
   separated by an equals sign as well as spaces and/or tabs.
 - The file properties inode check did not work correctly when used on non-prelinked
   systems with the RPM package manager. The test is now only performed when
   prelinking is not being used, and the inode data is always obtained from the disk.
   This is a partial fix, as the test should run for scripts regardless of whether
   prelinking is used or not.
 - The debug file is now created with a random name, and the file permissions are
   set to 600.

 -- 

 * 1.3.2 (27/02/2008)

 New:
 - Added support for the socklog and rsyslog (syslog) daemons.
 - Added support for IRIX/IRIX64 systems.
 - If the user wishes to force RKH to use the 'stat' or 'readlink'
   supplied scripts, then this can be set in the configuration file.
   The options STAT_CMD and READLINK_CMD, respectively, can be given
   the value of BUILTIN to achieve this. For the 'stat' script, perl
   must be present.

 Changes:
 - Improved the 'unsupported language' error message so that the user is
   told exactly what command to run in order to see the list of supported
   languages. Added a similar comment in the configuration file.
 - Errors from applications during the application version check are mostly
   now ignored. Improved checking that a valid version has been found.
 - The ALLOW_SSH_ROOT_USER and ALLOW_SSH_PROT_V1 options in the configuration
   file can now be set to 'unset' and '2' respectively. These values indicate
   that the SSH configuration file have no specific value set for the
   corresponding SSH option ('PermitRootLogin' and 'Protocol'). RKH will show
   the test result in green and as 'Not set'.
 - Application names, in the application check, can now be completely
   whitelisted. Previously only specific versions were whitelisted, and
   RKH had to run the application to find the version. By whitelisting
   the application completely, RKH does not have to run it.
 - The use of the 'pflog' network interface is now checked for on all *BSD
   systems (not just OpenBSD).
 - Allow i18n language filenames to contain characters other than just letters.

 Bugfixes:
 - Scanning the /dev directory in LAZY mode corrupted the pathname being
   tested. Also RKH now handles filenames (in /dev) with spaces correctly.
 - During the test of files in /dev, MAKEDEV was not being automatically
   whitelisted if it exists as an actual file (not a symlink).
 - Ensure the suspscan test removes any files it creates.
 - The MAIL-ON-WARNING configuration file option and the --no-verbose-logging
   command-line option, are now only logged if the system is being checked.
 - Root equivalent and passwordless account names are now shown correctly.
   Previously, names which contained spaces, for example if the account had
   been manually commented out, were only shown up to the first space character.
 - Whitelisted passwordless account names are now logged.
 - Suspscan warnings were being ignored by the rkhunter summary and return code.
 - Corrected obtaining process names in Solaris for the network ports and
   deleted files tests. Previously they did not report the name correctly, if
   at all.
 - Use of the '--debug' option with the Korn shell was not working correctly.
 - Reset the SIGPIPE handler to its default to avoid pipe output errors.
 - Language files may contain backticks. These are now escaped during
   processing.
 - Unset the MANPATH in the spec file to allow the RPM to be built on
   OpenSuSE systems.
 - The hidden files/directories test would try and run even if no 'file'
   command was present.
 - Cater for *BSD systems using the fdesc/fdescfs filesystem on /dev/fd.

 -- 

 * 1.3.0 (22/09/2007)

 New:
 - Created an ACKNOWLEDGMENTS file.
 - Added configuration file option MAIL_CMD when MAIL-ON-WARNING is used.
   This can specify the 'mail' command to use and the subject line.
 - The log file can be appended to. This can be set in the config file or
   by using the --append-log command line option.
 - A second colour set has been added for users using rkhunter with black
   characters on a white screen. The command-line option --cs2 will enable it.
 - Added special config file and command-line option, -x/-X, to detect if X
   is in use. If detected then second colour set will be used.
 - Added '--propupd' option. This allows a user to create the rkhunter.dat
   file. This file contains the O/S name, file hash values and other bits of
   information. If the file hash values change, perhaps due to new versions
   of software, then the user simply runs rkhunter with the option again. If
   the user has not run rkhunter with this option, then the file properties
   checks are skipped. This option obsoletes the 'hashupd.sh' script previously
   recommended to users. If use of the '--propupd' option is suggested by
   the program, then the log file will contain a warning message to the
   user that they must ensure that the commands checked on their system must
   have been installed and verified as being genuine. The file properties
   check consists of two main parts - the file attributes (permissions, uid
   etc), and the hash value. Both are stored in rkhunter.dat. Either part, or
   both, can be disabled using the '--disable' option.
 - Added the '--hash' command-line option, and the HASH_FUNC option to the
   configuration file. This allows a user to select the hash function command
   they want to use for the file hash value check and the properties update.
   By default SHA1 will be used, or MD5 if SHA1 cannot be found. For prelinked
   systems the function must be either MD5 or SHA1. A value of NONE can be used
   to disable the hash check or to stop the hash values being recorded in the
   rkhunter.dat file.
 - Added the HASH_FLD_IDX option to the configuration file. This specifies the
   field of the HASH_FUNC command output which contains the hash value. A
   default of 1 is used, except for *BSD systems where 4 will be used.
 - The files for the file hash checks are now 'looked for'. The code will
   search the command directories, and check the relevant files in all the
   directories. Additional commands and directories are used for Solaris,
   MAC OS X, NetBSD and FreeBSD systems. Overall more commands will be checked.
 - Added support for Ubuntu, and the 'dash' and 'ash' shells.
 - If the O/S name, architecture or prelinking status changes from one rkhunter
   run to the next, then a warning message is written to the log file and the
   file properties prerequisite check will fail. The change may well cause the
   file hash checks to show false positives. (The user should rerun rkhunter
   with the --propupd option.)
 - Rkhunter will now check that certain commands are present before starting
   any checks. This avoids spurious 'command not found' type messages
   suddenly appearing.
 - Added basic internationalization (i18n) functionality. The messages
   displayed during test processing are obtained from an indexed file.
   This file can be translated in to other languages, keeping the index
   the same. To see which languages are provided use the new
   '--list languages' option. Chinese translation provided.
 - Added two new command-line and configuration file options, '--enable'
   and '--disable' to specify which tests are to be carried out and which
   are to be ignored. Use of either option will automatically assume '--check'.
 - To list the available test names, use the new '--list tests' option.
 - The '--update' and --versioncheck' options can now use commands other than
   wget to download files. Supported commands are now wget, curl, elinks,
   links, lynx, bget and GET. Once a command has been found, it will be used
   for all downloads. Since bget and GET are perl commands, checks will be
   made that any required perl modules are also present on the system.
 - (SF Tracker 1616395) Added '--syslog' cli option, configuration file option
   USE_SYSLOG. This will allow the --check option start and finish time to
   be logged via syslog. The facility/priority are user configurable.
 - Added --debug cli option, and allow commands to be configured in the
   configuration file. Both of these additions are for the developers, but
   may be used when debugging user problems.
 - Added command-line options '--summary/--nosummary' (--ns). These control
   whether the system checks summary is shown. By default it is shown.
   The '--summary' option, as well as the '--report-warnings-only' option,
   will override the '--quiet' option if they are specified. However, no
   other information will be displayed if '--quiet' is used.
 - Added SunOS SInAR rootkit check.
 - Added '--verbose-logging/--no-verbose-logging' options. This cuts down on
   some of the logging for some of the tests. By default verbose logging is
   enabled.
 - The inetd and xinetd configuration file pathnames can now be specified
   in the rkhunter configuration file. Also, enabled inetd and xinetd
   services can now be whitelisted.
 - Added support for Solaris 10 inetd mechanism (inetadm).
 - The directory containing the SSH configuration file can now be specified
   in the rkhunter config file.
 - The pathname to the syslog configuration file can now be specified
   in the rkhunter config file.
 - The use of syslog remote logging can be allowed in the configuration file.
 - The pathnames to the local system startup file (rc.local), and the
   startup directory (/etc/rc.d) can now be specified in the rkhunter
   config file.
 - Files in /dev can now be whitelisted.
 - Application version numbers can now be whitelisted. This caters for those
   distributions that may patch a 'known bad' version, but without updating
   the original version number.
 - Added 'suspscan' to malware tests. Suspscan attempts to scan files in 
   directories containing temporary files for signs of malicious activity, and
   could be of use on (publicly accessable) web servers running for instance 
   PHP-based applications. Please note that in it's current state suspscan is 
   prone to reporting false positives, and is CPU and I/O intensive to boot.
   Therefore suspscan is disabled by default. Please do not enable suspscan
   unless you have good reasons to use it. Review the settings in the configu-
   ration file, and test before deploying it on production servers.
 - Added the command-line option '--pkgmgr', and the configuration file option
   PKGMGR. These provide support for package managers when using the
   '--propupd' and '--check' options. Currently supported package managers are
   'RPM' for RedHat/RPM-based systems, 'DPKG' for Debian-based systems, and
   'BSD' for *BSD systems. Additionally, 'NONE' can be used to indicate that
   no package manager is to be used. The default is 'NONE'. See the README file
   for more details.
 - It is now possible to configure rkhunter to use local or remote mirrors,
   rather than just the SourceForge one. This applies when either the
   '--update' or the '--versioncheck' option is used. The default is to use
   all defined mirrors. The README file has more details about this.
 - It is possible to configure rkhunter to not rotate the mirrors.dat file.
   It is also possible to configure the mirrors file not to be updated when
   the '--update' option is used. Both of these options can be useful when
   defining local mirrors. The README file has more details about this.
 - Added a file size check to the file properties checks. This will only occur
   for non-prelinked files, files not part of a package, or packaged files
   when the RPM package manager is being used.
 - Network ports listed in the backdoorports.dat file can now be whitelisted.
   Specific protocol/port pairs, or pathnames to allowed executables, may be
   used. Additionally, an asterisk may be used to indicate that trusted
   pathnames will be allowed. The configuration file has more details about this.
 - The O/S 'release' file pathname may now be configured. This option should only
   be necessary for those systems on which rkhunter cannot automatically
   determine the O/S name or version.
 - Rootkit files and directories, including those with spaces, may now be
   whitelisted in the configuration file.

 Changes:
 - Improved command-line and config file option checking.
 - The log file is now created by default, it can be disabled in the config
   file or by using the --nolog command line option. The log file is created
   with permissions 600.
 - The log file cannot be a symlink.
 - Multiple recipients may be specified with the MAIL-ON-WARNING config option.
 - Added BINDIR and ROOTDIR options to the config file.
 - Split out the README file in to README and FAQ files.
 - Solaris will now use the bash shell if available.
 - Expanded the command PATH used to include the /opt/sfw and /usr/sfw
   directories for Solaris users.
 - Expanded the command PATH used to include the /usr/pkg directory for
   NetBSD users.
 - Expanded the command PATH used to include the /System/Links/Executables
   directory for GoboLinux users.
 - Versioncheck now checks the versions numerically.
 - The HASHWHITELIST configuration file option has been removed. It is no
   longer required because users can now create their own file of hash
   values using the '--propupd' option.
 - The '--checkall' option has been changed to '--check'. The old option is
   still recognised, but will be deprecated at some time.
 - If a log file is to be written, but not appended to, then the old log file
   is moved to '<logfile name>.old' now. The same happens to the rkhunter.dat
   file if the --propupd option is used.
 - The previous 'known good' hash check now also checks the files inode, uid,
   gid, permissions and modification date/time, for any changes. The latter
   is only for non-prelinked systems. As before, in all cases, the file hash
   is checked. (This is now the file properties check.)
 - Improved the O/S detection mechanism. Rather than requiring users to send
   us details, rkhunter actively looks at the 'release' file(s) to find the
   O/S name. Included support for some lesser-known Linuxes - GoboLinux,
   Lunar Linux, Rock Linux, Source Mage Linux, Kanotix, Sidux and Zenwalk.
 - If the --propupd or --update options are used, as well as the system
   check option --check, then the update checks are performed before the
   system is checked. Previously the update occurred after the system was
   checked.
 - Hidden file search now checks /usr/share/man directories.
 - Improved NetBSD support.
 - The supplied perl scripts, providing the stat, md5 and sha1 commands,
   can now be executed without perl being in the default directory (/usr/bin).
 - If a perl script is to be used, then a check is made that required modules
   are installed on the system. If they are not, then it is treated the same
   as if perl was not present.
 - Included the /usr/share/man directories when looking for hidden files.
 - Check for symbol entries in kallsyms file if ksyms does not exist.
 - Enabled sockstat/netstat test for all BSD variants (not just FreeBSD).
 - Enabled backdoor port test for all systems which have either the 'lsof'
   or 'netstat' command. However, if the netstat syntax is not understood
   on the O/S, then an error is shown. (The user can configure the test to
   be disabled to avoid the error.)
 - The TMPDIR configuration option and --tmpdir command-line option cannot
   be set to /tmp or /var/tmp because files will be copied and left there.
   It cannot be set to /etc either because files will be deleted from there.
 - Removed the '--scan-knownbad-files' option. This test was considered to
   be obsolete.
 - Removed the '--disable-md5-check' option. This is now the 'hashes' test
   name, and can be disabled by the '--disable' option.
 - Removed the '--allow-ssh-root-user' option from the command-line. This
   can still be set/unset in the configuration file. This option must now
   be set to the value of the 'PermitRootLogin' option in the SSH config
   file. This then allows root access to be set, but will check to see if
   the option has changed. A default value of "no" is used. 
 - The --rootdir/ROOTDIR configuration option has been changed to be more
   intuitive. Previously the specified ROOTDIR had to end in a slash (e.g.
   '/abc/'). Now this is not necessary, a normal directory name can be used
   (e.g. '/abc').
 - The '--versioncheck' option now rotates the mirror file. It also assumes
   program defaults if the mirror file is missing or empty, or if no mirrors
   are found within it. Additionally if the URL is missing from the
   configuration file, then a program default is used. This allows the option
   to work even if the files have become a bit corrupt. Any missing files or
   mirrors are logged to the log file. If a mirror fails, then the next
   mirror is used, until all the mirrors have been tried. Only then is a
   failure message displayed, and the return code set. The return code will be
   set to 0 if no error occurred, 1 if an error did occur, and 2 if no error
   occurred but a new version is available.
 - The '--update' option will use a default mirror if the mirror file is
   missing or empty. If a mirror fails then the next mirror is used. If a file
   has become corrupted such that the version number cannot be read, then a
   new copy will be downloaded. The return code will be set for this function.
   It will take the value of 0 for no error, 1 for an error, and 2 for no
   error but an update has occurred. This allows a user to use the --quiet
   option, but still check for the return code.
 - The version numbering of the '.dat' database files has changed. This makes
   them incompatable with previous versions of rkhunter, and as such files
   from previous versions will be overwritten if used with this version.
 - The displayed output and logged output are now similar. This allows
   checking the log file to be easier when looking for specific tests. The
   log file will, of course, log more information than is displayed on
   the screen.
 - Script replacement check now checks for any type of script (perl, awk, etc).
   Previous versions only checked for shell scripts. Commands which are
   supposed to be scripts can be whitelisted in the configuration file.
   The 'rkhunter' command itself is an exception, and the check will ensure
   that 'rkhunter' is a shell script. The script check will be automatically
   skipped if a package manager is being used, and the file has already
   passed the file size and hash checks.
 - File permissions check improved to check if 'other' has the 'w' bit set.
   Previous versions only checked if '777' ('rwxrwxrwx') was set. Merged this
   into the file properties checks. Soft links are ignored, as are packaged
   files when the RPM package manager is used.
 - The '--report-mode' option has been removed. It was not seen as being
   useful, and combinations of the other options will provide the same, if
   not better, reporting.
 - The xinetd.conf check now handles the 'include' directive. It also now
   handles the 'includedir' directive in all files, and not just in the
   initial xinetd configuration file.
 - The '--display-logfile' option can now be used after any option. Previously
   the log file was only shown after checking the system.
 - The checks on accounts and the password and shadow files, have been improved.
   The user can configure the pathname to the password and shadow files, as
   well as being able to whitelist accounts with no password or which are root
   equivalent. *BSD support improved.
 - Improved the hidden files and directories checks. Some directories are now
   searched more thoroughly, and checks against the file type are more robust.
 - Apache backdoor test now looks in more places.
 - The application version check no longer checks against known 'good'
   versions. Only a file of bad versions is kept. The previous method was
   impossible to maintain.
 - Enabled the immutable file test for *BSD systems.
 - Soft (symbolic) links for files and directories are now handled correctly.
   Previously the link was dealt with, but not what it pointed to. Soft links
   are dealt with when using the '--propupd' command, and when running the
   file properties checks. For those systems with no 'readlink' command (e.g.
   Solaris), or those in which readlink does not understand the '-f' option
   (e.g. NetBSD), a shell script is now provided to support this.
 - RPM spec file and installer now caters for x86_64 machines. Removing the
   RPM now more fully removes RKH; only the rkhunter.conf file should remain.

 Bugfixes:
 - Command-line options requiring an argument now work correctly under Solaris.
 - The -h/--help option now works as expected.
 - The 'ignoKit rootkit' check was not checking all the required files.
 - Some checks were not respecting the ROOTDIR option in their pathnames. This
   has now been corrected (possibly not completely though). Also, some tests
   were using ROOTDIR pathnames in grep/strings checks when they shouldn't
   have been. This has also been corrected.
 - The file hash prelink test should now work even if SELinux objects to the
   prelink command (provided the 'runcon' command exists). When the '--propupd'
   option is used, any file for which a hash cannot be obtained is logged as
   a warning. (Typically prelink may need to be run on the file.) Rkhunter will
   still work as before, but the file properties check may show that the hash
   value has changed to or from a null value.
 - Corrected file attributes check - previously the immutable flag would never
   have been found.
 - Backdoor UDP port tests were not being done correctly. The TCP port tests
   have been made a bit more aggressive - TCP tests only look for TCP ports;
   they also look for established connections rather than just listeners.
 - Backdoor port data file (backdoorports.dat) is now part of the '--update'
   process.
 - The '--versioncheck' option did not set the return code. It now does so.
   However, note that if an update is available then the code will be set
   to '2'. This allows use of the '--quiet' option, but still being able to
   detect if an error occurred (code 1), an update is available (code 2) or
   if no error occurred and no update available (code 0).
 - Corrected bug in Solaris script replacement check. The tested output is
   never used on Solaris, so previously the test would never have worked.
 - The '--quiet' option now does what it says. No output is shown unless other
   options are specified by the user. E.g. using '--quiet' on its own produces
   no output, but sets the return code. If the '--report-warnings-only'
   option is used as well, then warnings will be shown despite '--quiet'
   being used.
 - Enabled the login backdoor check. It was coded, but used the wrong variable.
   It also checked for directory names rather than file names. This looked
   wrong, but I could not find any more info about it. As such we now check
   for their existence rather than whether they are files or directories.
 - Corrected the suspicious directories check.
 - The xinetd.conf check only occurred for Linux systems. It will now occur
   for all O/S's. Also, the check always reported the file was clean,
   regardless of whether this was true or not.
 - The hidden files and directories check was not working correctly for
   Gentoo users.
 - Small bug in T0rn rootkit file list.

 --

 * 1.2.10 (Not released)

 New:
 - Enabled Ohhara Rootkit check

 Changes:
 - If duplicate configuration file options are seen, then only the last
   one seen is used

 Bugfixes:
 - Lsof resolution fix
 - Fixed Danny Boy's Abuse Kit check
 - Fixed SHV5/Tripwire check
 - Fixed ignoKit check

 --

 * 1.2.9 (30/09/2006)

 New:
 - Rootkit Hunter is under new management so maintenance, development and support is assured
 - Added support for RHEL WS/AS/ES 3, Taroon update 8
 - Added support for Fedora Core 5
 - Added support for SuSE 10
 - Added check for packet capturing applications (see rkhunter.conf for whitelisting)
 - Added check for processes using deleted files (see rkhunter.conf for whitelisting)
 - Enabled netstat check for AIX
 - Enabled backdoor check for SunOS
 - Enabled logfile specification and checks

 Changes:
 - Improved cAos support
 - Improved AIX rc.sysinit test
 - Improved second promiscuous mode check
 - Improved prelinking test
 - Improved binaries found check
 - Improved MD5 check and application scan
 - Improved FreeBSD/AIX grepping
 - Improved Solaris grep/ifconfig (FP's)
 - Improved reportmode report-warnings-only
 - Improved permitrootlogin check with forced-commands-only
 - Improved passwordless user accounts test
 - Improved file/module name checks (FP's)
 - Improved check-update: DBDIR vs temp dir and preserve DAC rights
 - Improved Solaris script replacements
 - Fix typos, grammatical changes, formatting/displaying
 - Added more examples to config
 - Change contact information

 Bugfixes:
 - Removed stale mirrors
 - Fix SF tracker issue 1449701
 - Fix skdet test
 - Time uses Perl epoch 
 - Error message about "group" file
 - Ksh 'shift' fix

 --

 * 1.2.8 (24/02/2006)

 New:
 - Added '-sk' alias (instead of --skip-keypress)
 - Added support for Fedora core 4
 - Added support for FreeBSD 4.11, 5.2, 5.3, 5.4, 6.0
 - Added support for CentOS 3.3 ('final' and 'Final')
 - Added support for CentOS 3.5, 4.1 and 4.2
 - Added support for Debian 3.1 (AMD64)
 - Added support for RHEL WS/AS/ES 3, Taroon update 6
 - Added support for RHEL WS 4, Nahant Update 1 and 2
 - Added support for Slackware 10.2
 
 Changes:
 - Updated RHEL hashes
 - Updated Fedora Core 3 hashes
 - Updated SuSE 9.1 hashes
 - Updated software database
 - Update copyright line
 
 --

 * 1.2.7 (24/05/2005)
 
 New:
 - Added support for CentOS 4.0
 - Added support for Mandrake 10.2
 - Added support for Gentoo (sparc/sparc64/x86)
 - Added additional support for E-smith (SME 6.0.1)
 - Added support for FreeBSD 4.5 and 4.6

 Changes:
 - Improved support for Bind (thanks to Craig)
 - Improved support for RHEL AS release 3
 - Updated hashes for SuSE 9.1 (core-utils)

 Bugfixes:
 - Fixed problem with the updater (file was retrieved, but not placed within
   the correct directory)
 
 --

 * 1.2.6 (10/05/2005)
 
 New:
 - Added support for Tao Linux
 - Added support for Trustix 2.2 (Sunchild)
 
 Bugfixes:
 - Fixed problem with updater
 
 --

 * 1.2.5 (03/05/2005)
 
 New:
 - Added support for FreeBSD 4.11 (i386)
 - Added support for RHEL AS release 3
 - Added support for Cobalt (6.5.1)

 Changes:
 - Fixed permissions of check_update.sh
 - Fixed typo in help
 - Improved detection for some unknown rootkits/backdoors
 - Improved messages/logging
 - Some code cleanups
 - Important: fixed a security issue, related to temporary files
 
 --

 * 1.2.4 (25/04/2005)
 
 New:
 - Added support for E-smith (SME 6.0)
 
 Changes:
 - Updated hashes for Fedora core 2
 - Improved documentation of tools (see tools directory)
 - Removed logging from installer
  
 Bugfixes:
 - Fixed problem when using --allow-ssh-root-user (option was overwritten
   by configuration file option) 
 
 --

 * 1.2.3 (21/03/2005)

 New:
 - Added option to allow/whitelist hidden files and directories. See
   configuration file
 - Added support for SuSE 9.2 (x86-64)

 Changes:
 - Updated configuration file, to give more information about
   whitelisting of hidden files/directories
 - Updated Fedora core 3 hashes (procps package)
 - Updated packages: OpenSSH
 - Updated manpage
 - Improved logging
 - Added debugging info for named
 - Strip off patch version with PHP port (Debian)
 - Extended support for Fink (MacOS), added /sw/bin to BINPATHS in
   check_update.sh
 - Improved installer when /usr/local/bin is missing
  
 Bugfixes:
 - Fixed problem with unquoted variable (passwordless accounts)

 --

 * 1.2.2 (18/03/2005)
 
 New:
 - Added support for Mandrake 10.1
 - Added hashes for Mandrake 10.1. Thanks to Roderick B. Greening
 - Added support for RHEL WS release 3
 - Added support for NIS when looking for passwordless accounts
 - Added support for beX2 (evil code)
 
 Changes:
 - Updated Debian hashes
 - Changed permissions of installer (0755 instead of 0750)
 - Changed installer so normal users can install rkhunter. This is
   experimental, so check is commented in installer
 - Updated packages: Bind, Exim, OpenSSL
 - Improved logging
 - Small layout fixes
 - Code cleanup
 - Updated mirror list
 - Updated copyright message (2005)
 
 Bugfixes:
 - Changed symbols when one or more groups are added/removed

 --

 * 1.2.1 (21/02/2005)
 
 New:
 - Added support for Mandrake 8.1 (i586, no hashes)
 - Added support for FreeBSD 5.3 (i386, with hashes for release version)
 - Added support for Slackware 10.1
 - Added Turkish translation to installer (note: language support
   temporarily disabled)
 - Added support for Fink (MacOS), added /sw/bin to BINPATHS
 - Added contrib directory
 - Added script (contrib) run_rkhunter, by Andy Spiegel
 
 Changes: 
 - Updated hashes for SuSE 9.1, Mandrake 10.0
 - Updated installer (changed copyright line, comments and disabled
   version number, because it can be confusing when installer version
   is another version than main version.)
 - Perform extra check before checking configuration file (to see if
   it exists)
 - Improved logging (show temporary directory, improve output when
   scanning for default rootkit files/directories)
 - Improved output when system is unsupported
 - Stop program when temporary directory doesn't exist instead of
   creating it
 - Updated packages: Apache, Bind, GnuPG, OpenSSL
 - Fixed some typos

 Bugfixes:
 - BINPATHS got overwritten when performing software version check
 - Fixed bug when checking for ssh root user. Thanks to Andy Spiegel
 - Clean up temporary prelink file

 Website:
 - Added notification list
 - Fixed some XHTML bugs

 --
 
 
 * 1.2.0 (10/02/2005)

 New:
 - Added support for CentOS 3.4
 - Added new configuration option 'ALLOW_SSH_ROOT_USER' and program
   parameter '--allow-ssh-root-user' to allow directly login of a
   `root` user, in your SSH configuration file.
 
 Changes:
 - Updated hashes for Fedora Core 1, Core 2, Core 3
 - Changed RHEL 3, so taroon 4 uses the hashes of taroon 3
 - Updated Debian hashes
 - Removed ClamAV from application scan. It warns the user now when
   it runs an too old version.
 - Updated manpage  
 - Changed detection for SuSE versions. SuSE Linux Enterprise Server
   didn't work, because of the capitals (instead of the usual name)
 - Warn if user uses /tmp as temporary directory (possible security
   issue)
 - Updated wishlist/todo and manpage.
   
 Bugfixes:
 - Fixed wrong message when group was added/deleted from /etc/groups
 
 --
 
 * 1.1.9 (28/12/2004)

 New:
 - Added RH-Sharpe's rootkit (rootkit)
 - Added SHV5 rootkit (rootkit)
 - Added special test for tripwire
 - Added support for metalog (syslog daemon) 
 - Added support for ALTLinux 2.2 and 2.4
 - Added support for CentOS 3.3
 - Added support for Gentoo 1.6
 - Added support for FreeBSD 4.10 (alpha platform)
 - Added support for SuSE SLES8. Thanks to Mario Lenz
 - Added support for SuSE 9.2 (i586)
 - Added support for Fedora Core 3
 - Added support for Red Hat Enterprise Linux ES/WS release 4
 - Added hashes for Fedora Core 3. Thanks to Steph
 - Official port is now available for ALTLinux
 - Change text when an old software package has been found. This
   will happen with backporting operating systems (Red Hat,
   Fedora etc)
 
 Changes:
 - Improved logging for lsof test
 - Updated hashes for Fedora Core 1
 - Updated hashes for Debian woody
 - Updated hashes for Red Hat Enterprise Linux ES/WS release 3
 - Updated hashes for Slackware 9
 - Updated hashes for Slackware 10
 - Updated hashes for SuSE 9.1
 - Updated wishlist/todo, updated readme and manpage.
 - Code cleanup (added more remarks, cleanup of old/buggy things)..
 - Improved logging
 
 Bugfixes:
 - Changed binary search path due typo. Thanks to Bertrand

 --

 * 1.1.8 (12/09/2004)
 
 New:
 - Added support for Red Hat 6.2 and hashes. Thanks to Sebastian Herbszt
 - Added support for Red Hat Enterprise Linux ES 3, Taroon update 3
 - Added support for Red Hat Enterprise Linux AS 3, Taroon update 1
 
 Changes:
 - Improved Suckit detection
 - Improved FreeBSD version detection. It now will skip MD5 check if sysctl
   contains 'release', but patches for primary binaries are installed (like
   ls, ps, top etc)
 - Added error redirection when performing lsattr checks
 - Added `find` to path search
 - Updated installer with portogues/brazilian language. Thanks to Douglas
 - Updated hashes for Red Hat Enterprise Linux 3
 - Updated hashes for Slackware 10
 - Cleaned up logging when checking for passwordless accounts
 - Show message when bad hashes are found. Some scared people began to worry
   inmediately after they found several bad hashes, without understanding the
   reason of it (reason: updated packages).
 - Improved output in logging which deals with updated packages / hashes
 - Improved logging (informational logging)
 - Improved output of hidden directories/files. Thanks to Greg Houlette
 - Corrected some parts of logging
 - Code cleanup
 
 Bugfixes:
 - Forgot to initialise LSATTRFOUND
 
 --

 * 1.1.7 (29/08/2004)
 
 New:
 - Added support for ADM Worm
 - Added support for MzOzD and spwn backdoor
 - Added LKM filename check (experimental)
 - Added passwordless user account test
 
 Changes:
 - Updated Mandrake 9.2 hashes. Thanks to Eric Gerbier
 - Updated application version list
 - Extended inetd.conf test (searches for shells)
 - Added total of vulnerable applications at report, if application scan was
   performed.
 
 Bugfixes:
 - Fixed a major bug in the installer when you install version 1.1.5 or newer. The
   sample configuration won't be copied and the due to that, the --update function
   won't work.

 --
 
 * 1.1.6 (18/08/2004)

 New:
 - Added support for RSHA's rootkit (rootkit)
 - Inspect files attributes (immutable detection)
 - Added '--update' to help text. Updater seems to be stable
 - Added FreeBSD packages database test (pkgdb). It performs an automatic
   fixup of the database and displays an error when problems were found.
 - Added '--skip-application-check' option. This skips the program version
   check. On some systems it's half useless, because they use patched
   (old) version numbers.
 
 Changes:
 - Improved report at end (hide line when no rootkits are found)
 - Updated hashes for SuSE 9.1 (i586)
 - Fixed double hash in database
 - Updated database with program versions
 - Added more help and informational messages

 Bugfixes:
 - Improved installer (when last line contains no newline char, the INSTALLDIR
   option was added on the wrong place)
   
 --
 
 * 1.1.5 (11/08/2004)
 
 New:
 - Added support for Ni0 Rootkit (rootkit)
 - Added 'open files' check
 - Added OpenSSL check
 - Added Solaris 9 support

 Changes:
 - Improved logging of application scan check
 - Improved xinetd.conf tests (disabled some parts, due false positives)
 - Improved logging on different places (more breaks etc)
 - Improved SunOS support. Thanks to Michael Gueting
 - Improved (POSIX compatible) applications support for SunOS
 - Fixed a typo (application version check)
 - Fixed a typo (SSH check)
 - Fixed small layout issue at application scan check
 - Removed an double declared variable (WARNING=0)
 
 Bugfixes:
 - Fixed missing lines in rkhunter.spec file
 - Installation script shouldn't be overwriting rkhunter.conf file..
 
 --
   
 * 1.1.4 (07/08/2004)
 
 New:
 - Added support for FreeBSD 4.10
 - Added support for White Box Enterprise Linux 3.0 
 - Added support for Debian 3.1 (Sid)
 - Added support for OpenBSD 3.5 (i386 and sparc64)
 - Added support for SunOS. Thanks to Michael Gueting
 - Added boot.local test for SuSE 9.x
 - Added Apache test
 - Added support for mod_rootme module (apache backdoor)
 - Added option '--display-logfile'. It displays the logfile you specified
   at the end of the output (don't forget to use --create-logfile)
 - Added application version checker
 
 Changes:
 - Don't quit when wget cannot be found during install   
 - Updated installer (for new update function)
 - Updated MD5 hashes for Mandrake 9.1
 - Updated MD5 hashes for Slackware 9.1
 - Updated MD5 hashes for FreeBSD 5.2.1
 - Improved logging in quiet mode
 - Improved key pauses when in 'interactive' mode
 - Improved xinetd check
 - Improved report-mode option (--report-mode). If you want a small amount of
   information (ie. if you scan a lot of servers), use this option.
 - Updated document location in installer   
 - Updated the wishlist. A lot of issues are solved now.
 - Updated changelog (had some little typos)
   
 Bugfixes:
 - Fixed false positive when using Debian 
 - Fixed support for PLD Linux and CPUBuilders Linux
 - Fixed a typo in the installer
 
 --  
   
 * 1.1.3 (20/07/2004)
 
 New:
 - Added support for SuSE Linux Enterprise Server 8. Thanks to Daniel Berlin
 - Added support for SuSE Linux Openexchange Server 4.1.1. Thanks to Daniel Berlin
 - Added support for Fedora Core 2 with 64 bits support
 - Added support for TDB database (/dev related)
 - Added hashes for FreeBSD 5.2.1
 * Added tools directory in tarball with a experimal auto-updater. Use it on your
   own risk and check the script before you run it!
 
 Changes:
 - Improved Suckit support (rootkit)
 - Improved user detection (the check will now handle NIS users fine when
   checking for UID 0 alike users)
 - Improved logging on multiple sections
 - Updated parameter list (--help), to reflect changes (--quiet)
 - Updated hashes for Mandrake 10
 - Updated installer. With a SunOS improvement by Michael Gueting.
 
 Bugfixes:
 - Quiet-option is now really quiet (xinetd line still appeared when running in
   quiet mode)
 - Fixed a problem with the binary UPX scan (multiple error lines appeared)
 
 --
 
 * 1.1.2 (14/05/2004)

 New:
 - Added string check. This checks some binaries which often get trojaned.
 - Added '--quiet' option. Very usefull when running Rootkit Hunter as a cronjob
   and don't want to see all the output (EXCEPT when warnings/errors has been
   found)
 - Added xinet daemon test. Thanks to unSpawn and Andrea
 - Added test for binaries (UPX)
 - Added alias '--create-logfile' for '--createlogfile'  
 - Added support for Mandrake 8.2
 - Added support for Mandrake 9.0
 - Added support for Mandrake 9.1
 - Added support for Redhat Enterprise Linux AS (Taroon update 2). Thanks to Yann Le Guennec
 - Added support for Slackware 10. Thanks to Fred Bulthuis
 - Added support for Gentoo 1.5. Thanks to Nicolas Kaiser
 - Added support for some Gentoo ppc versions
 - Added hashes for Slackware 10

 Changes:
 - Improved support for AIX and OpenBSD. Thanks to Iain Roberts
 - Improved support for rootkits (Dica, Dreams, Fuckit, MRK, Ohhara, Sin, SunOS Rootkit
   and TBD Rootkit)
 - Updated hashes for Fedora Core 2 
 - Updated hashes for SuSE 8.2. Thanks to Jack Denman
 - Updated installer
  
 Bugfixes:
 - Fixed another problem in the installer
 - Fixed a problem with the updater (not yet in use)
 - Changed output of `ps` when checking for syslog daemon (should fix a problem on some
   systems where the output was too long)
 
 --
 
 * 1.1.1
 
 Bugfixes:
 - Fixed a problem with the installer.. (wrong shell)  
   
 --

 * 1.1.0

 New:
 - Added support for Red Hat Linux Advanced Server 2.1
 - Added support for Slackware 9.0. Thanks to Stan Cosmin
 - Added support for Slackware 9.1. Thanks to Fred Bulthuis
 - Added support for Trustix 2.0. Thanks to Agung Ud
 - Added support for Debian with sparc64 architecture (testing/unstable)
 - Added hashes for Slackware 9.0
 - Added hashes for Slackware 9.1

 Changes:
 - Updated SuSE 9.1 hashes
 - Updated Mandrake 10 hashes
 - Updated Fedora Core 1 hashes
 - Updated Fedora Core 2 hashes
 - Updated OpenBSD 3.3 hashes
 - Updated Suckit (rootkit), multiple improvements
 - Updated rkhunter.spec file. Thanks to Craig Orsinger
 - Updated installer. Thanks to Iain Roberts
 - Added mirrors.dat to file checks
  
 Bugfixes:
 - Fixed WHITELIST option again (it stripped the wrong characters: when a hash
   contains a '5', it got stripped)
 - Updated sockstat/netstat check for FreeBSD
 - Skipping of MD5 didn't work anymore (due a forcefully check when Perl module
   Digest::MD5 was found). Thanks to Zac

 -- 

 * 1.0.9
 
 New:
 - Added support for Balaur Rootkit (rootkit)
 - Added installdir option to the installer
 - Added INSTALLDIR option to configuration file
 - Added support for SuSE 9.1 (pro)
 - Added support for Fedora Core 2
 - Added support for RHEL 3 Taroon update 2 
 - Added support for PCLinuxOS (HD-install) 
 - Added hashes for SuSE 9.1
 - Added hashes for Fedora Core 2
 - Added hashes for Mandrake 10
 
 Changes:
 - Updated hashes for Fedora Core 1 (updating prelinked hashes is no good
   idea..) Thanks to Doncho.
 - Updated hashes for SuSE 8.2
 - Updated hashes for Mandrake 9.2
 - Updated hashes for RHEL 3 Taroon update 1 and update 2. Thanks to Tom and Eilko
 - Improved hidden file detection
   
 Bugfixes:
 - Added prelink check, to resolve some problems with a few Fedora Core 1
   installations. Thanks to Mike Haslam for pointing out this problem.
 - Changed detection of syslog daemon 
 - Fixed a problem with the MD5WHITELIST option (see rkhunter.conf). Thanks to
   John P. New
 - Updated installer (added /usr/local/etc to directory check, because some
   systems don't have this directory by default)
 
 --

 * 1.0.8

 New:
 - Added support for Mandrake 10 (official release). Thanks to Dave Edwards
 - Added support for Slackware 9.1.0. Thanks to Zebul666
 - Added hashes for Red Hat Enterprise Linux 2.1 (Panama). Thanks to Duke
   (mastre). (+1 beer for me)
 
 Changes:
 - Updated hashes for Red Hat Enterprise Linux 3
 - Updated hashes for Fedora Core 1. Thanks to Greg Houlette
 - Updated rkhunter.spec file by Doncho
 - Improved extra Suckit tests. Check the presence of `stat`, before performing
   the scans. Reported by Pasi.
 
 -- 

 * 1.0.7

 New:
 - Added support for Irix Rootkit (rootkit)
 - Added support for URK (Universal Root Kit) (rootkit)
 - Added 'whitelist support' for MD5 hashes. See configuration file for more
   information about this new option.
 - Added improved support for Yellowdog 3.0 (Sirius). Thanks to P. Hopkins
 
 Changes:
 - Improved Suckit detection (multiple improvements). Thanks to unSpawn!
 - Fixed problem when running a special listener under FreeBSD (i.e. a DHCP
   daemon). Thanks to Yann Nottara
 - Fixed wrong text with 'rootdir' option. Thanks to Doncho N. Gunchev
 - Fixed typo with '--dbdir' parameter. Thanks to unSpawn.
 - Fixed rkhunter.spec file. md5blacklist.dat was missing. Thanks to Masanari
   Iida
 - Fixed a problem with the $rootdir
 - Improved rkhunter.spec file. Thanks to Doncho N. Gunchev
 - Improved Perl version detection. Thanks to Doncho N. Gunchev
 - Updated installer to support dynamic paths soon.
 - Layout improvements for installer 
 - Changed copyright text in main binary and installer (as required/suggested
   by GPL)
 - Updated website (FAQ, documentation)

 --

 * 1.0.6
 
 New:
 - Added support for FreeBSD 4.9 and 5.2.1
 - Added support for SuSE 9.0 (i386 and i586). Thanks to multiple people
 - Added support for Trustix. Thanks to Joachim Holst
 - Added support for Whitebox Enterprise Linux 3.0. Thanks to Fire
 - Added support for CentOS 3.1. Thanks to Fire
 - Added support for Mandrake 10 (community release). Thanks to Ted Kline
 - Added support for CPUBuilders Linux. Thanks to Chris Locke
 - Added support for Gentoo's 'rc.local' file (local.start)
 - Added parameter '--bindir' to use another (binary) directory than the default
   ones (to select which binaries will be used to perform the tests). Requested
   by Joel.
 - Added parameter '--configfile' to use another configuration file.
 - Added parameter '--dbdir' to use another (dynamic) database directory
 - Added a check when dynamic parameters are used (like --dbdir, --bindir) to
   check the existance of these paths/files.
 - Added lsmod check (/proc/modules) for Linux distros. Thanks to Micah Anderson

 Changes:
 - Updated hashes for Mandrake 9.2. Thanks to John P. New and others.
 - Updated hashes for Red Hat Enterprise Linux Update 1. Thanks to Eilko
 - Added informational message, when 'PermitRootLogin' or SSH protocol 1 is found,
   into the logfile
 - Renamed .spec file to rkhunter.spec  
 - Updated installer. Thanks to Uwe Hermann
 - Improved LKM check. Thanks to Joe Croft 
 - Improved logging
 - Fixed a problem with ifconfig
 
 --

 * 1.0.5

 New:
 - Added 'ignoKit' (rootkit)
 - Added support for Red Hat Linux 8.0 (Psyche)
 - Added option '--disable-passwd-check', to disable passwd/group check. Suggested
   by Michael Niehren
 - Added option '--scan-knownbad-files', to scan besides the 'known good' MD5 checks,
   a lot of system binaries against a 'known bad' database.
 - Added option '--tmpdir', to specify a temporary directory instead of the static
   one (see below, at 'tmpdir' option within the configuration file).
 - Added a 'known bad' database with a lot of 'blacklisted' binaries and tools
   (like sniffers, rootkits, backdoored binaries, IRC tools etc)
 - Added hashes for Red Hat Enterprise Linux ES release 3 (unpatched). Thanks
   to Nico Morrison
 - Added a 'mail-on-warning' option to the configuration file. When the checker finds
   one or more warnings, it will send a warning to the system administrator (see the
   configuration file for more information)
 - Added 'tmpdir' option to the configuration. This optional value can be used instead
   of the default (/usr/local/rkhunter/tmp) directory and is one of the first steps
   to make rkhunter less static.   
 - Rootkit Hunter now exists with an exit code of 1 when a rootkit is found or
   a MD5 checksum failed. Suggested by Michael Niehren

 Changes:
 - Updated support for Red Hat Enterprise Linux. Thanks to Nico Morrison
 - Improved/updated .spec file for RPM creation (improved cronjob script, updated
   file version, corrected packager value). Thanks to Joe Klemmer and Michael Niehren
 - Improved cronjob check (it contained a little bug, so it wasn't always non-
   interactive..)
 - Improved logging of sockstat/netstat tests
 - Fixed message when parameters are provided, but 'check' option is missing
 - Updated installer (0.0.6)

 --

 * 1.0.4
 
 New:
 - Added 'AjaKit' (rootkit)
 - Added 'Legion of Doom (LoD)' (rootkit) (note: uses almost every same file
   as AjaKit)
 - Added support for Red Hat Enterprise Linux. Thanks to Kevin Jarnot
 
 Changes:
 - Updated 'NSDAP' (rootkit)
 - Updated 'Dica' (rootkit)
 - Updated 'X-Org SunOS Rootkit' (rootkit)
 - Changed message 'not found' into 'OK' when no file redirection has been found.
   Thanks to Jens Gutzeit
 - Improved check for hidden files (empty files will be skipped, more directories
   added)
 - Corrected file scan counter.
 - Improved logging
 - Cleaned up tarball
 
 --

 * 1.0.3

 New:
 - Added support for SuSE Linux 8.1.
 
 Changes:
 - Updated 'Flea Linux Rootkit', because /lib/security is a legal path name.
   Thanks to Moritz Bunkus
 - Updated syslog-ng checking (checking remote logging in the configuration file).
   Thanks to Juri Memmert for reporting the problem
 
 --

 * 1.0.2
 
 New:
 - Added 'aPa Kit' (rootkit)
 - Added 'Danny-Boy's Abuse Kit' (rootkit)
 - Added 'Duarawkz' (rootkit)
 - Added 'Flea Linux Rootkit' (rootkit)
 - Added 'HjC kit' (rootkit)
 - Added 'Kitko' (rootkit)
 - Added 'R3dstorm Toolkit' (rootkit)
 - Added 'TeLeKiT' (rootkit)
 - Added 'VcKit' (rootkit)
 - Added support for Aurora Linux 1.0 (SPARC, named 'Ansel')
 - Added support for Red Hat Linux 7.0
 - Added support for Mac OS X (Darwin kernel)
 - Added option '--report-mode' to remove footer and location of logfile
 - Added alias parameter '--createlog' for '--createlogfile'
 - Added alias parameter '--skipkeypress' for '--skip-keypress'
 - Added informational message when a user doesn't use '--checkall' or '--cronjob'

 Changes:
 - Updated hashes for Fedora Core 1. Thanks to Doncho N. Gunchev
 - Improved output of logfile
 - Changed warning message when a part of a rootkit has been found (show correct
   logfile instead of default file)
 - Changed footer message (and tell you guys you have to submit your undetected
   rootkits)
   
 Website:
 - Updated articles: Hyperlinks, Scanning Techniques
 
 --

 * 1.0.1

 New:
 - Added parameter '-h' (or --help, -?) to display the usage syntax (same thing
   when you give no options at all). Reported by Arthur E. Groen
 - Support for Linux SuSE 8.2 (i586 platform)
 
 Changes:
 - Improved scan for 'Suckit' (rootkit)
 - Updates hashes for Mandrake 9.2
 - Fixed a problem with the installer (wrong function declaration).
 - Had to strip down all colors in the installer, because of the complaints :-)
 - Changed installer so it could be used as a non-interactive installer (like it
   was before).. Languages are still usuable, but will be used in later versions
   (with a interactive switch)
 - Fixed the LANG function (renamed it, because of the reserved name).
 - Added Swedish translation for the installer. Thanks to Daniel Olsson
 - Improved logging when Perl has been found
 - Undo 'skip MD5 test' (MD5CHECK_SKIP=0) when Digest::MD5 available, but
   md5(sum) isn't, so we can still scanning.
 - Fixed a wrong path name (deleting of temporary passwd file)
 
 Website / Documentation:
 - Updated FAQ
 - Updated Project information (updated supported OSes, rootkits, added date of
   last modification)
 - Updated README
 
 --

 * 1.0.0
 
 Special remarks:
 - New developer: Stephane Dudzinski (a.k.a. FRLinux)

 New:
 * Operating system support
 - Added support for Fedora (tested with Core 1, Yarrow)
 - Added support for Gentoo (tested with 1.4 release)
 - Added support for Red Hat 7.3 (Valhalla)
 - Added support for Sun Solaris (not working yet..)
 - Added OpenBSD 3.3 (i386) hashes
 - Added Fedora Core 1 (i386) hashes
 - Added special verify section when prelinked binaries are found (like Fedora
   Core 1 uses). Thanks to Michael G. Rozman
 - Added support for IBM AIX. A big thanks to Iain Roberts!
   Versions 4.3.2, 4.3.3, 5.1, 5.2, 5.3, 5.4

 * Rootkit / backdoor support
 - Added 'Dreams' (rootkit). Thanks to Joshua Levitsky
 - Added 'Heroin' (LKM rootkit)
 - Added 'Sin' (rootkit)
 - Added 'Shutdown' (rootkit)
 - Added 'Sneakin' (rootkit)
 - Added 'Superkit' (rootkit)
 - Added 'T0rn' (rootkit)
 - Added 'Trojanit Kit' (rootkit)
 - Added 'zaRwT.KiT' (rootkit)
 - Added 'Volc' (rootkit)

 * Linux support
 - Added extra kernel check (2.4/2.6) when OS is Linux
 - Added Linux 2.6 kernel support.
 - Added extra check when using a RPM based distro, to display the package name
   in the logfile when filehashes are different. Thanks to Michael G. Rozman

 * Rootkit Hunter options
 - Added option '--quick'. Can be used with newly added scans and will use
   some tweaks to scan quicker (be carefull: can hide some usefull information
   at first scan, i.e. hidden files with trojaned binaries)
 - Added option '--skip-keypress'. Make rkhunter non-interactive, so you don't
   have to press [enter] after every test. Requested by Michael G. Rozman
 - Added option '--version'. Displays version and quits.
 - Added extra check for promiscuous interfaces, when 'ip' command is available
 - Added check for (rootdir)etc/conf.d/local.start file (Gentoo)
 - Added ksyms check to rootkitscan section
 - Added check for binaries like nmap, ls, lsof, ps (for future use)
 - Added Perl Digest::SHA1 module check
 - Added SSH 'PermitRootLogin without-password' (as an unsafe option). Thanks
   to Doncho
 - Added check for sniffer logfiles detection
 - Added support for grsec enabled Linux kernel. Thanks Steph ;-)

 Changes:
 - Improved installation
 - Splitted version number (from 1.00 --> 1.0.0) due future minor releases
 - Updated 'Ambient'
 - Updated 'BOBkit'
 - Updated 'Knark'
 - Updated 'Sebek'
 - Updated hashes for Red Hat 7.1 (fileutils, util-linux, SysVinit and xinetd).
   Thanks to Michael G. Rozman
 - Updated hashes for Debian 3.0 (IPv6 enabled version of tcpd). Thanks to Steph
 - Changed LKM check when kernelversion of Linux is the new 2.6
 - Improved support for other rootdirs (instead of '/')
 - Added check for empty files when searching for hidden files
 - Added check for real device fiels when searching for hidden files
 - Added colored layout, when performing file checks (for i.e. hidden files)
 - Little bugfix when perform LKM checking
 - Bugfix when scanning sshd_config for file if file isn't available in /etc/ssh
 - Improved logging for selftests
 - Improved logging when performing MD5 hash test
 - Improved logging for scanning of rootkits and malware
 - Improved logging of rootkitscan section (files and directories)
 - Improved logging for detection of binaries and Perl modules
 - Improved SSH 'root login allowed', to decrease false positives
 - Changed detection of users with an UID of 0 (zero)
 - Improved rootkitscan section for files and directories with spaces
 - Fixed wrong detection of Debian version (unstable/testing). Thanks to Daniel
   Olsson
 - Fixed wrong use of parameters when using --quick option, but not using -c.
   Thanks to Joost Peters
 - Added missing 'full OS' string, when RH doesn't recognise the operating
   system.
 - Fixed bad logging of rootkits (and files)
 - Fixed a problem when using --skip-keypress and a rootkit was found (skip
   keypress didn't work, and user input was required).   
 - Fixed installer for NetBSD and MacOS X, by commenting whereis functions (will
   be soon replaced)
 - A lot of code cleanups..

 Website:
 - Updated website (FAQ / Changelog, Project information)
 - Fixed a problem with the contact form (-moz-opacity CSS property failed with
   some browsers).


 --

 * 1.00 RC3

 New:
 - Added option --disable-md5-check to skip checking MD5 hashes (if you run 
   customized binaries/tools)
 - Added option --rootdir (or -r), to use with chrooted systems. Note: not
   completely integrated yet. Requested by Henk Wevers
 - Added functions logtext and displaytext to make script more powerfull and
   easier to use (for example with a new 'quiet' option)
 - Added support for OpenBSD 3.3 and OpenBSD 3.4 (MD5 fix added, due the
   missing of the -q (quiet) option of MD5). Thanks to Stefan

 Changes:
 - Updated 'Beastkit'
 - Updated 'BOBkit'
 - Updated hashes for Red Hat 9.0 (coreutils update). Thanks to Andrew Matthews
 - Fixed a little problem with support for multiple file hashes (see 1.00 RC2).
   When more than one hash was available, only the first one was checked. Thanks
   to Andrew Matthews for testing.
 - Solved two little issues with netstat check. Check reported possible backdoor
   if portnumber was present in another portnumber (like string '2001' is
   available in '20010'). Also the portnumber was found when the remote connection
   had the same portnumber as a possible backdoor (like a dynamic port 2001 was
   assigned to a SSH client). Thanks to Michael Firkins
 - Changed text when a possible backdoored file is found (because --debug option
   is not a valid). Thanks to Anton Pirnat
 - Changed check for OpenSSH sshd_config file (it will search now for more than
   1 place). Thanks to Jeroen Griede
 - Added extra check for file retrieval utilities (i.e. to do version checking)
 - Changed string at beginning of RH output (Determing OS... Ready)
 - Made some tweaks to the layout of the logfile (with --createlogfile option)

 --

 * 1.00 RC2
 
 New:
 - Added check for syslog-ng (instead of only checking for the presence of
   syslogd). Thanks to Chris Vaughan
 - Added check to allow more than one MD5/SHA1 for a single file. When a 'base'
   file will be updated, it's possible to add a second hash. Thanks to
   James Clark and Greg Bell
 - Added AIX check. Thanks to Val Baranov
 - Added hashes for SuSE 8.2 (i386)
 - Added hashes for Red Hat 9.0
 - Added hashes for Mandrake 9.2
 - Added hashes for Debian 3.0 (tested with release 2)
 - Added support for Mandrake (i.e. /dev/.devfsd file)
 - Added section to check the file type of every hidden file found
 - Added parameter 'nocolors' to disable colored output
 - Added support to run RH as a cronjob (parameter '--cronjob')
 - Added check to removed layout when running as cronjob
 - Added option to create a logfile (parameter '--createlogfile')
 - Added changelog on website (rootkit.nl)
 
 Changes:
 - Updated hashes for Red Hat 7.2
 - Cleanup logfile at startup
 - Just check /dev directory once for hidden files
 - Deleted unused consistency check (on Debian it showed several warnings)
 - Fixed a little problem with querying the default hashes database (added a
   slash to the query, to resolve the problem)
 - Layout fix for Linux distros
 - Fixed an error for Debian (where /etc/rc.d files not always exists..) by
   adding an extra check for the presence of this files.
 - Tweaked section to scan /dev directory. Scan is faster now (scan for
   unknown shellscripts and files)
 - Some little layout changes
 - Updated 'Beastkit' due false positive. Thanks to Dunay
 - Updated 'Suckit' (more checks added)
 - Changed FAQ

 --
 
 * 1.00 RC1

 Remarks:
 First release
 
 New:
 - Database: backdoor ports (DB:backdoorports.dat)
 - Added filtering for network connections
 - Added OS support for SuSE Linux:
 - Added OS support for Debian: 2.2/3.0/testing
 - Added OS support for FreeBSD 5.x: version 5.0/5.1
 - Added OS support for FreeBSD 4.x: version 4.3/4.7
 - Added OS support for Red Hat Linux 7.1/7.2
 - Added KLD tests (FreeBSD)
 - All other options...
 
