git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Copyright year updates (things touched in 2015)
[exim.git]
/
src
/
src
/
routers
/
queryprogram.c
diff --git
a/src/src/routers/queryprogram.c
b/src/src/routers/queryprogram.c
index 1b974fc4eff44fb2fd51f825331fb5587358a4ca..138062e16544efebdfe9758564f89349900c2138 100644
(file)
--- a/
src/src/routers/queryprogram.c
+++ b/
src/src/routers/queryprogram.c
@@
-1,10
+1,8
@@
-/* $Cambridge: exim/src/src/routers/queryprogram.c,v 1.8 2006/02/07 14:05:17 ph10 Exp $ */
-
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 20
06
*/
+/* Copyright (c) University of Cambridge 1995 - 20
15
*/
/* See the file NOTICE for conditions of use and distribution. */
#include "../exim.h"
/* See the file NOTICE for conditions of use and distribution. */
#include "../exim.h"
@@
-116,12
+114,15
@@
while (generated != NULL)
next->parent = addr;
orflag(next, addr, af_propagate);
next->parent = addr;
orflag(next, addr, af_propagate);
- next->p = *addr_prop;
+ next->p
rop
= *addr_prop;
next->start_router = rblock->redirect_router;
next->next = *addr_new;
*addr_new = next;
next->start_router = rblock->redirect_router;
next->next = *addr_new;
*addr_new = next;
+ if (addr->child_count == SHRT_MAX)
+ log_write(0, LOG_MAIN|LOG_PANIC_DIE, "%s router generated more than %d "
+ "child addresses for <%s>", rblock->name, SHRT_MAX, addr->address);
addr->child_count++;
DEBUG(D_route)
addr->child_count++;
DEBUG(D_route)
@@
-191,7
+192,7
@@
int fd_in, fd_out, len, rc;
pid_t pid;
struct passwd *upw = NULL;
uschar buffer[1024];
pid_t pid;
struct passwd *upw = NULL;
uschar buffer[1024];
-uschar **argvptr;
+
const
uschar **argvptr;
uschar *rword, *rdata, *s;
address_item_propagated addr_prop;
queryprogram_router_options_block *ob =
uschar *rword, *rdata, *s;
address_item_propagated addr_prop;
queryprogram_router_options_block *ob =
@@
-215,11
+216,11
@@
errors address and extra header stuff. */
addr_prop.address_data = deliver_address_data;
addr_prop.address_data = deliver_address_data;
-rc = rf_get_errors_address(addr, rblock, verify, &
(addr_prop.errors_address)
);
+rc = rf_get_errors_address(addr, rblock, verify, &
addr_prop.errors_address
);
if (rc != OK) return rc;
if (rc != OK) return rc;
-rc = rf_get_munge_headers(addr, rblock, &
(addr_prop.extra_headers)
,
- &
(addr_prop.remove_headers)
);
+rc = rf_get_munge_headers(addr, rblock, &
addr_prop.extra_headers
,
+ &
addr_prop.remove_headers
);
if (rc != OK) return rc;
/* Get the fixed or expanded uid under which the command is to run
if (rc != OK) return rc;
/* Get the fixed or expanded uid under which the command is to run
@@
-375,6
+376,7
@@
if (strcmpic(rword, US"REDIRECT") == 0)
RDO_REWRITE, /* rewrite generated addresses */
NULL, /* :include: directory not relevant */
NULL, /* sieve vacation directory not relevant */
RDO_REWRITE, /* rewrite generated addresses */
NULL, /* :include: directory not relevant */
NULL, /* sieve vacation directory not relevant */
+ NULL, /* sieve enotify mailto owner not relevant */
NULL, /* sieve useraddress not relevant */
NULL, /* sieve subaddress not relevant */
&ugid, /* uid/gid (but not set) */
NULL, /* sieve useraddress not relevant */
NULL, /* sieve subaddress not relevant */
&ugid, /* uid/gid (but not set) */
@@
-524,7
+526,7
@@
lookup_value = NULL;
/* Put the errors address, extra headers, and address_data into this address */
/* Put the errors address, extra headers, and address_data into this address */
-addr->p = addr_prop;
+addr->p
rop
= addr_prop;
/* Queue the address for local or remote delivery. */
/* Queue the address for local or remote delivery. */