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


	



