* Exim Monitor *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 2009 */
+/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
address is lowercased to start with, unless it begins with
"*", which it does for error messages. */
-dest_item *find_dest(queue_item *q, uschar *name, int action, BOOL caseless)
+dest_item *
+find_dest(queue_item *q, uschar *name, int action, BOOL caseless)
{
dest_item *dd;
dest_item **d = &(q->destinations);
* Clean up a dead queue item *
*************************************************/
-static void clean_up(queue_item *p)
+static void
+clean_up(queue_item *p)
{
dest_item *dd = p->destinations;
while (dd != NULL)
* Set up new queue item *
*************************************************/
-static queue_item *set_up(uschar *name, int dir_char)
+static queue_item *
+set_up(uschar *name, int dir_char)
{
int i, rc, save_errno;
struct stat statdata;
q->next = q->prev = NULL;
q->destinations = NULL;
-Ustrcpy(q->name, name);
+Ustrncpy(q->name, name, sizeof(q->name));
q->seen = TRUE;
q->frozen = FALSE;
q->dir_char = dir_char;
else
{
- q->update_time = q->input_time = received_time;
+ q->update_time = q->input_time = received_time.tv_sec;
if ((p = strstric(sender_address+1, qualify_domain, FALSE)) != NULL &&
*(--p) == '@') *p = 0;
}
}
else
{
- deliver_freeze = FALSE;
+ f.deliver_freeze = FALSE;
sender_address = msg;
recipients_count = 0;
}
/* Now set up the remaining data. */
-q->frozen = deliver_freeze;
+q->frozen = f.deliver_freeze;
-if (sender_set_untrusted)
+if (f.sender_set_untrusted)
{
if (sender_address[0] == 0)
{
-queue_item *find_queue(uschar *name, int action, int dir_char)
+queue_item *
+find_queue(uschar *name, int action, int dir_char)
{
int first = 0;
int last = queue_index_size - 1;
if (recipients_list)
for (i = 0; i < recipients_count; i++)
{
- uschar *pp;
- uschar *r = recipients_list[i].address;
- tree_node *node = tree_search(tree_nonrecipients, r);
+ uschar * pp;
+ uschar * r = recipients_list[i].address;
+ tree_node * node;
- if (!node)
- {
- uschar temp[256];
- uschar *rr = temp;
- Ustrncpy(temp, r, sizeof(temp));
- while (*rr && *rr != '@') rr++;
- while (*rr) { *rr = tolower(*rr); rr++; }
- node = tree_search(tree_nonrecipients, temp);
- }
+ if (!(node = tree_search(tree_nonrecipients, r)))
+ node = tree_search(tree_nonrecipients, string_copylc(r));
if ((pp = strstric(r+1, qualify_domain, FALSE)) && *(--pp) == '@')
*pp = 0;