Secure Locate - Release 2.7 --------------------------- 2.7 - Wanderlei Antonio Cavassin <cavassin@conectiva.com.br> fixed a segfault when a regular expression error occurs. - Fixed the --regexp= option. It was not working properly. - Added a minor patch added to the Debian version of slocate. - Fix printf-is-a-macro issue (gcc 3.0). Patch courtesy of rbradetich@uswest.net. - Fixed a segfault when -r regex is used with an extra search string. 2.6 - Fixed some segfaults that occured with random data to -d, -o, and -r options. - Added a patch to make it work on Solaris - Added more path permission checking so that even if a file is readable in a directory that is not readable, slocate will not disclose the file to the user. 2.5 - Really fixed the heap corruption bug. - Fixed a bug that caused slocate to segfault when path lengths are too large. - Made slocate not assign the 'slocate' group to a database if the UID is not 0. - Added alot of error checking (ie, all mallocs, fchdir, etc). - Autoconfed. 2.4 - if /etc/mtab was a symlink to /proc/mounts, load_file() would not read /proc/mounts because /proc/mounts' filesize is 0. Changed load_file to fix this bug. 2.3 - Optimized the decode_db() function. This speeds up searching up to 40%. Also did some general clean up of some of the code. 2.2 - Fixed a segfault. If the environment variable LOCATE_PATH had an invalid slocate.db file path, slocate could segfault. Proper checking now takes place to fix this. 2.1 - Fixed a segfault (very silly bug) which occured when the /etc/updatedb.conf from the old GNU Locate was missing. Secure Lcoate can still use this file so this is why it was checking for it. - Luca Berra <bluca@vodka.it> added case insensitive searching with the -i option. He also optimized the code to make searching a faster. - Hans-Juergen Godau <godau@wi-inf.uni-essen.de> fixed a segfault when searching through more than one database. 2.0 - Converted the original recursive file tree walking code over to the newly supported fts() function. This is the main reason for pushing the version to 2.0. This is much more stable and has fixed a few bugs that didn't allow the whole file system to be scanned. I took the fts() code right from glibc so that it may be used on libc5 systems. - Added File System Exclusion option. ( -f "fstype1,fstype2,..." ). Now you can exclude NFS, proc, ext2, etc without listing each path. - If 'updatedb' is used to update the database, GNU Locate's original '/etc/updatedb.conf' will be used to exclude file systems and paths. When using 'slocate' to update the database, the '-c' option may now be used to parse the '/etc/updatedb.conf' file. *NOTE* - This only works under Linux. 1.6 - Increased performance when updating the database thanx to Alexander V. Lukyanov. - Matt added some tweaks to make it easier to install on FreeBSD 3.1. - Fixed a bug which didn't allow you to use ./database when using the -o option 1.5 - Added Regular Expression searching (-r and --regexp options) - Added an option to specify the location of where to create the database when indexing a filesystem. Thanks to Ulf Betlehem <flu@iki.fi> - Fixed a bug which caused slocate to exit when a directory could not be opened. Thanks to Jim Dougharty <james.dougharty@sabre.com>. - Multiple search strings are now possible, and the decode_db() function will now use access() instead of opendir to check is a directory is readable thanks to Glenn Maynard <glennm@mediaone.net>. - You can now limit the amount of results shown using the -n option. - A symlink from updatedb to slocate when executed will create a new database starting at the root filesystem '/'. 1.4 - Added globbing support. ( *,?,[^], ) - Made slocate a little more backward compatible to GNU locate for linux. - Added a verbose option to view which files are being indexed. - Removed some silly debug code that cause slocate to just exit if the -e option was used. - Sean Mcnulty <lazy@ccf.rutgers.edu> fixed a bug which caused the decode function to fail. - As pointed out by a few people, rindex is not as portable as strrchr so those were changed over. - Added Quiet Mode. Error messages are suppressed. - Fixed a bug which allowed users to view files in non readable directories. 1.3 - Optimized some more silly code. - Fixed a segfault when running slocate -u when the /var/lib/slocate directory does not exist. 1.2 - Changed the decode code to make slocate up to 4 times faster. - Optimized other code to make more efficient. 1.1 - With suggestions from Marc Schaefer <schaefer@alphanet.ch>, some optimization was done. Instead of storeing all the file permissions in the db file, just do a lstat() on any files that match the search string. This makes it a bit quicker, and the db file is also smaller. - Cleaned up the getopts area. Doesn't core anymore when bogus options are given. (*blush* :) - Checks UID when creating DB. Must be root, (or if you modify main.c you can change it to something else.) at the moment. This may change when there become a conf file in the future. 1.0 First release.