X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/f7b639017a889d802b26b61df6b3f1ac46c6f4f0..a5bd321b2f16ff323e3e268d59606e89b747a901:/src/src/functions.h diff --git a/src/src/functions.h b/src/src/functions.h index de5f534f0..32b3d2d24 100644 --- a/src/src/functions.h +++ b/src/src/functions.h @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/functions.h,v 1.8 2004/12/17 14:52:44 ph10 Exp $ */ +/* $Cambridge: exim/src/src/functions.h,v 1.25 2006/07/13 13:53:33 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2004 */ +/* Copyright (c) University of Cambridge 1995 - 2006 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -52,6 +52,7 @@ extern int auth_get_no64_data(uschar **, uschar *); extern uschar *auth_xtextencode(uschar *, int); extern int auth_xtextdecode(uschar *, uschar **); +extern int check_host(void *, uschar *, uschar **, uschar **); extern uschar **child_exec_exim(int, BOOL, int *, BOOL, int, ...); extern pid_t child_open_uid(uschar **, uschar **, int, uid_t *, gid_t *, int *, int *, uschar *, BOOL); @@ -72,6 +73,11 @@ extern void deliver_succeeded(address_item *); extern int demime(uschar **); #endif extern BOOL directory_make(uschar *, uschar *, int, BOOL); +#ifdef EXPERIMENTAL_DOMAINKEYS +extern BOOL dk_transport_write_message(address_item *, int, int, + int, uschar *, uschar *, uschar *, uschar *, rewrite_rule *, + int, uschar *, uschar *, uschar *, uschar *, uschar *, uschar *); +#endif extern dns_address *dns_address_from_rr(dns_answer *, dns_record *); extern void dns_build_reverse(uschar *, uschar *); extern void dns_init(BOOL, BOOL); @@ -101,19 +107,20 @@ extern BOOL filter_system_interpret(address_item **, uschar **); extern void header_add(int, char *, ...); extern int header_checkname(header_line *, BOOL); extern BOOL header_match(uschar *, BOOL, BOOL, string_item *, int, ...); +extern int host_address_extract_port(uschar *); extern uschar *host_and_ident(BOOL); extern int host_aton(uschar *, int *); extern void host_build_hostlist(host_item **, uschar *, BOOL); extern ip_address_item *host_build_ifacelist(uschar *, uschar *); extern void host_build_log_info(void); extern void host_build_sender_fullhost(void); -extern int host_extract_port(uschar *); extern BOOL host_find_byname(host_item *, uschar *, uschar **, BOOL); extern int host_find_bydns(host_item *, uschar *, int, uschar *, uschar *, uschar *,uschar **, BOOL *); extern ip_address_item *host_find_interfaces(void); extern BOOL host_is_in_net(uschar *, uschar *, int); extern BOOL host_is_tls_on_connect_port(int); +extern int host_item_get_port(host_item *); extern void host_mask(int, int *, int); extern int host_name_lookup(void); extern int host_nmtoa(int, int *, int, uschar *, int); @@ -147,8 +154,8 @@ extern void md5_start(md5 *); extern void millisleep(int); #ifdef WITH_CONTENT_SCAN struct mime_boundary_context; -extern int mime_acl_check(FILE *f, struct mime_boundary_context *, - uschar **, uschar **); +extern int mime_acl_check(uschar *acl, FILE *f, + struct mime_boundary_context *, uschar **, uschar **); extern int mime_decode(uschar **); extern int mime_regex(uschar **); #endif @@ -159,6 +166,7 @@ extern void moan_smtp_batch(uschar *, char *, ...); extern void moan_tell_someone(uschar *, address_item *, uschar *, char *, ...); extern BOOL moan_to_sender(int, error_block *, header_line *, FILE *, BOOL); +extern FILE *modefopen(uschar *, char *, mode_t); extern uschar *parse_extract_address(uschar *, uschar **, int *, int *, int *, BOOL); @@ -167,7 +175,8 @@ extern int parse_forward_list(uschar *, int, address_item **, uschar **, extern uschar *parse_find_address_end(uschar *, BOOL); extern uschar *parse_find_at(uschar *); extern uschar *parse_fix_phrase(uschar *, int, uschar *, int); -extern uschar *parse_quote_2047(uschar *, int, uschar *, uschar *, int); +extern uschar *parse_message_id(uschar *, uschar **, uschar **); +extern uschar *parse_quote_2047(uschar *, int, uschar *, uschar *, int, BOOL); extern BOOL queue_action(uschar *, int, uschar **, int, int); extern void queue_check_only(void); @@ -179,8 +188,9 @@ extern int random_number(int); #ifdef WITH_CONTENT_SCAN extern int recv_line(int, uschar *, int); #endif -extern int rda_interpret(redirect_block *, int, uschar *, uschar *, ugid_block *, - address_item **, uschar **, error_block **, int *, uschar *); +extern int rda_interpret(redirect_block *, int, uschar *, uschar *, + uschar *, uschar *, ugid_block *, address_item **, uschar **, + error_block **, int *, uschar *); extern int rda_is_filter(const uschar *); extern BOOL readconf_depends(driver_instance *, uschar *); extern void readconf_driver_init(uschar *, driver_instance **, @@ -197,7 +207,7 @@ extern void receive_bomb_out(uschar *); extern BOOL receive_check_fs(int); extern BOOL receive_check_set_sender(uschar *); extern BOOL receive_msg(BOOL); -extern int receive_statvfs(BOOL, int *); +extern int receive_statvfs(BOOL, int *); extern void receive_swallow_smtp(void); #ifdef WITH_CONTENT_SCAN extern int regex(uschar **); @@ -242,8 +252,8 @@ extern void set_process_info(char *, ...); extern void sha1_end(sha1 *, const uschar *, int, uschar *); extern void sha1_mid(sha1 *, const uschar *); extern void sha1_start(sha1 *); -extern int sieve_interpret(uschar *, int, uschar *, address_item **, - uschar **); +extern int sieve_interpret(uschar *, int, uschar *, uschar *, uschar *, + address_item **, uschar **); extern void sigalrm_handler(int); extern void smtp_closedown(uschar *); extern int smtp_connect(host_item *, int, int, uschar *, int, BOOL); @@ -256,11 +266,12 @@ extern BOOL smtp_get_port(uschar *, address_item *, int *, uschar *); extern int smtp_getc(void); extern int smtp_handle_acl_fail(int, int, uschar *, uschar *); extern BOOL smtp_read_response(smtp_inblock *, uschar *, int, int, int); -extern void smtp_respond(int, BOOL, uschar *); +extern void smtp_respond(uschar *, int, BOOL, uschar *); extern void smtp_send_prohibition_message(int, uschar *); extern int smtp_setup_msg(void); extern BOOL smtp_start_session(void); extern int smtp_ungetc(int); +extern BOOL smtp_verify_helo(void); extern int smtp_write_command(smtp_outblock *, BOOL, char *, ...); #ifdef WITH_CONTENT_SCAN extern int spam(uschar **); @@ -325,9 +336,10 @@ extern int verify_address(address_item *, FILE *, int, int, int, int, uschar *, uschar *, BOOL *); extern int verify_check_dnsbl(uschar **); extern int verify_check_header_address(uschar **, uschar **, int, int, int, - uschar *, uschar *, int); + uschar *, uschar *, int, int *); extern int verify_check_headers(uschar **); extern int verify_check_host(uschar **); +extern int verify_check_notblind(void); extern int verify_check_this_host(uschar **, unsigned int *, uschar*, uschar *, uschar **); extern address_item *verify_checked_sender(uschar *);