2000-11-01  Robin * Slomkowski  <rslomkow@eazel.com>

	* configure.in: Just giving medusa version number 0.2.2

2000-10-31  Darin Adler  <darin@eazel.com>

	* medusa.spec.in: Got rid of vendor and packager. Checking these
	in is a bad idea. See the discussion in bug 3461 for details.

2000-10-31  Darin Adler  <darin@eazel.com>

	* configure.in: Fix gcc option check so it works properly.
	* indexer/modules/Makefile.am: Remove bogus "CPPFLAGS=" line that
	was overriding CPPFLAGS set by autoconf.
	* medusa.spec.in: Got rid of "Distribution: GNOME" since no one
	uses that field. Fixed "Eazel Inc." to say "Eazel, Inc."
	instead. Turned on "make -k" and "make check" so the Tinderbox
	does more better error reporting and testing.

2000-10-29  Eskil Heyn Olsen  <eskil@eazel.com>

	* medusa.spec.in:
	Yes, 1.10 breaks sleipnir rpm build. I'll stick
	with 1.9 for now.

2000-10-29  Eskil Heyn Olsen  <eskil@eazel.com>

	* medusa.spec.in:
	Reverted to 1.10 to make sure if it's the
	crontab changes that borks sleipnir

2000-10-29  Eskil Heyn Olsen  <eskil@eazel.com>

	* medusa.spec.in:
	Reverted to 1.9

2000-10-29  Eskil Heyn Olsen  <eskil@eazel.com>

	* medusa.spec.in:
	Reinserted the cron stuff, it didn't
	help sleipnir.

2000-10-29  Eskil Heyn Olsen  <eskil@eazel.com>

	* medusa.spec.in:
	Removing the cron stuff to see if that is
	responsible for killing the buildserver on
	sleipnir.

2000-10-29  Eskil Heyn Olsen  <eskil@eazel.com>

	* medusa.spec.in:
	Removed the obsolete in -devel
        if $prefix/lib not in /etc/ld.so.conf, add it.
       
2000-10-28  Ramiro Estrugo  <ramiro@eazel.com>

	* medusa.spec.in: Change the %post and %postun sections a bit to
	prevent warnings being spewed by rpm at install time.

2000-10-27  Rebecca Schulman  <rebecka@eazel.com>

	* medusa.spec.in: Changed the cron job
	to have the correct (Executable) permissions
	

2000-10-27  Robin * Slomkowski  <rslomkow@eazel.com>

	* medusa.spec.in:just added Vendor fields and new descriptions
	want Maciej to vet

2000-10-27  Rebecca Schulman  <rebecka@eazel.com>

	* index-configuration/Makefile.am:
	Added medusa.cron to EXTRA_DIST, which 
	should fix the rpm build problem

2000-10-27  Rebecca Schulman  <rebecka@eazel.com>
        Fixed cron issues in medusa, with Ramiro's
	help, and also made the search daemon behave
	like a real daemon thanks to help from
	Advanced Programming in the UNIX Environment
	
	* index-configuration/Makefile.am:
	Get rid of the install script.  The spec file
	now just copies the cron file to the right directory
	* index-configuration/medusa-install-cron.sh:
	get rid of this file
	* index-configuration/medusa.cron:
	revise the cron job to have the right directories
	for the rpm (/usr/bin) on the executables
	* medusa.spec.in:
	update to do above
	* search-service/medusa-file-search-daemon.c: (daemon_init),
	(main):
	add daemon_init.

2000-10-25  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-search-uri.c:
	(medusa_parsed_search_uri_free):
	Don't free a list that was already emptied.
	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	(read_more_data), (word_contains_digits):
	Don't index words containing digits
	* search-service/medusa-file-search-daemon.c:
	(index_files_have_changed):
	fix a true <-> false swap.  Think this fixed 
	another seemingly unrelated bug as well.

2000-10-24  Rebecca Schulman  <rebecka@eazel.com>

	* index-configuration/medusa-install-cron.sh:
	fixed this so it works for inclusion in rpms.
	* libmedusa-internal/medusa-conf.h:
	Upped the default directory hash table size.

2000-10-23  Rebecca Schulman  <rebecka@eazel.com>
	More leak fixes

	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_query):
	Free the elements of a list that ended up in two partitioned lists,
	by freeing each of the partitioned lists.
	* libmedusa-internal/medusa-query-clauses.c:
	(medusa_query_clauses_get_function):
	free the word array on one of the return paths
	* libmedusa-internal/medusa-query-clauses.h:
	add MEDUSA_ARGUMENT_TYPE_NONE.  This way all clause closues have an argument type,
	and we can free the strings correctly.
	* libmedusa-internal/medusa-search-uri.c:
	(medusa_search_uri_parse), (medusa_parsed_search_uri_free),
	(clause_to_clause_closure), (medusa_clause_closure_free),
	(medusa_clause_closure_list_free), (get_verb_from_clause),
	(get_direct_object_from_clause):
	Various leak issues.  This code needs work.
	* libmedusa-internal/medusa-search-uri.h:
	add the medusa_clause_closure_list_free functio
	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_new):
	Return the right error in the case where a nonsense uri is given (INVALID_URI)
	and so the command line search gives a better error message
	* libmedusa/medusa-utils.c:
	Fixed a spelling error in a comment
	* msearch/medusa-command-line-search.c: (main):
	Correct punctuation in the error message, and add a new error message about invalid uris.
	* search-service/medusa-file-search-daemon.c: (main):
	ignore sigpipe instead of trying to handle it.  This should prevent massive leakage in some cases.
	* search-service/medusa-file-search-parse-transmission.c:
	(present_query_results):
	Fix a huge leak caused by using a list element as an iterator, and then not freeing any of the
	list, since the current list pointer was to the end of the list, instead of the beginning.

2000-10-21  Eskil Heyn Olsen  <eskil@eazel.com>

	* configure.in:
	Bonged version to 0.2.1 for pr2.

2000-10-20  Rebecca Schulman  <rebecka@eazel.com>
	A few small leak fixes

	* libmedusa-internal/medusa-lock.c: (medusa_lock_release):
	* libmedusa-internal/medusa-search-uri.c:
	(medusa_search_uri_parse), (clause_to_clause_closure):
	* libmedusa-internal/medusa-text-index-mime-module.c:
	(medusa_text_index_mime_module_unref_cover):
	* libmedusa-internal/medusa-text-index-mime-module.h:
	* libmedusa-internal/medusa-text-index.c:
	(medusa_text_index_destroy):

2000-10-18  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-tokenize.c: (medusa_string_to_token):
	Added a check for the condition of the hash table being
	full, and exit on this case with  a relevant error.

2000-10-18  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-conf.h:
	Changed the confusing ".bak" suffix to ".in_progress"
	* libmedusa-internal/medusa-hash.c: (medusa_hash_new):
	Added a warning if a file is not successfully made,
	so we can debug this in the future.

2000-10-18  Josh Barrow  <josh@eazel.com>

	* indexer/medusa-file-index-daemon.c: (main):
	Change --help instance of "directory" to "folder."
	
	This fixes bug 3844.

2000-10-16  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa/medusa-index-progress.c:
	(medusa_index_progress_update):
	Turn off progress warnings.

2000-10-16  Rebecca Schulman  <rebecka@eazel.com>

	* index-configuration/medusa-install-cron.sh:
	Improved installation as per Ramiro's instructions
	* libmedusa/medusa-index-progress.c: (medusa_index_progress_new),
	(medusa_index_progress_update):
	added a check for a 0 total space calculation on the drive,
	to prevent spurious warnings from resulting if there is a
	problem with the progress measurements

2000-10-10  Rebecca Schulman  <rebecka@eazel.com>

	* index-configuration/medusa-install-cron.sh:
	Added a check to start and run cron.
	I need to replace it with what ramiro recommended
	* search-service/medusa-authenticate.c:
	(calculate_permissions_for_file):
	Stop spewing annoying "critical" warning when
	a file in the index isn't found on disk, since
	 this is normal
	* tests/run-search-uri-tests.pl:
	First cut at the test script
	* tests/search-uri-test-data:
	Sample for the test data, to be filled out

2000-10-10  Josh Barrow  <josh@eazel.com>

	* doc/smoketests.html:
	Made what to type clearer.

2000-10-06  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-io-handler.c: (medusa_io_handler_open),
	(medusa_io_handler_write_blank_data),
	(medusa_adjust_filesize_to_pagesize):
	Removed a few calls that were trapped inside g_return_if_fails,
	and only check their error codes there.  Fix an off by one
	error in the adjust filesize code.  This should make things
	minorly more efficient.
	* libmedusa-internal/medusa-rdb-file.h:
	* libmedusa-internal/medusa-rdb-file.c: (medusa_rdb_file_new),
	(medusa_rdb_file_open), (medusa_rdb_file_free):
	Don't write the number of records on free if you are only reading the
	database

2000-10-04  Ramiro Estrugo  <ramiro@eazel.com>

	* acconfig.h:
	* configure.in:
	Add profiling support via --enable-profiler.

2000-10-04  Rebecca Schulman  <rebecka@eazel.com>
	Fixed some problems that were causing make
	distcheck to fail

	* index-configuration/Makefile.am:
	Added an EXTRA_DIST field, that was
	needed to properly install
	* indexer/Makefile.am:
	* search-service/Makefile.am:
	* tests/Makefile.am:
	Changed library directories to be
	builddir instead of srcdir
	
	* tests/medusa-index-service-test.c:
	* tests/medusa-queue-test.c: (main):
	* tests/medusa-versioned-file-test.c:
	* tests/search-method-test.c:
	Fixed header file path issues

2000-10-03  Josh Barrow  <josh@eazel.com>

	* doc/medusa-smoke-tests/.nautilus-metafile.xml:
	Forgot one file.  Yes, this is intentional.  

2000-10-03  Josh Barrow  <josh@eazel.com>

	* doc/medusa-smoke-tests/Medusa-application-document.c: (main):
	* doc/medusa-smoke-tests/Medusa-emblem-document:
	* doc/medusa-smoke-tests/Medusa-folder-test-1/Medusa-test-1.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-1/Medusa-test-2.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-1/Medusa-test-3.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-1/Medusa-test.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-2/Medusa-test-1.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-2/Medusa-test-2.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-2/Medusa-test-3.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-2/Medusa-test.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-3/Medusa-test-1.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-3/Medusa-test-2.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-3/Medusa-test-3.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test-3/Medusa-test.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test/Medusa-test-1.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test/Medusa-test-2.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test/Medusa-test-3.txt:
	* doc/medusa-smoke-tests/Medusa-folder-test/Medusa-test.txt:
	* doc/medusa-smoke-tests/Medusa-other-user-owned-document:
	* doc/medusa-smoke-tests/Medusa-root-owned-document:
	* doc/medusa-smoke-tests/Medusa-test-1.txt:
	* doc/medusa-smoke-tests/Medusa-test-2.txt:
	* doc/medusa-smoke-tests/Medusa-test-3.txt:
	* doc/medusa-smoke-tests/Medusa-test.txt:
	* doc/medusa-smoke-tests/Oddly-named-document:
	* doc/medusa-smoke-tests/Oddly-named-document-1:
	* doc/medusa-smoke-tests/Oddly-named-document-2:
	* doc/medusa-smoke-tests/Oddly-named-document-3:
	Added a folder that testers can index that tests the capibilities 
	of Medusa.  

2000-10-03  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-file-index.h:
	Update fixme to reflect actual bug number

2000-10-03  Rebecca Schulman  <rebecka@eazel.com>
	Removed the obsolete "databases" directory,
	and added the "index-configuration" directory.
	Added a cron job and a script for the rpm to use
	to install it.  This should do most of the work
	for bug 3202, to have the indexer run by default
	at night

	* Makefile.am:
	* configure.in:
	removed "databases" and added "index-configuration"
	to the list of SUBDIRs

	
	* index-configuration/.cvsignore:
	* index-configuration/Makefile.am:
	* index-configuration/file-index-stoplist:
	* index-configuration/medusa-install-cron.sh:
	The new shell script to install the cron job
	* index-configuration/medusa.cron:
	The cron job
	* indexer/medusa-file-index-daemon.c: (main),
	(wait_for_indexing_signal), (do_full_indexing),
	(register_command_line_options):
	Added some nice happy command line options,
	so the indexer is nice to normal humans now.
	Removed the loop, and by default the index
	will index once and exit
	* libmedusa-internal/medusa-conf.h:
	Fixed an error in hash table sizes that was probably
	causing problems in searches by file type
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_index_encoders_test):
	Changed the strncpy's to g_strdup's which should
	still work for the purposes of the test, and will
	compile right with the new gcc
	* libmedusa-internal/medusa-uri-list-queries.h:
	Added braces around the endif comment to be
	ansi compliant
	* libmedusa-internal/medusa-versioned-file.h:
	removed the comment at the end of an enum
	to be ansi compliant
	* libmedusa/medusa-unsearched-locations.c:
	(file_stoplist_initialize):
	Added the ability to include comments in the
	stoplist
	* tests/.cvsignore:
	comment out the new search file test executale

2000-10-03  Rebecca Schulman  <rebecka@eazel.com>
	Performance and bug fixes.  Also added an async
	test for gnome-vfs results

	* configure.in:
	added check for gtk, so we can include the 
	async test
	* libmedusa-internal/Makefile.am:
	Removed old unnecessary files, the table-async files.
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_free):
	* libmedusa-internal/medusa-file-index.h:
	Fix memory leaks and remove unnecessary functions
	* libmedusa-internal/medusa-io-handler.c: (medusa_io_handler_free):
	fix memory leak
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_query),
	(medusa_master_db_destroy), (index_private_metafiles):
	* libmedusa-internal/medusa-query-clauses.c:
	(medusa_query_clauses_get_function):
	more memory leak fixes
	* libmedusa-internal/medusa-query-optimizations-private.h:
	* libmedusa-internal/medusa-query-optimizations.h:
	* libmedusa-internal/medusa-query-optimizations.c:
	(medusa_query_optimizations_destroy),
	(medusa_optimization_result_destroy):
	move destroy function to make it public
	* libmedusa-internal/medusa-rdb-query.c: (medusa_rdb_query_free),
	(medusa_rdb_query_criterion_free),
	(medusa_rdb_query_criterion_match):
	Simplify query caching, so we don't store large number of 
	unnecessary regex patterns
	* libmedusa-internal/medusa-rdb-table.c:
	(medusa_rdb_table_all_rows), (medusa_rdb_table_insert),
	(medusa_rdb_table_free):
	* libmedusa-internal/medusa-rdb-table.h:
	Get rid of data we were keeping that was never used
	* libmedusa-internal/medusa-search-uri.c:
	(medusa_search_uri_parse), (medusa_parsed_search_uri_free),
	(medusa_search_uri_parse_shutdown),
	(medusa_clause_closure_free_cover):
	* libmedusa-internal/medusa-search-uri.h:
	Added free functions and fixed memory leaks
	* libmedusa-internal/medusa-uri-list.h:
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new),
	(medusa_uri_list_open), (medusa_uri_list_destroy),
	(read_index_info_from_database):
	Got rid of unnecessary fields, and freed metainfo correctly.
	* libmedusa-internal/medusa-versioned-file.c: (read_file_header):
	fix memory leak
	* libmedusa/medusa-unsearched-locations.c:
	(unsearched_mount_list_initialize):
	memory fixes
	* libmedusa/medusa-utils.c: (medusa_group_contains):
	Moved a check for group validity, to the function that only uses
	* search-service/medusa-authenticate.c:
	(calculate_permissions_for_file):
	Remove moved check for group validity
	* search-service/medusa-file-search-daemon.c:
	(exit_search_service), (query_loop):
	Added options to run searches once or a few times for testing
	purposes
	* tests/Makefile.am:
	added search-method-test
	* tests/search-method-test.c:
	added test for the search method

2000-09-30  Josh Barrow  <josh@eazel.com>

	* doc/smoketests.html:
	Added a a set of smoke tests for Medusa.  These tests only
	test a small number of the actual things that Medusa can 
	search for.  These are not intended to be a complete set of
	test cases.  They only test one way of searching for each 
	thing Medusa can search for.

2000-09-29  J Shane Culpepper  <pepper@eazel.com>

	* libmedusa-internal/medusa-enums.h:
	* libmedusa-internal/medusa-query-clauses.c:
	* libmedusa-internal/medusa-test.c:
	* libmedusa/medusa-unsearched-locations.c:
	* tests/medusa-text-index-test.c:

	Fixing inlined function stuff so that the new compiler
	on Redhat will build.

2000-09-29  Ramiro Estrugo  <ramiro@eazel.com>

	* configure.in:
	Removed GConf and OAF checks cause medusa doesnt seem to use
	either of these anywhere.  These can be added back in the future
	if medusa uses them.
	
2000-09-27  Rebecca Schulman  <rebecka@eazel.com>

	* doc/how_to_use_msearch:
	Removed old useless information
	* indexer/medusa-file-index-daemon.c: (main):
	Set to run on lowest priority by default.

2000-09-27  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa/medusa-unsearched-locations.c:
	(mount_type_is_in_skip_list), (unsearched_mount_list_initialize):
	Fixed bugzilla.eazel.com bug 2051, to skip shm mounts.
	

2000-09-25  Rebecca Schulman  <rebecka@eazel.com>

	* indexer/medusa-file-index-daemon.c: (do_full_indexing),
	(exit_indexer):
	Added an exit function instead of using exit () to do a gnome-vfs-shutdown,
	and do cleanup at exit.
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_update_keywords):
	Fixed a leak that resulted from not freeing a result of 
	medusa_uri_number_to_uri
	* libmedusa-internal/medusa-io-handler.c:
	(medusa_io_handler_read_file_header)
	Fixed a leak in the field reading code, and added code
	(not turned on by default being tested during for efficiency
	during profiling)  (The code doubles the size of a file
	after every remap to decrease the number of remappings that occur)
	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	Changed the read buffer size default to improve
	read efficiency.  This value may not be the optimal on all
	platforms, but it seems to work best for the x86's that I have access
	to.  (as indicated by strace tests)
	* libmedusa-internal/medusa-text-index.c:
	(setup_temp_index_io_handlers), (medusa_text_index_destroy):
	Fixed a bug that would not destroy the file pointers created in the
	temporary index if an error occurred.
	* libmedusa/medusa-unsearched-locations.c:
	(unsearched_mount_list_initialize):
	Fixed errors in the mount entry reading code that was causing 
	leaks to happen.

2000-09-25  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-io-handler.c:
	(fopen_new_with_medusa_io_handler_header):
	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	(read_more_data):
	* libmedusa/medusa-index-progress.c:
	(medusa_index_progress_get_percentage_complete):
	Removed some more unnecessary output to stdout,
	and fixed a bug where the indexer might lock up
	reading 0 length files.

2000-09-20  Rebecca Schulman  <rebecka@eazel.com>
	more uninitialized fixes

	* libmedusa-internal/medusa-query-optimizations.c:
	(first_time_corresponding_to_query_object),
	(last_time_corresponding_to_query_object),
	(can_replace_modified_with_mtime):

2000-09-20  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-io-handler.c: (medusa_io_handler_open):
	changed a g_return_if_fail to an if statement, since it wasn't
	a critical condition
	* libmedusa-internal/medusa-query-optimizations.c:
	fixed uninitialized error

2000-09-20  Rebecca Schulman  <rebecka@eazel.com>
	Completed a large amount of the work for bug 1809, 
	to provide preoptimization for queries.  I think
	I have corrected all problems that caused slowdown
	I noticed without profiling, and the framework
	makes it easy to add ones we discover later.
	Made some changes that will hopefully fix bug 1874.
	Also, I cleaned up a lot of the messages that the 
	search and index daemons give, to be more terse
	an informative.

	* libmedusa-internal/Makefile.am:
	* libmedusa-internal/medusa-query-optimizations-private.h:
	* libmedusa-internal/medusa-query-optimizations.c:
	(medusa_query_optimizations_initialize),
	(medusa_query_optimizations_perform_and_free_deep),
	(medusa_query_optimizations_new),
	(medusa_query_optimizations_destroy),
	(medusa_query_optimizations_add),
	(medusa_optimization_result_destroy), (query_optimization_free),
	(optimization_is_applicable), (result_is_constant_query),
	(optimization_result_new),
	(replace_old_criterion_with_new_and_free),
	(add_new_criterion_and_free), (query_criterion_get_by_category),
	(query_criterion_get_by_prefix), (query_criterion_get_relation),
	(query_criterion_get_object), (query_relation_is_negative),
	(make_new_criterion_with_int), (can_replace_username_with_uid),
	(owner_query_relation_is_invalid),
	(username_relation_to_corresponding_uid_relation),
	(replace_username_with_uid_criterion),
	(group_relation_to_corresponding_gid_relation),
	(group_query_relation_is_invalid), (can_replace_group_with_gid),
	(replace_group_with_gid_criterion),
	(modified_query_relation_is_invalid),
	(modified_query_relation_has_no_upper_bound),
	(modified_query_relation_has_no_lower_bound),
	(make_new_criterion_with_time_t), (object_to_date),
	(first_time_corresponding_to_query_object),
	(last_time_corresponding_to_query_object),
	(can_replace_modified_with_mtime),
	(replace_modified_with_mtime_criteria):
	* libmedusa-internal/medusa-query-optimizations.h:
	Basic framework for adding and detecting the need for
	optimizations.  The sloppiness of a lot of this
	code shows that we need to parse search uri's more
	sanely, and not be sloppy.
	
	* doc/search_uri_rfc:
	Readded an mtime criterion, since we optimize
	"modified" queries into queries on mtimes.
	
	* libmedusa-internal/medusa-file-index-queries.c:
	* libmedusa-internal/medusa-file-index-queries.h:
	Removed code query handlers with processing that is 
	now done pre-optimization.

	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_open),
	(medusa_master_db_query):
	Handle errors when opening the database, if the files are corrupt,
	and do optimization before running the query.

	* libmedusa-internal/medusa-search-uri.c:
	* libmedusa-internal/medusa-search-uri.h:
	(print_optimization_result), (medusa_search_uri_parse),
	(clause_to_clause_closure), (get_next_root_uri):
	Handle errors in parsing, and change the name of a 
	badly named function (now medusa_search_uri_parse)
	
	Bug 1874 changes
	* libmedusa/medusa-search-service-private.h:
	Added error transmission code

	* search-service/medusa-file-search-daemon.c: (query_loop),
	(initialize_socket):
	Handle errors in loading the database

	* libmedusa/medusa-indexed-search.c: (authenticate_connection),
	(medusa_indexed_search_new):
	Corrected some style errors, and also return an error if 
	search daemon returned an error instead of an acknowledgement
	to a search request. The error means that the index files didn't
	exist or were unreadable.

	* libmedusa-internal/medusa-file-index.c: (file_index_clauses):
	Removed old clauses that are now handled before this point,
	and corrected a typo
	* libmedusa-internal/medusa-hash.c: (medusa_hash_open):
	Handle errors in creating the io-handler for the file.
		
	Documentation improvements
	* indexer/medusa-file-index-daemon.c: (main):
	Improved stdout output to be more informative
	* libmedusa-internal/medusa-rdb-file.c:
	(medusa_rdb_file_write_number_of_fields):	
	Removed printf that happened when a field was written.
	* msearch/medusa-command-line-search.c: (main):
	Improved the error message to msearch to be more informative.
	* libmedusa-internal/medusa-text-index.c:
	(medusa_text_index_finish_indexing):
	Removed unnecessary printf

	
	General error fixing
	* libmedusa/medusa-unindexed-search.c: (match_string_to_date):
	corrected a typo
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_database_mtime_encode):
	Removed a commented piece of old code.
	* search-service/medusa-file-search-parse-transmission.c:
	(medusa_file_search_parse_transmission), (run_query),
	(get_uid_pid_key_information), (present_query_results),
	(goto_next_line), (another_transmission_line_exists),
	(send_cookie_creation_acknowledgement):
	Fixed bad formatting

2000-09-18  Dan Winship  <danw@helixcode.com>

	* configure.in: Check for sys/vfs.h
	* libmedusa/medusa-index-progress.c: Only include sys/vfs.h if we
	have it.

	* libmedusa/medusa-unsearched-locations.c: Fix various bugs to
	make this compile under BSD. (Not tested, just built.)

	* gnome-vfs-module/Makefile.am (INCLUDES): Need GNOME_CFLAGS for
	gnome-defs.h and gnome-util.h.

2000-09-15  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-master-db-private.h:
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_open),
	(medusa_master_db_new), (medusa_master_db_destroy):
	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	(read_more_data):
	Made it so that the index progress structure is only created
	and freed when indexing is happening.

2000-09-14  Rebecca Schulman  <rebecka@eazel.com>
	Removed an unnecessary debugging print statement, and 
	added a new function to the index progress api

	* indexer/medusa-file-index-daemon.c: (do_full_indexing):
	* libmedusa/medusa-index-progress.c:
	(medusa_index_progress_file_clear), (medusa_index_progress_update),
	(medusa_index_is_currently_running):
	* libmedusa/medusa-index-progress.h:

2000-09-14  Seth Nickell  <seth@eazel.com>

	* configure.in:
	Add checks for various mount table library systems (getmntent,
	setmntent, etc). Made gcc flags that are incompatible with
	Solaris optional.
	
	* indexer/medusa-file-index-daemon.c:
	Added definitions for settings not present in Solaris.
	
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_database_group_decode),
	(medusa_file_index_encoders_test):
	uid_t != int, gid_t != int, fixed places where this was
	assumed by using an unsigned long instead
	
	* libmedusa-internal/medusa-file-index-encoders.h:
	Defined NAME_MAX if it is undefined (for Solaris), changed
	an int to an unsigned long to fix a gid != int problem.
	
	* libmedusa-internal/medusa-rdb-query.h:
	Defined NAME_MAX if it is undefined (for Solaris)
	
	* libmedusa/medusa-indexed-search.c: (authenticate_connection),
	(send_search_request):
	pid != int either! Added casts in printfs, along with changing
	%d's to %lus as appopriate.
	
	* libmedusa/medusa-search-service.h:
	* libmedusa/medusa-service-private.c:
	* libmedusa/medusa-service-private.h:
	* libmedusa/medusa-utils.h:
	* search-service/medusa-file-search-daemon.c:
	Define various settings if they are missing (on Solaris).
	
	* libmedusa/medusa-unindexed-search.c:
	(medusa_unindexed_search_new):
	Define various settings if they are missing (on Solaris), add
	<strings.h> so strncpy is defined :-)
	
	* libmedusa/medusa-unsearched-locations.c:
	(unsearched_mount_list_initialize):
	Add code to deal with Solaris specific mount table stuff (mnttab).
	
2000-09-14  Rebecca Schulman  <rebecka@eazel.com>
	Completed bug 2298, to create an indexing progress
	API for medusa.

	* libmedusa-internal/medusa-master-db-private.h:
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new),
	(index_file), (medusa_master_db_destroy):
	Add indexing progress structure to the top level database
	to keep track
	
	* libmedusa/Makefile.am:
	* libmedusa/medusa-index-progress.c: (medusa_index_progress_new),
	(medusa_index_progress_update), (medusa_index_progress_destroy),
	(medusa_index_progress_get_percentage_complete),
	(get_disk_used_information), (update_new_public_percent_complete):
	* libmedusa/medusa-index-progress.h:
	Add new api to allow keeping track and to access the information
	from outside the indexing process.
	* tests/.cvsignore:

2000-09-14  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa/medusa-index-service.h:
	fixed whitespace
	* libmedusa/medusa-unsearched-locations.c:
	(medusa_is_unsearched_location):
	Removed bogus assert statements

Wed Sep 13 22:10:12 2000  George Lebl <jirka@5z.com>

	* libmedusa-internal/medusa-text-index.c
	  (medusa_text_index_finish_indexing): When printing
	  sizeof results always cast.  On alpha this is long by default,
	  so printf gets confused.

	* tests/medusa-versioned-file-test.c: Include <string.h>

2000-09-13  Rebecca Schulman  <rebecka@eazel.com>
	Completed the work for bugzilla.eazel.com 2030
	which is to not keep large text index
	structures in virtual memory.

	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_open),
	(medusa_text_index_new), (medusa_text_index_finish_indexing),
	(write_start_location_to_start_file),
	(write_end_location_to_start_file),
	(write_uri_number_to_location_file),
	(medusa_text_index_read_start_location_from_start_file),
	(medusa_text_index_read_end_location_from_start_file),
	(medusa_text_index_destroy):
	Added some error checking, and changed api for location and 
	start index.
	* libmedusa-internal/medusa-text-index-private.h:
	* libmedusa-internal/medusa-text-index-queries.c:
	(word_to_uri_numbers):
	Add error checking, and read the locations where a word
	is found from versioned files instead of memory mapped 
	files.

	* libmedusa-internal/medusa-versioned-file.h:
	* libmedusa-internal/medusa-versioned-file.c:
	(medusa_versioned_file_create), (medusa_versioned_file_open),
	(medusa_versioned_file_seek), (medusa_versioned_file_write),
	(medusa_versioned_file_read), (medusa_versioned_file_append_zeros),
	(medusa_versioned_file_error_notify),
	(medusa_versioned_file_result_to_string):
	Added functions to report errors to the user, and fixed an error
	that caused data to be appended rather than written to the right location


2000-09-12  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-search-uri.c:
	(search_uri_add_type_is_regular_file):
	Fixed a bug caught by -Wno-initialize

2000-09-12  Rebecca Schulman  <rebecka@eazel.com>
	Fixed a few random bugs, and worked on the first part
	of bug 2030, which is to not keep the large text index
	structures in virtual memory.  To do this, I created 
	a versioned file api, which will allow us to keep versions
	and magic number identifiers, but not use the io handler class


	* libmedusa-internal/medusa-io-handler.c: (medusa_io_handler_new),
	(fopen_new_with_medusa_io_handler_header):
	Fixed an access X_OK that should have been an F_OK.
	and corrected a spelling error in a comment

	* libmedusa-internal/medusa-text-index-private.h:
	Changed the name of the read_location_file functions to
	read_start_file, because they were actually reading the start file
	
	* libmedusa-internal/medusa-text-index-queries.c:
	(word_to_uri_numbers):
	* libmedusa-internal/medusa-text-index.c:
	(medusa_text_index_read_file), (medusa_text_index_finish_indexing),
	(add_word_to_real_index), (write_start_location_to_start_file),
	(write_end_location_to_start_file),
	(write_uri_number_to_location_file),
	(medusa_text_index_read_start_location_from_start_file),
	(medusa_text_index_read_end_location_from_start_file):
	Changed the unwieldly log checks to use a macro 
	to improve code readabilitiy. Abstracted writing to
	the location file so we can change the underlying storage
	method next.
	
	* libmedusa-internal/Makefile.am:
	* libmedusa-internal/medusa-versioned-file.c:
	(medusa_versioned_file_create), (medusa_versioned_file_open),
	(medusa_versioned_file_get_magic_number),
	(medusa_versioned_file_get_version_number),
	(medusa_versioned_file_seek), (medusa_versioned_file_write),
	(medusa_versioned_file_read), (medusa_versioned_file_destroy),
	(make_file_header), (read_file_header),
	(ensure_header_version_number), (ensure_header_magic_number):
	* libmedusa-internal/medusa-versioned-file.h:
	Added a versioned file class with api, as described at the head
	of the entry.
	
	* tests/Makefile.am:
	* tests/medusa-versioned-file-test.c: (cleanup_old_test_files),
	(test_creating_bad_file_name), (test_creating_good_file),
	(test_magic_and_version_numbers_were_written_right),
	(test_writing_data), (test_reading_back_data), (test_closing_file),
	(test_reopening_file_with_wrong_magic_and_version_numbers),
	(test_reopening_good_file), (main):
	Added tests for the versioned file class

2000-09-12  Rebecca Schulman  <rebecka@eazel.com>
	Fixed bugzilla.eazel.com bug 2018,
	that the search daemon crashes when
	searching for a file glob

	* libmedusa-internal/medusa-uri-list-queries.c:
	(file_glob_to_regexp):
	added an incrementer to the function, that
	was missing.  Before the file would just
	write to a string until it got to 
	illegal memory and crash

2000-09-12  Rebecca Schulman  <rebecka@eazel.com>

	Finished up giving bug numbers to all of the
	FIXMEs in medusa

	* indexer/medusa-file-index-daemon.c: (do_full_indexing):
	Got rid of an unnecessary sleep that was in the index loop.
	It should now index every day.
	
	* libmedusa-internal/medusa-master-db.c:
	(medusa_master_db_destroy):
	Fixed an "unindexed_locations_initialize"
	that should be "unindexed_locations_shutdown"
	in the destroy function

	* libmedusa-internal/medusa-search-uri.c:
	(medusa_search_uri_to_clause_closures):
	Lower-cased the search uri before processing
	so everything is case insensitive
	
	* libmedusa-internal/medusa-rdb-table.c:
	(medusa_rdb_table_virtual_free):
	* libmedusa-internal/medusa-text-index-mime-module.c:
	(medusa_text_index_mime_module_remove_mime_type),
	(is_valid_mime_type), (is_valid_mime_pattern),
	(mime_pattern_matches):
	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	(medusa_text_index_parse_plaintext), (read_more_data):
	* libmedusa-internal/medusa-text-index.c:
	(text_index_files_are_ready), (medusa_text_index_read_file),
	(sort_temp_index_data_into_permenant_index):
	* libmedusa-internal/medusa-tokenize.c: (medusa_string_to_token):
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_destroy):	
	* libmedusa/medusa-file-info-utilities.c:
	(get_time_struct_for_beginning_of_date),
	(get_time_struct_for_end_of_date):
	* libmedusa/medusa-file-info-utilities.h:
	* libmedusa/medusa-indexed-search.c: (authenticate_connection),
	(medusa_indexed_search_is_available), (send_search_request):
	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_is_available_for_uri):
	* libmedusa/medusa-search-service.h:
	* libmedusa/medusa-unindexed-search.c:
	(medusa_unindexed_search_new),
	(medusa_unindexed_search_start_search), (search_directory):
	* search-service/medusa-file-search-daemon.c: (initialize_socket):
	Added bug numbers to FIXMEs

	* libmedusa-internal/medusa-text-index-mime-module.h:
	* libmedusa-internal/medusa-text-index.c:
	(medusa_text_index_read_file),
	* libmedusa-internal/medusa-uri-list.h:
	* libmedusa/medusa-unindexed-search.h:
	Removed fixmes that didn't seem useful
	
2000-09-11  Rebecca Schulman  <rebecka@eazel.com>
	Fixed bugzilla.eazel.com bugs 1389 and 1924.
	1389 is a bug that size requests may return directories
	or other non-regular files that don't really have sizes.
	1924 is about cd's being indexed.
	
	* libmedusa-internal/medusa-search-uri.c:
	* libmedusa-internal/medusa-search-uri.h:
	(clause_to_clause_closure),
	(medusa_search_uri_add_extra_needed_criteria),
	(search_uri_contains_content_requests),
	(search_uri_add_user_can_read),
	(search_uri_contains_size_requests),
	(search_uri_add_type_is_regular_file),
	(request_is_for_positive_matches):
	created a single function to add extra criteria
	into the search uri when necessary.  Make 
	private functions that detect and add certain criteria.
	Added specific check about size requests and a function
	to add a check for the file type to the search uri

	* search-service/medusa-file-search-parse-transmission.c:
	(run_query):
	Used the simplified api for adding search criteria before
	running query, instead of the old checks
	
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new),
	(index_directory), (medusa_master_db_destroy):
	* libmedusa/medusa-unindexed-search.c: 
	(medusa_unindexed_search_new), (search_directory),
	(medusa_unindexed_search_destroy):
	use the new "unsearched_locations" api to initialize the 
	unsearched_location hash, destroy it when we are done and
	do a single check for all skips via a single functions 

	* libmedusa/Makefile.am:
	* libmedusa/medusa-unsearched-locations.c:
	(medusa_is_unsearched_location),
	(medusa_unsearched_locations_initialize),
	(medusa_unsearched_locations_shutdown), (file_stoplist_initialize),
	(unsearched_mount_list_initialize):
	* libmedusa/medusa-unsearched-locations.h:
	Made a new file, with a simplified api for all of the file skip stuff.
	This file collects the stopfile system, and checks for nfs mounts and
	cd roms (hopefully at some point all removable media)
	
	* libmedusa/medusa-utils.c:
	* libmedusa/medusa-utils.h:
	Removed stoplist and nfs mount functions from 
	here to move into medusa-unsearched-locations

	* indexer/medusa-file-index-daemon.c:
	Removed unneeded gtk include that broke the build after gtk was
	renamed to gtk-1.2.

	
2000-09-10  Rebecca Schulman  <rebecka@eazel.com>

	* search-service/medusa-file-search-daemon.c: (main), (query_loop),
	(handle_interruption_of_results_transmission):
	Removed an unnecessary parameter to query_loop that was causing an
	uninitialized variable error.

2000-09-10  Rebecca Schulman  <rebecka@eazel.com>

	* configure.in:
	* search-service/medusa-file-search-daemon.c: (main), (query_loop),
	(handle_interruption_of_results_transmission):

2000-09-10  Rebecca Schulman  <rebecka@eazel.com>

	* indexer/medusa-file-index-daemon.c: (main):
	Added a check for whether you are running as root or not.

	* search-service/medusa-file-search-daemon.c: (main):
	Added a check for whether you are running as root.
	Exits if you are not.
	
	* search-service/medusa-file-search-parse-transmission.c:
	(medusa_file_search_parse_transmission):
	Fixed a g_return_if_fail that could just be a simple if
	statement.
	

2000-09-10  Rebecca Schulman  <rebecka@eazel.com>
	Some code cleanup, and added calls to open structures in addition
	to creating them, so that we can error in the right way if the 
	index files don't exist, or if we try and create index files
	while writing over them.  Also did some code cleanup and some
	

	* RENAMING:  Add suggestion to change _new functions for
	classes that correspond to files to _create, to be more clear
	as to the difference between them and the new _open functions
	
	* TODO:
	Added idea to make the log level a globally scoped variable rather
	than passing it around all of the time, since it is really a global
	parameter.

	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_new), (medusa_file_system_db_open):
	* libmedusa-internal/medusa-hash.c: (medusa_hash_open),
	(medusa_hash_new):
	* libmedusa-internal/medusa-hash.h:	

	* libmedusa-internal/medusa-io-handler.c: (medusa_io_handler_new),
	(medusa_io_handler_open), (medusa_io_handler_free):
	* libmedusa-internal/medusa-io-handler.h:
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_open):
	* libmedusa-internal/medusa-master-db.h:
	* libmedusa-internal/medusa-rdb-file.c: (medusa_rdb_file_new),
	(medusa_rdb_file_open):
	* libmedusa-internal/medusa-rdb-file.h:
	* libmedusa-internal/medusa-text-index-private.h:
	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_open),
	(medusa_text_index_new), (make_temp_index_file_name),
	(permenant_text_index_files_exist), (text_index_files_dont_exist),
	(setup_temp_index_io_handlers), (medusa_text_index_destroy):
	* libmedusa-internal/medusa-text-index.h:
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new),
	(medusa_uri_list_open):
	* libmedusa-internal/medusa-uri-list.h:
	Added _open functions to these classes, so that we can initialize differently
	in the case where we are reading the files as opposed to writing them.
	Most importantly, we can now report errors about the state of the files 
	more accurately, because the type of call determines the expectations
	of the class (whether the index file should already exist, or whether we
	plan on creating it.

	* libmedusa-internal/medusa-rdb-fields.c:
	(medusa_rdb_field_get_offset),
	(medusa_rdb_field_get_field_structure),
	(medusa_rdb_record_get_field_contents),
	(medusa_rdb_record_get_field_value),
	(medusa_rdb_record_set_field_value), (medusa_rdb_field_get_size),
	(medusa_rdb_field_get_encoder), (medusa_rdb_field_get_decoder),
	(medusa_rdb_field_get_header_offset),
	(medusa_rdb_field_get_header_size),
	(medusa_rdb_fields_get_first_title),
	(medusa_rdb_fields_get_first_size),
	(medusa_rdb_fields_get_first_encoder),
	(medusa_rdb_fields_get_first_decoder):
	* libmedusa-internal/medusa-rdb-fields.h:
	* libmedusa-internal/medusa-file-index-queries.c: (simple_query):
	Added const to many function parameters where this was appropriate,
	and adjusted calls to get rid of the casts that had existed before
	this point because of the missing const's.
	

	* search-service/medusa-file-search-daemon.c: (main), (query_loop),
	(ensure_index_validity), (index_files_have_changed):
	Use the new _open call, and reinstate the check for whether the index
	files still exist and haven't changed.  If they change, reload them.
	
	
2000-09-08  Rebecca Schulman  <rebecka@eazel.com>

	Fixed bugzilla.eazel.com bug 1357, which crashed the search
	daemon when a request closed during it.  There is still the
	issue that we don't clean up when this happens.
	
	* search-service/medusa-file-search-daemon.c: (main), (query_loop),
	(initialize_socket), (handle_interruption_of_results_transmission):

2000-09-08  Rebecca Schulman  <rebecka@eazel.com>

	* DEBUGGING:
	Fixed gdb instructions so that they should
	be complete for attaching to a running process now.
	
	* libmedusa-internal/medusa-rdb-query.c:
	(medusa_rdb_query_criterion_match), (medusa_rdb_query_test):
	* libmedusa-internal/medusa-rdb-table.c: (medusa_rdb_table_insert),
	(medusa_rdb_table_free):
	* libmedusa-internal/medusa-rdb-table.h:
	* libmedusa-internal/medusa-search-uri.c:
	(medusa_uri_is_search_uri), (get_next_root_uri):
	* libmedusa-internal/medusa-search-uri.h:
	Fixed more FIXMEs, and repaired a few really basic
	ones.

2000-09-07  Rebecca Schulman  <rebecka@eazel.com>
	Removed all of the bogus (C) 1999, 2000
	and changed them to (C) 2000 and indented a whole bunch of
	files to the standard, 8 space GNOME guidelines

	* libmedusa-internal/medusa-byte.c: (medusa_int_to_bytes),
	(medusa_bytes_to_int):
	* libmedusa-internal/medusa-byte.h:
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_database_permissions_encode),
	(medusa_file_database_keywords_decode):
	* libmedusa-internal/medusa-file-index-encoders.h:
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_is_of_type):
	* libmedusa-internal/medusa-file-information.h:
	* libmedusa-internal/medusa-hash.c: (medusa_hash_new),
	(medusa_hash_fetch), (medusa_hash_remap), (medusa_hash_store),
	(medusa_hash_key_exists):
	* libmedusa-internal/medusa-hash.h:
	* libmedusa-internal/medusa-io-handler.c: (medusa_io_handler_new),
	(medusa_io_handler_free), (medusa_io_handler_write_header),
	(write_header_to_file_descriptor),
	(medusa_io_handler_adjust_buffer_size),
	(medusa_io_handler_write_blank_data),
	(fopen_new_with_medusa_io_handler_header),
	(medusa_io_handler_create_file),
	(medusa_io_handler_read_file_header),
	(medusa_io_handler_append_data), (medusa_io_handler_append_zeros),
	(medusa_io_handler_append_string), (medusa_io_handler_remap),
	(medusa_adjust_filesize_to_pagesize):
	* libmedusa-internal/medusa-io-handler.h:
	* libmedusa-internal/medusa-rdb-fields.c:
	(medusa_rdb_field_info_new), (medusa_rdb_field_add),
	(medusa_rdb_field_remove), (medusa_rdb_field_get_offset),
	(medusa_rdb_field_get_field_structure),
	(medusa_rdb_field_get_encoder), (medusa_rdb_field_get_decoder),
	(medusa_rdb_field_get_header_offset),
	(medusa_rdb_field_get_header_size),
	(medusa_rdb_fields_get_first_title),
	(medusa_rdb_fields_get_first_size),
	(medusa_rdb_fields_get_first_encoder),
	(medusa_rdb_fields_get_first_decoder),
	(medusa_rdb_field_contents_equal):
	* libmedusa-internal/medusa-rdb-fields.h:
	* libmedusa-internal/medusa-rdb-file.c:
	* libmedusa-internal/medusa-rdb-file.h:
	* libmedusa-internal/medusa-rdb-query-private.h:
	* libmedusa-internal/medusa-rdb-query.c:
	* libmedusa-internal/medusa-rdb-query.h:
	* libmedusa-internal/medusa-rdb-record.h:
	* libmedusa-internal/medusa-rdb-table-async.c:
	(medusa_rdb_table_select_cancellable):
	* libmedusa-internal/medusa-rdb-table-private.h:
	* libmedusa-internal/medusa-test-conf.h:
	* libmedusa-internal/medusa-test.h:
	* libmedusa-internal/medusa-text-index.c:
	(medusa_text_index_finish_indexing), (add_word_to_real_index):
	* libmedusa-internal/medusa-tokenize.h:
	* libmedusa/medusa-file-info-utilities.h:
	* libmedusa/medusa-utils.c:
	(medusa_union_of_two_descending_integer_lists),
	(medusa_difference_of_two_descending_integer_lists):
	* libmedusa/medusa-utils.h:
	* msearch/medusa-command-line-search.c:

2000-09-06  Pavel Cisler  <pavel@eazel.com>

	* configure.in:
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_index_encoders_test):
	* libmedusa-internal/medusa-master-db.c:
	(merge_new_uris_with_current_results_and_free):
	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_start_search),
	(medusa_search_service_connection_read_search_result):
	* libmedusa/medusa-unindexed-search.c:
	(matches_date_modified_criterion):

	Get rid of -Wno-uninitialized. This way we will get uninitialized
	variable warnings when we do a release build (with optimizations
	-O1 or higher).

	Fix all the uninitialized variable warnings and bugs that turned up 
	when doing a release build.	

2000-09-05  Mathieu Lacage  <mathieu@eazel.com>

	* doc/search_uri_rfc: update to the search uri spec.

2000-09-01  Rebecca Schulman  <rebecka@eazel.com>

	* indexer/medusa-file-index-daemon.c: (main),
	(wait_for_indexing_signal), (do_index_accounting),
	(do_full_indexing), (initialize_index_server_socket),
	(backup_index_files), (copy_new_index_files),
	(file_indexer_parse_transmission), (return_a_day_from_now):
	
	Indented this file properly, and fix the indexer's sleep mechanism
	so that it will work if interrupted.

2000-09-01  Darin Adler  <darin@eazel.com>

	Did a bunch of testing. With these bug fixes the feature seems
	to work. Next, we test with Nautilus.

	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_database_keywords_decode): Handle the case of
	a token == 0 and make sure it returns an empty string.
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_marked_with_keyword): Take out detokenizing
	strings since the decoder handles it.
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_update_keywords): Take out tokenizing
	strings since the encoder handles it. Write out the keywords
	field instead of overwriting the URI field. Don't destroy the
	keyword set, since destroying the index as a whole destroys
	all the ones in the hash table.
	* libmedusa-internal/medusa-keyword-set.c:
	(medusa_keyword_set_destroy): Free the string form too, not
	just the keyword set.
	* libmedusa-internal/medusa-master-db.c:
	(index_private_metafiles_for_user): Use a "/" between the path
	and the file name.

2000-09-01  Rebecca Schulman  <rebecka@eazel.com>
	
	Finished work on task 2408, the unindexed emblem search.
	And more work on FIXMEs, including addressing bug 
	2145, about group searches causing search daemon crashes
	if the group did not exist.

	* libmedusa/medusa-unindexed-search.c:
	* libmedusa/medusa-unindexed-search.h:
	(medusa_unindexed_search_new),
	(medusa_unindexed_search_read_search_result), (search_directory),
	(file_matches_criteria), (matches_all_name_criteria),
	(matches_all_file_info_criteria), (matches_all_mime_criteria),
	(matches_all_keywords_criteria), (matches_one_name),
	(matches_one_file_info), (matches_date_modified_criterion),
	(matches_owner_criterion), (matches_group_criterion),
	(matches_size_criterion), (matches_one_mime_type),
	(matches_one_keywords_criterion),
	(assume_file_is_directory_unless_a_link),
	(criterion_is_keywords_criterion):
	Added keyword searching.
	Changed a few procedure names to be more clear,
	and replaced many instances of EMBLEMS with KEYWORDS
	
	* libmedusa/medusa-utils.h:
	* libmedusa/medusa-utils.c: 
	(medusa_str_has_prefix),
	(medusa_str_has_suffix), (end_element),
	(medusa_extract_keywords_from_metafile),
	(keyword_hash_table_populate_callback),
	(medusa_keyword_hash_table_create_for_directory):
	Addressed a few string function problems, fixed a 
	bug in the metafile hash table code.

	* DEBUGGING:
	Revised debugging plans based on Darin's experiences with them.
	Any problems people experience with following them should
	go into the database.
	
	* doc/flags:
	added the UNINDEXED_SEARCH_DEBUG flag

	* libmedusa/medusa-file-info-utilities.h:
	* libmedusa/medusa-file-info-utilities.c: (username_exists),
	(group_exists), (medusa_username_to_uid), (medusa_group_to_gid):
	* libmedusa-internal/medusa-file-index-queries.c:
	* libmedusa-internal/medusa-file-index-queries.h:
	(medusa_file_index_is_owned_by), (medusa_file_index_is_in_group),
	(medusa_file_index_is_not_owned_by),
	(medusa_file_index_is_not_in_group):
	revised the user and group functions not to cache anymore.
	Caching isn't valid, since the search daemon should run for 
	a long time, and caching could cause incorrect results to be returned 
	if users or groups were added or removed from the system.  We can
	do a better job optimizing anyway, by precomputing these values
	before we start the search.
		
	* libmedusa-internal/medusa-file-index.h:	
	* libmedusa-internal/medusa-file-index.c: (add_fields),
	(medusa_file_system_db_new), (medusa_file_system_db_free),
	(read_index_info_from_database):
	* libmedusa-internal/medusa-io-handler.c:
	* libmedusa-internal/medusa-io-handler.h:
	(fopen_new_with_medusa_io_handler_header):
	Documented some fixmes with bug numbers
	
	* libmedusa-internal/medusa-rdb-fields.c:
	* libmedusa-internal/medusa-rdb-fields.h:
	(medusa_rdb_field_info_free), (medusa_rdb_field_free),
	(medusa_rdb_field_add), (medusa_rdb_field_remove),
	(medusa_rdb_fields_get_first_decoder):
	Documented a fixme, removed unused static
	functions, and changed the field structure to
	be a glist rather than a gslist so we can
	free it with g_list_free_deep_custom

	* search-service/medusa-unindexed-search.c:
	* search-service/medusa-unindexed-search.h:
	removed these old, unused files

2000-09-01  Darin Adler  <darin@eazel.com>

	More untested code. WIth this check-in, we have all the code we
	need for working keyword indexing. We can do further work to
	make it more efficient, but this should be enough to make it
	work, once we find and fix the bugs.
	
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_marked_with_keyword): Handle the case where
	there's no keyword properly.
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_update_keywords): Now we use an empty
	string instead of NULL to mean an empty keyword set.
	* libmedusa-internal/medusa-keyword-set.c:
	(medusa_keyword_set_new), (medusa_keyword_set_new_from_string),
	(medusa_keyword_set_destroy),
	(medusa_keyword_set_add_public_keyword),
	(medusa_keyword_set_add_user_with_private_keywords),
	(medusa_keyword_set_add_private_keyword),
	(find_previous_character), (find_previous_user_id),
	(medusa_keyword_set_has_keyword),
	(medusa_keyword_set_get_string_form):
	Implemented all the keyword set operations.

2000-08-31  Darin Adler  <darin@eazel.com>

	* libmedusa-internal/Makefile.am:
	* libmedusa-internal/medusa-keyword-set.h:
	* libmedusa-internal/medusa-keyword-set.c:
	Added new source files for operations on the set of keywords
	in the index. It was getting too complicated to do ad hoc.
	
	* libmedusa-internal/medusa-file-index-queries.h:
	* libmedusa-internal/medusa-file-index-queries.c: (simple_query):
	Redid the query macros so they are not so yucky.
	(medusa_file_index_marked_with_keyword),
	(medusa_file_index_not_marked_with_keyword): Added queries for
	keywords.
	
	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_new), (keywords_by_file_destroy_entry),
	(users_by_directory_destroy_entry), (medusa_file_system_db_free),
	(get_keyword_set_for_file),
	(medusa_file_system_db_add_public_keyword),
	(medusa_file_system_db_add_private_keyword),
	(medusa_file_system_db_add_private_keywords_directory),
	(add_users_to_keyword_set),
	(medusa_file_system_db_update_keywords):
	Changed indexing to use new keyword set and handle files with
	no keywords in the private directory properly.
	
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_index):
	Do private metafiles first.
	(index_private_metafile): Call the new function to deal with the
	entire directory if there is a metafile.

2000-08-31  Rebecca Schulman  <rebecka@eazel.com>
	
	More work on FIXMEs.

	* RENAMING:
	Added the suggestion that medusa-master-db be renamed
	to medusa-database-controller
	
	* gnome-vfs-module/search-method.c: (do_open_directory),
	(get_file_info_for_virtual_directory),
	(get_file_info_for_virtual_link), (do_read_directory),
	(do_is_local): fixed FIXME syntax to work correctly
	(added colons in the right place)
	
	* indexer/medusa-file-index-daemon.c: (wait_for_indexing_signal),
	(initialize_index_server_socket), (backup_index_files),
	(file_indexer_parse_transmission):
	some reformatting
	
	* indexer/medusa-text-index-mime-module.c:
	* indexer/medusa-text-index-mime-module.h:
	* indexer/medusa-text-index.c:
	* indexer/medusa-text-index.h:
	removed these obsolete files
	
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_database_keywords_decode),
	(medusa_file_index_encoders_test):
	More FIXME additions
	
	* libmedusa-internal/medusa-file-index-queries.c:
	* libmedusa-internal/medusa-file-index-queries.h:
	(medusa_file_index_is_modified_before_date),
	(medusa_file_index_is_modified_after_date):
	More fixme additions
	
	* libmedusa-internal/medusa-master-db.c:
	(index_private_metafiles_for_user):
	Fixed a segfault where we don't check for a nonexistent
	directory
	
2000-08-31  Darin Adler  <darin@eazel.com>

	* libmedusa-internal/medusa-file-index-queries.h:
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_uid_can_read_file): Use new get_value function
	and get rid of explicit decoder calls.
	(medusa_file_index_marked_with_keyword),
	(medusa_file_index_not_marked_with_keyword): Empty placeholders.
	
	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-file-index.c: (file_index_clauses):
	Added clauses for keyword searches.
	(str_list_sort_shallow_remove_duplicates), (str_list_join),
	(medusa_file_system_db_update_keywords): Wrote code to update the
	keywords when the rest of the indexing is done.
	
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_index):
	Need to pass the URI list to the update_keywords function. This
	may point to a design problem, but adding the parameter was an
	acceptable solution for now.

	* libmedusa-internal/medusa-rdb-fields.h:
	* libmedusa-internal/medusa-rdb-fields.c:
	(medusa_rdb_record_get_field_contents): Made private.
	(medusa_rdb_record_get_field_value): Added this public function
	that also does the decoding; useful everywhere since all callers
	of get_field_contents also have to decode.
	(medusa_rdb_record_set_field_value): Added this public function,
	since there was no way to set the value before. It does the encoding.
	
	* libmedusa-internal/medusa-rdb-query.c: (medusa_rdb_query_new):
	Added missing "(void)".
	(medusa_rdb_query_criterion_match): Use new get_value function and
	get rid of explict decoder calls.
	(medusa_rdb_query_test): Added missing "(void)".

	* libmedusa-internal/medusa-rdb-query.h: Fixed formatting.
	
	* libmedusa-internal/medusa-rdb-table.c:
	(medusa_rdb_table_all_rows): Get rid of off-by-one problem that
	probably doesn't matter much since it's the generation of a list
	that's unused for the most part.
	(medusa_rdb_record_number_to_record): Fixed the range checking in
	here, which would allow many bad record numbers through.
	
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_number_to_uri):
	Use new get_value function and get rid of explict decoder calls.

2000-08-30  Ramiro Estrugo  <ramiro@eazel.com>

	* libmedusa-internal/Makefile.am:
	Remove the obsolete files from the Makefile too.
	
2000-08-30  Gene Z. Ragan  <gzr@eazel.com>

	* libmedusa-internal/medusa-lock-file.c:
	* libmedusa-internal/medusa-lock-file.h:
	Removed obsolete files from project.

2000-08-30  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug 1776, improve search database locking.

	I just added Maciej's new locking code to medusa.  The masters
	of medusa should take a look at what I did since I am new to 
	the code.
	
	* indexer/medusa-file-index-daemon.c: (main), (do_full_indexing),
	(file_indexer_parse_transmission):
	Removed old locking code and added new.
	
	* libmedusa-internal/medusa-lock-file-paths.h:
	Added new paths for the read and write lock files.
	
	* search-service/medusa-file-search-daemon.c: (main):
	* tests/medusa-text-index-test.c: (main):
	Removed old locking code and added new.

2000-08-30  Darin Adler  <darin@eazel.com>

	* doc/search_uri_rfc: Changed the keywords clause to match
	what Rebecca and I settled on.
	
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_new),
	(write_index_info_to_database): Use shared version number
	instead of having a separate one for the file index.
	(medusa_file_system_db_free): Use shared code to destroy hash.
	(medusa_file_system_db_update_keywords): Wrote comments with
	an outline of the work to be done here.
	
	* libmedusa-internal/medusa-master-db.c: (index_directory),
	(index_public_metafile), (get_path_from_private_metafile_name):
	Use public constants and functions to share more code.
	
	* libmedusa-internal/medusa-search-uri.c: (bypass_search_method),
	(clause_is_content_request):
	* libmedusa/medusa-search-service.c: (uri_has_valid_header),
	(uri_to_search_method):
	* libmedusa/medusa-unindexed-search.c: (match_one_name),
	(match_date_modified_criterion), (match_owner_criterion),
	(match_group_criterion), (match_size_criterion),
	(match_one_mime_type), (criterion_field_is):
	Changed to use renamed string function by their new str names.
	
	* libmedusa/medusa-utils.h:
	* libmedusa/medusa-utils.c:
	(get_gnome_vfs_result_from_xml_error),
	(medusa_extract_keywords_from_metafile),
	(medusa_nfs_mount_list_initialize), (str_list_dup),
	(free_str_to_str_list_hash_table_entry),
	(medusa_str_to_str_list_hash_table_destroy),
	(keyword_hash_table_populate_callback),
	(keyword_hash_table_populate_from_metafile),
	(construct_private_metafile_path),
	(medusa_keyword_hash_table_create_for_directory),
	(medusa_keyword_hash_table_file_has_keyword),
	(medusa_keyword_hash_table_destroy):
	Renamed string functions to call the string "str" to match both
	GLib and Nautilus, which use "str" to mean C-style strings. Added
	result code to the metafile function and implemented the new code
	for searching metafiles for keywords that Rebecca needs for slow
	searching of keywords.

2000-08-30  Rebecca Schulman  <rebecka@eazel.com>
	
	Changed Search URI RFC to contain the
	emblem criterion syntax.
	Began work on documenting medusa's FIXMEs 
	in bugzilla.eazel.com.

	* doc/search_uri_rfc:
	Added the new emblem criterion syntax.
	
	* gnome-vfs-module/search-method.c: (do_open_directory),
	(get_file_info_for_virtual_directory),
	(get_file_info_for_virtual_link), (do_read_directory),
	(do_is_local):
	Added bug numbers and clarified FIXMEs.
	
	* indexer/medusa-file-index-daemon.c: (main),
	(wait_for_indexing_signal), (do_full_indexing):
	Added bug numbers and clarified relevant FIXMEs
	
2000-08-29  Darin Adler  <darin@eazel.com>

	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_new): Add file_keywords hash table.
	(free_keyword_hash_table_entry), (medusa_file_system_db_free):
	Free file_keywords hash table.
	(file_index_clauses): Add FIXME for clauses for keywords.
	(add_keyword), (medusa_file_system_db_add_public_keyword),
	(medusa_file_system_db_add_private_keyword): Put keywords into
	hash table.
	(medusa_file_system_db_update_keywords): Empty function that
	has FIXME saying we need to re-walk the index filling in the
	keywords.
	
	* libmedusa-internal/medusa-file-information.c:
	(medusa_file_attributes_new): Remove dangerous code that could
	lead to a g_free of "".
	(medusa_index_file_attributes): Leave room for keywords field.
	Without this change we just core dump when we try to index.

	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_index):
	Index the private metafiles, then update the keywords when we
	are done with the other indexing.
	(add_public_keywords_to_index),
	(add_private_keywords_to_index), (index_public_metafile),
	(get_path_from_private_metafile_name), (index_private_metafile),
	(index_private_metafiles_for_user), (index_private_metafiles):
	Write the code that actually handles the public and private
	metafiles to replace the empty placeholders.
	
	* libmedusa-internal/medusa-query-clauses.c:
	Fix formatting to match mode line.

2000-08-28  Maciej Stachowiak  <mjs@eazel.com>

	* libmedusa-internal/medusa-lock.[ch]: New fcntl-based locking
	functions (not yet used).
	* libmedusa-internal/Makefile.am: Add to the build.

2000-08-28  Darin Adler  <darin@eazel.com>

	* libmedusa-internal/medusa-conf.h:
	* indexer/medusa-file-index-daemon.c: (do_index_accounting),
	(do_full_indexing), (backup_index_files), (copy_new_index_files),
	(file_indexer_parse_transmission):
	Added handling of the keyword sets file everywhere there's
	handling for the MIME type file. This is a strong hint that we're
	"doing it wrong". It's *way* to hard to add one more file, and we
	should just have some loops instead of this hand-written lists
	everywhere.
	
	* libmedusa-internal/medusa-file-index-encoders.h:
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_database_mime_type_encode),
	(medusa_file_database_group_encode),
	(medusa_file_database_permissions_encode),
	(medusa_file_database_size_encode): Fixed code that could
	write past the end since it used strncpy instead of memcpy.
	(medusa_file_database_keywords_encode),
	(medusa_file_database_keywords_decode): Added encoder for
	the keyword sets.
	(medusa_file_index_encoders_test): Pass in the keyword sets
	file name.
	
	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-file-index.c: (add_fields),
	(medusa_rdb_file_add_field_cover), (medusa_file_system_db_new),
	(medusa_rdb_field_add_cover), (file_index_field_info): Add the new
	keyword fields.  Also refactored so the list of fields doesn't
	appear twice.
	
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new):
	* libmedusa-internal/medusa-master-db.h:
	* libmedusa-internal/medusa-rdb-fields.c: (medusa_rdb_field_add):
	* libmedusa-internal/medusa-rdb-fields.h:
	* libmedusa-internal/medusa-rdb-file.c: (medusa_rdb_file_new),
	(medusa_rdb_file_add_field):
	* libmedusa-internal/medusa-rdb-file.h:
	* libmedusa-internal/medusa-tokenize.c:
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new):
	* libmedusa-internal/medusa-uri-list.h:
	* search-service/medusa-file-search-daemon.c: (main):
	* tests/medusa-text-index-test.c: (main):
	Use const more and pass the keyword sets file name in a few places.

2000-08-28  Darin Adler  <darin@eazel.com>

	* tests/.cvsignore: Made a real ".cvsignore" for this directory
	instead of one with "*" in it.

2000-08-28  Darin Adler  <darin@eazel.com>

	* libmedusa/medusa-utils.h:
	* libmedusa/medusa-utils.c: (get_attribute), (get_name_attribute),
	(start_element), (end_element),
	(medusa_extract_keywords_from_metafile): Finished the real
	implementation of the code to extract keywords. It uses the SAX
	interface to gnome-vfs so you don't need to have the whole
	metafile in memory at once.

	* indexer/medusa-file-index-daemon.c: (do_index_accounting),
	(do_full_indexing): Got rid of code that just stuck a "file://"
	on the beginning of a patch and used the gnome-vfs function that
	does it properly with escaping.
	
	* libmedusa/medusa-utils.c: (medusa_is_nfs_mount_point): Added
	a FIXME about the fact that the NFS check is done only once per
	executable, so it will miss changes in mount points.
	(medusa_file_stoplist_initialize): Changed to use the prepend/
	reverse idiom.
	(medusa_nfs_mount_list_initialize): Changed to use the prepend/
	reverse idiom and to convert the paths into URIs using the
	gnome-vfs function instead of just sticking a "file://" on the
	beginning.
	* search-service/medusa-authenticate.c:
	(medusa_authenticate_uid_can_read): Changed to use the gnome-vfs
	function to convert the URI into a local path instead of just
	removing the "file://" from the beginning.
	
	* search-service/medusa-authenticate.h: Added include so this
	header stands on its own.
	
	* search-service/medusa-unindexed-search.c:
	(execute_query_on_file): Changed to use the gnome-vfs function to
	convert a local path into a URI instead of just adding the
	"file://" to the beginning.
	(directory_name_matches): Fixed memory-trash problem where it would
	do a strncpy without a buffer. Use g_strndup instead.

2000-08-28  Rebecca Schulman  <rebecka@eazel.com>
	
	Work on task 1969, to allow content searches to
	be done by looking for "all the words" or
	"any of the words".  To do this, the 
	search uri spec was changed to take 
	content criteria that include "includes_all_of"
	and "includes_any_of"

	* libmedusa-internal/medusa-text-index-queries.c:
	* libmedusa-internal/medusa-text-index-queries.h:
	(medusa_text_index_get_uris_for_criterion), (word_to_uri_numbers):
	Added new procedure to deal with taking the union or intersection
	of the words in a content criterion
	
	* libmedusa/medusa-utils.c:
	* libmedusa/medusa-utils.h:
	(medusa_union_of_two_descending_integer_lists):
	Add new array union function.
	
	* libmedusa-internal/medusa-search-uri.c:
	* libmedusa-internal/medusa-search-uri.h:
	(medusa_search_uri_to_clause_closures), (clause_to_clause_closure),
	(medusa_search_uri_contains_content_requests),
	(clause_is_content_request), (get_verb_from_clause),
	(get_direct_object_from_clause),
	(request_wants_all_words_to_match),
	(request_should_return_matches_not_complement):
	Changed closure structure to include the necessary information
	about the type of content query.  It now keeps
	track of whether a content search is for a union or intersection
	and whether the search is for the complement or not.

	* libmedusa-internal/medusa-master-db.c:
	(run_query_on_everything_but_content_results),
	(content_requests_to_uri_numbers):
	Fixed a bug in the content does not include
	search that was not calculating the number of uris
	correctly.  Changed query procedure that takes
	a text search criterion to one that handles the
	new syntax
	
	* doc/search_uri_rfc:
	Changed spec to include information on
	the new syntax for content requests.

	* libmedusa-internal/medusa-query-clauses.h:
	* libmedusa-internal/medusa-query-clauses.c:
	(medusa_query_clauses_get_function):
	Changed some functions to take const char *
	instead of char * where appropriate

	* search-service/medusa-file-search-parse-transmission.c:
	(run_query):
	Remove old unindexed search skeleton.  Unnecessary now
	that we have changed the architecture
	
	* tests/medusa-text-index-test.c: (main):
	Changed query function

2000-08-28  Pavel Cisler  <pavel@eazel.com>

	* tests/Makefile.am:
	Fix a subtle build breakage - the tests were linking against the
	libmedusa-index.la in the source tree as well as -lmedusa-index in the
	target install directory (the second was redundant). This would make the
	build fail if you never built libmedusa-index.so before.

2000-08-25  Rebecca Schulman  <rebecka@eazel.com>

	* tests/medusa-queue-test.c: (main):
	Forgot to add test file for the queue

2000-08-25  Rebecca Schulman  <rebecka@eazel.com>
        Added the unindexed
	search, which goes along with the indexed search.  
	The search service is now a superclass of both
	of them.  The unindexed search's addition created
	new dependencies, which I avoided by moving several
	files to libmedusa.

	New search service code
	* libmedusa/medusa-indexed-search.h:
	* libmedusa/medusa-indexed-search.c: (authenticate_connection),
	(medusa_indexed_search_is_available), (medusa_indexed_search_new),
	(send_search_request), (medusa_indexed_search_start_search),
	(medusa_indexed_search_read_search_result),
	(medusa_indexed_search_destroy):
	moved most functions from medusa-search-service here.
	
	
	* libmedusa/medusa-search-service.c:
	* libmedusa/medusa-search-service.h:
	(medusa_search_service_connection_is_available_for_uri),
	(medusa_search_service_connection_new),
	(medusa_search_service_connection_start_search),
	(medusa_search_service_connection_read_search_result),
	(medusa_search_service_connection_destroy), (uri_has_valid_header),
	(gnome_vfs_uri_to_search_method), (uri_to_search_method),
	(uri_to_string_remove_extra_slashes):
	Kept same API, with a few small changes, but api is now a wrapper
	for the indexed and unindexed saerch.
	
	
	* libmedusa/medusa-unindexed-search.c:
	* libmedusa/medusa-unindexed-search.h:
	(medusa_unindexed_search_new),
	(medusa_unindexed_search_start_search),
	(medusa_unindexed_search_read_search_result),
	(medusa_unindexed_search_destroy), (search_directory),
	(file_matches_criteria), (matches_all_name_criteria),
	(matches_all_file_info_criteria), (matches_all_mime_criteria),
	(matches_all_metadata_criteria), (match_one_name),
	(match_one_file_info), (match_date_modified_criterion),
	(match_owner_criterion), (match_group_criterion),
	(match_size_criterion), (match_one_mime_type),
	(get_root_directory_from_uri), (uri_to_search_string),
	(search_string_to_criteria), (criterion_is_name_criterion),
	(criterion_is_inode_criterion), (criterion_is_mime_criterion),
	(criterion_is_metadata_criterion), (criterion_field_is),
	(uri_to_file_name), (uri_to_path_name), (match_string_to_date),
	(second_word_of), (last_word_of),
	(initialize_results_file_for_writing),
	(initialize_results_file_for_reading):
	Created new search process for unindexed queries.
	This should mirror the indexed search process except not
	work for content.

	* doc/search_uri_rfc:
	added documentation for new uri syntaxes that
	allows a request for either index only or backed
	up search
	
	* gnome-vfs-module/search-method.c: (do_open_directory),
	(do_get_file_info): 
	* msearch/medusa-command-line-search.c: (main):
	Updated to reflect new API

	New code, now not used (perhaps will decrement at a later
	time, if it is still not used)
	* libmedusa-internal/medusa-queue.h:	
	* libmedusa-internal/medusa-queue.c: (medusa_queue_new),
	(medusa_queue_add), (medusa_queue_remove), (medusa_queue_is_empty),
	(medusa_queue_free), (medusa_queue_free_deep):
	Added new queue data structure.

	Libmedusa-internal -> libmedusa changes
	
	* libmedusa-internal/medusa-utils.c:
	* libmedusa-internal/medusa-utils.h:
	* libmedusa/medusa-utils.c:
	* libmedusa/medusa-utils.h:
	removed and moved to libmedusa

	* libmedusa/medusa-file-info-utilities.c:
	* libmedusa/medusa-file-info-utilities.h:
	(medusa_file_info_username_is_valid),
	(medusa_file_info_username_to_uid),
	(medusa_file_info_group_to_gid),
	(number_of_strsplit_fields_returned),
	(get_time_struct_for_beginning_of_date),
	(get_time_struct_for_end_of_date), (is_a_leap_year),
	(move_time_struct_a_week_into_the_past),
	(move_time_struct_a_week_into_the_future),
	(move_time_struct_a_month_into_the_past),
	(move_time_struct_a_month_into_the_future),
	(medusa_file_info_get_first_unix_time_occurring_on_date),
	(medusa_file_info_get_last_unix_time_occurring_on_date),
	(medusa_file_info_get_unix_time_a_week_before_date),
	(medusa_file_info_get_unix_time_a_week_after_date),
	(medusa_file_info_get_unix_time_a_month_before_date),
	(medusa_file_info_get_unix_time_a_month_after_date):
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_is_owned_by), (medusa_file_index_is_in_group),
	(medusa_file_index_is_not_owned_by),
	(medusa_file_index_is_modified_on_date),
	(medusa_file_index_is_not_modified_on_date),
	(medusa_file_index_is_modified_before_date),
	(medusa_file_index_is_modified_after_date),
	(medusa_file_index_is_modified_within_a_week_of_date),
	(medusa_file_index_is_modified_within_a_month_of_date),
	(medusa_file_index_is_not_in_group):
	* libmedusa-internal/medusa-hash.h:
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_query),
	(index_directory), (run_query_on_content_results),
	(run_query_on_everything_but_content_results),
	(run_query_on_all_uris), (content_requests_to_uri_numbers),
	(merge_new_uris_with_current_results_and_free):
	moved these functions from medusa-file-index-queries to
	medusa-file-info-utilities, made them public, and
	changed their names accordingly

	* libmedusa-internal/medusa-uri-list.c:
	(read_index_info_from_database):
	* libmedusa-internal/medusa-uri-list.h:
	Moved stop list file and nfs mount check functions to 
	libmedusa

	
	* Makefile.am:  Changed compilation order of 
	subdirectories to reflect new dependencies
	
	* indexer/Makefile.am:
	* libmedusa-internal/Makefile.am:
	* libmedusa/Makefile.am:
	* msearch/Makefile.am:
	* search-service/Makefile.am:
	* tests/Makefile.am:
	Updated to reflect new dependency of libmedusa-index
	on libmedusa.  Link both libmedusa-index and libmedusa
	where just libmedusa-index was linked before
	
	* libmedusa-internal/medusa-conf.h: Moved 
	FILE_INDEX_STOPLIST_NAME definition to 
	medusa-utils in libmedusa.
	
	* libmedusa-internal/medusa-rdb-fields.h:
	* libmedusa-internal/medusa-rdb-file.h:
	* libmedusa-internal/medusa-rdb-query.h:
	* libmedusa-internal/medusa-master-db.h:
	* search-service/medusa-authenticate.c:
	Changed " " on includes to <> for files moved to
	libmedusa.
	
	* libmedusa-internal/medusa-search-uri.c:
	(medusa_search_uri_to_clause_closures), (medusa_uri_is_search_uri),
	(bypass_search_method):
	* libmedusa-internal/medusa-search-uri.h:
	Moved criterion variables to libmedusa, where they are used
	

	Miscellany
	* databases/file-index-stoplist:
	added /dev
		
	* .cvsignore:
	added new and exciting entries.
	

2000-08-24  Darin Adler  <darin@eazel.com>

	* gnome-vfs-module/Makefile.am: Rolled out (my 1st try at fixing)
	Robin's change to the makefile in this directory. It was failing
	in libtool. Maybe Robin can do a real fix, but we need a temporary
	fix for now.

2000-08-24  Darin Adler  <darin@eazel.com>

	The first code for indexing keywords. There's a lot more to do.
	This is less than 1/5th of the work.

	* libmedusa-internal/medusa-master-db.c:
	(index_directory): Fixed bug where it would turn a URI into a path
	without unescaping. Added hook to trigger indexing public metafiles.
	(medusa_master_db_destroy): Unref the text indexer.
	(add_keywords_to_index), (index_public_metafile):
	Placeholder/first cut at indexing the keywords in public
	metafiles.
	
	* libmedusa-internal/medusa-search-uri.c:
	(medusa_search_uri_to_clause_closures), (clause_to_clause_closure),
	(medusa_clause_closure_free), (medusa_uri_is_search_uri),
	(get_next_root_uri), (get_search_criteria):
	Style cleanups, including getting rid of some "== TRUE",
	reformatting, adding some FIXMEs, replacing a tricky strncpy with
	a simpler g_strndup.
	
	* libmedusa-internal/medusa-utils.h:
	* libmedusa-internal/medusa-utils.c:
	(medusa_full_uri_from_directory_and_file): Fixed bugs where the
	file name would not be escaped and a second '/' would be added to
	URIs other than "file:///" that end in a slash.
	(string_ends_with_slash): Fixed bug for 0-length string.
	(medusa_string_has_prefix): const.
	(medusa_extract_keywords_from_metafile): Partly-written function
	that will be used to parse both public and private metafiles.
	
	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_is_available): Fixed prototype.
	
	* medusa/.cvsignore: Removed this file. When you see old leftover
	files in this now-empty directory, remove the directory, don't
	re-add the ignore file.
	
	* configure.in: Added a gnome-xml dependency.
	* gnome-vfs-module/Makefile.am:
	* indexer/Makefile.am:
	* libmedusa-internal/Makefile.am:
	* search-service/Makefile.am:
	* tests/Makefile.am:
	Added the XML library to all modules that use the medusa internal
	library. There's got to be a cleaner way to do this, but this is
	how it was done for other things used by the internal library, so
	someone else can fix it for XML as well when they fix the rest.
	
	* libmedusa-internal/medusa-file-index-encoders.c:
	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-file-index.c:
	* libmedusa-internal/medusa-master-db.h:
	* libmedusa-internal/medusa-search-uri.h:
	A little formatting cleanup.
	
2000-08-24  Robin * Slomkowski  <rslomkow@eazel.com>

	* gnome-vfs-module/Makefile.am:
	* indexer/Makefile.am:
	* search-service/Makefile.am:
	* tests/Makefile.am:
	converted references to -lmedusa-index 
	$(top_srcdir)/libmedusa-internal/libmedusa-index.la
	This makes internal depencies work in clean an environment

2000-08-24  Rebecca Schulman  <rebecka@eazel.com>

	* indexer/medusa-file-index-daemon.c: (main):
	fixed indexer exit problem

2000-08-23  Rebecca Schulman  <rebecka@eazel.com>

	* Makefile.am: yet another build fix,
	for dependencies.

2000-08-23  Rebecca Schulman  <rebecka@eazel.com>

	* indexer/Makefile.am:
	* search-service/Makefile.am:
	* tests/Makefile.am:

	Fixed references to uninstalled libmedusa-internals
	that did not get updated last night.

2000-08-22  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/Makefile.am:
	* libmedusa-internal/.cvsignore:
	Changed the name of libmedusa-internal to
	libmedusa-index, and installed it publicly.
	Added relevant changes to .cvsignore to
	make updating ith the new system smooth.

Fri Aug 18 20:58:21 2000  George Lebl <jirka@5z.com>

	* libmedusa/medusa-index-service.h:  replace MEDUSA_SEARCH_SERVICE_H
	  with MEDUSA_INDEX_SERVICE_H to make things using this compile and
	  work

2000-08-16  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa/medusa-index-service-private.h:
	added header file that didn't get added because of its
	previous removal

2000-08-16  Rebecca Schulman  <rebecka@eazel.com>
	Implemented changes relating to two bugs:
	bugzilla.eazel.com 1341: a signalling 
	system to talk to the indexer, and 2071
	to make the date modified search criteria more
	useable in nautilus

	* indexer/medusa-file-index-daemon.c: (main),
	(wait_for_indexing_signal), (initialize_index_server_socket),
	(file_indexer_parse_transmission):
	added functions to accept and parse transmission, and added the
	accept function into the main loop.
	
	* libmedusa-internal/medusa-file-index-queries.h:
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_is_not_of_type),
	(medusa_file_index_is_owned_by),
	(medusa_file_index_is_modified_on_date),
	(medusa_file_index_is_not_modified_on_date),
	(medusa_file_index_is_modified_before_date),
	(medusa_file_index_is_modified_after_date),
	(medusa_file_index_is_modified_within_a_week_of_date),
	(medusa_file_index_is_modified_within_a_month_of_date),
	(medusa_file_index_is_modified_in_time_interval),
	(medusa_file_index_is_not_in_group), (username_is_valid),
	(username_to_uid), (group_to_gid),
	(number_of_strsplit_fields_returned),
	(get_time_struct_for_beginning_of_date),
	(get_time_struct_for_end_of_date), (is_a_leap_year),
	(move_time_struct_a_week_into_the_past),
	(move_time_struct_a_week_into_the_future),
	(move_time_struct_a_month_into_the_past),
	(move_time_struct_a_month_into_the_future),
	(get_first_unix_time_occurring_on_date),
	(get_last_unix_time_occurring_on_date),
	(get_unix_time_a_week_before_date),
	(get_unix_time_a_week_after_date),
	(get_unix_time_a_month_before_date),
	(get_unix_time_a_month_after_date):
	Removed old date functions, and wrote nifty new functions
	to do what we want in nautilus for searches.  
	See the search_uri_rfc for the new spec.

	* doc/search_uri_rfc : updated the supported
	functionality list to reflect the date query changes
	
	* libmedusa-internal/medusa-file-index.c: (file_index_clauses):
	registered the new date modified search uri criteria, and
	deregistered the old ones
	
	* libmedusa-internal/medusa-lock-file.h:
	* libmedusa-internal/medusa-lock-file.c:
	(medusa_lock_file_is_available), (medusa_lock_file_acquire):
	added a new function, and fixed a bug in the old one

	* libmedusa/medusa-index-service.h:
	* libmedusa/medusa-index-service.c:
	* libmedusa/medusa-index-service-private.h:
	(medusa_index_service_request_reindex),
	(medusa_index_service_get_last_index_update_time),
	(get_last_index_update_time_by_hack):
	added this api.

	* libmedusa/Makefile.am:
	* libmedusa/medusa-common-private.h:
	changed support files in correspondence with general
	cleanup in this directory

	
	
	* libmedusa/medusa-service-private.h:
	* libmedusa/medusa-service-private.c:
	(medusa_initialize_socket_for_requests):
	changed the names of these files

	* libmedusa/medusa-search-service-private.h:
	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_new):
	reflect name changes, and new functionality in 
	medusa-service-private.[ch]
	
	* tests/Makefile.am:
	* tests/medusa-index-service-test.c:
	added test stub for indexing api

2000-08-14  Robin * Slomkowski  <rslomkow@eazel.com>

	* configure.in: OK -Werror back in and version 0.2.0

2000-08-14  Robin * Slomkowski  <rslomkow@eazel.com>

	* configure.in: Changed version for release to 0.2

2000-08-10  Rebecca Schulman  <rebecka@eazel.com>

	* DEBUGGING: 
	* NEWS:
	* README:
	* TODO:
	Updated relevant documentation to be up to date, and acceptable
	for the preview release.

2000-08-10  John Sullivan  <sullivan@eazel.com>

	* gnome-vfs-module/search-method.c: (do_read_directory),
	(do_get_file_info): Set the SYMLINK flag when returning
	those funky search symlinks. It turns out this doesn't
	matter for the way we're using it in Nautilus now, but I
	thought it did at the time I made the change, and it
	is correct, so I'm checking it in anyway.

2000-08-10  Maciej Stachowiak  <mjs@eazel.com>

	FreeBSD portability fixes:
	
	* acconfig.h, configure.in: Add checks for getmntent and
	getmntinfo.

	* libmedusa-internal/medusa-uri-list.c
	(medusa_nfs_mount_list_initialize): Make this function work on
	systems like FreeBSD that have getmntinfo() but not
	getmntent(). Fix from Bill Huey <billh@gnuppy.monkey.org>.
	
	* indexer/medusa-file-index-daemon.c,
	libmedusa-internal/medusa-file-index-queries.c,
	libmedusa-internal/medusa-rdb-query.c,
	libmedusa-internal/medusa-utils.c,
	libmedusa/medusa-search-service.c,
	search-service/medusa-file-search-daemon.c: Header fixes for
	FreeBSD compilation, also from Bill Huey
	<billh@gnuppy.monkey.org>.

2000-08-09  Robin * Slomkowski  <rslomkow@eazel.com>

	* medusa.spec.in: updated for current files

Wed Aug 09 18:10:14 2000  George Lebl <jirka@5z.com>

	* libmedusa-internal/medusa-text-index.c
	  (medusa_text_index_finish_indexing):  Another alpha anal
	  patch.  Cast to (int) when printing %d to make sure it's
	  an integer (sizeof is not int on alpha but it's 64bit)

2000-08-09  Rebecca Schulman  <rebecka@eazel.com>

	* doc/search_uri_rfc:
	tried to update the search uri rfc to reflect both
	medusa's behavior and the nautilus ui spec
	* libmedusa-internal/medusa-conf.h:
	enlarged word hash table to reflect increased number of
	words that result from allowing '_' within words.
	* libmedusa-internal/medusa-uri-list.c: (uri_list_clauses):
	fixed a clause incorrectly bound to the wrong function

2000-08-09  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	(read_more_data):
	allow words with underscores in them to be indexed as 
	a single word.
	* libmedusa/Makefile.am:
	* libmedusa/medusa-index-service.h:
	added medusa-index-service.h 

2000-08-09  Rebecca Schulman  <rebecka@eazel.com>

	Fixed part of bug 2049 by adding medusa 
	function to answer file_type is_not queries.	

	* libmedusa-internal/medusa-file-index-queries.h:
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_is_not_of_type):
	* libmedusa-internal/medusa-file-index.c: (file_index_clauses):

2000-08-09  Pavel Cisler  <pavel@eazel.com>

	* gnome-vfs-module/search-method.c: (do_find_directory):
	gnome_vfs_find_directory now takes an optional find_if_needed
	parameter.

2000-08-08  Rebecca Schulman  <rebecka@eazel.com>

	* gnome-vfs-module/search-method.c:
	(get_file_info_for_virtual_directory):
	Made the mtime of search directories
	the time of search.
	nautilus displays this information in
	the sidebar as the time, and this seemed
	to be the most logical time.

2000-08-07  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c:
	(get_file_info_for_virtual_directory):
	* indexer/medusa-text-index-mime-module.c:
	(medusa_text_index_mime_module_test):
	* libmedusa-internal/medusa-file-index-queries.c:
	* libmedusa-internal/medusa-text-index-mime-module.c:
	(medusa_text_index_mime_module_test):

        Renamedirectory mime types: 

	x-special/directory            =>   x-directory/normal
	x-special/webdav-directory     =>   x-directory/webdav
	x-special/virtual-directory    =>   x-directory/search

	
2000-08-07  Maciej Stachowiak  <mjs@eazel.com>

	* CVSVERSION: New file, used to detect whether we are configuring
	a cvs version or a release tarball.
	
	* configure.in: Default -Werror to off when configuring a release
	tarball, and to on when configuring a cvs version.

2000-08-07  John Sullivan  <sullivan@eazel.com>

	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_new):
	One more fix. Now the success case works as well
	as the failure case. Initialize result to
	GNOME_VFS_OK if nothing goes wrong.

2000-08-07  John Sullivan  <sullivan@eazel.com>

	Finished bug 2005 (Search should give error message when
	demon isn't running)

	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_is_available):
	Don't call _destroy on connection if it's NULL.
	This makes Nautilus correctly report that search
	is not available when you try without the search
	demon.

2000-08-07  Rebecca Schulman  <rebecka@eazel.com>

	* gnome-vfs-module/search-method.c: (do_get_file_info):
	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_is_available):
	* libmedusa/medusa-search-service.h:
	added correct result to be returned if search service
	is isn't running for get_file_info 

2000-08-07  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa/medusa-search-service.c: (initialize_socket):
	removed annoying g_return_if_fail error message if 
	the search service is unavailable now that we are handling it
	better.

2000-08-07  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-uri-list-queries.c:
	(medusa_uri_list_has_file_name_starting_with),
	(medusa_uri_list_has_file_name_ending_with):
	fixed bugs that made these searches not work correctly.
	
	* libmedusa-internal/medusa-uri-list.c: (uri_list_clauses):
	added function to make starts_with work with nautilus.
	
	* libmedusa/medusa-search-service.c:
	* libmedusa/medusa-search-service.h:
	(medusa_search_service_connection_new):
	changed signature to include a gnomevfsresult structure, to
	enable error reporting.
	
	* msearch/medusa-command-line-search.c: (main):
	changed medusa_search_service_connection_new to correspond to
	the new call signature
	
2000-08-07  Gene Z. Ragan  <gzr@eazel.com>

	* gnome-vfs-module/search-method.c: (do_open_directory):
	Added a check for the GnomeVFSResult when we create a connection
	to medusa.  Return error if one is found.

2000-08-07  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/Makefile.am: Add EXTRA_DIST rule to appease the
	`make distcheck' gods.

2000-08-07  Rebecca Schulman  <rebecka@eazel.com>


	* libmedusa-internal/Makefile.am:
	fixed lack of header file listed that failed make distcheck
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_query):
	fixed printf to only output if logging is turned on.

2000-08-07  Rebecca Schulman  <rebecka@eazel.com>

	* doc/indexing_methodology:
	in progress vague algorithm/code documentation
	* libmedusa-internal/medusa-tokenize.c:
	removed unnecessary gdbm.h include

2000-08-07  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	only index words, not numbers.
	* indexer/medusa-file-index-daemon.c: (copy_new_index_files):
	erase temporary index files at the end of indexing.

2000-08-06  Rebecca Schulman  <rebecka@eazel.com>
	Yetw another performance fix on the indexer.
	This one separates index generation io into
	two parts; the first writes direct to disk
	without memory mapped io, and the second
	part (where the temporary text index gets
	sorted) 
	uses memory mapped io.  This saves memory
	when creating the temp indexes, and keeps 
	the performancewhere it is really needed.

	* libmedusa-internal/medusa-io-handler.h:
	* libmedusa-internal/medusa-io-handler.c:
	(medusa_io_handler_write_header),
	(write_header_to_file_descriptor),
	(fopen_new_with_medusa_io_handler_header):
	added a new call to write an io handler header
	to a normally accessed file

	* libmedusa-internal/medusa-text-index-private.h:
	added additionaly structures to keep both
	streams and io handlers for the temp indices

	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new),
	(get_uri_number_from_temp_index_cell),
	(get_last_cell_from_temp_index_cell), (text_index_files_are_ready),
	(medusa_text_index_read_file), (medusa_text_index_finish_indexing),
	(setup_temp_index_io_handlers),
	(sort_temp_index_data_into_permenant_index), (uri_number_of_cell),
	(medusa_text_index_destroy):
	changed initial io handler declarations to use new fopen
	extension, and later close the temp index streams and
	open io handlers for the second part of the text indexing.
	I hope this code is even vaguely comprehensible.

2000-08-04  Rebecca Schulman  <rebecka@eazel.com>
	Split the temporary index into 11 parts to save 
	RAM.  In retrospect, I should use a power of 2.

	* libmedusa-internal/medusa-conf.h:
	added NUMBER_OF_TEMP_INDEXES variable, and set it to 11
	
	* libmedusa-internal/medusa-text-index-private.h:
	added handlers for each of the separate text indices to
	the struct, and state information for each of them
	
	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new),
	(get_uri_number_from_temp_index_cell),
	(get_last_cell_from_temp_index_cell),
	(medusa_text_index_read_file), (medusa_text_index_finish_indexing),
	(add_word_to_real_index), (uri_number_of_cell),
	(medusa_text_index_destroy):
	Changed the text indexer to write the locations of words initially
	to one of 11 temporary indices.  Which one to write to is decided
	by the value of the word's integer token mod 11.
	Then, to save memory, we add the data from each of the small text
	indexes to the large index in serial.
	
	* indexer/medusa-file-index-daemon.c: (do_full_indexing):
	Erase all of the new files

2000-08-03  Rebecca Schulman  <rebecka@eazel.com>

	* DEBUGGING: yet more debugs

	added skipping of nfs mount points for now.
	we can deal with how to index them later.
	* libmedusa-internal/medusa-master-db.c: (index_directory):
	* libmedusa-internal/medusa-uri-list.c:
	(medusa_uri_list_is_nfs_mount_point),
	(medusa_nfs_mount_list_initialize):
	* libmedusa-internal/medusa-uri-list.h:

2000-08-02  Rebecca Schulman  <rebecka@eazel.com>

	* DEBUGGING: Fixed error in the explanation
	of how to debug medusa-searchd

2000-08-02  Rebecca Schulman  <rebecka@eazel.com>

	* DEBUGGING: Added instructions on how
	to run gdb on the search and index daemons

2000-08-02  Rebecca Schulman  <rebecka@eazel.com>

	* search-service/medusa-authenticate.c:
	(medusa_authenticate_create_cookie_file):
	Fixed bug that created permissions incorrectly
	for the cookie directory.
	* Changelog finished my last changelog entry.

2000-08-02  Rebecca Schulman  <rebecka@eazel.com>
	Fixed all of the logging stuff to actually behave
	according to environment variables, so that people
	having trouble setting up the search service can
	report useful errors.  Information on using the logging capabilities
	can be found in the new DEBUGGING file.

	* DEBUGGING  -- explanation of how to report problems with the
	search service.
	
	all the below changes result from changing the api for 
	medusa-master-db, medusa-uri-list and medusa-text-index
	
	* indexer/medusa-file-index-daemon.c: (do_full_indexing):
	
	* libmedusa-internal/medusa-enums.h:
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new),
	(index_directory), (index_file):
	* libmedusa-internal/medusa-master-db.h:
	* libmedusa-internal/medusa-text-index-private.h:
	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new),
	(medusa_text_index_read_file), (medusa_text_index_finish_indexing),
	(add_word_to_real_index), (uri_number_of_cell),
	(text_index_add_mime_modules):
	* libmedusa-internal/medusa-text-index.h:
	* libmedusa-internal/medusa-uri-list-private.h:
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new):
	* libmedusa-internal/medusa-uri-list.h:
	* search-service/medusa-unindexed-search.h:

Tue Aug 01 18:13:36 2000  George Lebl <jirka@5z.com>

	* libmedusa-internal/medusa-text-index-plaintext-module.c
	  (add_key_to_word_array) (handle_word_fragment): When storing
	  an integer in pointer use GINT_TO_POINTER and GPOINTER_TO_INT

	* libmedusa-internal/medusa-text-index-queries.c: include string.h

	* libmedusa-internal/medusa-text-index.c
	  (medusa_text_index_finish_indexing): when printing "%d" cast to
	  int to make sure it's an int

2000-07-31  Rebecca Schulman  <rebecka@eazel.com>

	* .cvsignore:
	added some files
	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	(read_more_data):
	removed a bogus duplicate close

2000-07-31  Rebecca Schulman  <rebecka@eazel.com>
	Fixed logging to be off by default,
	and added an accounting mode, as well as several levels
	of optional logging that will be put in place.  This still
	doesn't cover the case where we only want certain types of
	data to be logged.  I think that we should use a 1<<
	type solution so flags can be anded.  But this should
	work to prevent the case where the medusa log grows
	huge, and this isn't easy to turn off.

	* doc/flags:
	recorded new flags relating to  logging.

	* libmedusa-internal/medusa-master-db-private.h:
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new):
	* libmedusa-internal/medusa-master-db.h:
	changed db_new arguments to include a logging level parameter.	
	
	* indexer/medusa-file-index-daemon.c: (main),
	(do_index_accounting), (do_full_indexing), (do_fast_reindexing):
	* search-service/medusa-file-search-daemon.c: (main):
	* tests/medusa-text-index-test.c: (main):
	update to use new medusa_db_new call
	
	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	(medusa_text_index_parse_plaintext), (read_more_data):
	fixed a few g_return_if_fails that do real operations,
	that Dan Winship pointed out.
	
	
	* libmedusa-internal/medusa-conf.h:
	set up medusa to use new flags (log nothing but errors 
	by default)

	* libmedusa-internal/medusa-text-index.c:
	(medusa_text_index_read_file), (add_word_to_real_index),
	(text_index_add_mime_modules):
	changed to not output so much crap.  needs to use 
	logging level, still.
	
	* libmedusa-internal/medusa-utils.c:
	(medusa_g_list_free_deep_custom), (medusa_g_list_free_deep):
	* libmedusa-internal/medusa-utils.h:
	added list free deep operations to use to fix memory leak.

	* search-service/medusa-file-search-parse-transmission.c:
	(present_query_results):
	fixed large memory leak
	
	* text-index-account-generate.pl:
	added new script that analsyzes text index accounting files

2000-07-28  Rebecca Schulman  <rebecka@eazel.com>
	so the content search should be running for plain text index
	files and fully integrated into the search daemon now.

	* RENAMING:
	added suggestions for medusa-utils and moving clause closure stuff
	* doc/flags:
	added permissions debugging flag for new text index induced
	permission checking through the index.
	
	* indexer/medusa-file-index-daemon.c: (main), (do_full_indexing),
	(indexing_signal_received_callback), (copy_new_index_files):
	added command to take a directory to index, for debugging purposes,
	and remove the text index  file when done indexing.
	
	* libmedusa-internal/medusa-conf.h:
	made the word hash table bigger...it was locking up on my machine.
	we'll have to deal with the resize issue so that this isn't a 
	problem.
	
	* libmedusa-internal/medusa-query-clauses.h:
	* libmedusa-internal/medusa-file-index-queries.c:
	* libmedusa-internal/medusa-file-index-queries.h:
	(medusa_file_index_is_of_type), (medusa_file_index_is_owned_by),
	(medusa_file_index_is_in_group),
	(medusa_file_index_is_not_owned_by),
	(medusa_file_index_is_not_in_group),
	(medusa_file_index_is_modified_today),
	(medusa_file_index_is_modified_in_last_seven_days),
	(medusa_file_index_is_modified_this_month),
	(medusa_file_index_is_not_modified_today),
	(medusa_file_index_is_not_modified_in_last_seven_days),
	(medusa_file_index_is_not_modified_this_month),
	(medusa_file_index_uid_can_read_file):
	* libmedusa-internal/medusa-uri-list-queries.c:
	* libmedusa-internal/medusa-uri-list-queries.h:
	(medusa_uri_list_has_name_containing),
	(medusa_uri_list_has_name_not_containing),
	(medusa_uri_list_is_in_directory_containing),
	(medusa_uri_list_has_file_name_starting_with),
	(medusa_uri_list_has_file_name_ending_with),
	(medusa_uri_list_is_in_directory_tree),
	(medusa_uri_list_has_name_glob_matching),
	(medusa_uri_list_has_full_file_name):
	Changed the query functions to be simpler, and not
	to contain the file to be checked's iteration.
	this was necessary to search intermittent files
	in the index, as we'd like to do for combination
	text index and file index checks
	

	* libmedusa-internal/medusa-utils.c:
	* libmedusa-internal/medusa-utils.h:
	* search-service/medusa-authenticate.c:
	(calculate_permissions_for_file):
	(medusa_full_path_from_directory_and_file),
	(medusa_group_contains), (medusa_string_has_prefix),
	(medusa_g_list_partition),
	(medusa_intersect_two_descending_integer_lists),
	(medusa_difference_of_two_descending_integer_lists):
	added utility functions for going over text index results,
	and made group_contains function public so that 
	the permissions check can use it.

	* libmedusa-internal/medusa-file-index.c: (file_index_clauses):
	added permissions checking query
	
	* libmedusa-internal/medusa-master-db.c: 
	* libmedusa-internal/medusa-master-db.h:
	(medusa_master_db_query),
	(query_execute_from_clause_closure), (index_directory),
	(append_uri_to_results_if_matches),
	(content_requests_to_uri_numbers),
	(merge_new_uris_with_current_results_and_free),
	(medusa_master_db_ref):
	added functionality to integrate text index and 
	file index searches.


	* libmedusa-internal/medusa-rdb-query.c:
	(medusa_rdb_query_criterion_match):
	fixed a bug in the regexp hash table that was 
	causing it to get filled with garbage with the new
	query design.
	
	* libmedusa-internal/medusa-search-uri.c:
	* libmedusa-internal/medusa-search-uri.h:
	(clause_to_clause_closure),
	(medusa_search_uri_contains_content_requests),
	(medusa_search_uri_add_user_can_read),
	(medusa_clause_closure_free),
	(medusa_clause_closure_is_content_search):
	enhanced the closures to take the infomration for 
	arguments to text index searches, as well as 
	file index searches.  added an api to support this

	* libmedusa-internal/medusa-text-index-queries.c:
	* libmedusa-internal/medusa-text-index-queries.h:
	(medusa_text_index_word_to_uri_numbers):
	changed the way it communicates the results to avoid
	memory issues, and fixed a nasty off by one error.

	* libmedusa-internal/medusa-text-index-test.c: (main):
	removed.

	* search-service/medusa-file-search-parse-transmission.c:
	(run_query):
	added separate permissions checking for content queries.
	
	* tests/medusa-text-index-test.c: (main):

2000-07-27  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-conf.h:
	keep text index turned off by default

2000-07-27  Rebecca Schulman  <rebecka@eazel.com>
	* Makefile.am: 
	* tests/medusa-text-index-test.c
	fixed build issues and added relevant file

2000-07-27  Pavel Cisler  <pavel@eazel.com>

	* Makefile.am:
	Disable the testing directory temporarily to avoid build breakage.
	
	
2000-07-27  Rebecca Schulman  <rebecka@eazel.com>
	Oh the excitement, the text index is working.
	There are a few new calls.
	I need to fix the query stuff to make the text index
	work, and to massively optimize the query stuff,
	which is pathetic right now.
	you can test the text index by running
	tests/medusa-text-index-test

	* libmedusa-internal/medusa-text-index.h:
	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new),
	(get_uri_number_from_temp_index_cell),
	(get_last_cell_from_temp_index_cell),
	(medusa_text_index_read_file), (medusa_text_index_finish_indexing),
	(add_word_to_real_index), (write_start_location_to_location_file),
	(write_end_location_to_location_file),
	(medusa_text_index_read_start_location_from_location_file),
	(medusa_text_index_read_end_location_from_location_file),
	(uri_number_of_cell):
	added filling out the location and start and stop index files

	* libmedusa-internal/medusa-text-index-queries.h:
	* libmedusa-internal/medusa-text-index-queries.c:
	(medusa_text_index_word_to_uri_numbers):
	added standard text index resolution

	
	* libmedusa-internal/medusa-text-index-private.h
	* libmedusa-internal/Makefile.am:
	added medusa-text-index-private.h,for data privacy issues

	* tests/Makefile.am:
	* libmedusa-internal/medusa-text-index-test.c: (main):
	test file for the text index.

	
	* libmedusa-internal/medusa-tokenize.h:
	* libmedusa-internal/medusa-tokenize.c: (medusa_string_has_token),
	(medusa_unsigned_int_to_token):
	added a few new calls for the text index

	* libmedusa-internal/medusa-io-handler.h:
	* libmedusa-internal/medusa-io-handler.c:
	(medusa_io_handler_get_data_region),
	(medusa_io_handler_append_zeros):
	added two new calls used by the text index

	* doc/flags:
	updated the flags list


2000-07-26  Mathieu Lacage  <set EMAIL_ADDRESS environment variable>

	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_read_search_result):
	fix bug which made it not work at all most of the time.
	I _LOVE_ maciej.

2000-07-24  Rebecca Schulman  <rebecka@eazel.com>
        Rewrote and corrected medusa's permissions scheme
	to only return files that a user can know exists,
	ie they can recursively read each of the parent directories.
	This corrects bugzilla.eazel.com bug #1711
	
	* doc/flags:
	added search results debug flag to debug the authentication process
	* search-service/medusa-authenticate.c:
	(medusa_authenticate_create_cookie_file),
	(medusa_authenticate_is_cookie_request),
	(medusa_authenticate_is_correct_cookie),
	(medusa_authenticate_uid_can_read), (can_read_this_directory),
	(calculate_permissions_for_file), (group_contains), (get_user_key):
	* search-service/medusa-authenticate.h:
	* search-service/medusa-file-search-parse-transmission.c:
	(present_query_results), (free_entries):
 
2000-07-21  Mathieu Lacage  <mathieu@eazel.com>

	Update medusa gnome-vfs module to latest gnome-vfs changes.
	If you have pbs with this, please, contact me: It compiles here
	but I dunno how to test it.
	
	* gnome-vfs-module/search-method.c:
	(search_real_directory_handle_new),
	(search_directory_handle_destroy), (do_open_directory),
	(do_read_directory), (get_file_info_cancellable_cover),
	(do_get_file_info), (do_get_file_info_from_handle):
	* libmedusa-internal/medusa-master-db.c: (index_directory):

2000-07-21  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-rdb-query.c:
	(medusa_rdb_query_criterion_match):
	fixed huge leak in query running.

2000-07-21  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new),
	(get_uri_number_from_temp_index_cell),
	(get_last_cell_from_temp_index_cell),
	(medusa_text_index_finish_indexing), (add_word_to_real_index),
	(write_start_location_to_location_file),
	(write_end_location_to_location_file),
	(text_index_add_mime_modules):
	added more code to file out the location and start and stop files

	* libmedusa-internal/medusa-plaintext-utilities.h:
	* doc/desired-modules:
	list of text indexing modules we should consider having soon.

2000-07-20  Rebecca Schulman  <rebecka@eazel.com>
	Changed clauses to include the type of the argument
	they expect, and use that to give the query
	function the right type of argument.  This fixes
	functions that expected numerical arguments, like
	size and date requests.  Added a "state_of_queries"
	file, which talks about which search uri stuff is working
	and isn't.	

	* libmedusa-internal/medusa-query-clauses.c:
	(medusa_query_clauses_add_clause),
	(medusa_query_clauses_get_function), (medusa_query_clause_new):
	* libmedusa-internal/medusa-query-clauses.h:
	keep track of types in MedusaQueryClause structure
	* libmedusa-internal/medusa-file-index.c: (file_index_clauses):
	* libmedusa-internal/medusa-uri-list.c: (uri_list_clauses):
	added types to the query clauses definitions.
	
	* libmedusa-internal/medusa-search-uri.c:
	(clause_to_clause_closure):
	* libmedusa-internal/medusa-search-uri.h:
	use argument types to process search uri types
	

	Started the process of creating the reverse text index
	from the temporary text index
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_index):
	after iterating through the files, added a call to finish up the
	text index stuff.
	* libmedusa-internal/medusa-text-index.c:
	(medusa_text_index_finish_indexing), (add_word_to_real_index),
	(text_index_clauses):
	* libmedusa-internal/medusa-text-index.h:
	added new functions to process reverse index (incomplete)

	Keep a file
	* doc/state_of_queries -- keep a file documenting known non-working
	things in msearch.  We need to create a test harness for msearch
	
	* libmedusa-internal/medusa-file-index-queries.h:
	fixed a gid that was called uid
2000-07-20  Darin Adler  <darin@eazel.com>

	* gnome-vfs-module/search-method.c: (parse_search_uri): Fix so
	this function doesn't care about the extra slashes any more, by
	using the path instead of the whole URI.
	(uri_to_string_remove_extra_slashes): Moved this function down
	to make it clear that it's only used in one place.

2000-07-20  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-master-db.c: (index_file):
	fixed bug introduced in cvs merge 

2000-07-20  Rebecca Schulman  <rebecka@eazel.com>

	* .cvsignore:
	* RENAMING:
	* tests/data/.cvsignore:
	CVS housekeeping, and added renaming file
	
2000-07-20  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-master-db.c: (index_file):
	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new),
	(medusa_text_index_read_file):
	* search-service/medusa-file-search-parse-transmission.c:
	(run_query):
	some quick morning fixes to sync my version with the cvs version.
	Added hook to run unindexed background search to the search service

2000-07-19  Rebecca Schulman  <rebecka@eazel.com>

	* gnome-vfs-module/search-method.c:
	(get_file_info_for_virtual_directory):
	changed mime type of virtual directories to "x-special/virtual-directory"
	* libmedusa-internal/medusa-conf.h:
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_query):
	return immediately if the uri is garbage
	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_read_search_result):
	changed a strncpy to g_strndup for clarity and checked for null
	case, which was causing problems
	
2000-07-18  Darin Adler  <darin@eazel.com>

	Some work on the gnome-vfs module to simplify a bit and fix a
	number of bugs found by code inspection. I wasn't able to test,
	but Maciej tested for me and says it works OK.

	* gnome-vfs-module/search-method.c:
	(search_real_directory_handle_new),
	(search_wrapped_directory_handle_new),
	(search_directory_handle_destroy): Got rid of the URI from the
	directory handle, since it's not needed.
	(search_file_handle_new), (search_file_handle_destroy): Store the
	name for the file here instead of storing the entire URI. This is
	only really needed for get_file_info_from_handle.
	(uri_to_string_remove_extra_slashes): Fixed this function to work
	and not leak and gave it a better name.
	(parse_search_uri): Simplify for callers by taking GnomeVFSURI,
	since all the callers want to use it that way. Use g_strndup
	instead of g_new followed by strncpy. Add missing trailing NULL
	parameter to g_strconcat. Add comments.
	(open_cancellable_cover), (do_open), (do_create): Store the name
	of the file in the file handle instead of the complete URI. Also
	create the handle only if the file is successfully opened/created.
	(do_close): Move code to close the file so it's not after the
	return statement.
	(string_g_list_to_strv): Use g_new instead of g_new0 since we
	are writing each entry in the vector.
	(do_open_directory): Changed logic a bit. It worked the old way,
	but the new way matches the way the other calls works more
	closely. Now the metadata is copied elsewhere to keep allocating
	right.
	(get_file_info_for_virtual_directory),
	(get_file_info_for_virtual_link): Common functions to hold the
	code that sets up file info. Set up valid_fields when setting up
	file info.
	(do_read_directory): Fix incorrect use of "&&" to test the
	GNOME_VFS_FILE_INFO_FOLLOW_LINKS bit. The old code would always
	follow links, I believe.
	(get_file_info_cancellable_cover), (do_get_file_info): Fix
	incorrect use of "&&" to test the GNOME_VFS_FILE_INFO_FOLLOW_LINKS
	bit. The old code would always follow links, I believe. Share more
	code between the two child cases.
	(do_get_file_info_from_handle): Fixed storage leak caused by
	creating meta-key array twice. Made it return the right name for
	the SEARCH_URI_TYPE_IMMEDIATE_CHILD case.
	(do_is_local): Added more FIXMEs.
	(do_make_directory): Fix storage leak for the
	SEARCH_URI_TYPE_IMMEDIATE_CHILD case.
	(do_remove_directory): Fix storage leak for the
	SEARCH_URI_TYPE_IMMEDIATE_CHILD case.
	(do_move): Fix storage leak for case where either URI is a
	SEARCH_URI_TYPE_IMMEDIATE_CHILD.
	(do_unlink): Fix storage leak for the
	SEARCH_URI_TYPE_IMMEDIATE_CHILD case.
	(do_check_same_fs): Fix storage leak for case where either URI is
	a SEARCH_URI_TYPE_IMMEDIATE_CHILD. Also fix typo that was causing
	it to use an uninitialized variable (b_type twice).
	(do_set_file_info), (do_truncate), (do_find_directory): Make code
	structure match other similar functions (which fixed leaks in
	those functions, but there were no leaks here).
	(do_create_symbolic_link): Fix storage leak for the
	SEARCH_URI_TYPE_IMMEDIATE_CHILD case.

	* libmedusa-internal/medusa-uri-list-queries.c:
	(medusa_uri_list_has_file_name_starting_with),
	(medusa_uri_list_has_file_name_ending_with),
	(medusa_uri_list_is_in_directory_tree):
	* libmedusa/medusa-search-service.c:
	(medusa_search_service_connection_read_search_result):
	Fixed some calls to g_strconcat that were missing trailing NULL.
	
	* gnome-vfs-module/.cvsignore:
	* libmedusa/.cvsignore:
	Added some ignored files.
	
2000-07-18  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c: (do_read_directory,
	do_get_file_info): Lie about the name correctly, etc.

2000-07-18  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c:
	(search_directory_handle_destroy, string_g_list_to_strv): Manage
	meta_keys arrays better

	(extract_string_from_uri, parse_search_uri): Assorted bug fixes.
	
	(do_open_directory, do_get_file_info,
	do_get_file_info_from_handle): Fixed for meta_key memory
	management.

2000-07-18  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c: (extract_string_from_uri),
	(parse_search_uri), (do_open_directory):
	* libmedusa-internal/medusa-search-uri.c:
	(medusa_search_uri_to_clause_closures):

2000-07-18  Seth Nickell  <seth@eazel.com>

	* gnome-vfs-module/search-method.c: 
	extract_string_from_uri:
	New wrapper function which parses 
	gnome_vfs_uri_to_string to get rid of the "//"s it adds;
	
	(do_open), (do_create), (do_get_file_info), (do_make_directory),
	(do_remove_directory), (do_move), (do_unlink), (do_check_same_fs),
	(do_set_file_info), (do_truncate), (do_find_directory),
	(do_create_symbolic_link):
	Changed from using "uri->text" to the new function.
	
2000-07-18  Seth Nickell  <seth@eazel.com>

	* gnome-vfs-module/search-method.c: (do_get_file_info),
	Added correct setting of symlink_name when dealing with
	immediate children.
	(do_get_file_info_from_handle):
	Implemented again...this time correctly :)
	
2000-07-18  Maciej Stachowiak  <mjs@eazsel.com>

	* gnome-vfs-module/search-method.c (do_get_file_info,
	do_get_file_info_from_handle): Fixed some stuff, put in FIXMEs for
	more.

2000-07-18  Seth Nickell  <seth@eazel.com>

	* gnome-vfs-module/search-method.c: (do_get_file_info),
	(do_get_file_info_from_handle), (do_set_file_info):
	Write remaining "unusual" functions (e.g. ones that are significantly
	different....AND ALL THE GNOME-VFS MODULE FUNCTIONS ARE IMPLEMENTED!

2000-07-18  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c (do_open_directory): Purge yet
	another warning.

2000-07-18  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c: (do_create),
	(do_remove_directory), (do_truncate), (do_find_directory),
	(do_create_symbolic_link): More fixes by inspection.

2000-07-18  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c: (do_create, do_close,
	do_close_directory, do_get_file_info,
	do_get_file_info_from_handle, do_make_directory,
	do_remove_directory, do_move, do_unlink, do_set_file_info): Fix
	warnings and attendant massive lossage.
	(vfs_module_init, vfs_module_shutdown): Add gnome-vfs module
	system boilerplate.

2000-07-18  Seth Nickell  <seth@eazel.com>

	* gnome-vfs-module/search-method.c: (do_find_directory),
	(do_create_symbolic_link): Fix memory leaks.

2000-07-18  Seth Nickell  <seth@eazel.com>

	* gnome-vfs-module/search-method.c: do_create, do_unlink,
	do_truncate: Suck less!
	
	do_truncate_handle, do_find_directory,
	do_create_symbolic_link: Implemented.

2000-07-18  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c
	(search_real_directory_handle_new,
	search_directory_handle_destroy, do_open, do_create,
	do_open_directory, do_close_directory, do_read_directory, do_move,
	do_unlink, do_check_same_fs, do_truncate): All sorts of fixes.
	
	* gnome-vfs-module/Makefile.am: Set INCLUDES, not CFLAGS.

2000-07-18  Seth Nickell  <seth@eazel.com>

	* gnome-vfs-module/search-method.c: (do_make_directory),
	(do_remove_directory), (do_unlink), (do_check_same_fs),
	(do_truncate):
	Some implemented, some fixed to remove compilation problem.

	* configure.in:
	Enable more warnings.
	* gnome-vfs-module/search-method.c: (do_open), (do_create):
	Fix pointer errors.

2000-07-18  Seth Nickell  <seth@eazel.com>

	* gnome-vfs-module/search-method.c: (do_close), 
	(do_read), (do_write), (do_seek), (do_tell):
	Implemented.
	(do_create), (do_open):
	Implemented...I do so love creating wrappered handles...
	
2000-07-17  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c: Realized our life is harder
	than we thought; it's necessary to wrap the handles generated by
	the underlying filesystem oursleves. Isn't this fun?
	(search_real_directory_handle_new,
	search_wrapped_directory_handle_new,
	search_directory_handle_destroy, search_handle_new,
	search_handle_destroy): Handle wrapper handles.
	(do_read): implemented.
	(do_create, do_close, do_write, do_seek, do_tell): Put back stubs.
	(do_open_directory): Some work in progress.

2000-07-17  Seth Nickell  <seth@eazel.com>

	* gnome-vfs-module/search-method.c: (do_is_local),
	(do_make_directory), (do_remove_directory):
	More calls to support GnomeVFS...
	
2000-07-17  Seth Nickell  <seth@eazel.com>

	* gnome-vfs-module/search-method.c: (do_open), (do_create),
	(do_truncate):
	Implemented calls to support GnomeVFS.

2000-07-17  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.c: 
	Added markers of some functions Seth and I are implementing.
	(parse_search_uri, do_open_directory): Started fixing stuff.
	
	* gnome-vfs-module/search-method.h: Removed.
	* gnome-vfs-module/Makefile.am: Removed from build.

2000-07-17  Maciej Stachowiak  <mjs@eazel.com>

	* gnome-vfs-module/search-method.h,
	gnome-vfs-module/search-method.c: (search_directory_handle_new,
	search_directory_handle_destroy, parse_search_uri, do_open,
	do_create, do_close, do_read, do_write, do_seek, do_tell,
	do_truncate_handle, do_open_directory, do_close_directory,
	do_read_directory, do_get_file_info, do_get_file_info_from_handle,
	do_is_local, do_make_directory, do_remove_directory, do_move,
	do_unlink, do_check_same_fs, do_set_file_info, do_truncate,
	do_find_directory, do_create_symbolic_link): Skeleton
	implementation of search module, moved from gnome-vfs and made to
	actually compile.

	* gnome-vfs-module/search-methods.conf: Config file to add search
	URI handling.
	* gnome-vfs-module/Makefile.am: Make it all build and install.

	* Makefile.am, configure.in: add gnome-vfs-module directory to
	build.

	* msearch/Makefile.am: Don't link in medusa internal stuff.
	
2000-07-17  Maciej Stachowiak  <mjs@eazel.com>

	* libmedusa/medusa-search-service.h,
	libmedusa/medusa-search-service.c: (initialize_socket),
	(authenticate_connection), (send_search_request),
	(medusa_search_service_connection_start_search),
	(medusa_search_service_connection_read_search_result),
	(medusa_search_service_connection_destroy): Converted API to be
	synchronous, since a gnome-vfs wrapper will provide async
	functionality.

	* msearch/medusa-command-line-search.c (main): Use new synch API.
	
2000-07-17 Rebecca Schulman <rebecka@eazel.com>
	* indexer/medusa-file-index-daemon.c  fixed a bug that
	made backup files not get erased for the text index between
	indexings

2000-07-17  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-conf.h:
	spew debugging info about what is being indexed, if textindexing
	is on
	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new),
	(medusa_text_index_read_file), (text_index_add_mime_modules):
	fixed medusa to only index plain text files

2000-07-17  Rebecca Schulman  <rebecka@eazel.com>

	* configure.in:
	* indexer/Makefile.am:
	* libmedusa-internal/Makefile.am:
	* libmedusa-internal/medusa-text-index-plaintext-module.c:
	(medusa_text_index_parse_plaintext), (read_more_data),
	(enlarge_word_fragment),
	(transfer_hash_table_to_word_array_and_free),
	(add_key_to_word_array), (handle_word_fragment),
	(go_to_first_word_in_block), (block_is_one_word),
	(word_is_last_word_in_block), (go_to_next_word_in_block):
	* libmedusa-internal/medusa-text-index-plaintext-module.h:
	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new):
	Forgot to add plaintext module parsing files in their new
	locations last time! here they are..they read data from
	text files in blocks and return a list of unique words
	that occurred in the file.
	

2000-07-16  Pavel Cisler <pavel@eazel.com>

	* libmedusa-internal/Makefile.am:
	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new):
	This is a temporary fix to make medusa compile.
	Rebecka forgot to check in two files and had to leave for an emergency.
	Until she gets to fix it properly this should carry us over.

2000-07-14  Rebecca Schulman  <rebecka@eazel.com>
	the main change here is the addition of the 
	first part of the text indexing process.
	things are still very raw here, however.

	* configure.in:
	* indexer/Makefile.am:
	* indexer/modules/Makefile.am:
	* libmedusa-internal/Makefile.am:
	* indexer/modules/medusa-text-index-plaintext-module.c
	* indexer/modules/medusa-text-index-plaintext-module.h
	Tried to make indexing modules work.  It failed for now,
	so i am just going to put the one module that exists into
	libmedusa-internal.
	
	* indexer/medusa-file-index-daemon.c: (release_locks),
	(do_full_indexing), (do_fast_reindexing), (backup_index_files),
	(copy_new_index_files): some refactoring, reordering of 
	functions to be more readable, and changed lock variables
	to be booleans rather than integers

	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new),
		(medusa_master_db_index), (medusa_master_db_update),
	(medusa_master_db_query), (query_execute_from_clause_closure),
	(index_directory), (index_file), (medusa_master_db_ref),
	(medusa_master_db_unref), (medusa_master_db_destroy):
	reformatted, refactored some string functionality into separate
	methods, and added text indexing to the main index process. (it
	is off by default), you can turn on the partial index generation
	by setting TEXT_INDEX_ON

	* libmedusa-internal/medusa-text-index-mime-module.h:
	* libmedusa-internal/medusa-text-index-mime-module.c:
	(medusa_text_index_mime_module_first_valid_module),
	(mime_pattern_matches), (dummy_return_words):
	fixed a leak in the module search code, changed function 
	text parsing structure specification.

	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new),
	(medusa_text_index_read_file), (array_of_words_free),
	(uri_number_of_cell):
	added plaintext module to the text indexing modules, and generation
	of the temporary indexing code
	
	* libmedusa-internal/medusa-conf.h:
	neatened up

	* libmedusa-internal/medusa-uri-list-encoders.c:
	(medusa_uri_list_filename_encode),
	(medusa_uri_list_directory_name_encode):
	fixed bug in the encoding functions where strncpy was used when
	memcpy should have been
	
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new),
	(medusa_uri_list_is_stoplist_file), (medusa_uri_number_to_uri),
	(medusa_uri_list_get_field_info),
	(medusa_uri_list_get_first_real_record),
	(medusa_uri_list_get_query_clauses),
	(medusa_uri_list_number_of_uris), (medusa_uri_list_ref),
	(medusa_uri_list_unref), (medusa_uri_list_index_file),
	(uri_list_field_info), (uri_list_clauses),
	(medusa_uri_list_destroy), (medusa_file_stoplist_initialize):
	corrected formatting, fixed a few leaks.
	
	* libmedusa-internal/medusa-utils.h:
	* libmedusa-internal/medusa-utils.c:
	(medusa_full_path_from_directory_and_file),
	(medusa_full_uri_from_directory_and_file),
	(directory_name_ends_with_slash):
	refactored more string functionality into here.


2000-07-13 Elliot Lee <sopwith@redhat.com>
	* indexer/Makefile.am, libmedusa/Makefile.am, msearch/Makefile.am,
	search-service/Makefile.am: Fix srcdir != builddir
	* libmedusa-internal/medusa-text-index.c: include string.h to
	get strlen prototype to avoid warnings.

2000-07-13  Maciej Stachowiak  <mjs@eazel.com>

	Completed bugzilla tasks 1326 and 1307:

	* libmedusa/Makefile.am: Fix some minor typos.
	
	* libmedusa/medusa-search-service.c (authenticate_connection):
	Avoid double-free.
	(search_results_received_callback): Don't assume we're done until
	we have given all results to the callback; use macro for end of
	transmission token.
	(spawn_search): Fix request format.
	
	* msearch/Makefile.am: * msearch/medusa-command-line-search.c
	(search_callback), (main): rewrite to use the search API.
	
	* search-service/medusa-file-search-parse-transmission.c:
	(present_query_results): don't send garbage characters, and send
	newlines after each result.

2000-07-12  Maciej Stachowiak  <mjs@eazel.com>

	* libmedusa/medusa-search-service.c: (initialize_socket),
	(search_results_received_callback): Might even work now.

2000-07-11  Rebecca Schulman  <rebecka@eazel.com>

	* README:
	updated the readme to be more recent
	* doc/how_to_use_msearch:
	new file describing the new msearch
	* libmedusa-internal/medusa-conf.h:
	changed root directory back to /, so
	medusa is useful again

2000-07-11  Maciej Stachowiak  <mjs@eazel.com>

	* libmedusa/medusa-search-service.c: (initialize_socket),
	(authenticate_connection), (g_list_remove_tail),
	(search_results_received_callback), (spawn_search): Closer to
	working (I hope).

2000-07-11  Rebecca Schulman  <rebecka@eazel.com>

        Indexer now runs and makes shells of text index files,
	it doesn't fill them.

	* libmedusa-internal/medusa-conf.h:  Added text index file
	names
	
	* indexer/medusa-file-index-daemon.c: (do_full_indexing),
	(do_fast_reindexing):added text file args to master_db_new
	
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new),
	(query_execute_from_clause_closure): Changed declaration for
	medusa-master-db to take text file name arguments
	* libmedusa-internal/medusa-master-db.h:

	* libmedusa-internal/medusa-text-index.h:
	* libmedusa-internal/medusa-text-index.c: (medusa_text_index_new),
	(medusa_text_index_read_file):
	changed text_index_initialize to text_index_new

	
	Some general bug fixes to synchronize the 2 databases
	
	* libmedusa-internal/medusa-file-index-queries.c:
	(username_to_uid), (group_to_gid):
	Removed frees of pwnam and grnam structures.  I don't know
	if this is a leak or not 
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_new), (medusa_file_system_db_free),
	(write_index_info_to_database), (read_index_info_from_database):
	Fixed metainfo stuff to be in separate procedures
	
	* libmedusa-internal/medusa-rdb-file.c: (medusa_rdb_file_new):
	
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new),
	(medusa_uri_number_to_uri), (uri_list_field_info):
	fixed bug that switched the order of the fields.
	
	* msearch/medusa-command-line-search.c: (get_key_from_cookie),
	(parse_results), (main):
	provided more intelligent parsing of results.
	now prints sane stuff
	
	* search-service/medusa-file-search-daemon.c: (main):
	* search-service/medusa-file-search-parse-transmission.c:
	(run_query), (present_query_results):  more intelligent comments,
	added text index args to medusa_master_Db_new

2000-07-11  Robin * Slomkowski <rslomkow@eazel.com>

	*indexer/Makefile.am: added $(GNOME_LIBS) $(OAF_LIBS)
	*search-service/Makefile.am: added $(GNOME_LIBS) $(OAF_LIBS)

2000-07-11  Robin * Slomkowski <rslomkow@eazel.com>

	*indexer/Makefile.am: added $(OAF_LIBS)

2000-07-11  Eskil Heyn Olsen  <eskil@eazel.com>

	* configure.in:
	Added OAF and GConf tests.

	* indexer/modules/Makefile.am:
	Fixed some more .. to $(top..)

2000-07-11  Eskil Heyn Olsen  <eskil@eazel.com>

	* msearch/Makefile.am:
	* search-service/Makefile.am:
	* tests/Makefile.am:
	More s/../$(top_*dir)

2000-07-11  Eskil Heyn Olsen  <eskil@eazel.com>

	* configure.in:
	Removed to "goo" statements (??)

	* indexer/Makefile.am:
	replaced some ../ with $(top_*dir).

	* indexer/modules/Makefile.am:
	Commented out an unused _SOURCES decl.

2000-07-10  Rebecca Schulman  <rebecka@eazel.com>

        Two things here:  Most of the remaining bugs
	caused by the massive rewrite are fixed now.
	The second is some architectural work on the 
	text index.

	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new),
	(medusa_master_db_index), (medusa_master_db_query), (index_file):
	Changed the search order, to correspond to the table's record
	order.  Added basic text index commands to the indexing
	process.

	* libmedusa-internal/medusa-rdb-file.h:
	* libmedusa-internal/medusa-rdb-file.c: (medusa_rdb_file_new),
	(medusa_rdb_file_read_header), (medusa_rdb_file_set_metainfo),
	(medusa_rdb_file_get_metainfo), (medusa_rdb_file_add_field),
	(medusa_rdb_file_removxe_field),
	(medusa_rdb_file_write_initial_header),
	(medusa_rdb_file_write_number_of_records),
	(medusa_rdb_file_write_number_of_fields), (medusa_rdb_file_test):
	Removed the old hack of using the first db record, and replaced
	it with a fixed length metainfo field.  For the uri list and file
	index the metainfo stored is the db version, and the unix time
	for the last indexing. I added a new pointer in the file structure to
	the metainfo section, and to the header section.  There is a lot
	less hellish pointer arithmetic now, I think.
	
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_new), (medusa_file_system_db_free):
	got rid of the old set and get first record and replaced it with
	set and get metainfo

	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new),
	(medusa_uri_list_destroy), (write_index_info_to_database),
	(read_index_info_from_database):
	* libmedusa-internal/medusa-uri-list.h:
	Changed set and get methods similar to file index,
	again simplifying the previous code
	
	* libmedusa-internal/medusa-rdb-table.c: (medusa_rdb_table_insert):
	Updated to reflect file structure change.
	
	* libmedusa-internal/medusa-rdb-query.c:
	(medusa_rdb_query_criterion_match):
	Fixed bad boolean expressions.  Both positive and negative queries
	should work now.
	

	* libmedusa-internal/medusa-text-index-mime-module.c:
	(medusa_text_index_mime_module_first_valid_module),
	(medusa_text_index_mime_module_get_parser), (dummy_return_words):
	added new functions to get appropriate mime modules
	* libmedusa-internal/medusa-text-index-mime-module.h:
	
	* libmedusa-internal/medusa-text-index.c:
	(medusa_text_index_initialize), (text_index_files_are_ready),
	(medusa_text_index_read_file), (uri_number_of_cell),
	(medusa_text_index_create_from_temp), (text_index_clauses),
	(medusa_text_index_destroy):
	* libmedusa-internal/medusa-text-index.h:
	started some code for the temporary index
	
	* libmedusa-internal/Makefile.am:
	* libmedusa-internal/medusa-text-index-queries.h:
	* libmedusa-internal/medusa-text-index-queries.c:
	added the functions that the text index will use as
	its vocabulary (just contains and does_not_contain)
	
	* msearch/medusa-command-line-search.c: (get_key_from_cookie),
	(parse_results):

	* search-service/medusa-authenticate.c:
	(medusa_authenticate_uid_can_read):
	* search-service/medusa-authenticate.h:
	changed uid_can_read to take uri's rather than file
	names, which are the results, now.
	
	* search-service/medusa-file-search-daemon.c: (main),
	(initialize_socket):
	a few random useless cleanups.
	* search-service/medusa-file-search-parse-transmission.c:
	(present_query_results):
	changed output format.  This is still broken.

	* indexer/medusa-file-index-daemon.c: (do_full_indexing):
	Improved messages about indexing.  They should even be vaguely
	accurate now.

	
	* libmedusa-internal/medusa-conf.h
	Medusa gets a version upgrade to 0.2, because of all of the
	restructuring.
	
Fri Jul 07 22:18:02 2000  George Lebl <jirka@5z.com>

	* libmedusa/medusa-uri-list.c:  Include <string.h> to get rid of
	  warning on alpha 

2000-07-06  Rebecca Schulman  <rebecka@eazel.com>

	* indexer/medusa-file-index-daemon.c: (do_full_indexing),
	(do_fast_reindexing), (backup_index_files), (copy_new_index_files)
	* libmedusa-internal/medusa-conf.h:
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_index_encoders_test)
	* libmedusa-internal/medusa-file-index.h:  
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_new), (medusa_file_system_db_free)
	* libmedusa-internal/medusa-master-db.h:  
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new)
	* libmedusa-internal/medusa-uri-list.h:  
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new),
	(medusa_uri_list_destroy), (medusa_file_stoplist_initialize)
	* search-service/medusa-file-search-daemon.c: (main)
	Changed the naming scheme to take file names as explicit arguments.

	* libmedusa-internal/medusa-uri-list-queries.c: (regexp_escape)
	fixed quick bug 

	* msearch/medusa-command-line-search.c: (get_key_from_cookie)
	now waits more patiently for a cookie, rather than eating
	up cpu time

	* search-service/medusa-file-search-parse-transmission.c:
	(present_query_results) added END terminus for results

	* configure.in: 

2000-07-06  Maciej Stachowiak  <mjs@eazel.com>

	* libmedusa/medusa-search-service.c: (initialize_socket),
	(authenticate_connection), (medusa_search_service_connection_new),
	(search_results_received_callback), (spawn_search),
	(proceed_to_next_search), (enqueue_handle), (unenqueue_handle),
	(medusa_search_service_connection_start_search),
	(medusa_search_service_connection_cancel_search): Fill in more of
	implementation.

2000-07-05  Eskil Heyn Olsen  <eskil@eazel.com>

	* libmedusa-internal/Makefile.am:
	* libmedusa/Makefile.am:
	Fixed for make dist and rpm -ta action...

2000-07-05  Robin * Slomkowski <rslomkow@eazel.com>

	* libmedusa-internal/Makefile.am: Added headers files
	to noinst_HEADERS
	* medusa.spec.in: Changed the version info, and added
	a development package, and fixed the file includes

2000-07-05  Ramiro Estrugo  <ramiro@eazel.com>

	* libmedusa/Makefile.am:
	Headers place for medusa is $prefix/include/libmedusa.
	
2000-07-05  Maciej Stachowiak  <mjs@eazel.com>

	* libmedusa-internal/medusa-lock-file-paths.h: Forgot to include
	this.
	
2000-07-05  Maciej Stachowiak  <mjs@eazel.com>

	* libmedusa/Makefile.am, indexer/medusa-file-index-daemon.c,
	libmedusa/medusa-common-private.h,
	libmedusa/medusa-index-service-private.h,
	libmedusa/medusa-search-service-private.h,
	libmedusa/medusa-search-service.c,
	libmedusa/medusa-search-service.h,
	msearch/medusa-command-line-search.c,
	search-service/medusa-authenticate.c,
	search-service/medusa-file-search-daemon.c,
	search-service/medusa-file-search-parse-transmission.c: Split out
	private parts of search/indexing API, and include the private bits
	where appropriate. Install some private headers for now, since
	Nautilus is using some of the soon-to-be-private interfaces for
	now.

2000-07-05  Maciej Stachowiak  <mjs@eazel.com>

	* libmedusa/medusa-search-service.h: Add new API.
	
	* libmedusa/medusa-search-service.c: Stub versions of all the
	calls.

	* libmedusa/Makefile.am: Build a libmedusa shared lib.

2000-07-01  Rebecca Schulman  <rebecka@eazel.com>
        Some bug fixes for the latest giant checkin.
	more to come.
	
	* indexer/medusa-file-index-daemon.c: (wait_for_indexing_signal),
	(do_fast_reindexing), (indexing_signal_received_callback),
	(initialize_socket):
	commented out the multiprocess stuff for now
	* libmedusa-internal/medusa-conf.h:
	changed root directory to /tmp to ease debugging
	* libmedusa-internal/medusa-file-index-queries.c:
	* libmedusa-internal/medusa-uri-list-queries.c:
	(medusa_uri_list_has_full_file_name):
	fixed type error in query functions
	
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_query),
	(query_execute_from_clause_closure):
	added a check for null functions, skip metadata table row.
	* libmedusa-internal/medusa-search-uri.c:
	(medusa_search_uri_to_clause_closures):
	fixed bug that didn't initialize closure_info list variable
	* libmedusa-internal/medusa-uri-list-private.h:

	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new),
	(medusa_uri_list_destroy), (write_index_info_to_database):
	added writing and reading of db info -- another bug fix
	
	* msearch/medusa-command-line-search.c: (main):
	fixed general bugs in the process here

2000-07-01  Maciej Stachowiak  <mjs@eazel.com>

	* indexer/medusa-file-index-daemon.c: (release_locks, main,
	do_full_indexing, do_fast_reindexing): Try to release locks on
	crash or exit (not sure if atexit is enough, may also need signal
	handlers).

2000-07-01  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-search-uri.h
	forgot to commit this last time
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_get_first_real_record):
	* libmedusa-internal/medusa-uri-list.c:
	(medusa_uri_list_get_first_real_record):
	changed these, since the metainfo is accounted for in the
	first_record list.
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new):
	* msearch/medusa-command-line-search.c: (main):
	* search-service/medusa-file-search-parse-transmission.c:
	(medusa_file_search_parse_transmission):
	fixed a few parse bugs

2000-07-01  Rebecca Schulman  <rebecka@eazel.com>

	Split up the single file database into two.
	a uri list database, and a file attribute database.
	created a single master database that holds both,
	and will also hold the text index.
	enabled both the uri list and the file attrbiute
	index to be compliant with the search uri syntax.
	This necessitated a lot of architectural changes.


	
	* Makefile.am:
	* configure.in:
	* libmedusa-internal/Makefile.am:
	Added new file make info
	* databases/file-index-stoplist:
	changed file names to uri names
	* indexer/medusa-file-index-daemon.c: (main), (do_full_indexing),
	(do_fast_reindexing), (backup_index_files), (copy_new_index_files):
	changed this to eliminate fast reindexing for now, and also to
	
	* libmedusa-internal/medusa-conf.h:
	* libmedusa-internal/medusa-db-update.h:
	added structure to deal with types of updates available.
	
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_database_uri_number_encode),
	(medusa_file_database_mime_type_encode),
	(medusa_file_database_size_encode),
	(medusa_file_database_uri_number_decode),
	(medusa_file_index_encoders_test):
	fixed a memory leak in the encoders.
	add uri number encode and decode functions.
	
	* libmedusa-internal/medusa-file-index-encoders.h:
	* libmedusa-internal/medusa-file-index-queries.c:
	* libmedusa-internal/medusa-file-index-queries.h:
	(medusa_file_index_is_of_type), (medusa_file_index_is_owned_by),
	(medusa_file_index_is_in_group),
	(medusa_file_index_is_not_owned_by),
	(medusa_file_index_is_not_in_group),
	(medusa_file_index_is_modified_today),
	(medusa_file_index_is_modified_in_last_seven_days),
	(medusa_file_index_is_modified_this_month),
	(medusa_file_index_is_not_modified_today),
	(medusa_file_index_is_not_modified_in_last_seven_days),
	(medusa_file_index_is_not_modified_this_month),
	(unix_time_at_midnight), (unix_time_seven_days_ago),
	(unix_time_a_month_ago), (username_to_uid), (group_to_gid):
	fixed these to use new clause query format as opposed to
	old rdb-query format.
	

	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-file-information.c:
	(medusa_file_attributes_new), (medusa_index_file_attributes),
	(medusa_file_attributes_free):
	* libmedusa-internal/medusa-file-information.h:

	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_new),
	(medusa_file_system_db_get_number_of_records),
	(medusa_file_system_db_get_field_info),
	(medusa_file_system_db_free), (medusa_file_system_db_index_file),
	(check_field_info_from_file), (file_index_field_info),
	(file_index_clauses),
	(medusa_file_system_db_get_first_real_record),
	(medusa_file_system_db_get_query_clauses):
	changed file index to just take in one file for a time
	in indexing, and the record encoding was changed to 
	eliminate file and directory field, and to add uri number
	
	* libmedusa-internal/medusa-hash.c: (medusa_hash_new),
	* libmedusa-internal/medusa-hash.h:
	(medusa_hash_ref), (medusa_hash_unref), (medusa_hash_destroy):
	changed hashes to use ref counting.

	* libmedusa-internal/medusa-master-db.h:
	* libmedusa-internal/medusa-master-db-private.h:
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new),
	(medusa_master_db_index), (medusa_master_db_update),
	(medusa_master_db_query), (query_execute_from_clause_closure),
	(index_directory), (index_file), (medusa_master_db_destroy):
	added new master db class to administer indexing and accept queries.
	
	* libmedusa-internal/medusa-query-clauses.c:
	* libmedusa-internal/medusa-query-clauses.h:
	(medusa_query_clauses_new), (medusa_query_clauses_add_clause),
	(medusa_query_clauses_get_function), (medusa_query_clauses_ref),
	(medusa_query_clauses_unref), (medusa_query_result_succeeded),
	(medusa_query_result_get_next_record),
	(medusa_query_result_set_succeeded),
	(medusa_query_result_set_next_record), (medusa_query_result_free),
	(medusa_query_clauses_destroy), (medusa_query_clause_new),
	(medusa_query_clause_unref), (medusa_query_clause_destroy):
	added new query structure that takes search uri clauses
	
	* libmedusa-internal/medusa-rdb-file.c:
	* libmedusa-internal/medusa-rdb-file.h:
	(medusa_rdb_file_get_number_of_records):
	added get_number_of_records function as abstraction
	
	* libmedusa-internal/medusa-rdb-table.c: (medusa_rdb_table_insert),
	* libmedusa-internal/medusa-rdb-table.h:
	(medusa_rdb_table_get_number_of_records):
	added get_number_of_records function as abstraction
	switched record order to use prepend rather than append
	
	* libmedusa-internal/medusa-search-uri.c:
	(medusa_search_uri_to_clause_closures), (clause_to_clause_closure),
	(medusa_clause_closure_free), (medusa_uri_is_search_uri),
	(get_next_root_uri), (get_search_criteria):
	finished uri parsing -> query clause routines.
	
	* libmedusa-internal/medusa-text-index.c:
	(create_temporary_index_file), (medusa_text_index_destroy):
	added a few more design ideas.
	
	* libmedusa-internal/medusa-tokenize.h:
	removed bogus gdbm.h header
	
	* libmedusa-internal/medusa-uri-list-encoders.c:
	* libmedusa-internal/medusa-uri-list-encoders.h:
	(medusa_uri_list_filename_encode),
	(medusa_uri_list_directory_name_encode),
	(medusa_uri_list_is_directory_encode),
	(medusa_uri_list_filename_decode),
	(medusa_uri_list_directory_name_decode),
	(medusa_uri_list_is_directory_decode):
	added encoders for uri list (taken from file-list-encoders)
	
	
	* libmedusa-internal/medusa-uri-list-private.h:
	put struct definition in here
	* libmedusa-internal/medusa-uri-list-queries.c:
	(medusa_uri_list_has_name_containing),
	(medusa_uri_list_has_name_not_containing),
	(medusa_uri_list_is_in_directory_containing),
	(medusa_uri_list_has_file_name_starting_with),
	(medusa_uri_list_has_file_name_ending_with),
	(medusa_uri_list_is_in_directory_tree),
	(medusa_uri_list_has_name_glob_matching),
	(medusa_uri_list_has_full_file_name), (regexp_escape),
	(file_glob_to_regexp):
	* libmedusa-internal/medusa-uri-list-queries.h:
	moved some of the file index queries into uri-list-queries,c
	as with moving the relevant fields to uri list
	
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new),
	(medusa_uri_number_to_uri), (medusa_uri_list_get_field_info),
	(medusa_uri_list_get_first_real_record),
	(medusa_uri_list_get_query_clauses),
	(medusa_uri_list_number_of_uris), (medusa_uri_list_index_file),
	(medusa_uri_list_update_file), (uri_list_field_info),
	(uri_list_clauses), (medusa_uri_list_destroy),
	(medusa_file_stoplist_initialize):
	* libmedusa-internal/medusa-uri-list.h:
	created image of medusa-file-index
	
	* msearch/medusa-command-line-search.c: (main):
	updated it to take search uris as opposed to old arguments
	
	* search-service/Makefile.am:
	* search-service/medusa-file-search-daemon.c: (main):
	* search-service/medusa-file-search-parse-transmission.c:
	(medusa_file_search_parse_transmission), (run_query),
	(present_query_results):
	* search-service/medusa-file-search-parse-transmission.h:
	changed the file search daemon to accept search uris rather
	than old argument format.
	
	* search-service/medusa-search-uri.c:
	* search-service/medusa-search-uri.h:
	moved these to libmedusa-internal
	
2000-06-30  Fatih Demir	<kabalak@gmx.net>
	
	* libmedusa-internal/medusa-rdb-query.c: Added
		(gchar *) casts to the strcmp-call.	

2000-06-28  Rebecca Schulman  <rebecka@eazel.com>

	added uri lists, and a top level db that will talk 
	to both the text index and the file index.
	Changed some file index
	apis to reflect the changes.
	changed indexes to create file names automatically,
	rather than having to make up names.
	* indexer/medusa-file-index-daemon.c: (main), (do_full_indexing),
	(do_fast_reindexing), (backup_index_files), (copy_new_index_files):
	* libmedusa-internal/Makefile.am:
	* libmedusa-internal/medusa-conf.h:
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_index_encoders_test):
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_queries_test):
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_new), (index_directory),
	(medusa_file_index_reindex_filenames),
	(medusa_file_index_record_to_full_file_name),
	(file_index_field_info), (medusa_file_index_test),
	(medusa_file_reindexing_test),
	(medusa_file_index_get_next_file_name):
	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-master-db.c: (medusa_master_db_new),
	(medusa_master_db_index), (medusa_master_db_ref),
	(medusa_master_db_unref), (medusa_master_db_destroy):
	* libmedusa-internal/medusa-master-db.h:
	* libmedusa-internal/medusa-rdb-file.c: (medusa_rdb_file_is_empty),
	(medusa_rdb_file_test):
	* libmedusa-internal/medusa-rdb-file.h:
	* libmedusa-internal/medusa-rdb-table.c:
	* libmedusa-internal/medusa-uri-list-encoders.c:
	(medusa_uri_list_filename_encode),
	(medusa_uri_list_directory_name_encode),
	(medusa_uri_list_filename_decode),
	(medusa_uri_list_directory_name_decode):
	* libmedusa-internal/medusa-uri-list-encoders.h:
	* libmedusa-internal/medusa-uri-list-private.h:
	* libmedusa-internal/medusa-uri-list.c: (medusa_uri_list_new),
	(medusa_uri_list_index), (medusa_uri_list_is_stoplist_file),
	(medusa_uri_list_ref), (medusa_uri_list_unref), (index_directory),
	(index_file), (uri_list_field_info), (medusa_uri_list_destroy),
	(write_index_info_to_database), (read_index_info_from_database),
	(medusa_file_stoplist_initialize):
	* libmedusa-internal/medusa-uri-list.h:
	* libmedusa-internal/medusa-utils.h:
	* search-service/medusa-file-search-daemon.c: (main),
	(ensure_index_validity):

2000-06-28  Rebecca Schulman  <rebecka@eazel.com>

	* libmedusa-internal/medusa-rdb-query-private.h:
	* libmedusa-internal/medusa-rdb-query.c: (medusa_rdb_query_new),
	(medusa_rdb_query_free), (medusa_rdb_query_criterion_free),
	(medusa_rdb_query_criterion_new),
	(medusa_rdb_query_add_selection_criterion),
	(medusa_rdb_query_criterion_match), (medusa_rdb_query_match),
	(medusa_rdb_query_test):
	* libmedusa-internal/medusa-rdb-query.h:
	added ability to give negative queries,
	ie the desired result should be false rather than
	true.  
	
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_select_directories),
	(medusa_file_index_select_by_directory_name),
	(medusa_file_index_select_by_file_name),
	(medusa_file_index_select_by_file_name_equals),
	(medusa_file_index_select_by_file_name_contains),
	(medusa_file_index_select_by_file_name_starts_with),
	(medusa_file_index_select_by_file_name_ends_with),
	(medusa_file_index_select_by_file_glob),
	(medusa_file_index_select_by_file_name_regexp_matches),
	(medusa_file_index_select_files_modified_today),
	(medusa_file_index_select_files_modified_in_last_seven_days),
	(medusa_file_index_select_files_modified_this_month),
	(medusa_file_index_select_files_modified_after_time),
	(medusa_file_index_select_files_modified_before_today),
	(medusa_file_index_select_files_modified_before_last_seven_days),
	(medusa_file_index_select_files_modified_before_this_month),
	(medusa_file_index_select_files_modified_before_time),
	(medusa_file_index_select_files_larger_than),
	(medusa_file_index_select_files_smaller_than),
	(medusa_file_index_delete_by_file_name),
	(medusa_file_index_delete_by_directory_name),
	(medusa_filename_is_in_index), (medusa_file_index_queries_test):
	* libmedusa-internal/medusa-rdb-table.c: (medusa_rdb_table_test):
	updated code that uses queries to reflect api changes

2000-06-28  Rebecca Schulman  <rebecka@eazel.com>

        Renamed the following
	relational_database -> rdb
	RELATIONAL_DATABASE -> RDB
	RelationalDatabase -> RDB
	relational_table -> rdb_table
	 
	to increase readability.
	* libmedusa-internal/medusa-file-index-encoders.c:
	(medusa_file_database_filename_encode),
	(medusa_file_database_directory_name_encode),
	(medusa_file_database_mime_type_encode),
	(medusa_file_database_mtime_encode),
	(medusa_file_database_owner_encode),
	(medusa_file_database_group_encode),
	(medusa_file_database_permissions_encode),
	(medusa_file_database_size_encode),
	(medusa_file_database_filename_decode),
	(medusa_file_database_directory_name_decode),
	(medusa_file_database_mime_type_decode):
	* libmedusa-internal/medusa-file-index-queries.c:
	(medusa_file_index_select_directories),
	(medusa_file_index_select_by_directory_name),
	(medusa_file_index_select_by_file_name),
	(medusa_file_index_select_by_file_name_equals),
	(medusa_file_index_select_by_file_name_contains),
	(medusa_file_index_select_by_file_name_starts_with),
	(medusa_file_index_select_by_file_name_ends_with),
	(medusa_file_index_select_by_file_glob),
	(medusa_file_index_select_by_file_name_regexp_matches),
	(medusa_file_index_select_files_modified_today),
	(medusa_file_index_select_files_modified_in_last_seven_days),
	(medusa_file_index_select_files_modified_this_month),
	(medusa_file_index_select_files_modified_after_time),
	(medusa_file_index_select_files_modified_before_today),
	(medusa_file_index_select_files_modified_before_last_seven_days),
	(medusa_file_index_select_files_modified_before_this_month),
	(medusa_file_index_select_files_modified_before_time),
	(medusa_file_index_select_files_larger_than),
	(medusa_file_index_select_files_smaller_than),
	(medusa_file_index_delete_by_file_name),
	(medusa_file_index_delete_by_directory_name),
	(medusa_filename_is_in_index), (medusa_file_index_queries_test):
	* libmedusa-internal/medusa-file-index-queries.h:
	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_initialize), (medusa_file_system_db_free),
	(medusa_file_index_reindex_filenames),
	(medusa_file_index_record_to_full_file_name),
	(check_field_info_from_file), (file_index_field_info),
	(medusa_file_index_set_first_database_record),
	(medusa_file_index_get_first_database_record),
	(medusa_file_index_test), (medusa_file_index_get_next_file_name):
	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-file-information.c:
	(append_file_information_field), (medusa_index_file_attributes):
	* libmedusa-internal/medusa-rdb-fields.c:
	(medusa_rdb_field_info_new), (medusa_rdb_field_info_free),
	(medusa_rdb_field_free), (medusa_rdb_field_add),
	(medusa_rdb_field_remove), (medusa_rdb_field_get_offset),
	(medusa_rdb_field_get_field_structure),
	(medusa_rdb_record_get_field_contents),
	(medusa_rdb_field_get_size), (medusa_rdb_field_get_encoder),
	(medusa_rdb_field_get_decoder),
	(medusa_rdb_field_get_header_offset),
	(medusa_rdb_field_get_header_size),
	(medusa_rdb_fields_get_first_title),
	(medusa_rdb_fields_get_first_size),
	(medusa_rdb_fields_get_first_encoder),
	(medusa_rdb_fields_get_first_decoder),
	(medusa_rdb_field_contents_equal):
	* libmedusa-internal/medusa-rdb-fields.h:
	* libmedusa-internal/medusa-rdb-file.c: (medusa_rdb_file_new),
	(medusa_rdb_file_free), (medusa_rdb_file_read_header),
	(medusa_rdb_file_add_field), (medusa_rdb_file_remove_field),
	(medusa_rdb_file_write_initial_header),
	(medusa_rdb_file_write_number_of_records),
	(medusa_rdb_file_write_number_of_fields), (medusa_rdb_file_test),
	(id_encode), (id_decode), (number_encode), (number_decode):
	* libmedusa-internal/medusa-rdb-file.h:
	* libmedusa-internal/medusa-rdb-query-private.h:
	* libmedusa-internal/medusa-rdb-query.c: (medusa_rdb_query_new),
	(medusa_rdb_query_free), (medusa_rdb_query_criterion_free),
	(medusa_rdb_query_criterion_new),
	(medusa_rdb_query_add_selection_criterion),
	(medusa_rdb_query_criterion_match), (medusa_rdb_query_match):
	* libmedusa-internal/medusa-rdb-query.h:
	* libmedusa-internal/medusa-rdb-record.h:
	* libmedusa-internal/medusa-rdb-table-async.c:
	(medusa_rdb_table_select_cancellable):
	* libmedusa-internal/medusa-rdb-table-async.h:
	* libmedusa-internal/medusa-rdb-table-private.h:
	* libmedusa-internal/medusa-rdb-table.c:
	(medusa_rdb_table_all_rows), (medusa_rdb_table_insert),
	(medusa_rdb_table_replace_record_by_number),
	(medusa_rdb_table_delete_record), (medusa_rdb_table_erase_record),
	(medusa_rdb_table_select), (medusa_rdb_table_delete),
	(medusa_rdb_table_virtual_insert_record), (medusa_rdb_table_free),
	(medusa_rdb_table_virtual_free),
	(medusa_rdb_record_number_to_record), (medusa_rdb_table_test):
	* libmedusa-internal/medusa-rdb-table.h:
	* search-service/.cvsignore:
	* search-service/medusa-file-search-parse-transmission.c:
	(medusa_file_search_parse_transmission), (run_query),
	(present_query_results):
	* search-service/medusa-search-uri-test.c: (main):
	* search-service/medusa-search-uri.c:
	* search-service/medusa-search-uri.h:

2000-06-28  Rebecca Schulman  <rebecka@eazel.com>

	* search-service/medusa-search-uri-test.c: (main):
	* search-service/medusa-search-uri.c: (medusa_search_uri_to_query):
	fixed compile bugs; this file is in transition.

2000-06-28  Rebecca Schulman  <rebecka@eazel.com>
	* libmedusa-internal/medusa-hash.c: (medusa_hash_new):
	* search-service/medusa-file-search-parse-transmission.c:
	* libmedusa-internal/medusa-conf.h:
	(medusa_file_search_parse_transmission):
	Added new variable to medusa conf file
	fixed small error in parse transmission
	* search-service/medusa-search-uri.c:
	* search-service/medusa-search-uri.h:
	added more; this stuff needs to be fixed.
	* search-service/Makefile.am:
	* search-service/medusa-search-uri-test.c:
	added test stub for search uri parser.

2000-06-26  Rebecka Schulman  <rebecka@eazel.com>
	* doc/search_uri_rfc:
	* doc/text_index_ui:
	added doc files for others to read;
	updated search uri rfc to correspond to
	changes made in anticipation of 
	writing the search uri parser
	
	* indexer/Makefile.am:
	* configure.in:
	* indexer/modules/.cvsignore:
	* indexer/modules/Makefile.am:
	* indexer/modules/medusa-text-index-modules-test.c: (main),
	(medusa_text_index_plaintext_module_test):
	* indexer/modules/medusa-text-index-plaintext-module.c:
	(transfer_hash_table_to_word_array):
	added directory and prototype for initial plaintext 
	indexer
	
	* libmedusa-internal/Makefile.am:
	* libmedusa-internal/medusa-file-index.h:
	* libmedusa-internal/medusa-text-index-mime-module.c:
	(medusa_text_index_mime_module_new),
	(medusa_text_index_mime_module_add_mime_type),
	(medusa_text_index_mime_module_remove_mime_type),
	(medusa_text_index_mime_module_add_mime_pattern),
	(medusa_text_index_mime_module_accepts_mime_type),
	(medusa_text_index_mime_module_ref),
	(medusa_text_index_mime_module_unref),
	(medusa_text_index_mime_module_destroy), (is_valid_mime_type),
	(is_valid_mime_pattern), (valid_mime_pattern_to_regexp_string),
	(mime_pattern_matches), (dummy_return_words),
	(medusa_text_index_mime_module_test):
	* libmedusa-internal/medusa-text-index-mime-module.h:
	* libmedusa-internal/medusa-text-index-test.c: (main):
	* libmedusa-internal/medusa-text-index.c:
	(medusa_text_index_initialize), (medusa_text_index_create),
	(text_index_files_are_ready), (create_temporary_index_file),
	(create_reverse_index_from_temporary_file),
	(add_file_to_temporary_index), (medusa_text_index_ref),
	(medusa_text_index_unref), (medusa_text_index_destroy),
	(free_entry), (medusa_text_index_test):
	* libmedusa-internal/medusa-text-index.h:
	added mime module package, that will keep track
	of the available functions for parsing files
	based on mime type

	
	* libmedusa-internal/medusa-utils.c:
	(medusa_full_path_from_directory_and_file):
	* libmedusa-internal/medusa-utils.h:
	changed function in here to reflect naming scheme
	
	* search-service/Makefile.am:
	* search-service/medusa-authenticate.c:
	(medusa_authenticate_create_cookie_file),
	(medusa_authenticate_is_cookie_request),
	(medusa_authenticate_is_correct_cookie),
	(medusa_authenticate_uid_can_read), (group_contains),
	(get_user_key):
	* search-service/medusa-authenticate.h:
	* search-service/medusa-file-search-daemon.c: (main),
	(initialize_socket):
	* search-service/medusa-file-search-parse-transmission.c:
	(medusa_file_search_parse_transmission), (run_query),
	(get_uid_pid_key_information), (present_query_results),
	(goto_next_line), (another_transmission_line_exists):
	* search-service/medusa-file-search-parse-transmission.h:
	* search-service/medusa-search-uri.c: (medusa_search_uri_to_query):
	* search-service/medusa-search-uri.h:
	split up the file search daemon, into four pieces for
	managability, and changed it to accept search uris rather
	than search queries.  so the command line tool should no
	longer work
	

2000-06-24  Pavel Cisler <pavel@eazel.com>

	* libmedusa-internal/medusa-file-index.c:
	(medusa_file_system_db_index), (index_directory), (reindex_file):
	* libmedusa-internal/medusa-file-information.c:
	(medusa_file_attributes_new_by_dir_and_file):
	* search-service/medusa-unindexed-search.c:
	(medusa_unindexed_search_file_matches):
	Update for GnomeVFS renamings.

2000-06-22  Darin Adler  <darin@eazel.com>

	* .cvsignore:
	* libmedusa-internal/.cvsignore:
	Ignore some more generated files.

2000-06-22  Ramiro Estrugo  <ramiro@eazel.com>

	* libmedusa/Makefile.am:
	Export medusa-search-service.h since its needed by nautilus.
	
	* indexer/.cvsignore:
	* libmedusa/.cvsignore:
	* msearch/.cvsignore:
	* search-service/.cvsignore:
	Ignore generated files.
	
2000-06-21  Maciej Stachowiak  <mjs@eazel.com>

	Moved some files around:
	
	* Makefile.am, autogen.sh, configure.in: Fixed for new build
	setup.
	* medusa/Makefile.am: Removed.

	* medusa/medusa-byte.c, medusa/medusa-byte.h,
	medusa/medusa-conf.h, medusa/medusa-file-index-encoders.c,
	medusa/medusa-file-index-encoders.h,
	medusa/medusa-file-index-queries.c,
	medusa/medusa-file-index-queries.h, medusa/medusa-file-index.c,
	medusa/medusa-file-index.h, medusa/medusa-file-information.c,
	medusa/medusa-file-information.h, medusa/medusa-hash.c,
	medusa/medusa-hash.h, medusa/medusa-io-handler.c,
	medusa/medusa-io-handler.h, medusa/medusa-lock-file.c,
	medusa/medusa-lock-file.h, medusa/medusa-rdb-fields.c,
	medusa/medusa-rdb-fields.h, medusa/medusa-rdb-file.c,
	medusa/medusa-rdb-file.h, medusa/medusa-rdb-index.h,
	medusa/medusa-rdb-query-private.h, medusa/medusa-rdb-query.c,
	medusa/medusa-rdb-query.h, medusa/medusa-rdb-record.h,
	medusa/medusa-rdb-table-async.c, medusa/medusa-rdb-table-async.h,
	medusa/medusa-rdb-table-private.h, medusa/medusa-rdb-table.c,
	medusa/medusa-rdb-table.h, medusa/medusa-test-conf.h,
	medusa/medusa-test.c, medusa/medusa-test.h,
	medusa/medusa-tokenize.c, medusa/medusa-tokenize.h,
	medusa/medusa-utils.c, medusa/medusa-utils.h: Moved to
	libmedusa-internal directory
	* libmedusa-internal/Makefile.am: New file.

	* medusa/medusa-search-service.h: Moved to libmedusa directory.
	* libmedusa/Makefile.am: New file.
	
	* medusa/medusa-file-search-daemon.c,
	medusa/medusa-unindexed-search.c,
	medusa/medusa-unindexed-search.h: Moved to search-service
	directory.  
	* search-service/Makefile.am: New file.
	
	* medusa/medusa-file-index-daemon.c,
	medusa/medusa-text-index-mime-module.c,
	medusa/medusa-text-index-mime-module.h,
	medusa/medusa-text-index.c, medusa/medusa-text-index.h: Moved to
	indexer directory.
	* indexer/Makefile.am: New file.
	
	* medusa/medusa-text-index-plaintext-module.c
	medusa/medusa-text-index-plaintext-module.h: Moved to
	indexer/modules.

	* medusa/medusa-command-line-search.c: Moved to msearch directory.
	* msearch/Makefile.am : New file.
	
	* tests/Makefile.am: Don't build test program, it's broken right
	now.

2000-06-21  Rebecca Schulman  <rebecka@eazel.com>

	* medusa/medusa-conf.h:
	Added new text index hash table
	size variables 
	
	* medusa/medusa-file-index.c:
	* medusa/medusa-file-index.h:
	(medusa_file_index_reindex_filenames),
	(medusa_file_index_record_to_full_file_name),
	(medusa_file_index_get_records_handle),
	(medusa_file_index_get_next_file_name):
	added new api to read the file names out of the
	file index

	* medusa/medusa-file-search-daemon.c: (present_query_results):

	* medusa/medusa-hash.c: (medusa_hash_new), (medusa_hash_store):
	* medusa/medusa-hash.h:
	* medusa/medusa-io-handler.c: (medusa_io_handler_new),
	(medusa_io_handler_write_header), (medusa_io_handler_create_file),
	(medusa_io_handler_append_string):
	* medusa/medusa-io-handler.h:
	changed char * to const char * where appropriate
	
	* medusa/medusa-rdb-query.c:
	(medusa_relational_database_query_criterion_match):
	fixed bug in g_return_if_fail.
	
	* medusa/medusa-text-index.c: (medusa_text_index_initialize),
	(medusa_text_index_create), (medusa_text_index_ref),
	(medusa_text_index_unref), (medusa_text_index_destroy),
	(free_entry):
	* medusa/medusa-text-index.h:
	added some source for basic functions
	

2000-06-20  Rebecca Schulman  <rebecka@eazel.com>
	* medusa/medusa-text-index-mime-module.h:
	* medusa/medusa-text-index-mime-module.c: (dummy_return_words):
	* medusa/medusa-text-index.c:
	Got rid of some abstract types (location and
	semantic unit for char *)
	they should get readded later, but aren't really
	useful without associated objects

	* medusa/Makefile.am:
	* medusa/medusa-text-index-plaintext-module.c:
	(medusa_text_index_parse_plaintext), (read_more_data),
	(transfer_hash_table_to_word_array):
	* medusa/medusa-text-index-plaintext-module.h:
	Added new module to split plaintext into words.
	this module is totally untested, and 99.9% chance
	doesn't work yet
	* medusa/medusa-conf.h:
	added plaintext debugging flag

2000-06-19  Rebecca Schulman  <rebecka@eazel.com>

	* medusa/Makefile.am:
	added new text index files
	* medusa/medusa-file-index-queries.c:
	(medusa_file_index_select_directories):
	changed get_directories function to
	use the correct mime type, now
	x-special/directory
	* medusa/medusa-rdb-file.h:
	added ifdef for header
	* medusa/medusa-rdb-query.c:
	(medusa_relational_database_query_criterion_match):
	changed MEDUSA_TEST_SYSTEM_CALL to g_return_val_if_fail
	* medusa/medusa-rdb-table.h:
	
	* medusa/medusa-test-conf.h:
	got rid of some old invalid test vars
	* medusa/medusa-text-index-mime-module.c:
	(medusa_text_index_mime_module_new),
	(medusa_text_index_mime_module_add_mime_type),
	(medusa_text_index_mime_module_remove_ mime_type),
	(medusa_text_index_mime_module_add_mime_pattern),
	(medusa_text_index_mime_module_accepts_mime_type),
	(medusa_text_index_mime_module_ref),
	(medusa_text_index_mime_module_unref),
	(medusa_text_index_mime_module_destroy), (is_valid_mime_type),
	(is_valid_mime_pattern), (valid_mime_pattern_to_regexp_string),
	(mime_pattern_matches), (dummy_return_words),
	(medusa_text_index_mime_module_test):
	added code to handle indexing code
	* medusa/medusa-text-index-mime-module.h:
	basic mime module api.
	* medusa/medusa-text-index.c:
	* medusa/medusa-text-index.h:
	speced out types for text indexing
	* tests/medusa-run-tests.c: (main), (medusa_unindexed_search_test):
	Got rid of hardcoded tests that don't work anymore.
	there should be some new ones at some point

Sun Jun 18 00:41:18 2000  George Lebl <jirka@5z.com>

	* medusa/medusa-file-index-queries.c,
	  medusa/medusa-file-information.c, medusa/medusa-rdb-fields.c,
	  medusa/medusa-utils.c: include <string.h>

	* medusa/medusa-io-handler.c: use G_MAXINT and G_MININT instead of
	  LONG_MIN and LONG_MAX as that was actually an int and not a long

2000-06-16  Maciej Stachowiak  <mjs@eazel.com>

	* medusa/medusa-byte.h, medusa/medusa-conf.h,
	medusa/medusa-file-index-encoders.h,
	medusa/medusa-file-index-queries.h, medusa/medusa-file-index.h,
	medusa/medusa-file-information.h, medusa/medusa-hash.h,
	medusa/medusa-io-handler.h, medusa/medusa-rdb-fields.h,
	medusa/medusa-rdb-index.h, medusa/medusa-rdb-query-private.h,
	medusa/medusa-rdb-query.h, medusa/medusa-rdb-record.h,
	medusa/medusa-rdb-table-async.h,
	medusa/medusa-rdb-table-private.h, medusa/medusa-rdb-table.h,
	medusa/medusa-search-service.h, medusa/medusa-test-conf.h,
	medusa/medusa-test.h, medusa/medusa-tokenize.h,
	medusa/medusa-unindexed-search.h, medusa/medusa-utils.h: Added
	#include guards for all of these.

2000-06-16  Rebecka Schulman  <rebecka@eazel.com>

	* TODO:
	* medusa/Makefile.am:
	* medusa/medusa-rdb-table-async.c:
	(medusa_relational_table_select_cancellable):
	* medusa/medusa-rdb-table-async.h:
	wrote basic async stuff
	
	* medusa/medusa-rdb-table-private.h:
	hid virtual free in private header
	
	* medusa/medusa-rdb-table.c: (medusa_relational_table_insert),
	(medusa_relational_table_delete_record),
	(medusa_relational_table_free),
	(medusa_relational_table_virtual_free), (medusa_rdb_table_test):
	added a new virtual_free function, and pointed out
	existing bugs in the table freeing code
	* medusa/medusa-rdb-table.h:
	changed include headers
	
2000-06-15  Rebecka Schulman  <rebecka@eazel.com>

	* medusa/medusa-unindexed-search.c:
	* medusa/medusa-unindexed-search.h:
	* medusa/Makefile.am:
	Added slow background search
	in synchronous form
	

	* medusa/medusa-file-index-daemon.c: (main):
	Switched the process order to enhance debugging
	
	* medusa/medusa-file-index.c: (reindex_directory):
	Added new reindex debugging flag
	* medusa/medusa-rdb-file.c:
	* medusa/medusa-conf.h:
	Added indenting info
	
	* medusa/medusa-rdb-query-private.h:
	* medusa/medusa-rdb-query.c:
	Moved QueryCriterion definition into medusa-rdb-query-private
	
	* medusa/medusa-rdb-table.c:
	(medusa_relational_table_delete_record),
	(medusa_relational_table_erase_record),
	(medusa_relational_table_select_cancellable):
	* medusa/medusa-rdb-table.h:
	Added skeleton structure for medusa_relational_table_select_cancellable

	* tests/medusa-run-tests.c: (main), (number_decode),
	(medusa_unindexed_search_test):
	Added new test function for unindexed search
	
2000-06-15  Rebecka Schulman  <rebecka@eazel.com>

	* medusa/medusa-file-search-daemon.c: (is_cookie_request),
	(create_cookie_file), (run_query), (present_query_results),
	(parse_transmission), (main), (ensure_index_validity),
	(query_request_is_valid), (get_user_key), (get_user_query),
	(remove_user_query), (character_to_medusa_rdb_operator),
	(medusa_file_index_record_to_full_file_name), (uid_can_read),
	(group_contains):
	Refactor this code so that it is at least slightly 
	more readable

2000-06-15  Rebecka Schulman  <rebecka@eazel.com>
	* medusa/medusa-file-index-daemon.c: (main),
	(wait_for_indexing_signal), (do_full_indexing),
	(do_fast_reindexing), (indexing_signal_received_callback),
	(initialize_socket), (backup_index_files), (copy_new_index_files):
	Refactored most of the code to be more
	comprehensible, and then added index signal system
	* medusa/medusa-search-service.h:
	Added some search api suggestions
	Added index request names
	* medusa/medusa-conf.h:
	Fixed typo in lock file name
	
2000-06-14  Rebecca Schulman  <rebecka@eazel.com>	
	* doc/search_daemon_request_format:
	* medusa/medusa-search-service.h:
	Put in some commented out suggestions for
	the new search service api in
	
	* medusa/medusa-file-index-daemon.c:
	* medusa/medusa-file-search-daemon.c:
	modified headers
	

2000-06-14  Maciej Stachowiak  <mjs@eazel.com>

	* medusa/medusa-file-index-daemon.c: Use mtime, not ctime.
	* medusa/medusa-file-index-encoders.c:
	(medusa_file_database_mtime_encode,
	medusa_file_database_mtime_decode,
	medusa_file_index_encoders_test): Likewise.
	* medusa/medusa-file-index-encoders.h: Likewise.
	* medusa/medusa-file-index-queries.c:
	(medusa_file_index_select_files_modified_today,
	medusa_file_index_select_files_modified_in_last_seven_days,
	medusa_file_index_select_files_modified_this_month,
	medusa_file_index_select_files_modified_after_time,
	medusa_file_index_select_files_modified_before_today,
	medusa_file_index_select_files_modified_before_last_seven_days,
	medusa_file_index_select_files_modified_before_this_month,
	medusa_file_index_select_files_modified_before_time): Likewise.
	* medusa/medusa-file-index.c (medusa_file_system_db_initialize,
	reindex_directory, file_index_field_info, medusa_file_index_test):
	Likewise.
	* medusa/medusa-file-information.c (medusa_file_attributes_new,
	medusa_index_file_attributes): Likewise.
	* medusa/medusa-rdb-table.c (medusa_rdb_table_test): Likewise.
	* tests/database-test.c (main): Likewise.

2000-06-14  Maciej Stachowiak  <mjs@eazel.com>

	* medusa/medusa-conf.h, medusa/medusa-file-index-daemon.c: Fix
	#define for backup lock file.

2000-06-14  Fatih Demir <kabalak@gmx.net>
	
	* configure.in: Added comments.
	
	* medusa-config.in: Added the vfs libs 
		and cflags to the script.

2000-06-14  Pavel Cisler  <pavel@eazel.com>

	* medusa/medusa-file-index-daemon.c:
	A temporary fix to prevent build-breakage.

2000-06-14  Fatih Demir	<kabalak@gmx.net>

	* databases/.cvsignore: Hmm, no Makefile.in
		wished in the CVS repo, I think.

	* .cvsignore: Added the medusa-config script.

	* Makefile.am: Added medusa-config.in to the
		EXTRA_DIST.
	
	* configure.in: Get the variables necessary for
		the medusa-config script and put this
		 medusa-config script out.

	* medusa-config: Removed it from the CVS repo.
	
	* medusa-config.in: Added a generation-base
		for the medusa-config script.

2000-06-14  Rebecca Schulman  <rebecka@eazel.com>	
	* medusa/Makefile.am:
	* medusa/medusa-conf.h:
	added
	* medusa/medusa-search-service.h:
	added installation
	of medusa external header file, 
	medusa-search-service.h

	* medusa/medusa-file-index-queries.c:
	* medusa/medusa-file-index-queries.h:
	Added new procedure to delete by
	directory name.  Used the delete by
	file name in
	* medusa/medusa-file-information.c:
	
	* medusa/medusa-file-index-daemon.c:
	* medusa/medusa-file-search-daemon.c:
	* medusa/medusa-command-line-daemon.c:
	updated headers to deal with new change
	

2000-06-14  Maciej Stachowiak  <mjs@eazel.com>

	Task 1339
	
	* medusa/medusa-lock-file.h, medusa/medusa-lock-file.c:
	(medusa_lock_file_acquire, medusa_lock_file_release): Anally
	correct handling for lock files (even safe for NFS).
	* medusa/Makefile.am: Add them to the build.
	* medusa/medusa-conf.h: Add extra files for backup database, so
	searches can run in the middle of reindexing.
	* medusa/medusa-file-index-daemon.c (main): Use lock files properly.
	* medusa/medusa-file-search-daemon.c (main): Likewise.
	
2000-06-13  Rebecca Schulman  <rebecka@eazel.com>	
	* doc/search_daemon_request_format
	Defined special communication format
	for nautilus level requests.
	

2000-06-13  Rebecca Schulman  <rebecka@eazel.com>	
	* TODO adding stylistic issues category
	* README added warning about indexing time being long, and
	fixed search examples to work better
	

2000-06-13  Rebecca Schulman  <rebecka@eazel.com>	
	Added file
	* doc/search_uri_scheme
	to specify new search: uri scheme
	(actually, gnome-search:)


2000-06-13  Maciej Stachowiak  <mjs@eazel.com>

	* medusa/medusa-byte.h, medusa/medusa-file-index-daemon.c,
	medusa/medusa-file-index.h, medusa/medusa-file-information.c,
	medusa/medusa-file-information.h, medusa/medusa-io-handler.c,
	medusa/medusa-io-handler.h, medusa/medusa-tokenize.h: Minor
	formatting tweaks.

2000-06-13  Rebecca Schulman  <rebecka@eazel.com>	
	* medusa/medusa-rdb-table.c
	medusa_rdb_table_select doesn't crash
	now whne given tables with 0 records

2000-06-12  Rebecca Schulman  <rebecka@eazel.com>	
	* medusa/medusa-file-index-daemon.c  -- fixed
	unlink assertions that were buggy
	(i thought i already fixed this!)
	* medusa/medusa-file-index-queries.c

2000-06-12  Eskil Heyn Olsen  <eskil@eazel.com>

	* medusa.spec.in: Added a .spec file for packaging medusa to RPM.
	* Makefile.am: Added the spec file to extra dist
	* configure.in: Generate the spec file
	* medusa/Makefile.am: Added some missing headers to noinst
	headers.

	Medusa now neatly fits into a 72k size rpm.

2000-06-11  Rebecca Schulman  <rebecka@eazel.com>	
	Added makefile to install stoplist file
	* Makefile.am
	* databases/Makefile.am (new)
	* configure.in

	Fixed configure script to create
	variable MEDUSA_PREFIX, so things
	will install correctly.
	* acconfig.h (new)
	* configure.in

	Eliminated unnecessary stuff from the
	stoplist
	* databases/file-index-stoplist

	Fixed configuration file to support
	new MEDUSA_PREFIX file
	* medusa/medusa-conf.h
	
	Added config.h declarations
	* medusa/medusa-file-index-encoders.c
	* medusa/medusa-file-index-queries.c
	* medusa/medusa-file-index-daemon.c
	* medusa/medusa-file-search-daemon.c
	
2000-06-11  Rebecca Schulman  <rebecka@eazel.com>	
	* configure.in  commented out
	new config lines that don't work yet

2000-06-11  Rebecca Schulman  <rebecka@eazel.com>	
	* medusa-config -- oops!  Forgot
	to supply the new build script

2000-06-11  Rebecca Schulman  <rebecka@eazel.com>	
	* Makefile.am   -- added the medusa-config
	build script reference
	* medusa-config  the new build script
	* medusa/medusa-file-index-queries.c
	Added a test stub
	* tests/medusa-run-tests.c added 
	the file index query tests

2000-06-09  Rebecca Schulman  <rebecka@eazel.com>	
	* medusa/medusa-file-index-daemon.c
	Added database locking for the concurrent processes
	that both write.  Unfortunately there are still problems
	with this.

	* medusa/medusa-file-index-queries.c
	* medusa/medusa-file-index-queries.h
	Fleshed out the API to include all functions
	that are necessary for search within Nautilus.
	Wrote all of the functions.  They compile
	but test code needs to be written.

2000-06-06  Rebecca Schulman  <rebecka@eazel.com>	
	* medusa/medusa-file-index-queries.c
	* medusa/medusa-file-index-queries.h
	Fixed a few bugs in query generation
	Added new functions:
	medusa_filename_is_in_index
	medusa_file_index_get_directories
	This api needs to be determined.

	* medusa/medusa-file-index.c
	Fixed reindexing to work more
	thoroughly, since name additions
	to notify all parent directories,
	just the immediate one.


	
2000-06-06  Rebecca Schulman  <rebecka@eazel.com>	
	Added the software to reindex shallowly
	every 10 minutes (this number is configurable)

	* medusa/medusa-file-index.c
	* medusa/medusa-file-index.h
	Added reindexing function
	
	* medusa/medusa-file-information.c
	* medusa/medusa-file-information.h
	Added free function for the file attributes
	structure, and a pre stat file attributes
	function
	
	* medusa/medusa-conf.h --added variables
	for hash tables sizes, file index lock file,
	and filename indexing interval
	
	New files include
	* medusa/medusa-file-index-queries.c
	* medusa/medusa-file-index-queries.h
	These files will perform common queries with
	a convenient api.  The first cut of the api
	will match the needs of nautilus

	* medusa/medusa-utils.c
	* medusa/medusa-utils.h  -- location for 
	general utility functions
	
	* Makefile.am  -- reorganized and added source
	files
	
2000-06-06  Rebecca Schulman  <rebecka@eazel.com>	
        Added new capabilities to the file indexer
	to allow it to respond to file indexing
	requests, and also to do shallow reindexing
	of file names every n minutes.

	* medusa/medusa-file-index-daemon.c
	Added major capabilities to the file
	as above, so that it now runs three processes
	one waiting for search requests, one doing
	quick reindexing, and one doing full reindexing.
	* medusa/medusa-conf.h  Added INDEX_SOCKET_PATH
	and changed old SOCKET_PATH to
	SEARCH_SOCKET_PATH.  The indexing path is
	for the indexer's index requests, and the
	search path is for the search daemon's
	search requests
	* medusa/medusa-file-search-daemon.c Changed 
	SOCKET_PATH to SEARCH_SOCKET_PATH,
	and fixed a buggy return value
	* medusa/medusa-command-line-search.c
	Changed SOCKET_PATH to SEARCH_SOCKET_PATH
	since there is now a second INDEX_SOCKET_PATH

	Added new cvs ignore files
	databases/.cvsignore
	tests/data/.cvsignore
	
2000-06-01  Rebecca Schulman  <rebecka@eazel.com>	
	Fixed a few minor bugs in the file
	searching.
	* medusa/medusa-command-line-search.c  -- parses
	the string equals symbol now (^)
	* medusa/medusa-file-search-daemon.c -- fixed
	a memory error in query generation
	* medusa/medusa-rdb-query.c  -- fixed
	string equal to use strcmp

	Added a few more tests
	* medusa/medusa-rdb-table.c
	

2000-05-31  Rebecca Schulman  <rebecka@eazel.com>	
        Added build stuff to medusa.
	* scripts
	* scripts/m-clean
	* scripts/m-rerun
	
2000-05-31  Rebecca Schulman  <rebecka@eazel.com>	
	The file index daemon and the search daemon
	should both work now, with the operators
	listed in medusa-rdb-query.h

	* medusa/medusa-file-index-daemon.c  The
	file indexer now erases everything and writes
	new files when reindexing.  Not reindexing
	isn't really any slower, and avoids 
	lots of bugs
	* medusa/medusa-file-search-daemon.c Added
	the new operator capability (see below)
	and a shell for a test script
	(writing this would be welcome!)

	Fixed the typing issues in the
	querying, by separating string equals,
	and number equals, and assuming types
	for regexp (string), less than and
	greater than (number).  Changing the
	available operators changed code that
	had used the query api up until this point.
	* medusa/medusa-rdb-query.c
	* medusa/medusa-rdb-query.h
	* medusa/medusa-file-information.c
	
	
	Added lots of new test code, including
	tests for
	* medusa/medusa-file-index-encoders.c
	* medusa/medusa-file-index-encoders.h
	(added sig)
	* medusa/medusa-file-index.c
	* medusa/medusa-file-index.h (added sig)
	* medusa/medusa-rdb-table.c
	* medusa/medusa-rdb-table.h
	* medusa/medusa-test-conf.h
	* tests/medusa-run-tests.c

	* README  Updated examples for msearch
	
	* medusa/medusa-conf.h  Changed group and
	owner field size values to use int instead
	of system types.  This may need to be fixed
	later
	* medusa/medusa-file-index-encoders.h
	Changed the system types on the encoder and
	decoder signatures.  They use int instead.

	* medusa/medusa-hash.c  Added checks for
	receiving bad keys

	* medusa/medusa-rdb-fields.c  Cleaned up
	get field contents procedure

	
	

2000-05-30  Rebecca Schulman  <rebecka@eazel.com>	
	Made the file tests work with the exception of
	dealing with loading file fields, and getting
	the rest of the info from static tables,
	which will be my next change.  Tests that
	pertain to this feature have been commented out
	* medusa/medusa-rdb-file.c
	
	* medusa/Makefile.am  Got rid of medusa-test
	binary in this directory.  It is now in the
	test directory

	Changed the rdb-fields api to get rid of
	extraneous "_by_title" endings and to
	separated the meaning of getting
	field structures and field contents.
	This affected all files that currently use 
	the medusa-rdb-fields.h api
	
	* medusa/medusa-rdb-fields.h
	* medusa/medusa-rdb-fields.c

	* medusa/medusa-file-index-encoders.c
	* medusa/medusa-file-information.c
	* medusa/medusa-file-search-daemon.c
	* medusa/medusa-rdb-query.c

	Fixed an error in the test data file
	names
	* medusa/medusa-test-conf.h

2000-05-30  Rebecca Schulman  <rebecka@eazel.com>


	* medusa/medusa-file-search-daemon.c Updated file search daemon to
	use new encode and decode functions
	
        Got rid of underscores in struct names, and
	moved struct definitions to .c files from
	.h files, where appropriate.  Added commentary
	to many files
	* medusa/medusa-rdb-file.h  Changed struct name
	* medusa/medusa-byte.h Added explanation of the file
	* medusa/medusa-conf.h Added free software header, and
	commentary on the file
	* medusa/medusa-file-index.h Changed struct name and added 
	commentary
	* medusa/medusa-file-information.c moved struct into file
	and encode and decode functions out
	* medusa/medusa-file-information.h moved struct out and changed
	struct name
	* medusa/medusa-hash.c Changed medusa_io_handler_new_handler
	function name to medusa_io_handler_new
	* medusa/medusa-io-handler.h
	* medusa/medusa-io-handler.c
	* medusa/medusa-hash.h Changed structure name
	* medusa/medusa-rdb-query.c Moved in structure name
	* medusa/medusa-rdb-query.h Changed structure name and moved it
	to .c file
	* medusa/medusa-rdb-table.c  Added commentary
	* medusa/medusa-rdb-table.h  Added commentary and changed 
	structure name
	* medusa/medusa-tokenize.h  Changed structure name, and added
	commentary

	

	
        Redid the testing framework for medusa.
	Each file should now have its own test class at
	the end, and macros have been added in
	tests/medusa-test.h to check results.

	* medusa/medusa-rdb-file.c  Added new testing function
	* medusa/medsa-rdb-file.h Added signature for testing function
	* medusa/.cvsignore Added attic directory and medusa-test
	binary.  Attic has the old files that you don't want on the
	repository.
	* medusa/medusa-test-conf.h  Added configuration file
	for testing
	* medusa/medusa-test.c  Added test functions (macros
	for running tests )
	* medusa/medusa-test.h  Added header file for above.
	Include this in files that you run tests with
	* tests/medusa-run-tests.c  Added program to run 
	tests.  It compiles into tests/medusa-test-run, which
	should be run to test all testing functions
	

	Removed the old testing files
	* tests/byte-test.c
	* tests/database-test.c
	* tests/medusa-file-index-test.c
	* tests/medusa-rdb-test.c
	* tests/medusa-tokenize-test.c
	
	
	Fixed many of the encoders to take the file_system_db as dat
	* medusa/medusa-file-index-encoders.c  Changed encoders to
	get size information from the field_info structure instead 
	of #define variables
	* medusa/medusa-file-index-encoders.h  Changed signatures to
	reflect parameter changes necessary for above
	
2000-05-25  Rebecca Schulman  <rebecka@eazel.com>
        The big change here is building encoding and decoding functions into
	the MedusaRelationalDatabaseField structure.  The big change here
	is that it removes all of the ugly casting and that sort of thing,
	and makes reading the data format really easy, and thus doing
	compares and matches really easy.
	
	* medusa/Makefile.am            Added new files for compilation
	* medusa/medusa-conf.h          Added comments
	* medusa/medusa-file-index.c    Changed the old memcpy record encoding
	                                to use the new MedusaRDBField encode 
	                                and decode functions
	* medusa/medusa-file-information.c Changed debugging reporting
	                                   th use the encode and decode functions
	* medusa/medusa-file-information.h changed MedusaFileAttributes to
	                                   keep track of actual strings rather
	                                   than tokens
	* medusa/medusa-rdb-fields.c       added new functions to support encoding
	* medusa/medusa-rdb-fields.h 
	
	* medusa/medusa-rdb-file.c         updated field_add to take encode and
	                                   decode functions
	* medusa/medusa-rdb-file.h
	
	* medusa/medusa-rdb-query.c        added new operators to the select function
	
	Added files
	* medusa/medusa-file-index-encoders.h  file index database encoder spec
	* medusa/medusa-file-index-encoders.c  file index database encoders 

2000-05-25  Rebecca Schulman  <rebecka@eazel.com>
	* medusa/.cvsignore           Had cvs ignore results of compilation
	* tests/.cvsignore
	* databases/.cvsignore
	* medusa/medusa-command-line-search.c
	                              Separate operator, operand and field name
	                              by spaces when sending them to the server
	* medusa/medusa-file-search-daemon.c
	                              Added ability to deal with multiple kinds
	                              of operators, include "=", ">", "<", and
				      "~" (regexp match)

2000-05-25  Rebecca Schulman  <rebecka@eazel.com>
	* README                      made the readme usable.  Please read it!
	* doc/flags                   added SEARCH_DAEMON_DEBUG debug flag 
        * medusa/medusa-conf.h
	* medusa/medusa-command-line-search.c  
	                              Can receive results now.  Prints file names to stdout
	* medusa/medusa-file-search-daemon.c
	                              Receives file names and checks for permissions on std unix
				      file systems and only returns to the user files they have permission
				      to read.  Feel free to try and break the security model and report bugs.
2000-05-25  Rebecca Schulman  <rebecka@eazel.com>
	* TODO   Added new items

2000-05-24  Rebecca Schulman  <rebecka@eazel.com>
	* medusa/medusa-conf.h        Changed database field names to omit spaces
	* medusa/medusa-rdb-fields.c  Fixed field name -> size bug. Halts if given valid field name
	* medusa/medusa-rdb-table.c   fixed casting error, and changed g_list_append to g_list_prepend
	                              in initial table creation
	* tests/Makefile.am           added file-database-test to tests
	* tests/database-test.c       made it medusa-conf.h compliant
	* medusa/medusa-file-search-daemon.c
	                              actual creates queries and talks to the file database.
	                              prints file name results.  Does not filter them for permissions!
				      please be careful with this code!  IT is a serious, serious, security
				      hole.  Thank you.
	
2000-05-24  Rebecca Schulman  <rebecka@eazel.com>
	* medusa/medusa-file-search-daemon.c
	Creates queries now.
	* medusa-file-index.c
	Fixed bug with checking stoplist files
	Added files
	* databases/file-index-stoplist
	added list of files to skip during indexing

2000-05-24  Rebecca Schulman  <rebecka@eazel.com>
	* medusa/Makefile.am   
	Added ability to compile command line tool
	* medusa/medusa-command-line-search.c
	Removed unneeded headers

2000-05-24  Ramiro Estrugo  <ramiro@eazel.com>

	* .cvsignore
	* doc/.cvsignore
	* medusa/.cvsignore
	* tests/.cvsignore

	cvsignore generated files.
	
2000-05-24  Rebecca Schulman  <rebecka@eazel.com>
	* medusa/medusa-command-line-search.c
	* medusa/medusa-file-search-daemon.c
	  Fixed cookie communication with keys.
	
2000-05-24  Rebecca Schulman  <rebecka@eazel.com>
	* medusa/medusa-command-line-search.c
	* medusa/medusa-file-search-daemon.c
	  Added cookie communication

2000-05-23  Ramiro Estrugo  <ramiro@eazel.com>
	* autogen.sh:
	New file.  Added to be unbreak build.
	
2000-05-23  Rebecca Schulman <rebecka@eazel.com>
	* medusa/medusa-file-index-daemon.c Removed #define stuff, and
	added it to medusa-conf.h
	* medusa/medusa-file-index.h Removed #define stuff, and
	added it to medusa-conf.h
	* medusa/medusa-file-index.c Included medusa-conf.h
	* medusa/medusa-file-information.c Included medusa-conf.h
	* medusa/medusa-file-search-daemon.c Can receive data, beginnings
	of cookie architecture
	* medusa/

	Added file
	* medusa/medusa-conf.h  Collection of configuration variables
	* medusa/medusa-command-line-search.c  Command line tool that
	will serve as a test/command line tool for the file database

2000-05-23  Maciej Stachowiak  <mjs@eazel.com>

	bugzilla.eazel.com task #936, make medusa use autoconf and make it
	part of the eazel build.

	* Makefile: Removed
	* configure.in, Makefile.am, doc/Makefile.am, tests/Makefile.am:
	Spiffy new Autoconf/Automake setup.
	* tests/medusa-file-index-test.c (main): Don't gnome_init
	* tests/medusa-io-handler-test.c (main): Don't gnome_init
	* macros/*: removed.
	* databases/dummy: Empty file to make this dir check out when you
	cvs uopdate -dP

5-23 Rebecca Schulman         <rebecka@eazel.com>
     medusa/medusa-file-index.c           Adding debugging tags
     medusa/medusa-file-information.c
     medusa/medusa-rdb-fields.c
     medusa/medusa-rdb-file.c
     medusa/medusa-rdb-query.c
     medusa/medusa-rdb-table.c

     medusa/medusa-file-search-daemon.c  Should accept connections (doesn't do anything else, yet)

     Makefile                            added make for search daemon, changed indexer name to 
	                                 file-indexd 

     Added files:
     docs/flags                          list of debugging flags and their meanings
     

5-23 Rebecca Schulman         <rebecka@eazel.com>
     medusa/medusa-file-information.c    removed encoding on permissions, etc. fields
	                                 they are just written to the database raw now
     medusa/medusa-rdb-fields.c          fixed bug in medusa_relational_database_record_get_by_number
     medusa/medusa-rdb-query.c           added error checks in query_criterion_match and removed some
	                                 debug tags
     medusa/medusa-rdb-table.c           Added replacement capability so that files can be deleted, and 
	                                 the space is later used for insertion
	                                 fixed a few bugs in deletion

5-23 Rebecca Schulman          <rebecka@eazel.com>
     Massive bug fixes.  A file indexing daemon that should work to store
     and retreive file and directory names.  The search daemon is started.

	
	Makefile medusa/medusa-file-index.c medusa/medusa-file-index.h 
 	medusa/medusa-file-information.c 
 	medusa/medusa-file-information.h medusa/medusa-io-handler.c 
 	medusa/medusa-io-handler.h medusa/medusa-rdb-fields.c 
 	medusa/medusa-rdb-fields.h medusa/medusa-rdb-file.c 
 	medusa/medusa-rdb-query.c medusa/medusa-rdb-query.h 
 	medusa/medusa-rdb-table.c medusa/medusa-rdb-table.h 
 	medusa/medusa-tokenize.c medusa/medusa-tokenize.h 

	Added Files:
 	medusa/medusa-byte.c medusa/medusa-byte.h 
 	medusa/medusa-file-index-daemon.c 
 	medusa/medusa-file-search-daemon.c tests/byte-test.c 

5-19-2000  Rebecca Schulman    <rebecka@eazel.com>
	* medusa-file-index.c       Added file indexing capabilities
	  medusa-file-index.h
	  medusa-rdb-file.c
	  medusa-rdb-file.h
	  medusa-file-information.c
	  medusa-file-information.h
	* medusa-rdb-index.c        Architecture for future file indexing
	  medusa-rdb-index.h
	* medusa-rdb-query.c
	  medusa-rdb-query.h
        * medusa-rdb-fields.c      Fixed memory issues in here.  More are undoubtedly still there
	  medusa-rdb-fields.h
	  medusa-rdb-record.h
	  medusa-tokenize.c
	  medusa-tokenize.h
	  medusa-io-handler.c
	  medusa-io-handler.h
       *  Makefile                 add new files, ability to test file indexer	   
       *  doc/ui.txt               changed some design issues for nautilus ui	  
	  



	
5-15-2000
Rebecca Schulman     rebecka@eazel.com	
Added basic equivalence selection functionality	
	
5-15-2000
Rebecca Schulman     rebecka@eazel.com	
Added simple relational database.  Select functionality doesn't work yet.
Should compile and run a few things.


2000-05-12  Miguel de Icaza  <miguel@gnu.org>

	* configure.in (MEDUSA_LIBS): Close the AC_OUTPUT.

	

5-11-2000
This doesn't work right now!  It does not have a configure script, or
any of those sorts of goodies!  There is code that doesn't compile!
Please don't complain about this right now.  It will be righted in a
day or two.

What it does have:
data structures: a tokenizer, and an io-handler, to permit easy
	         mmap'ed io.
tests for these data structures
an api for a simple relational database like thing


	



