-/* $Cambridge: exim/src/src/receive.c,v 1.48 2009/10/15 09:22:44 tom Exp $ */
+/* $Cambridge: exim/src/src/receive.c,v 1.52 2009/11/16 12:47:19 tom Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
header_line *my_headerlist;
uschar *user_msg, *log_msg;
int mime_part_count_buffer = -1;
-int rc;
+int rc = OK;
memset(CS rfc822_file_path,0,2048);
BOOL
receive_msg(BOOL extract_recip)
{
-int i, rc;
+int i;
+int rc = FAIL;
int msg_size = 0;
int process_info_len = Ustrlen(process_info);
int error_rc = (error_handling == ERRORS_SENDER)?
/* Add the header line */
- header_add(htype_id, "%sMessage-Id: <%s%s%s@%s>\n", resent_prefix,
- message_id_external, (*id_text == 0)? "" : ".", id_text, id_domain);
+ header_add_at_position(FALSE, NULL, FALSE, htype_id,
+ "%sMessage-Id: <%s%s%s@%s>\n", resent_prefix, message_id_external,
+ (*id_text == 0)? "" : ".", id_text, id_domain);
}
/* If we are to log recipients, keep a copy of the raw ones before any possible
if (!date_header_exists &&
((sender_host_address == NULL && !suppress_local_fixups)
|| submission_mode))
- header_add(htype_other, "%sDate: %s\n", resent_prefix, tod_stamp(tod_full));
+ header_add_at_position(FALSE, NULL, FALSE, htype_other, "%sDate: %s\n",
+ resent_prefix, tod_stamp(tod_full));
search_tidyup(); /* Free any cached resources */
int seen_items_size = 0;
int seen_items_offset = 0;
uschar itembuf[256];
+ /* Default to OK when no items are present */
+ rc = OK;
while ((item = string_nextinlist(&ptr, &sep,
itembuf,
sizeof(itembuf))) != NULL)
appears in the expanded list. */
if (seen_items != NULL)
{
+ uschar *seen_items_list = seen_items;
if (match_isinlist(item,
- &seen_items,0,NULL,NULL,MCL_STRING,TRUE,NULL) == OK)
+ &seen_items_list,0,NULL,NULL,MCL_STRING,TRUE,NULL) == OK)
{
DEBUG(D_receive)
debug_printf("acl_smtp_dkim: skipping signer %s, already seen\n", item);
continue;
}
- string_cat(seen_items,&seen_items_size,&seen_items_offset,":",1);
+ seen_items = string_append(seen_items,&seen_items_size,&seen_items_offset,1,":");
}
- string_cat(seen_items,&seen_items_size,&seen_items_offset,item,Ustrlen(item));
+ seen_items = string_append(seen_items,&seen_items_size,&seen_items_offset,1,item);
+ seen_items[seen_items_offset] = '\0';
DEBUG(D_receive)
debug_printf("calling acl_smtp_dkim for dkim_cur_signer=%s\n", item);