aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-search-private.c
Commit message (Collapse)AuthorAgeFilesLines
* When doing a contains match, split the words and perform an and on it.Not Zed2002-04-181-4/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-18 Not Zed <NotZed@Ximian.com> * camel-folder-search.c (check_header): When doing a contains match, split the words and perform an and on it. (match_words_messages): If we have an index, but were forced to do a full search, first lookup a subset of messages using the index and a simplified word set. Only do a manual search of this subset. 2002-04-17 Not Zed <NotZed@Ximian.com> * camel-folder-search.c (match_message_index): Changed to take a utf8 string not a regex pattern. (match_words_index): Matches against a camel_search_words list. (match_words_1message): Matches a single message against a camel_search_words list. (match_words_message): Same, but gets the message from the folder for you. (match_words_messages): Matches a list of messages against a words list. (search_body_contains): Rewritten to handle multiple word searches. For #23371. * providers/imap/camel-imap-search.c (sync_match): Split words when searching, to support multiple search words. Also, try searching specifying charset of utf8 if we can, if that fails, fall back to not specifying charset. TODO: It should translate the strings into the locale default charset? * providers/imap/camel-imap-store.c (connect_to_server): Added new cap - utf8_search, if set, we tell the server we're searching using utf8, otherwise we dont (incorrectly, since we always use utf8 to search). * camel-search-private.c (camel_ustrstrcase): Make this class public. (camel_search_words_split): Split a word into multiple words based on whitespace, and keep track of whether the word is simple (indexable directly), or not. (camel_search_words_free): Free 'em. svn path=/trunk/; revision=16501
* Use the FOLD_SIZE as a recommended folding size, but add a newNot Zed2002-02-281-1/+1
| | | | | | | | | | 2002-02-28 Not Zed <NotZed@Ximian.com> * camel-mime-utils.c (header_fold): Use the FOLD_SIZE as a recommended folding size, but add a new FOLD_MAX_SIZE (=998, the smtp max line size) as the hard limit for any output. svn path=/trunk/; revision=15866
* More fixing of the license texts.Ettore Perazzoli2001-10-281-11/+11
| | | | svn path=/trunk/; revision=14216
* Remove the stupid warning that should never have been there in the first52001-10-261-2/+3
| | | | | | | | | | | | | | | | | | | | | 2001-10-25 <NotZed@Ximian.com> * camel-search-private.c (utf8_get): Remove the stupid warning that should never have been there in the first place. * camel-sasl-digest-md5.c (digest_response): s/iconv/e_iconv/ * camel-pgp-context.c (pgp_verify): " * camel-mime-utils.c (rfc2047_decode_word, rfc2047_decode_word, append_8bit, rfc2047_encode_word, rfc2184_decode, header_decode_param): " * camel-mime-part-utils.c (convert_buffer, convert_buffer): " * camel-mime-filter-charset.c (reset, complete, filter): " svn path=/trunk/; revision=14113
* Use search_type_mlist for mailing list searches.Michael Zucci2001-10-231-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-filter-search.c, camel-folder-search.c (check_header): Use search_type_mlist for mailing list searches. * camel.c (camel_init): call camel-mime-utils-init func. * camel-mime-utils.c: Changed mail mail_list_magic to include a domain part, also pre-compile all the patterns. They are all backward compatible except List-Id: which now uses the mail-address-like <list-name.host.name> part rather than the plain-text part (which might've been blank anyway). (camel_mime_utils_init): Initialisation function to setup any static data required by camel-mime-utils at run-time. We now setup the base64/charset class tables here, so it doesn't need to be done statically. (camel_mime_special_table, camel_mime_base64_rank): No longer statically initialise these. (main): Removed + the tests at the end of the file. (header_raw_check_mailing_list): Dont compile regex's here, already compiled in utils_init. Use the regex patterns to remove leading <'s from addresses. Also, if there is a domain part matched, add that after a '@' is added. camel-search-private.c: (camel_search_header_match): Added SEARCH_TYPE_MLIST for mlist search types. It ignores the domain part if either (but not both) of the values dont have it. svn path=/trunk/; revision=13894
* (camel_search_header_match): Oops, missing i=0.Michael Zucci2001-10-231-1/+1
| | | | svn path=/trunk/; revision=13891
* Match check against all addresses in a multiple address match. Should fix22001-10-231-6/+4
| | | | | | | | | | 2001-10-22 <NotZed@Ximian.com> * camel-search-private.c (camel_search_header_match): Match check against all addresses in a multiple address match. Should fix #13051. svn path=/trunk/; revision=13885
* Added MATCH_NEWLINE flag, -> REG_NEWLINE.32001-10-041-0/+2
| | | | | | | | | | | | | | | | | | 2001-10-03 <NotZed@Ximian.com> * camel-search-private.c (camel_search_build_match_regex): Added MATCH_NEWLINE flag, -> REG_NEWLINE. * camel-lock-helper.c: Include <string.h> to kill some warnings. * camel-filter-search.c (get_full_header): Put \n's between each line we generate. (header_full_regex): Dont drop the first argument to the command -> empty matches! (header_full_regex): Set match_newline for building regex. (body_regex): And here too. These all fix #9877. svn path=/trunk/; revision=13392
* If the type is encoded, get the fallback charset from the message42001-09-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-24 <NotZed@Ximian.com> * camel-filter-search.c (check_header): If the type is encoded, get the fallback charset from the message content-type. * camel-mime-part-utils.c (check_html_charset): Dont check for charset==null before calling charset_to_iconv. (simple_data_wrapper_construct_from_parser): " * camel-mime-message.c (process_header): Try use content-type charset param as the fallback charset. * camel-charset-map.c (camel_charset_to_iconv): Handle name == NULL, return NULL. * camel-folder-summary.c (camel_folder_summary_format_address): (camel_folder_summary_format_string): Made private again, removed #warning about it. Renamed to s/camel_folder//. (summary_format_string): Take default charset param. (camel_message_info_new_from_header, message_info_new): Decode content-type field to get the charset parameter to use as the default charset for decoding strings. * camel-search-private.c (camel_search_header_match): Pass NULL as the charset, the locale charset is always tried. (camel_search_header_match): Supply a default_charset parameter to be used with TYPE_ENCODED params. * camel-mime-utils.c (header_param): get rid of the g_strcasecmp crap. (header_set_param): Same here. (header_decode_param_list): And here. (header_decode_text): Totally rewritten. 30% of its size. If the word is not rfc2047 encoded, always try default_charset if supplied, if that fails, try locale charset if it exists, if that fails then assume latin1/7 bit ascii. (append_8bit): Changed to return FALSE if we can't convert for whatever reason, and dont append anything. * camel-mime-part.h (struct _CamelMimePart): Move content_type and headers out of the 'private' section. * camel-mime-part.c (get_headers): Dont do any conversion on the header. (process_header): Get the content-type charset as the fallback charset for decode_string. (construct_from_parser): IF we have a content-type header, process it before doing anything else, so we have access to a fallback charset for invalid headers. svn path=/trunk/; revision=13096
* check for NULL name and addr (fixes a bug i was about to report)jacob berkman2001-08-081-2/+2
| | | | | | | | | 2001-08-08 jacob berkman <jacob@ximian.com> * camel-search-private.c (camel_search_header_match): check for NULL name and addr (fixes a bug i was about to report) svn path=/trunk/; revision=11786
* Properly determine match type to pass to header_match.Not Zed2001-08-081-19/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-08 Not Zed <NotZed@Ximian.com> * camel-filter-search.c (check_header): Properly determine match type to pass to header_match. (address_matches_exactly): Removed, effectively added to camel_search_header_match. * camel-folder-search.c (check_header): Properly determine the match type to pass to header_match. * camel-search-private.c (camel_search_header_match): Add a new parameter 'type' which is the type of header we're matching against. ASIS means utf8 format, ADDRESS means an internet address ('formatted'), ADDRESS_ENCODED means a raw address header, ENCODED means rfc 2047 encoded text. (header_match): Move original logic here, have search_header_match call it as appropriate for the 'type' of match. 2001-08-07 Not Zed <NotZed@Ximian.com> * camel-session.c (camel_session_class_init): Only init the vee provider struct once (if we're subclassed this will get called multiple times). * camel-object.c (obj_finalize): Removed a bit of a debug that crept in with jacob's poolv patch (?). svn path=/trunk/; revision=11772
* New function to do danw's address "is" comparison (as specified in bugJeffrey Stedfast2001-08-081-69/+72
| | | | | | | | | | | 2001-08-07 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-search.c (address_matches_exactly): New function to do danw's address "is" comparison (as specified in bug #5886. (check_header): Special-case address-type headers when we are doing an exact match to use the address_matches_exactly function. svn path=/trunk/; revision=11738
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-2/+2
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Replicate the semantics of the libunicode utf8 functions by returning NULLJon Trowbridge2001-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 2001-05-14 Jon Trowbridge <trow@ximian.com> * camel-search-private.c (utf8_get): Replicate the semantics of the libunicode utf8 functions by returning NULL in the arg on invalid utf8. * camel-pgp-context.c (pgp_verify): Check for valid utf8, terminate loop if something looks wrong. * camel-mime-utils.c (header_encode_phrase_get_words): Properly check for invalid utf8. (header_encode_string): Properly check for invalid utf8. * camel-charset-map.c (camel_charset_step): Properly check for invalid utf8. 2001-05-14 Jon Trowbridge <trow@ximian.com> * e-html-utils.c (is_citation): Check for bad utf8. svn path=/trunk/; revision=9798
* Remove UNICODE_CFLAGS (and some other stuff that's redundant withDan Winship2001-04-271-57/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (INCLUDES): Remove UNICODE_CFLAGS (and some other stuff that's redundant with EXTRA_GNOME_CFLAGS) (libcamel_la_LIBADD): Replace UNICODE_LIBS with GAL_LIBS. * camel-search-private.c: * camel-pgp-context.c: * camel-mime-utils.c: Use gunicode interfaces rather than libunicode. * camel-charset-map.c: Use gunicode rather than libunicode. (The charmap-regen code still depends on libunicode though.) * camel-mime-filter-charset.h: * tests/message/test2.c (convert): Use iconv rather than unicode_iconv. * providers/smtp/Makefile.am (libcamelsmtp_la_LIBADD): * providers/pop3/Makefile.am (libcamelpop3_la_LIBADD): * providers/local/Makefile.am (libcamellocal_la_LIBADD): Remove UNICODE_LIBS. * camel.c (camel_init): Remove call to unicode_init. * camel-mime-parser.c: Remove unused unicode.h include. svn path=/trunk/; revision=9585
* Big header cleanups and nntp compile fixKjartan Maraas2001-03-301-0/+5
| | | | svn path=/trunk/; revision=9024
* Reconstify variables to match iconv.Not Zed2001-03-021-2/+5
| | | | | | | | | | | | 2001-03-02 Not Zed <NotZed@Ximian.com> * camel-mime-utils.c (rfc2047_encode_word, rfc2047_decode_word): Reconstify variables to match iconv. * camel-search-private.c (camel_ustrstrcase): Change some assertions back into valid returns. svn path=/trunk/; revision=8452
* Doh, cut and paste problem, use mlist not cc.Michael Zucci2001-02-231-1/+1
| | | | | | | | | | | * camel-folder-summary.c (camel_message_info_new_from_header): Doh, cut and paste problem, use mlist not cc. * camel-folder.c (move_message_to): (copy_message_to): If the source folder doesn't support a summary, dont try and get the message info from it. svn path=/trunk/; revision=8361
* Macro for making comparisons easy. (camel_ustrcasecmp): UseJeffrey Stedfast2001-02-081-6/+16
| | | | | | | | | | | | | | | | | | | 2001-02-07 Jeffrey Stedfast <fejj@ximian.com> * camel-search-private.c (CAMEL_SEARCH_COMPARE): Macro for making comparisons easy. (camel_ustrcasecmp): Use CAMEL_SEARCH_COMPARE and check for end-of-string before the utf-8 error check. (camel_ustrncasecmp): Same. (camel_search_header_match): Strip leading spaces before doing anything else. Also use vlen and mlen so as to not need to do 500 strlen()'s. (camel_ustrcasecmp): Don't get_utf8() for the 2 strings in the comparison part of the loop because of short-circuit expression evaluation. (blame JPR if this is the wrong term!) (camel_ustrncasecmp): Same. svn path=/trunk/; revision=8057
* Macro for making comparisons easy. (camel_ustrcasecmp): UseJeffrey Stedfast2001-02-081-52/+37
| | | | | | | | | | | | | | | 2001-02-07 Jeffrey Stedfast <fejj@ximian.com> * camel-search-private.c (CAMEL_SEARCH_COMPARE): Macro for making comparisons easy. (camel_ustrcasecmp): Use CAMEL_SEARCH_COMPARE and check for end-of-string before the utf-8 error check. (camel_ustrncasecmp): Same. (camel_search_header_match): Strip leading spaces before doing anything else. Also use vlen and mlen so as to not need to do 500 strlen()'s. svn path=/trunk/; revision=8055
* Rewrote using unicode_get_utf8(). (camel_ustrcasecmp): Use unicode_char_tJeffrey Stedfast2001-02-071-53/+82
| | | | | | | | | | 2001-02-06 Jeffrey Stedfast <fejj@ximian.com> * camel-search-private.c (utf8_get): Rewrote using unicode_get_utf8(). (camel_ustrcasecmp): Use unicode_char_t (camel_ustrncasecmp): Same. svn path=/trunk/; revision=8026
* Removed unwanted header. It was never put in for a reason. Stop fixingNot Zed2001-02-061-6/+168
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-06 Not Zed <NotZed@Ximian.com> * camel-search-private.c: Removed unwanted header. It was never put in for a reason. Stop fixing irrelevant warnings. (camel_ustrstrcase): Our own strstrcase impl for utf8 strings. (camel_ustrcasecmp): Ditto for strcasecmp. (camel_ustrncasecmp): And strncasecmp. (utf8_get): Simpler interface to utf8 string processing. (camel_search_header_match): Use the new things. 2001-02-05 Not Zed <NotZed@Ximian.com> * camel-folder.c (get_summary): Removed some old variables/a small memleak. (free_summary): Removed old variables. * camel-mime-utils.c (header_raw_check_mailing_list): New utility function to get the mailing list (if any) that a set of headers came from. svn path=/trunk/; revision=8008
* Added a missing #include.Christopher James Lahey2001-02-061-0/+2
| | | | | | | | | | 2001-02-05 Christopher James Lahey <clahey@helixcode.com> * camel-stream-fs.c: Added a missing #include. * camel-search-private.c: Added a missing #include. svn path=/trunk/; revision=7999
* Oops.Michael Zucci2001-01-251-0/+275
svn path=/trunk/; revision=7801