$Revision: 2.29 $
mm - MIME Parser module. Functions to parse a mail message part, find if it is MIME-encapsulated, dispatch the part to the appropriate drivers (also included) and return tree nodes with all MIME information.
Status: COMPLETE, NOT REVUED, TESTED
Design and implementation by: daniele@ripe.net
| Visible in: | mm/mm.c | |
| Used in: | dispatch_to_driver() | mm/mm.c |
| is_supported_MIMEtype() | mm/mm.c |
| Visible in: | mm/mm.c | |
| Used in: | MM_extract_mime() | mm/mm.c |
| parse_message_rfc822() | mm/mm.c | |
| parse_multipart_alternative() | mm/mm.c |
| Defined in: | ep/mail_parser.c |
EP_keyRing
extern char EP_keyRing[1024]
| Defined in: | ep/mail_parser.c |
EP_TreeHeight
extern int EP_TreeHeight
| Defined in: | ep/mail_parser.c |
EP_Node_ID
extern int EP_Node_ID
| Defined in: | ep/mail_parser.c |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | ER_dbg_va() | er/er.c |
| ER_inf_va() | er/er.c | |
| ER_perror() | er/er.c | |
| dispatch_to_driver() | mm/mm.c | |
| status() | mm/mm.c | |
| auth_link(), fprintf(), mail_close_full(), mail_fetch_structure(), mail_link(), mail_open(), sprintf() | ||
| Called by: | EP_MIMEParse() | ep/mail_parser.c |
| EP_ParseMail() | ep/mail_parser.c | |
| parse_message_rfc822() | mm/mm.c | |
| parse_multipart_alternative() | mm/mm.c | |
| References Variables: | debug | mm/mm.c |
| pass | mm/mm.c | |
| auth_log, auth_md5, dummydriver, imapdriver, mboxdriver, mbxdriver, mhdriver, mmdfdriver, mtxdriver, mxdriver, newsdriver, nntpdriver, philedriver, pop3driver, tenexdriver, unixdriver | ||
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | ER_dbg_va() | er/er.c |
| ER_inf_va() | er/er.c | |
| ER_perror() | er/er.c | |
| get_mail_hdr_field() | mm/mm.c | |
| status() | mm/mm.c | |
| UT_malloc_real(), auth_link(), fprintf(), mail_close_full(), mail_fetch_structure(), mail_free_stringlist(), mail_link(), mail_newstringlist(), mail_open(), sprintf(), strlen() | ||
| Called by: | InitializeMailDescr() | ep/mail_parser.c |
| References Variables: | debug | mm/mm.c |
| auth_log, auth_md5, body_types, dummydriver, imapdriver, mboxdriver, mbxdriver, mhdriver, mmdfdriver, mtxdriver, mxdriver, newsdriver, nntpdriver, philedriver, pop3driver, tenexdriver, unixdriver | ||
* * MM_store(). Stores a file (or stdin) in another file, * "escaping" the lines starting with "From " by adding * a ">" sign. This is necessary because we need to deal * with files that are "unix mailboxes". * * This function puts a limit to the line size that a mail * message may have; officially, there is no limit to this size, * but we prefer to add this limit to avoid buffer overflow. * The line size limit is MAXBUFSIZE, defined in mm.h . *int MM_store ( char* source_file, char* destination_file, long custom_debug )
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | ER_dbg_va() | er/er.c |
| ER_inf_va() | er/er.c | |
| ER_perror() | er/er.c | |
| do_regex_test() | mm/mm.c | |
| ctime(), fdwrap_fclose(), fgets(), fopen(), fprintf(), fputs(), strcmp(), strlen(), time() | ||
| Called by: | EP_MIMEParse() | ep/mail_parser.c |
| EP_ParseMail() | ep/mail_parser.c | |
| References Variables: | debug | mm/mm.c |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | ER_dbg_va() | er/er.c |
| is_supported_MIMEtype() | mm/mm.c | |
| parse_message_rfc822() | mm/mm.c | |
| parse_multipart_alternative() | mm/mm.c | |
| parse_multipart_signed() | mm/mm.c | |
| parse_text_plain() | mm/mm.c | |
| strcmp() | ||
| Called by: | MM_extract_mime() | mm/mm.c |
| References Variables: | supported_MIME_types | mm/mm.c |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | UT_free_real(), UT_malloc_real(), regcomp(), regexec(), regfree() | |
| Called by: | EP_MIMEParse() | ep/mail_parser.c |
| MM_store() | mm/mm.c | |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | UT_malloc_real(), cpystr(), mail_fetch_header(), sprintf(), strlen() | |
| Called by: | get_mail_hdr_field() | mm/mm.c |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | get_header_line() | mm/mm.c |
| UT_free_real(), UT_malloc_real(), sprintf(), strlen() | ||
| Called by: | MM_get_msg_headers() | mm/mm.c |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | UT_free_real(), UT_malloc_real(), sprintf(), strcmp(), strlen() | |
| Called by: | dispatch_to_driver() | mm/mm.c |
| References Variables: | supported_MIME_types | mm/mm.c |
| body_types | ||
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Calls: | abort() | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Calls: | puts() | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Calls: | ER_perror() | er/er.c |
| fprintf() | ||
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Calls: | ER_dbg_va() | er/er.c |
| ER_perror() | er/er.c | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /ncc/dbwork/c-client/sparc-sun-solaris2.7/imap-2000a/c-client/mail.h | |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | ER_dbg_va() | er/er.c |
| MM_extract_mime() | mm/mm.c | |
| write_file() | mm/mm.c | |
| UT_free_real(), UT_malloc_real(), ctime(), mail_fetch_text(), remove(), sprintf(), strlen(), time() | ||
| Called by: | dispatch_to_driver() | mm/mm.c |
| References Variables: | EP_outputPrefix | ep/mail_parser.c |
| debug | mm/mm.c | |
| pass | mm/mm.c | |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | EP_InitializeNode() | ep/mail_parser.c |
| ER_dbg_va() | er/er.c | |
| MM_extract_mime() | mm/mm.c | |
| write_file() | mm/mm.c | |
| UT_free_real(), UT_malloc_real(), ctime(), g_snprintf(), mail_fetch_mime(), remove(), sprintf(), strlen(), time() | ||
| Called by: | dispatch_to_driver() | mm/mm.c |
| References Variables: | EP_Node_ID | ep/mail_parser.c |
| EP_TreeHeight | ep/mail_parser.c | |
| EP_outputPrefix | ep/mail_parser.c | |
| debug | mm/mm.c | |
| pass | mm/mm.c | |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | EP_InitializeNode() | ep/mail_parser.c |
| EP_MIMEParse() | ep/mail_parser.c | |
| ER_dbg_va() | er/er.c | |
| write_file() | mm/mm.c | |
| PA_VerifySignature(), UT_free_real(), UT_malloc_real(), mail_fetch_mime(), remove(), snprintf(), sprintf(), strcpy(), strlen() | ||
| Called by: | dispatch_to_driver() | mm/mm.c |
| References Variables: | EP_Node_ID | ep/mail_parser.c |
| EP_TreeHeight | ep/mail_parser.c | |
| EP_keyRing | ep/mail_parser.c | |
| EP_outputPrefix | ep/mail_parser.c | |
| debug | mm/mm.c | |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | ER_dbg_va() | er/er.c |
| write_file() | mm/mm.c | |
| PA_ParseMessage(), UT_free_real(), UT_malloc_real(), mail_fetch_text(), sprintf(), strlen() | ||
| Called by: | dispatch_to_driver() | mm/mm.c |
| References Variables: | EP_outputPrefix | ep/mail_parser.c |
| debug | mm/mm.c | |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | write_file() | mm/mm.c |
| sprintf() | ||
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | ER_perror() | er/er.c |
| fdwrap_fclose(), fopen(), fprintf(), getc(), putc() | ||
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | ER_dbg_va() | er/er.c |
| rfc822_date() | ||
| Called by: | MM_extract_mime() | mm/mm.c |
| MM_get_msg_headers() | mm/mm.c | |
| Prototyped in: | /home/shane/code/RIP/include/mm.h | |
| Calls: | ER_perror() | er/er.c |
| fdwrap_fclose(), fopen(), fprintf() | ||
| Called by: | parse_message_rfc822() | mm/mm.c |
| parse_multipart_alternative() | mm/mm.c | |
| parse_multipart_signed() | mm/mm.c | |
| parse_text_plain() | mm/mm.c | |
| put_in_file() | mm/mm.c | |
| Included from: | /usr/include/time.h | |
| Calls: | __posix_asctime_r() | |
| Included from: | /usr/include/time.h | |
| Calls: | __posix_ctime_r() | |
| Included from: | /usr/include/unistd.h | |
| Calls: | __posix_getlogin_r() | |
| Included from: | /usr/include/dirent.h | |
| Calls: | __posix_readdir_r() | |
| Included from: | /usr/include/signal.h | |
| Calls: | __posix_sigwait() | |
| Included from: | /usr/include/unistd.h | |
| Calls: | __posix_ttyname_r() | |