UntzUntz LAN Scan CGI v1.x

// Revision History:
//  0.1a: Originally written in Perl, worked - but was slow and
//	      did not allow for multiple pages of results
//
//  0.5a: Ported from PERL to C++
//            01/26/2002, John E. Danner 
//
//  0.6a: The code is a little messy right now but the functionality is
//            there. A few bug to track down - but otherwise enjoy.
//            01/26/2002, John E. Danner 
//
//	0.9a: If there are no results, it says so - and does not show the
//	      sort bar at the bottom of the page.
//	      Searching is no longer case sensitive [could be made an option]
//	      Added links for individual keyword results.
//	      01/27/2002, John E. Danner 
//
//	1.0a: Made the code look a little nicer. Added DEBUG_LEVEL support.
//	      Added VERSION_* information. Also added configuration file support
//	      01/27/2002, John E. Danner 
//
//	1.1a: Fixed page listing bar at the bottom of the screen
//	      previously once you hit page 16, it still listed pages 1 - 16
//	      no matter how high you went.
//	      02/14/2002, John E. Danner 
//
//	1.2a: Added configuration option to specify number of results per page
//	      Also inserted this ability to be specified at time of search
//	      Added a timer to time the speed of the search
//	      02/16/2002, John E. Danner 
//
//	1.3a: Changed some formatting and added a search statistic about size
//            of search found, and the total size of the shares on the network
//            And the much hyped search results templates are now in place.
//            See the readme file for the skinny on customizing you UntzUntz
//            LAN Scan.
//            02/18/2002, John E. Danner

UntzUntz LAN Scan Crawler v1.x

// Revision History:
//	0.1a: Originally written in Perl, worked - but required
//	      a slightly modified 'smbclient' and was flakey at times :)
//
//	0.8a: Ported from PERL to C++
//	      01/24/2002, John E. Danner 
//
//	0.8b: Added remove() for temp files
//	      01/25/2002, John E. Danner 
//
//	0.9a: Added configuration file support, added debug level information
// 	      and setup new debug information points.
//	      01/25/2002, John E. Danner 
//
//	1.0a: Optimize Listing, file maintenance, fixed configuration support
//	      Added robots.txt to individual directories and to entire shares
//	      Modified the way data is accessed.
//	      01/25/2002, John E. Danner 
//
//	1.0b: Fixed a major bug that was not putting the 'root' directory of a
//	      share in the dir.db, causing the search engine to report a
//	      location of the file - as the previous directory -- oops.
//
//	1.1a: Added support for specifying a user and password
//	      Also added ability to specify a workgroup
//	      02/14/2002, John E. Danner 
//
//	1.2a: Fixed a problem with shares with split names (spaces)
//	      Added support for a server side robots.txt to block entire
//	      machines, specific shares, and specific directories.
//	      Added configuration option for the ability to override the user
//	      robots.txt
//	      02/16/2002, John E. Danner 
//
//      1.3a: Added a force.txt option in the config.  When defined, the
//            crawler will look through the file and force smbclient to
//            look at those shares.
//            02/19/2002, John E. Danner