first &%domains%& setting above generates the second setting, which therefore
causes a second lookup to occur.
+.new
+The lookup type may optionally be followed by a comma
+and a comma-separated list of options.
+Each option is a &"name=value"& pair.
+Whether an option is meaningful depands on the lookup type.
+
+All lookups support the option &"cache=no_rd"&.
+If this is given then the cache that Exim manages for lookup results
+is not checked before diong the lookup.
+The result of the lookup is still written to the cache.
+.wen
+
The rest of this chapter describes the different lookup types that are
available. Any of them can be used in any part of the configuration where a
lookup is permitted.
.new
.cindex "tainted data" "single-key lookups"
The file string may not be tainted
+
+All single-key lookups support the option &"ret=key"&.
+If this is given and the lookup
+(either underlying implementation or cached value)
+returns data, the result is replaced with a non-tainted
+version of the lookup key.
+.cindex "tainted data" "de-tainting"
.wen
.next
.cindex "query-style lookup" "definition of"
5. Option "message_linelength_limit" on the smtp transport to enforce (by
default) the RFC 998 character limit.
+ 6. An option to ignore the cache on a lookup.
+
Version 4.94
------------
NULL for query-style searches
keystring the keystring for single-key+file lookups, or
the querystring for query-style lookups
+ cache_rd FALSE to avoid lookup in cache layer
opts type-specific options
Returns: a pointer to a dynamic string containing the answer,
static uschar *
internal_search_find(void * handle, const uschar * filename, uschar * keystring,
- const uschar * opts)
+ BOOL cache_rd, const uschar * opts)
{
tree_node * t = (tree_node *)handle;
search_cache * c = (search_cache *)(t->data.ptr);
store_pool = POOL_SEARCH;
/* Look up the data for the key, unless it is already in the cache for this
-file. No need to check c->item_cache for NULL, tree_search will do so. */
+file. No need to check c->item_cache for NULL, tree_search will do so. Check
+whether we want to use the cache entry last so that we can always replace it. */
if ( (t = tree_search(c->item_cache, keystring))
&& (!(e = t->data.ptr)->expiry || e->expiry > time(NULL))
&& (!opts && !e->opts || opts && e->opts && Ustrcmp(opts, e->opts) == 0)
+ && cache_rd
)
{ /* Data was in the cache already; set the pointer from the tree node */
data = e->data.ptr;
{
if (t)
debug_printf_indent("cached data found but %s; ",
- e->expiry && e->expiry <= time(NULL) ? "out-of-date" : "wrong opts");
+ e->expiry && e->expiry <= time(NULL) ? "out-of-date"
+ : cache_rd ? "wrong opts" : "no_rd option set");
debug_printf_indent("%s lookup required for %s%s%s\n",
filename ? US"file" : US"database",
keystring,
or points to a bit of dynamic store. Cache the result of the lookup if
caching is permitted. Lookups can disable caching, when they did something
that changes their data. The mysql and pgsql lookups do this when an
- UPDATE/INSERT query was executed. */
+ UPDATE/INSERT query was executed. Lookups can also set a TTL for the
+ cache entry; the dnsdb lookup does.
+ Finally, the caller can request no caching by setting an option. */
else if (do_cache)
{
+ DEBUG(D_lookup) debug_printf_indent("%s cache entry\n",
+ t ? "replacing old" : "creating new");
if (!t) /* No existing entry. Create new one. */
{
int len = keylength + 1;
- e = store_get(sizeof(expiring_data) + sizeof(tree_node) + len, is_tainted(keystring));
+ e = store_get(sizeof(expiring_data) + sizeof(tree_node) + len,
+ is_tainted(keystring));
t = (tree_node *)(e+1);
memcpy(t->name, keystring, len);
t->data.ptr = e;
int partial, const uschar * affix, int affixlen, int starflags,
int * expand_setup, const uschar * opts)
{
-tree_node *t = (tree_node *)handle;
-BOOL set_null_wild = FALSE;
-uschar *yield;
+tree_node * t = (tree_node *)handle;
+BOOL set_null_wild = FALSE, cache_rd = TRUE, ret_key = FALSE;
+uschar * yield;
DEBUG(D_lookup)
{
}
+/* Parse global lookup options. Also, create a new options list with
+the global options dropped so that the cache-modifiers are not
+used in the cache key. */
+
+if (opts)
+ {
+ int sep = ',';
+ gstring * g = NULL;
+
+ for (uschar * ele; ele = string_nextinlist(&opts, &sep, NULL, 0); )
+ if (Ustrcmp(ele, "ret=key") == 0) ret_key = TRUE;
+ else if (Ustrcmp(ele, "cache=no_rd") == 0) cache_rd = FALSE;
+ else g = string_append_listele(g, ',', ele);
+
+ opts = string_from_gstring(g);
+ }
+
/* Arrange to put this database at the top of the LRU chain if it is a type
that opens real files. */
/* First of all, try to match the key string verbatim. If matched a complete
entry but could have been partial, flag to set up variables. */
-yield = internal_search_find(handle, filename, keystring, opts);
+yield = internal_search_find(handle, filename, keystring, cache_rd, opts);
if (f.search_find_defer) return NULL;
if (yield) { if (partial >= 0) set_null_wild = TRUE; }
Ustrncpy(keystring2, affix, affixlen);
Ustrcpy(keystring2 + affixlen, keystring);
DEBUG(D_lookup) debug_printf_indent("trying partial match %s\n", keystring2);
- yield = internal_search_find(handle, filename, keystring2, opts);
+ yield = internal_search_find(handle, filename, keystring2, cache_rd, opts);
if (f.search_find_defer) return NULL;
}
}
DEBUG(D_lookup) debug_printf_indent("trying partial match %s\n", keystring3);
- yield = internal_search_find(handle, filename, keystring3, opts);
+ yield = internal_search_find(handle, filename, keystring3,
+ cache_rd, opts);
if (f.search_find_defer) return NULL;
if (yield)
{
*atat = '*';
DEBUG(D_lookup) debug_printf_indent("trying default match %s\n", atat);
- yield = internal_search_find(handle, filename, atat, opts);
+ yield = internal_search_find(handle, filename, atat, cache_rd, opts);
*atat = savechar;
if (f.search_find_defer) return NULL;
if (!yield && starflags & (SEARCH_STAR|SEARCH_STARAT))
{
DEBUG(D_lookup) debug_printf_indent("trying to match *\n");
- yield = internal_search_find(handle, filename, US"*", opts);
+ yield = internal_search_find(handle, filename, US"*", cache_rd, opts);
if (yield && expand_setup && *expand_setup >= 0)
{
*expand_setup += 1;
than the result. Return a de-tainted version of the key on the grounds that
it have been validated by the lookup. */
-if (yield && opts)
- {
- int sep = ',';
- uschar * ele;
- while ((ele = string_nextinlist(&opts, &sep, NULL, 0)))
- if (Ustrcmp(ele, "ret=key") == 0)
- { yield = string_copy_taint(keystring, FALSE); break; }
- }
+if (yield && ret_key)
+ yield = string_copy_taint(keystring, FALSE);
return yield;
}
# dsearch lookup
# This test will fail on a case-insensitive filesystem (e.g. MacOS default)
exim -be
+dsearch specifics
ok: ${lookup{TESTNUM.tst} dsearch{DIR/aux-fixed}{$value}{FAIL}}
fail: ${lookup{TESTNUM.file_not_here} dsearch{DIR/aux-fixed}{$value}{FAIL}}
fail: ${lookup{TESTNUM.tst} dsearch{DIR/dir_not_here}{$value}{FAIL}}
ok,subdir: ${lookup{TESTNUM.dir} dsearch,filter=subdir {DIR/aux-fixed}{$value}{FAIL}}
fail,subdir:${lookup{..} dsearch,filter=subdir {DIR/aux-fixed}{$value}{FAIL}}
fail,subdir:${lookup{TESTNUM.tst} dsearch,filter=subdir {DIR/aux-fixed}{$value}{FAIL}}
+
+cachelayer tests
+fail: ${lookup{test-data} dsearch {DIR/} {$value}{FAIL}}
+createfile: ${run {/bin/cp DIR/aux-fixed/TESTNUM.tst DIR/test-data} {OK}{FAIL}}
+fail,cached:${lookup{test-data} dsearch {DIR/} {$value}{FAIL}}
+ok,no_rd ${lookup{test-data} dsearch,cache=no_rd {DIR/} {$value}{FAIL}}
+delfile: ${run {/bin/rm DIR/test-data} {OK}{FAIL}}
+ok,cached: ${lookup{test-data} dsearch {DIR/} {$value}{FAIL}}
+fail,no_rd ${lookup{test-data} dsearch,cache=no_rd {DIR/} {$value}{FAIL}}
+fail: ${lookup{test-data} dsearch {DIR/} {$value}{FAIL}}
****
#
1
type=lsearch key="ten-1.test.ex" opts=NULL
file lookup required for ten-1.test.ex
in TESTSUITE/aux-fixed/0002.lsearch
+creating new cache entry
lookup yielded:
host in "<
partial-lsearch;TESTSUITE/aux-fixed/0002.lsearch
type=lsearch key="V4NET.0.0.2" opts=NULL
file lookup required for V4NET.0.0.2
in TESTSUITE/aux-fixed/0002.lsearch
+creating new cache entry
lookup failed
host in "net-lsearch;TESTSUITE/aux-fixed/0002.lsearch"? no (end of list)
deny: condition test failed in ACL "connect2"
type=lsearch key="smart.domain" opts=NULL
file lookup required for smart.domain
in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
lookup yielded: x : y : abc@d.e.f
x in "x : y : abc@d.e.f"? yes (matched "x")
checking senders
type=lsearch key="test.ex" opts=NULL
file lookup required for test.ex
in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
lookup yielded: x : y : abc@d.e.f
x in "x : y : abc@d.e.f"? yes (matched "x")
checking senders
type=lsearch key="test.ex.files" opts=NULL
file lookup required for test.ex.files
in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
lookup yielded: /etc/passwd
file check: ${lookup{$domain.files}lsearch{TESTSUITE/aux-fixed/0085.data}{$value}}
expanded file: /etc/passwd
type=lsearch key="smart.domain" opts=NULL
file lookup required for smart.domain
in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
lookup yielded: x : y : abc@d.e.f
x in "x : y : abc@d.e.f"? yes (matched "x")
checking senders
type=lsearch key="test.ex" opts=NULL
file lookup required for test.ex
in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
lookup yielded: x : y : abc@d.e.f
x in "x : y : abc@d.e.f"? yes (matched "x")
checking senders
type=lsearch key="x" opts=NULL
file lookup required for x
in TESTSUITE/aux-fixed/0123.aliases1
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="x" opts=NULL
file lookup required for x
in TESTSUITE/aux-fixed/0123.aliases2
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="x" opts=NULL
file lookup required for x
in TESTSUITE/aux-fixed/0123.aliases3
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="x" opts=NULL
file lookup required for x
in TESTSUITE/aux-fixed/0123.aliases4
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="x" opts=NULL
file lookup required for x
in TESTSUITE/aux-fixed/0123.aliases5
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="x" opts=NULL
file lookup required for x
in TESTSUITE/aux-fixed/0123.aliases6
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="y" opts=NULL
file lookup required for y
in TESTSUITE/aux-fixed/0123.aliases1
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="y" opts=NULL
file lookup required for y
in TESTSUITE/aux-fixed/0123.aliases2
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="y" opts=NULL
file lookup required for y
in TESTSUITE/aux-fixed/0123.aliases3
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="y" opts=NULL
file lookup required for y
in TESTSUITE/aux-fixed/0123.aliases4
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="y" opts=NULL
file lookup required for y
in TESTSUITE/aux-fixed/0123.aliases5
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="y" opts=NULL
file lookup required for y
in TESTSUITE/aux-fixed/0123.aliases6
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="z" opts=NULL
file lookup required for z
in TESTSUITE/aux-fixed/0123.aliases1
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="z" opts=NULL
file lookup required for z
in TESTSUITE/aux-fixed/0123.aliases2
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="z" opts=NULL
file lookup required for z
in TESTSUITE/aux-fixed/0123.aliases3
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="z" opts=NULL
file lookup required for z
in TESTSUITE/aux-fixed/0123.aliases4
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="z" opts=NULL
file lookup required for z
in TESTSUITE/aux-fixed/0123.aliases5
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="z" opts=NULL
file lookup required for z
in TESTSUITE/aux-fixed/0123.aliases6
+ creating new cache entry
lookup failed
expanded: ''
file is not a filter file
type=lsearch key="a.b.c" opts=NULL
file lookup required for a.b.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *.a.b.c
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*.a.b.c" opts=NULL
file lookup required for *.a.b.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *.b.c
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*.b.c" opts=NULL
file lookup required for *.b.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [*.b.c]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="x.y.c" opts=NULL
file lookup required for x.y.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *.x.y.c
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*.x.y.c" opts=NULL
file lookup required for *.x.y.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *.y.c
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*.y.c" opts=NULL
file lookup required for *.y.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="*" opts=NULL
file lookup required for *
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [*]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="*.c" opts=NULL
file lookup required for *.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [*.c]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="x@y.c" opts=NULL
file lookup required for x@y.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *.x@y.c
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*.x@y.c" opts=NULL
file lookup required for *.x@y.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *.c
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*@y.c" opts=NULL
file lookup required for *@y.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [*@y.c]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key=".a.b.c" opts=NULL
file lookup required for .a.b.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match .b.c
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key=".b.c" opts=NULL
file lookup required for .b.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [.b.c]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="b.c" opts=NULL
file lookup required for b.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [b.c]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="*a.b.c" opts=NULL
file lookup required for *a.b.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *b.c
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*b.c" opts=NULL
file lookup required for *b.c
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [*b.c]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="p.q.r" opts=NULL
file lookup required for p.q.r
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *.p.q.r
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*.p.q.r" opts=NULL
file lookup required for *.p.q.r
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *.q.r
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*.q.r" opts=NULL
file lookup required for *.q.r
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *.r
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="*.r" opts=NULL
file lookup required for *.r
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match *
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key=".p.q.r" opts=NULL
file lookup required for .p.q.r
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match .q.r
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key=".q.r" opts=NULL
file lookup required for .q.r
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match .r
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key=".r" opts=NULL
file lookup required for .r
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match .
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="." opts=NULL
file lookup required for .
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [.]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="x.aa.bb" opts=NULL
file lookup required for x.aa.bb
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match ++x.aa.bb
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="++x.aa.bb" opts=NULL
file lookup required for ++x.aa.bb
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match ++aa.bb
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="++aa.bb" opts=NULL
file lookup required for ++aa.bb
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [++aa.bb]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="x.aa.zz" opts=NULL
file lookup required for x.aa.zz
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match ++x.aa.zz
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="++x.aa.zz" opts=NULL
file lookup required for ++x.aa.zz
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match ++aa.zz
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="++aa.zz" opts=NULL
file lookup required for ++aa.zz
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match ++zz
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="++zz" opts=NULL
file lookup required for ++zz
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup failed
trying partial match ++
internal_search_find: file="TESTSUITE/aux-fixed/0387.1"
type=lsearch key="++" opts=NULL
file lookup required for ++
in TESTSUITE/aux-fixed/0387.1
+ creating new cache entry
lookup yielded: [++]
search_open: lsearch "TESTSUITE/aux-fixed/0387.1"
cached open
type=lsearch key="test.ex" opts=NULL
file lookup required for test.ex
in TESTSUITE/aux-fixed/0403.data
+creating new cache entry
lookup yielded: [DOMAINDATA_test.ex]
test.ex in "lsearch;TESTSUITE/aux-fixed/0403.data"? yes (matched "lsearch;TESTSUITE/aux-fixed/0403.data")
checking local_parts
type=lsearch key="userx" opts=NULL
file lookup required for userx
in TESTSUITE/aux-fixed/0403.data
+creating new cache entry
lookup yielded: [LOCALPARTDATA_userx]
userx in "lsearch;TESTSUITE/aux-fixed/0403.data"? yes (matched "lsearch;TESTSUITE/aux-fixed/0403.data")
+++ROUTER:
type=lsearch key="b.domain" opts=NULL
file lookup required for b.domain
in TESTSUITE/aux-fixed/0414.list1
+creating new cache entry
lookup failed
b.domain in "lsearch;TESTSUITE/aux-fixed/0414.list1"? no (end of list)
search_open: lsearch "TESTSUITE/aux-fixed/0414.list2"
type=lsearch key="b.domain" opts=NULL
file lookup required for b.domain
in TESTSUITE/aux-fixed/0414.list2
+creating new cache entry
lookup yielded: b.domain-data
b.domain in "lsearch;TESTSUITE/aux-fixed/0414.list2"? yes (matched "lsearch;TESTSUITE/aux-fixed/0414.list2")
data from lookup saved for cache for +B: key 'b.domain' value 'b.domain-data'
type=lsearch key="a.domain" opts=NULL
file lookup required for a.domain
in TESTSUITE/aux-fixed/0414.list1
+creating new cache entry
lookup yielded: a.domain-data
a.domain in "lsearch;TESTSUITE/aux-fixed/0414.list1"? yes (matched "lsearch;TESTSUITE/aux-fixed/0414.list1")
data from lookup saved for cache for +A: key 'a.domain' value 'a.domain-data'
type=lsearch key="a.domain" opts=NULL
file lookup required for a.domain
in TESTSUITE/aux-fixed/0414.list2
+creating new cache entry
lookup failed
a.domain in "lsearch;TESTSUITE/aux-fixed/0414.list2"? no (end of list)
a.domain in "+B"? no (end of list)
type=lsearch key="spool" opts=NULL
file lookup required for spool
in TESTSUITE/aux-fixed/0437.ls
+ creating new cache entry
lookup yielded: spool
configuration file is TESTSUITE/test-config
admin user
type=lsearch key="transport" opts=NULL
file lookup required for transport
in TESTSUITE/aux-fixed/0437.ls
+ creating new cache entry
lookup yielded: t1
search_tidyup called
search_tidyup called
type=lsearch key="file" opts=NULL
file lookup required for file
in TESTSUITE/aux-fixed/0437.ls
+ creating new cache entry
lookup yielded: file
search_tidyup called
LOG: MAIN
type=lsearch key="transport" opts=NULL
file lookup required for transport
in TESTSUITE/aux-fixed/0437.ls
+ creating new cache entry
lookup yielded: t1
search_tidyup called
search_tidyup called
type=lsearch key="file" opts=NULL
file lookup required for file
in TESTSUITE/aux-fixed/0437.ls
+ creating new cache entry
lookup yielded: file
search_tidyup called
LOG: MAIN
type=lsearch key="domain1" opts=NULL
file lookup required for domain1
in TESTSUITE/aux-fixed/0464.domains
+creating new cache entry
lookup yielded: data for domain1
domain1 in "lsearch;TESTSUITE/aux-fixed/0464.domains"? yes (matched "lsearch;TESTSUITE/aux-fixed/0464.domains")
data from lookup saved for cache for +special_domains: key 'domain1' value 'data for domain1'
type=lsearch key="xxx.domain1" opts=NULL
file lookup required for xxx.domain1
in TESTSUITE/aux-fixed/0464.domains
+creating new cache entry
lookup failed
xxx.domain1 in "lsearch;TESTSUITE/aux-fixed/0464.domains"? no (end of list)
xxx.domain1 in "+special_domains"? no (end of list)
type=lsearch key="test.ex" opts=NULL
file lookup required for test.ex
in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
lookup failed
trying partial match *.test.ex
internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
type=lsearch key="*.test.ex" opts=NULL
file lookup required for *.test.ex
in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
lookup failed
address match test: subject=CALLER@myhost.test.ex pattern=*@*
myhost.test.ex in "*"? yes (matched "*")
type=lsearch key="myhost.test.ex" opts=NULL
file lookup required for myhost.test.ex
in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
lookup failed
trying partial match *.myhost.test.ex
internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
type=lsearch key="*.myhost.test.ex" opts=NULL
file lookup required for *.myhost.test.ex
in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
lookup failed
trying partial match *.test.ex
internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
type=lsearch key="test.example" opts=NULL
file lookup required for test.example
in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
lookup yielded: rwtest.example
LOG: address_rewrite MAIN
"random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
type=lsearch key="list" opts=NULL
file lookup required for list
in TESTSUITE/aux-fixed/0484.aliases
+ creating new cache entry
lookup yielded: userx, usery
search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases"
cached open
type=lsearch key="root" opts=NULL
file lookup required for root
in TESTSUITE/aux-fixed/0484.aliases
+ creating new cache entry
lookup yielded: userx
search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases"
cached open
type=lsearch key="list" opts=NULL
file lookup required for list
in TESTSUITE/aux-fixed/0484.aliases2
+ creating new cache entry
lookup yielded: userx2, usery2
search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases2"
cached open
type=lsearch key="root" opts=NULL
file lookup required for root
in TESTSUITE/aux-fixed/0484.aliases2
+ creating new cache entry
lookup failed
search_open: lsearch "TESTSUITE/aux-fixed/0484.aliases2"
cached open
type=dnsdb key="a=localhost.test.ex" opts=NULL
database lookup required for a=localhost.test.ex
dnsdb key: localhost.test.ex
+ creating new cache entry
lookup yielded: 127.0.0.1
search_open: dnsdb "NULL"
cached open
type=dnsdb key="a=shorthost.test.ex" opts=NULL
database lookup required for a=shorthost.test.ex
dnsdb key: shorthost.test.ex
+ creating new cache entry
lookup yielded: 127.0.0.1
search_open: dnsdb "NULL"
cached open
type=dnsdb key="a=shorthost.test.ex" opts=NULL
cached data found but out-of-date; database lookup required for a=shorthost.test.ex
dnsdb key: shorthost.test.ex
+ replacing old cache entry
lookup yielded: 127.0.0.1
LOG: MAIN
<= CALLER@myhost.test.ex U=CALLER P=local S=sss
dnsdb key: test.ex
DNS lookup of test.ex (TXT) using fakens
DNS lookup of test.ex (TXT) succeeded
+creating new cache entry
lookup yielded: A TXT record for test.ex.
test.ex in "dnsdb;test.ex"? yes (matched "dnsdb;test.ex")
checking local_parts
returning DNS_NOMATCH
faking res_search(TXT) response length as 65535
writing neg-cache entry for unknown-TXT-xxxx, ttl 3000
+creating new cache entry
lookup failed
unknown in "dnsdb;unknown"? no (end of list)
r1 router skipped: local_parts mismatch
dnsdb key: myhost.test.ex
DNS lookup of myhost.test.ex (A) using fakens
DNS lookup of myhost.test.ex (A) succeeded
+creating new cache entry
lookup yielded: V4NET.10.10.10
CALLER@myhost.test.ex in "dnsdb;A=myhost.test.ex"? yes (matched "dnsdb;A=myhost.test.ex")
calling r2 router
type=dnsdb key="a=shorthost.test.ex" opts=NULL
database lookup required for a=shorthost.test.ex
dnsdb key: shorthost.test.ex
+creating new cache entry
lookup yielded: 127.0.0.1
search_open: dnsdb "NULL"
cached open
type=dnsdb key="a=shorthost.test.ex" opts=NULL
cached data found but out-of-date; database lookup required for a=shorthost.test.ex
dnsdb key: shorthost.test.ex
+replacing old cache entry
lookup yielded: 127.0.0.1
LOG: MAIN
<= a@shorthost.test.ex U=CALLER P=local S=sss
cioce.test.again.dns is in dns_again_means_nonexist: returning DNS_NOMATCH
DNS: no SOA record found for neg-TTL
writing neg-cache entry for cioce.test.again.dns-MX-xxxx, ttl -1
+ creating new cache entry
lookup failed
sender host name required, to match against *.cioce.test.again.dns
looking up host name for ip4.ip4.ip4.ip4
type=sqlite key="select name from them where id='userx';" opts=NULL
file lookup required for select name from them where id='userx';
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: Ayen Other
search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
cached open
type=sqlite key="select name from them where id='nothing';" opts=NULL
file lookup required for select name from them where id='nothing';
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded:
search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
cached open
type=sqlite key="select id,name from them where id='nothing';" opts=NULL
file lookup required for select id,name from them where id='nothing';
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: id=nothing name=""
search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
cached open
type=sqlite key="select * from them where id='quote2';" opts=NULL
file lookup required for select * from them where id='quote2';
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: name="\"stquot" id=quote2
search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
cached open
type=sqlite key="select * from them where id='newline';" opts=NULL
file lookup required for select * from them where id='newline';
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: name="before
after" id=newline
search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
type=sqlite key="select * from them where id='tab';" opts=NULL
file lookup required for select * from them where id='tab';
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: name="x x" id=tab
search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
cached open
type=sqlite key="select * from them where id='its';" opts=NULL
file lookup required for select * from them where id='its';
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: name=it's id=its
search_open: sqlite "TESTSUITE/aux-fixed/sqlitedb"
cached open
type=sqlite key="select * from them where name='it''s';" opts=NULL
file lookup required for select * from them where name='it''s';
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: name=it's id=its
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
type=sqlite key="select * from them where id='10.10.10.10'" opts=NULL
file lookup required for select * from them where id='10.10.10.10'
in TESTSUITE/aux-fixed/sqlitedb
+creating new cache entry
lookup yielded: name=ok id=10.10.10.10
host in "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'"? yes (matched "sqlite;TESTSUITE/aux-fixed/sqlitedb select * from them where id='10.10.10.10'")
host in "+relay_hosts"? yes (matched "+relay_hosts")
type=sqlite key="select name from them where id='userx'" opts=NULL
file lookup required for select name from them where id='userx'
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: Ayen Other
calling r1 router
r1 router called for userx@myhost.test.ex
type=sqlite key="select id from them where id='userx'" opts=NULL
file lookup required for select id from them where id='userx'
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: userx
appendfile: mode=600 notify_comsat=0 quota=0 warning=0
file=TESTSUITE/test-mail/userx format=unix
type=sqlite key="select name from them where id='userx';" opts=NULL
file lookup required for select name from them where id='userx';
in TESTSUITE/aux-fixed/sqlitedb
+ creating new cache entry
lookup yielded: Ayen Other
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
internal_search_find: file="NULL"
type=sqlite key="select name from them where id='userx';" opts=NULL
database lookup required for select name from them where id='userx';
+ creating new cache entry
lookup yielded: Ayen Other
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
database lookup required for select name from them where id='ph10';
MySQL query: "select name from them where id='ph10';" opts 'NULL'
MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
+ creating new cache entry
lookup yielded: Philip Hazel
search_open: mysql "NULL"
cached open
MySQL query: "select name from them where id='xxxx';" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
MYSQL: no data found
+ creating new cache entry
lookup failed
search_open: mysql "NULL"
cached open
database lookup required for select name from them where id='nothing';
MySQL query: "select name from them where id='nothing';" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
+ creating new cache entry
lookup yielded:
search_open: mysql "NULL"
cached open
database lookup required for select id,name from them where id='nothing';
MySQL query: "select id,name from them where id='nothing';" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
+ creating new cache entry
lookup yielded: id=nothing name=""
search_open: mysql "NULL"
cached open
MySQL query: "select * from them where id='quote';" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
MYSQL: no data found
+ creating new cache entry
lookup failed
search_open: mysql "NULL"
cached open
MySQL query: "select * from them where id='filter';" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
MYSQL: no data found
+ creating new cache entry
lookup failed
search_open: mysql "NULL"
cached open
database lookup required for select * from them where id='quote2';
MySQL query: "select * from them where id='quote2';" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
+ creating new cache entry
lookup yielded: name="\"stquot" id=quote2
search_open: mysql "NULL"
cached open
MySQL query: "select * from them where id='nlonly';" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
MYSQL: no data found
+ creating new cache entry
lookup failed
search_open: mysql "NULL"
cached open
database lookup required for servers=127.0.0.1::1223:x; select name from them where id='ph10';
MySQL query: "servers=127.0.0.1::1223:x; select name from them where id='ph10';" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
+ creating new cache entry
lookup yielded: Philip Hazel
search_open: mysql "NULL"
cached open
database lookup required for servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';
MySQL query: "servers=127.0.0.1::1223/test/root/:x; select name from them where id='ph10';" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
+ creating new cache entry
lookup yielded: Philip Hazel
search_open: mysql "NULL"
cached open
database lookup required for servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';
MySQL query: "servers=ip4.ip4.ip4.ip4::1223/test/root/:127.0.0.1::1223; select name from them where id='ph10';" opts 'NULL'
MYSQL new connection: host=ip4.ip4.ip4.ip4 port=1223 socket=NULL database=test user=root
+ creating new cache entry
lookup yielded: Philip Hazel
search_open: mysql "NULL"
cached open
database lookup required for servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';
MySQL query: "servers=localhost(TESTSUITE/mysql/sock)/test/root/; select name from them where id='ph10';" opts 'NULL'
MYSQL new connection: host=localhost port=0 socket=TESTSUITE/mysql/sock database=test user=root
+ creating new cache entry
lookup yielded: Philip Hazel
search_open: mysql "NULL"
cached open
database lookup required for SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
MySQL query: "SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
+ creating new cache entry
lookup yielded: Philip Hazel
Aristotle
search_open: mysql "NULL"
database lookup required for SELECT * FROM them WHERE id IN ('ph10', 'aaaa');
MySQL query: "SELECT * FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
+ creating new cache entry
lookup yielded: name="Philip Hazel" id=ph10
name=Aristotle id=aaaa
search_open: mysql "NULL"
MySQL query: "select name from them where id = 'c'" opts 'NULL'
MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
MYSQL: no data found
+ creating new cache entry
lookup failed
check set acl_m0 = ok: ${lookup mysql {select name from them where id = '$local_part'}}
= ok:
MySQL query: "select name from them where id = 'c'" opts 'servers=127.0.0.1::1223/test/root/'
MYSQL using cached connection for 127.0.0.1:1223/test/root
MYSQL: no data found
+ replacing old cache entry
lookup failed
check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::1223/test/root/ {select name from them where id = '$local_part'}}
= ok:
MySQL query: "select name from them where id = 'c'" opts 'servers=127.0.0.1::1223'
MYSQL using cached connection for 127.0.0.1:1223/test/root
MYSQL: no data found
+ replacing old cache entry
lookup failed
check set acl_m0 = ok: ${lookup mysql,servers=127.0.0.1::1223 {select name from them where id = '$local_part'}}
= ok:
MySQL query: "select * from them where id='c'" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
MYSQL: no data found
+creating new cache entry
lookup failed
host in "net-mysql;select * from them where id='c'"? no (end of list)
warn: condition test failed in ACL "check_recipient"
MySQL query: "select * from them where id='10.0.0.0'" opts 'NULL'
MYSQL using cached connection for 127.0.0.1:1223/test/root
MYSQL: no data found
+creating new cache entry
lookup failed
host in "net-mysql;select * from them where id='10.0.0.0'"? no (end of list)
host in "+relay_hosts"? no (end of list)
database lookup required for select name from them where id='ph10'
MySQL query: "select name from them where id='ph10'" opts 'NULL'
MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
+ creating new cache entry
lookup yielded: Philip Hazel
calling r1 router
r1 router called for ph10@myhost.test.ex
database lookup required for select id from them where id='ph10'
MySQL query: "select id from them where id='ph10'" opts 'NULL'
MYSQL new connection: host=127.0.0.1 port=1223 socket=NULL database=test user=root
+ creating new cache entry
lookup yielded: ph10
appendfile: mode=600 notify_comsat=0 quota=0 warning=0
file=TESTSUITE/test-mail/ph10 format=unix
database lookup required for select name from them where id='ph10';
PostgreSQL query: "select name from them where id='ph10';" opts 'NULL'
PGSQL new connection: host=localhost port=1223 database=test user=CALLER
+ creating new cache entry
lookup yielded: Philip Hazel
search_open: pgsql "NULL"
cached open
PostgreSQL query: "select name from them where id='xxxx';" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
PGSQL: no data found
+ creating new cache entry
lookup failed
search_open: pgsql "NULL"
cached open
database lookup required for select name from them where id='nothing';
PostgreSQL query: "select name from them where id='nothing';" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded:
search_open: pgsql "NULL"
cached open
database lookup required for select id,name from them where id='nothing';
PostgreSQL query: "select id,name from them where id='nothing';" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded: id=nothing name=""
search_open: pgsql "NULL"
cached open
database lookup required for select * from them where id='quote2';
PostgreSQL query: "select * from them where id='quote2';" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded: name="\"stquot" id=quote2
search_open: pgsql "NULL"
cached open
database lookup required for select * from them where id='newline';
PostgreSQL query: "select * from them where id='newline';" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded: name="before\r
after" id=newline
search_open: pgsql "NULL"
database lookup required for select * from them where id='tab';
PostgreSQL query: "select * from them where id='tab';" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded: name="x x" id=tab
search_open: pgsql "NULL"
cached open
database lookup required for select * from them where name='''stquot';
PostgreSQL query: "select * from them where name='''stquot';" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded: name='stquot id=quote1
search_open: pgsql "NULL"
cached open
database lookup required for servers=localhost::1223:x; select name from them where id='ph10';
PostgreSQL query: "servers=localhost::1223:x; select name from them where id='ph10';" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded: Philip Hazel
search_open: pgsql "NULL"
cached open
database lookup required for servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';
PostgreSQL query: "servers=localhost::1223/test/CALLER/:x; select name from them where id='ph10';" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded: Philip Hazel
search_open: pgsql "NULL"
cached open
database lookup required for servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';
PostgreSQL query: "servers=(TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER/:x; select name from them where id='ph10';" opts 'NULL'
PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
+ creating new cache entry
lookup yielded: Philip Hazel
search_open: pgsql "NULL"
cached open
database lookup required for SELECT name FROM them WHERE id IN ('ph10', 'aaaa');
PostgreSQL query: "SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded: Philip Hazel
Aristotle
search_open: pgsql "NULL"
database lookup required for SELECT * FROM them WHERE id IN ('ph10', 'aaaa');
PostgreSQL query: "SELECT * FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
+ creating new cache entry
lookup yielded: name="Philip Hazel" id=ph10
name=Aristotle id=aaaa
search_open: pgsql "NULL"
PostgreSQL query: "select name from them where id = 'c'" opts 'NULL'
PGSQL new connection: host=localhost port=1223 database=test user=CALLER
PGSQL: no data found
+ creating new cache entry
lookup failed
check set acl_m0 = ok: ${lookup pgsql {select name from them where id = '$local_part'}}
= ok:
PostgreSQL query: "select * from them where id='c'" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
PGSQL: no data found
+creating new cache entry
lookup failed
host in "net-pgsql;select * from them where id='c'"? no (end of list)
warn: condition test failed in ACL "check_recipient"
PostgreSQL query: "select * from them where id='10.0.0.0'" opts 'NULL'
PGSQL using cached connection for localhost:1223/test/CALLER
PGSQL: no data found
+creating new cache entry
lookup failed
host in "net-pgsql;select * from them where id='10.0.0.0'"? no (end of list)
host in "+relay_hosts"? no (end of list)
database lookup required for select name from them where id='ph10'
PostgreSQL query: "select name from them where id='ph10'" opts 'NULL'
PGSQL new connection: host=localhost port=1223 database=test user=CALLER
+ creating new cache entry
lookup yielded: Philip Hazel
calling r1 router
r1 router called for CALLER@myhost.test.ex
database lookup required for select id from them where id='ph10'
PostgreSQL query: "select id from them where id='ph10'" opts 'NULL'
PGSQL new connection: host=localhost port=1223 database=test user=CALLER
+ creating new cache entry
lookup yielded: ph10
appendfile: mode=600 notify_comsat=0 quota=0 warning=0
file=TESTSUITE/test-mail/ph10 format=unix
database lookup required for select name from them where id='ph10';
PostgreSQL query: "select name from them where id='ph10';" opts 'NULL'
PGSQL new connection: socket=TESTSUITE/pgsql/.s.PGSQL.1223 database=test user=CALLER
+ creating new cache entry
lookup yielded: Philip Hazel
search_tidyup called
close PGSQL connection: (TESTSUITE/pgsql/.s.PGSQL.1223)/test/CALLER
type=testdb key="fail" opts=NULL
database lookup required for fail
testdb lookup forced FAIL
+creating new cache entry
lookup failed
host in "testdb;fail"? no (end of list)
deny: condition test failed in ACL "connect1"
type=testdb key="fail" opts=NULL
database lookup required for fail
testdb lookup forced FAIL
+creating new cache entry
lookup failed
host in "net-testdb;fail"? no (end of list)
deny: condition test failed in ACL "connect2"
type=lsearch key="list" opts=NULL
file lookup required for list
in TESTSUITE/aux-fixed/3212.aliases
+ creating new cache entry
lookup yielded: userx, usery
search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
cached open
type=lsearch key="root" opts=NULL
file lookup required for root
in TESTSUITE/aux-fixed/3212.aliases
+ creating new cache entry
lookup yielded: userx
search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
cached open
internal_search_find: file="NULL"
type=testdb key="something" opts=NULL
database lookup required for something
+ creating new cache entry
lookup yielded: something
search_open: testdb "NULL"
cached open
internal_search_find: file="NULL"
type=testdb key="something" opts=NULL
database lookup required for something
+ creating new cache entry
lookup yielded: something
search_open: lsearch "TESTSUITE/aux-fixed/3212.aliases"
cached open
+> dsearch specifics
> ok: 2500.tst
> fail: FAIL
> Failed: failed to open TESTSUITE/dir_not_here for directory search: No such file or directory
> fail,subdir:FAIL
> fail,subdir:FAIL
>
+> cachelayer tests
+> fail: FAIL
+> createfile: OK
+> fail,cached:FAIL
+> ok,no_rd test-data
+> delfile: OK
+> ok,cached: test-data
+> fail,no_rd FAIL
+> fail: FAIL
+>