From: Jeremy Harris Date: Wed, 12 Jun 2024 21:37:15 +0000 (+0100) Subject: Hintsdb sqlite: use transaction rather than file lock X-Git-Tag: exim-4.98-RC1~2 X-Git-Url: https://git.exim.org/exim.git/commitdiff_plain/5bb1dfe41e40fa45f85305ccbd7d4533a229d3fc?ds=sidebyside Hintsdb sqlite: use transaction rather than file lock --- diff --git a/src/src/dbfn.c b/src/src/dbfn.c index 88b4d8920..2b5ec908b 100644 --- a/src/src/dbfn.c +++ b/src/src/dbfn.c @@ -61,23 +61,32 @@ Users: * Open and lock a database file * *************************************************/ +/* Ensure the directory for the DB is present */ + +static inline void +db_dir_make(BOOL panic) +{ +(void) directory_make(spool_directory, US"db", EXIMDB_DIRECTORY_MODE, panic); +} + + /* Lock a file to protect the DB. Return TRUE for success */ static inline BOOL lockfile_take(open_db * dbblock, const uschar * filename, BOOL rdonly, BOOL panic) { flock_t lock_data; -int rc; +int rc, * fdp = &dbblock->lockfd; priv_drop_temp(exim_uid, exim_gid); -if ((dbblock->lockfd = Uopen(filename, O_RDWR, EXIMDB_LOCKFILE_MODE)) < 0) +if ((*fdp = Uopen(filename, O_RDWR, EXIMDB_LOCKFILE_MODE)) < 0) { - (void)directory_make(spool_directory, US"db", EXIMDB_DIRECTORY_MODE, panic); - dbblock->lockfd = Uopen(filename, O_RDWR|O_CREAT, EXIMDB_LOCKFILE_MODE); + db_dir_make(panic); + *fdp = Uopen(filename, O_RDWR|O_CREAT, EXIMDB_LOCKFILE_MODE); } priv_restore(); -if (dbblock->lockfd < 0) +if (*fdp < 0) { log_write(0, LOG_MAIN, "%s", string_open_failed("database lock file %s", filename)); @@ -96,7 +105,7 @@ DEBUG(D_hints_lookup|D_retry|D_route|D_deliver) sigalrm_seen = FALSE; ALARM(EXIMDB_LOCK_TIMEOUT); -rc = fcntl(dbblock->lockfd, F_SETLKW, &lock_data); +rc = fcntl(*fdp, F_SETLKW, &lock_data); ALARM_CLR(0); if (sigalrm_seen) errno = ETIMEDOUT; @@ -105,7 +114,7 @@ if (rc < 0) log_write(0, LOG_MAIN|LOG_PANIC, "Failed to get %s lock for %s: %s", rdonly ? "read" : "write", filename, errno == ETIMEDOUT ? "timed out" : strerror(errno)); - (void)close(dbblock->lockfd); + (void)close(*fdp); *fdp = -1; errno = 0; /* Indicates locking failure */ return FALSE; } @@ -137,7 +146,7 @@ dbfn_open(const uschar * name, int flags, open_db * dbblock, BOOL lof, BOOL panic) { int rc, save_errno; -BOOL read_only = flags & O_RDONLY; +flock_t lock_data; uschar dirname[PATHLEN], filename[PATHLEN]; DEBUG(D_hints_lookup) acl_level++; @@ -159,15 +168,20 @@ snprintf(CS dirname, sizeof(dirname), "%s/db", spool_directory); snprintf(CS filename, sizeof(filename), "%s/%s.lockfile", dirname, name); dbblock->lockfd = -1; -if (!lockfile_take(dbblock, filename, flags == O_RDONLY, panic)) +if (!exim_lockfile_needed()) + db_dir_make(panic); +else { - DEBUG(D_hints_lookup) acl_level--; - return NULL; + if (!lockfile_take(dbblock, filename, flags == O_RDONLY, panic)) + { + DEBUG(D_hints_lookup) acl_level--; + return NULL; + } } -/* At this point we have an opened and locked separate lock file, -that is, exclusive access to the database, so we can go ahead and open it. If we -are expected to create it, don't do so at first, again so that we can detect +/* At this point we have an opened and locked separate lock file, that is, +exclusive access to the database, so we can go ahead and open it. If we are +expected to create it, don't do so at first, again so that we can detect whether we need to change its ownership (see comments about the lock file above.) There have been regular reports of crashes while opening hints databases - often this is caused by non-matching db.h and the library. To make @@ -203,6 +217,7 @@ if (!dbblock->dbptr) debug_printf_indent("%s\n", CS string_open_failed("DB file %s", filename)); (void)close(dbblock->lockfd); + dbblock->lockfd = -1; errno = save_errno; DEBUG(D_hints_lookup) acl_level--; return NULL; @@ -228,7 +243,7 @@ return dbblock; *************************************************/ /* Closing a file automatically unlocks it, so after closing the database, just -close the lock file. +close the lock file if there was one. Argument: a pointer to an open database block Returns: nothing @@ -237,10 +252,17 @@ Returns: nothing void dbfn_close(open_db *dbblock) { +int * fdp = &dbblock->lockfd; + exim_dbclose(dbblock->dbptr); -(void)close(dbblock->lockfd); +if (*fdp >= 0) (void)close(*fdp); DEBUG(D_hints_lookup) - { debug_printf_indent("closed hints database and lockfile\n"); acl_level--; } + { + debug_printf_indent("closed hints database%s\n", + *fdp < 0 ? "" : " and lockfile"); + acl_level--; + } +*fdp = -1; } diff --git a/src/src/exim_dbmbuild.c b/src/src/exim_dbmbuild.c index d68333079..d07c3e024 100644 --- a/src/src/exim_dbmbuild.c +++ b/src/src/exim_dbmbuild.c @@ -76,14 +76,6 @@ uschar * queue_name; BOOL split_spool_directory; -/* These introduced by the taintwarn handling */ -rmark -store_mark_3(const char *func, int linenumber) -{ return NULL; } -#ifdef ALLOW_INSECURE_TAINTED_DATA -BOOL allow_insecure_tainted_data; -#endif - /******************************************************************************/ @@ -177,7 +169,7 @@ BOOL lowercase = TRUE; BOOL warn = TRUE; BOOL duperr = TRUE; BOOL lastdup = FALSE; -#if !defined (USE_DB) && !defined(USE_TDB) && !defined(USE_GDBM) +#if !defined (USE_DB) && !defined(USE_TDB) && !defined(USE_GDBM) && !defined(USE_SQLITE) int is_db = 0; struct stat statbuf; #endif @@ -221,7 +213,7 @@ else if (!(f = fopen(argv[arg], "rb"))) /* By default Berkeley db does not put extensions on... which can be painful! */ -#if defined(USE_DB) || defined(USE_TDB) || defined(USE_GDBM) +#if defined(USE_DB) || defined(USE_TDB) || defined(USE_GDBM) && !defined(USE_SQLITE) if (Ustrcmp(argv[arg], argv[arg+1]) == 0) { printf("exim_dbmbuild: input and output filenames are the same\n"); @@ -261,7 +253,7 @@ if (!(d = exim_dbopen(temp_dbmname, dirname, O_RDWR|O_CREAT|O_EXCL, 0644))) /* Unless using native db calls, see if we have created .db; if not, assume .dir & .pag */ -#if !defined(USE_DB) && !defined(USE_TDB) && !defined(USE_GDBM) +#if !defined(USE_DB) && !defined(USE_TDB) && !defined(USE_GDBM) && !defined(USE_SQLITE) sprintf(CS real_dbmname, "%s.db", temp_dbmname); is_db = Ustat(real_dbmname, &statbuf) == 0; #endif @@ -333,7 +325,8 @@ while (Ufgets(line, max_insize, f) != NULL) exim_datum_data_set(&content, buffer); exim_datum_size_set(&content, bptr - buffer + add_zero); - switch(rc = exim_dbputb(d, &key, &content)) + rc = exim_dbputb(d, &key, &content); + switch(rc) { case EXIM_DBPUTB_OK: count++; @@ -423,7 +416,8 @@ if (started) exim_datum_data_set(&content, buffer); exim_datum_size_set(&content, bptr - buffer + add_zero); - switch(rc = exim_dbputb(d, &key, &content)) + rc = exim_dbputb(d, &key, &content); + switch(rc) { case EXIM_DBPUTB_OK: count++; @@ -462,7 +456,7 @@ if (yield == 0 || yield == 1) printf("%d duplicate key%s \n", dupcount, (dupcount > 1)? "s" : ""); } - #if defined(USE_DB) || defined(USE_TDB) || defined(USE_GDBM) +#if defined(USE_DB) || defined(USE_TDB) || defined(USE_GDBM) || defined(USE_SQLITE) Ustrcpy(real_dbmname, temp_dbmname); Ustrcpy(buffer, US argv[arg+1]); if (Urename(real_dbmname, buffer) != 0) @@ -470,7 +464,7 @@ if (yield == 0 || yield == 1) printf("Unable to rename %s as %s\n", real_dbmname, buffer); return 1; } - #else +#else /* Rename a single .db file */ @@ -506,7 +500,7 @@ if (yield == 0 || yield == 1) } } - #endif /* USE_DB || USE_TDB || USE_GDBM */ +#endif /* USE_DB || USE_TDB || USE_GDBM || USE_SQLITE */ } /* Otherwise unlink the temporary files. */ @@ -514,7 +508,7 @@ if (yield == 0 || yield == 1) else { printf("dbmbuild abandoned\n"); -#if defined(USE_DB) || defined(USE_TDB) || defined(USE_GDBM) +#if defined(USE_DB) || defined(USE_TDB) || defined(USE_GDBM) || defined(USE_SQLITE) /* We created it, so safe to delete despite the name coming from outside */ /* coverity[tainted_string] */ Uunlink(temp_dbmname); @@ -531,10 +525,12 @@ else sprintf(CS real_dbmname, "%s.pag", temp_dbmname); Uunlink(real_dbmname); } -#endif /* USE_DB || USE_TDB */ +#endif /* USE_DB || USE_TDB || USE_GDBM || USE_SQLITE */ } return yield; } /* End of exim_dbmbuild.c */ +/* se aw ai sw=2 +*/ diff --git a/src/src/exim_dbutil.c b/src/src/exim_dbutil.c index c466ae380..e7d523e88 100644 --- a/src/src/exim_dbutil.c +++ b/src/src/exim_dbutil.c @@ -81,11 +81,6 @@ uschar * queue_name; BOOL split_spool_directory; -/* These introduced by the taintwarn handling */ -#ifdef ALLOW_INSECURE_TAINTED_DATA -BOOL allow_insecure_tainted_data; -#endif - /******************************************************************************/ @@ -306,38 +301,42 @@ if ( asprintf(CSS &dirname, "%s/db", spool_directory) < 0 || asprintf(CSS &filename, "%s/%s.lockfile", dirname, name) < 0) return NULL; -if ((dbblock->lockfd = Uopen(filename, flags, 0)) < 0) +dbblock->lockfd = -1; +if (exim_lockfile_needed()) { - printf("** Failed to open database lock file %s: %s\n", filename, - strerror(errno)); - return NULL; - } + if ((dbblock->lockfd = Uopen(filename, flags, 0)) < 0) + { + printf("** Failed to open database lock file %s: %s\n", filename, + strerror(errno)); + return NULL; + } -/* Now we must get a lock on the opened lock file; do this with a blocking -lock that times out. */ + /* Now we must get a lock on the opened lock file; do this with a blocking + lock that times out. */ -lock_data.l_type = read_only ? F_RDLCK : F_WRLCK; -lock_data.l_whence = lock_data.l_start = lock_data.l_len = 0; + lock_data.l_type = read_only ? F_RDLCK : F_WRLCK; + lock_data.l_whence = lock_data.l_start = lock_data.l_len = 0; -sigalrm_seen = FALSE; -os_non_restarting_signal(SIGALRM, sigalrm_handler); -ALARM(EXIMDB_LOCK_TIMEOUT); -rc = fcntl(dbblock->lockfd, F_SETLKW, &lock_data); -ALARM_CLR(0); + sigalrm_seen = FALSE; + os_non_restarting_signal(SIGALRM, sigalrm_handler); + ALARM(EXIMDB_LOCK_TIMEOUT); + rc = fcntl(dbblock->lockfd, F_SETLKW, &lock_data); + ALARM_CLR(0); -if (sigalrm_seen) errno = ETIMEDOUT; -if (rc < 0) - { - printf("** Failed to get %s lock for %s: %s", - read_only ? "read" : "write", - filename, - errno == ETIMEDOUT ? "timed out" : strerror(errno)); - (void)close(dbblock->lockfd); - return NULL; - } + if (sigalrm_seen) errno = ETIMEDOUT; + if (rc < 0) + { + printf("** Failed to get %s lock for %s: %s", + read_only ? "read" : "write", + filename, + errno == ETIMEDOUT ? "timed out" : strerror(errno)); + (void)close(dbblock->lockfd); + return NULL; + } -/* At this point we have an opened and locked separate lock file, that is, -exclusive access to the database, so we can go ahead and open it. */ + /* At this point we have an opened and locked separate lock file, that is, + exclusive access to the database, so we can go ahead and open it. */ + } if (asprintf(CSS &filename, "%s/%s", dirname, name) < 0) return NULL; @@ -345,15 +344,15 @@ if (flags & O_RDWR) flags |= O_CREAT; if (!(dbblock->dbptr = exim_dbopen(filename, dirname, flags, 0))) { - printf("** Failed to open DBM file %s for %s:\n %s%s\n", filename, - read_only? "reading" : "writing", strerror(errno), - #ifdef USE_DB + printf("** Failed to open DBM file %s for %s: %s%s\n", filename, + read_only ? "reading" : "writing", strerror(errno), +#ifdef USE_DB " (or Berkeley DB error while opening)" - #else +#else "" - #endif +#endif ); - (void)close(dbblock->lockfd); + if (dbblock->lockfd >= 0) (void)close(dbblock->lockfd); return NULL; } @@ -368,17 +367,17 @@ return dbblock; *************************************************/ /* Closing a file automatically unlocks it, so after closing the database, just -close the lock file. +close the lock file if there was one. Argument: a pointer to an open database block Returns: nothing */ void -dbfn_close(open_db *dbblock) +dbfn_close(open_db * dbp) { -exim_dbclose(dbblock->dbptr); -(void)close(dbblock->lockfd); +exim_dbclose(dbp->dbptr); +if (dbp->lockfd >= 0) (void) close(dbp->lockfd); } diff --git a/src/src/hintsdb.h b/src/src/hintsdb.h index 12c370dba..c5a856abc 100644 --- a/src/src/hintsdb.h +++ b/src/src/hintsdb.h @@ -23,14 +23,15 @@ binary blobs. The API is: Functions: - exim_dbopen O_RDONLY/O_RDWR, optionally OR'd with O_CREAT + exim_lockfile_needed API semantics predicate + exim_dbopen exim_dbclose exim_dbget exim_dbput - exim_dbputb (non-overwriting put) + exim_dbputb non-overwriting put exim_dbdel exim_dbcreate_cursor - exim_dbscan (get, and bump cursor) + exim_dbscan get, and bump cursor exim_dbdelete_cursor exim_datum_init exim_datum_size_get/set @@ -88,6 +89,12 @@ required by Exim's process transisitions)? # /* Access functions */ +static inline BOOL +exim_lockfile_needed(void) +{ +return FALSE; /* We do transaction; no extra locking needed */ +} + /* EXIM_DBOPEN - return pointer to an EXIM_DB, NULL if failed */ static inline EXIM_DB * exim_dbopen__(const uschar * name, const uschar * dirname, int flags, @@ -99,10 +106,13 @@ if (flags & O_CREAT) sflags |= SQLITE_OPEN_CREATE; if ((ret = sqlite3_open_v2(CCS name, &dbp, sflags, NULL)) == SQLITE_OK) { sqlite3_busy_timeout(dbp, 5000); - if (flags & O_CREAT) - ret == sqlite3_exec(dbp, + ret = sqlite3_exec(dbp, "BEGIN TRANSACTION;", NULL, NULL, NULL); + if (ret == SQLITE_OK && flags & O_CREAT) + ret = sqlite3_exec(dbp, "CREATE TABLE IF NOT EXISTS tbl (ky TEXT PRIMARY KEY, dat BLOB);", NULL, NULL, NULL); + if (ret != SQLITE_OK) + sqlite3_close(dbp); } //else // fprintf(stderr, "sqlite3_open_v2: %s\n", sqlite3_errmsg(dbp)); @@ -134,7 +144,11 @@ if (sqlite3_step(statement) != SQLITE_ROW) } res->len = sqlite3_column_bytes(statement, 0); -res->data = store_get(res->len + 1, GET_TAINTED); +# ifdef COMPILE_UTILITY +res->data = malloc(res->len); +# else +res->data = store_get(res->len, GET_TAINTED); +# endif memcpy(res->data, sqlite3_column_blob(statement, 0), res->len); res->data[res->len] = '\0'; /* fprintf(stderr, "res %d bytes: '%.*s'\n", (int)res->len, (int)res->len, res->data); */ @@ -173,23 +187,28 @@ return ret; static inline int exim_s_dbp(EXIM_DB * dbp, EXIM_DATUM * key, EXIM_DATUM * data, const uschar * alt) { +int hlen = data->len * 2, off = 0, res; # define FMT "INSERT OR %s INTO tbl (ky,dat) VALUES ('%.*s', X'%.*s');" -uschar * hex = store_get(data->len * 2, data->data), * qry; -int res; +# ifdef COMPILE_UTILITY +uschar * hex = malloc(hlen+1); +# else +uschar * hex = store_get(hlen+1, data->data); +# endif +uschar * qry; -for (const uschar * s = data->data, * t = s + data->len; s < t; s++) - sprintf(CS hex + 2 * (s - data->data), "%02X", *s); +for (const uschar * s = data->data, * t = s + data->len; s < t; s++, off += 2) + sprintf(CS hex + off, "%02X", *s); # ifdef COMPILE_UTILITY -res = snprintf(NULL, 0, FMT, - alt, (int) key->len, key->data, (int)data->len * 2, hex); +res = snprintf(CS hex, 0, FMT, alt, (int) key->len, key->data, hlen, hex); qry = malloc(res); -snprintf(CS qry, res, FMT, alt, (int) key->len, key->data, (int)data->len * 2, hex); +snprintf(CS qry, res, FMT, alt, (int) key->len, key->data, hlen, hex); /* fprintf(stderr, "exim_s_dbp(%s)\n", qry); */ res = sqlite3_exec(dbp, CS qry, NULL, NULL, NULL); free(qry); +free(hex); # else -qry = string_sprintf(FMT, alt, (int) key->len, key->data, (int)data->len * 2, hex); +qry = string_sprintf(FMT, alt, (int) key->len, key->data, hlen, hex); /* fprintf(stderr, "exim_s_dbp(%s)\n", qry); */ res = sqlite3_exec(dbp, CS qry, NULL, NULL, NULL); /* fprintf(stderr, "exim_s_dbp res %d\n", res); */ @@ -231,7 +250,7 @@ uschar * qry; int res; # ifdef COMPILE_UTILITY -res = snprintf(NULL, 0, FMT, (int) key->len, key->data); +res = snprintf(NULL, 0, FMT, (int) key->len, key->data); /* res excludes nul */ qry = malloc(res); snprintf(CS qry, res, FMT, (int) key->len, key->data); res = sqlite3_exec(dbp, CS qry, NULL, NULL, NULL); @@ -252,7 +271,11 @@ return res; static inline EXIM_CURSOR * exim_dbcreate_cursor(EXIM_DB * dbp) { +# ifdef COMPILE_UTILITY +EXIM_CURSOR * c = malloc(sizeof(int)); +# else EXIM_CURSOR * c = store_malloc(sizeof(int)); +# endif *c = 0; return c; } @@ -269,8 +292,8 @@ int i; BOOL ret; # ifdef COMPILE_UTILITY -qry = malloc(i = snprintf(NULL, 0, FMT, *cursor)); -snprintf(CS qry, i, FMT, *cursor); +qry = malloc((i = snprintf(NULL, 0, FMT, *cursor))); +snprintf(CS qry, i-1, FMT, *cursor); /* fprintf(stderr, "exim_dbscan(%s)\n", qry); */ ret = exim_dbget__(dbp, qry, key); free(qry); @@ -289,13 +312,22 @@ return ret; /* EXIM_DBDELETE_CURSOR - terminate scanning operation. */ static inline void exim_dbdelete_cursor(EXIM_CURSOR * cursor) -{ store_free(cursor); } +{ +# ifdef COMPILE_UTILITY +free(cursor); +# else +store_free(cursor); +# endif +} /* EXIM_DBCLOSE */ static void -exim_dbclose__(EXIM_DB * db) -{ sqlite3_close(db); } +exim_dbclose__(EXIM_DB * dbp) +{ +(void) sqlite3_exec(dbp, "COMMIT TRANSACTION;", NULL, NULL, NULL); +sqlite3_close(dbp); +} /* Datum access */ @@ -362,6 +394,12 @@ tdb_traverse to be called) */ /* Access functions */ +static inline BOOL +exim_lockfile_needed(void) +{ +return TRUE; +} + /* EXIM_DBOPEN - return pointer to an EXIM_DB, NULL if failed */ static inline EXIM_DB * exim_dbopen__(const uschar * name, const uschar * dirname, int flags, @@ -402,7 +440,11 @@ exim_dbdel(EXIM_DB * dbp, EXIM_DATUM * key) static inline EXIM_CURSOR * exim_dbcreate_cursor(EXIM_DB * dbp) { +# ifdef COMPILE_UTILITY +EXIM_CURSOR * c = malloc(sizeof(TDB_DATA)); +# else EXIM_CURSOR * c = store_malloc(sizeof(TDB_DATA)); +# endif c->dptr = NULL; return c; } @@ -533,7 +575,13 @@ log_write(0, LOG_MAIN, "Berkeley DB error: %s", msg); -/* Access functions */ +/* Access functions (BDB 4.1+) */ + +static inline BOOL +exim_lockfile_needed(void) +{ +return TRUE; +} /* EXIM_DBOPEN - return pointer to an EXIM_DB, NULL if failed */ /* The API changed for DB 4.1. - and we also starting using the "env" with a @@ -680,7 +728,13 @@ exim_datum_free(EXIM_DATUM * d) /* Some text for messages */ # define EXIM_DBTYPE "db (v3/4)" -/* Access functions */ +/* Access functions (BDB 3/4) */ + +static inline BOOL +exim_lockfile_needed(void) +{ +return TRUE; +} /* EXIM_DBOPEN - return pointer to an EXIM_DB, NULL if failed */ static inline EXIM_DB * @@ -827,7 +881,13 @@ typedef struct { # define EXIM_DBTYPE "gdbm" -/* Access functions */ +/* Access functions (gdbm) */ + +static inline BOOL +exim_lockfile_needed(void) +{ +return TRUE; +} /* EXIM_DBOPEN - return pointer to an EXIM_DB, NULL if failed */ static inline EXIM_DB * @@ -967,7 +1027,13 @@ the default is the NDBM interface (which seems to be a wrapper for GDBM) */ # define EXIM_DBTYPE "ndbm" -/* Access functions */ +/* Access functions (ndbm) */ + +static inline BOOL +exim_lockfile_needed(void) +{ +return TRUE; +} /* EXIM_DBOPEN - returns a EXIM_DB *, NULL if failed */ /* Check that the name given is not present. This catches diff --git a/src/src/macro_predef.c b/src/src/macro_predef.c index 5bea91228..29ecfdcc8 100644 --- a/src/src/macro_predef.c +++ b/src/src/macro_predef.c @@ -221,6 +221,18 @@ due to conflicts with other common macros. */ builtin_macro_create(US"_HAVE_XCLIENT"); #endif +#ifdef USE_SQLITE + builtin_macro_create(US"_HAVE_HINTS_SQLITE"); +#elif defined(USE_TDB) + builtin_macro_create(US"_HAVE_HINTS_TDB"); +#elif defined(USE_DB) + builtin_macro_create(US"_HAVE_HINTS_BDB"); +#elif defined(USE_GDBM) + builtin_macro_create(US"_HAVE_HINTS_GDBM"); +#else + builtin_macro_create(US"_HAVE_HINTS_NDBM"); +#endif + #ifdef LOOKUP_LSEARCH builtin_macro_create(US"_HAVE_LOOKUP_LSEARCH"); #endif diff --git a/src/src/queue.c b/src/src/queue.c index 6e72a33d5..a4afdcc98 100644 --- a/src/src/queue.c +++ b/src/src/queue.c @@ -394,20 +394,19 @@ f.queue_running = TRUE; if (!recurse) { - uschar extras[8]; - uschar *p = extras; + uschar extras[8], * p = extras; if (q->queue_2stage) *p++ = 'q'; if (q->queue_run_first_delivery) *p++ = 'i'; if (q->queue_run_force) *p++ = 'f'; if (q->deliver_force_thaw) *p++ = 'f'; if (q->queue_run_local) *p++ = 'l'; - *p = 0; + *p = '\0'; p = big_buffer; p += sprintf(CS p, "pid=%d", (int)queue_run_pid); - if (extras[0] != 0) + if (*extras) p += sprintf(CS p, " -q%s", extras); if (deliver_selectstring) @@ -444,6 +443,15 @@ if (deliver_selectstring_sender && f.deliver_selectstring_sender_regex) selectstring_regex_sender = regex_must_compile(deliver_selectstring_sender, MCS_CASELESS, FALSE); +#ifndef DISABLE_TLS +if (!queue_tls_init) + { + queue_tls_init = TRUE; + /* Preload TLS library info for smtp transports. */ + tls_client_creds_reload(FALSE); + } +#endif + /* If the spool is split into subdirectories, we want to process it one directory at a time, so as to spread out the directory scanning and the delivering when there are lots of messages involved, except when @@ -669,16 +677,6 @@ for (int i = queue_run_in_order ? -1 : 0; report_time_since(×tamp_startup, US"queue msg selected"); #endif -#ifndef DISABLE_TLS - if (!queue_tls_init) - { - queue_tls_init = TRUE; - /* Preload TLS library info for smtp transports. Once, and only if we - have a delivery to do. */ - tls_client_creds_reload(FALSE); - } -#endif - single_item_retry: if ((pid = exim_fork(US"qrun-delivery")) == 0) { @@ -1619,3 +1617,5 @@ else DEBUG(D_queue_run) debug_printf(" socket: %s\n", strerror(errno)); #endif /*!COMPILE_UTILITY*/ /* End of queue.c */ +/* vi: aw ai sw=2 +*/ diff --git a/src/src/retry.c b/src/src/retry.c index f180c779e..9dfe1d587 100644 --- a/src/src/retry.c +++ b/src/src/retry.c @@ -857,7 +857,7 @@ for (int i = 0; i < 3; i++) retry_record->basic_errno = rti->basic_errno; retry_record->more_errno = rti->more_errno; Ustrncpy(retry_record->text, message, message_length); - retry_record->text[message_length] = 0; + retry_record->text[message_length] = 0; /* nul-term string in db */ DEBUG(D_retry) { diff --git a/src/src/transport.c b/src/src/transport.c index 6768e85de..b5ed563a5 100644 --- a/src/src/transport.c +++ b/src/src/transport.c @@ -1895,8 +1895,8 @@ while (1) } /* we were not able to find an acceptable message, nor was there a - * continuation record. So bug out, outer logic will clean this up. - */ + continuation record. So bug out, outer logic will clean this up. + */ if (!bContinuation) { @@ -1918,7 +1918,11 @@ if (host_length > 0) } dbfn_close(dbm_file); -DEBUG(D_transport) {acl_level--; debug_printf("transport_check_waiting: TRUE\n"); } +DEBUG(D_transport) + { + acl_level--; + debug_printf("transport_check_waiting: TRUE (found %s)\n", new_message_id); + } return TRUE; retfalse: diff --git a/test/confs/0615 b/test/confs/0615 index a1aae2acd..902e097ac 100644 --- a/test/confs/0615 +++ b/test/confs/0615 @@ -43,7 +43,7 @@ send_to_server: hosts = 127.0.0.1 port = PORT_D hosts_try_fastopen = : - # assumes that HOSTIPV4 can sent to 127.0.0.1 + # assumes that HOSTIPV4 can send to 127.0.0.1 interface = ${if eq {$sender_address_domain}{dustybelt.tld} {127.0.0.1}{HOSTIPV4}} # ----- Retry ----- diff --git a/test/runtest b/test/runtest index 29ea66a9f..d205f9509 100755 --- a/test/runtest +++ b/test/runtest @@ -1055,6 +1055,9 @@ RESET_AFTER_EXTRA_LINE_READ: # remote IPv6 addrs vary s/^(Connection request from) \[.*:.*:.*\]$/$1 \[ipv6\]/; + # Hints DB use of lockfiles is provider-dependent + s/Failed to open \K(?:DBM|database lock) file (.*\/spool\/db\/[^.]*)(?:.lockfile)?(?=(?: for reading)?: No such file or directory$)/hintsdb $1/; + # openssl version variances # Error lines on stdout from SSL contain process id values and file names. # They also contain a source file name and line number, which may vary from @@ -1152,6 +1155,10 @@ RESET_AFTER_EXTRA_LINE_READ: ) /x; + # Hints DB use of lockfiles is provider-dependent + next if /lock(?:ing|ed) .*\/spool\/db\/[^.]+\.lockfile$/; + s/closed hints database\K and lockfile$//; + # Lines with a leading pid. Only handle >= 4-digit PIDs to avoid converting SMTP respose codes s/^\s*(\d{4,})\s(?!(?:previous message|in\s|bytes remain in|SMTP accept process running))/new_value($1, "p%s", \$next_pid) . ' '/e; @@ -1284,9 +1291,6 @@ RESET_AFTER_EXTRA_LINE_READ: # We invoke Exim with -D, so we hit this new message as of Exim 4.73: next if /^macros_trusted overridden to true by whitelisting/; - # Hints-db writes seem to have variable sizes for values - s/ dbfn_write: key=.+ datalen \K\d+$/NNN/; - # We have to omit the localhost ::1 address so that all is well in # the IPv4-only case. diff --git a/test/scripts/0000-Basic/0038 b/test/scripts/0000-Basic/0038 index 4d87755a2..5f6fd60c3 100644 --- a/test/scripts/0000-Basic/0038 +++ b/test/scripts/0000-Basic/0038 @@ -7,7 +7,7 @@ data Here is some data. . quit -**** +**** exim -bh V4NET.9.8.7 ehlo test.ex mail from:<> @@ -16,7 +16,7 @@ data Here is some data. . quit -**** +**** exim -bh V4NET.9.8.7 -DRRATELIMIT=0/1h/per_conn/strict -DDRATELIMIT=0/1h/per_conn/strict ehlo test.ex mail from:<> diff --git a/test/scripts/0000-Basic/0615 b/test/scripts/0000-Basic/0615 index 1712c888f..b6f2663d7 100644 --- a/test/scripts/0000-Basic/0615 +++ b/test/scripts/0000-Basic/0615 @@ -2,10 +2,14 @@ # Exim test configuration 0604 # echo Note this takes 3 minutes to run +# Build with -DMEASURE_TIMING if a performance test is wanted, +# to lose the deliberate testsuite-mode delays. +# Also, if a real 2-phase qrun is wanted, lose the queue_run_in_order # exim -DSERVER=server -bd -oX PORT_D **** # +# Queue up 80 messages exim -bs helo test mail from:ralph@dustyshoes.tld @@ -665,4 +669,3 @@ exim -qq # killdaemon no_msglog_check - diff --git a/test/scripts/2300-DBM/2301 b/test/scripts/2300-DBM/2301 deleted file mode 100644 index 82ec19da7..000000000 --- a/test/scripts/2300-DBM/2301 +++ /dev/null @@ -1,7 +0,0 @@ -# lookup dbmjz -# NB: the reference DB file is a Berkeley DB; -# builds for other hints-DB interface will fail -# -exim -be -${lookup{testid:test.example.invalid:userPassword}dbmjz{DIR/aux-fixed/TESTNUM.testsasldb}{$value}fail} -**** diff --git a/test/scripts/2300-DBM/2302 b/test/scripts/2300-DBM/2302 deleted file mode 100644 index 4c8b7958b..000000000 --- a/test/scripts/2300-DBM/2302 +++ /dev/null @@ -1,6 +0,0 @@ -# lookup dbmnz -# NB: the reference DB file is a Berkeley DB; -# builds for other hints-DB interface will fail -# -exim -be '[${lookup{test}dbmnz{DIR/aux-fixed/TESTNUM.emptydbmnzlookup}}]' -**** diff --git a/test/scripts/2301-DBM-BDB/2301 b/test/scripts/2301-DBM-BDB/2301 new file mode 100644 index 000000000..82ec19da7 --- /dev/null +++ b/test/scripts/2301-DBM-BDB/2301 @@ -0,0 +1,7 @@ +# lookup dbmjz +# NB: the reference DB file is a Berkeley DB; +# builds for other hints-DB interface will fail +# +exim -be +${lookup{testid:test.example.invalid:userPassword}dbmjz{DIR/aux-fixed/TESTNUM.testsasldb}{$value}fail} +**** diff --git a/test/scripts/2301-DBM-BDB/2302 b/test/scripts/2301-DBM-BDB/2302 new file mode 100644 index 000000000..4c8b7958b --- /dev/null +++ b/test/scripts/2301-DBM-BDB/2302 @@ -0,0 +1,6 @@ +# lookup dbmnz +# NB: the reference DB file is a Berkeley DB; +# builds for other hints-DB interface will fail +# +exim -be '[${lookup{test}dbmnz{DIR/aux-fixed/TESTNUM.emptydbmnzlookup}}]' +**** diff --git a/test/scripts/2301-DBM-BDB/REQUIRES b/test/scripts/2301-DBM-BDB/REQUIRES new file mode 100644 index 000000000..b96ff3144 --- /dev/null +++ b/test/scripts/2301-DBM-BDB/REQUIRES @@ -0,0 +1,2 @@ +lookup dbm +feature _HAVE_HINTS_BDB diff --git a/test/stderr/0037 b/test/stderr/0037 index 361f1639b..a3035c5c7 100644 --- a/test/stderr/0037 +++ b/test/stderr/0037 @@ -17,7 +17,6 @@ ssss bytes read from TESTSUITE/aux-var/0037.F data is an Exim filter program Filter: start of processing Filter: end of processing -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: filter-userx@test.ex unique = filter-userx@test.ex @@ -58,7 +57,6 @@ userfilter router generated userx@test.ex routed by userfilter router envelope to: filter-userx@test.ex transport: -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: userx@test.ex unique = userx@test.ex @@ -111,7 +109,6 @@ After routing: Remote deliveries: Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => userx R=user_accept2 T=appendfile LOG: MAIN diff --git a/test/stderr/0264 b/test/stderr/0264 index ce7d530c0..f44b1e97f 100644 --- a/test/stderr/0264 +++ b/test/stderr/0264 @@ -27,7 +27,6 @@ body_linecount=0 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: rz.b@outside -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: rz.b@outside unique = rz.b@outside @@ -88,7 +87,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: rz.b@outside -locking TESTSUITE/spool/db/retry.lockfile *@outside in "^\*@r5domain.ex"? no (end of list) *@outside in "userx@test.ex"? no (end of list) outside in "test.ex"? no (end of list) diff --git a/test/stderr/0275 b/test/stderr/0275 index 6412f0e86..b51958a0a 100644 --- a/test/stderr/0275 +++ b/test/stderr/0275 @@ -259,8 +259,6 @@ body_linecount=0 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -460,8 +458,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> userx@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/0278 b/test/stderr/0278 index 6aac99c7d..5e2fb38d9 100644 --- a/test/stderr/0278 +++ b/test/stderr/0278 @@ -164,8 +164,6 @@ body_linecount=0 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: CALLER@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -260,8 +258,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> CALLER@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/0315 b/test/stderr/0315 index 4105ca321..6ecc61f43 100644 --- a/test/stderr/0315 +++ b/test/stderr/0315 @@ -12,7 +12,6 @@ trusted user admin user dropping to exim gid; retaining priv uid delivering 10HmaX-000000005vi-0000 -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: x@ten-1.test.ex @@ -51,7 +50,6 @@ After routing: y@ten-1.test.ex Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN *> x@ten-1.test.ex R=r1 T=t1 H=ten-1.test.ex [V4NET.0.0.1] C="delivery bypassed by -N option" LOG: MAIN @@ -73,7 +71,6 @@ trusted user admin user dropping to exim gid; retaining priv uid delivering 10HmaY-000000005vi-0000 -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: x@ten-2.test.ex @@ -134,7 +131,6 @@ After routing: y@ten-2.test.ex Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN *> x@ten-2.test.ex R=r2 T=t1 H=ten-2.test.ex [V4NET.0.0.2] C="delivery bypassed by -N option" LOG: MAIN diff --git a/test/stderr/0332 b/test/stderr/0332 index 0ffdc81c1..b717038d9 100644 --- a/test/stderr/0332 +++ b/test/stderr/0332 @@ -5,7 +5,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1234 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: ok@no.delay unique = ok@no.delay @@ -33,8 +32,6 @@ After routing: ok@no.delay Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-t1.lockfile cmdlog: '220:EHLO:250-:MAIL|:RCPT|:DATA:250:250:354:.:250' LOG: MAIN => ok@no.delay R=r1 T=t1 H=127.0.0.1 [127.0.0.1] C="250 OK" @@ -47,7 +44,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: delay@test.again.dns unique = delay@test.again.dns @@ -81,13 +77,10 @@ After routing: Failed addresses: Deferred addresses: delay@test.again.dns -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-t1.lockfile cmdlog: 'MAIL|:RCPT|:DATA:250:250:354:.:250:QUIT+:250' LOG: MAIN => ok@no.delay R=r1 T=t1 H=127.0.0.1 [127.0.0.1]* C="250 OK" >>>>>>>>>>>>>>>> Exim pid=p1236 (continued-transport) terminating with rc=0 >>>>>>>>>>>>>>>> -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: delay@test.again.dns unique = delay@test.again.dns diff --git a/test/stderr/0333 b/test/stderr/0333 index d886f53ee..11c3a10b0 100644 --- a/test/stderr/0333 +++ b/test/stderr/0333 @@ -3,7 +3,6 @@ Hints DB: configuration file is TESTSUITE/test-config admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: ok@no.delay unique = ok@no.delay @@ -31,8 +30,6 @@ After routing: ok@no.delay Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-t1.lockfile cmdlog: '220:EHLO:250-:MAIL|:RCPT|:DATA:250:250:354:.:250' LOG: MAIN => ok@no.delay R=r1 T=t1 H=127.0.0.1 [127.0.0.1] C="250 OK" @@ -45,7 +42,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: delay@test.again.dns unique = delay@test.again.dns @@ -79,8 +75,6 @@ After routing: Failed addresses: Deferred addresses: delay@test.again.dns -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-t1.lockfile cmdlog: 'MAIL|:RCPT|:DATA:250:250:354:.:250:QUIT+:250' LOG: MAIN => ok@no.delay R=r1 T=t1 H=127.0.0.1 [127.0.0.1]* C="250 OK" diff --git a/test/stderr/0357 b/test/stderr/0357 index 8d4a2b459..4827e3cc1 100644 --- a/test/stderr/0357 +++ b/test/stderr/0357 @@ -11,7 +11,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: userx@test.ex @@ -25,7 +24,6 @@ After routing: Failed addresses: Deferred addresses: checking retry status of 127.0.0.1 -locking TESTSUITE/spool/db/retry.lockfile no retry data available added retry item for R:userx@test.ex:: errno=-44 more_errno=dd,A flags=0 cmdlog: '220:EHLO:250:MAIL:250:RCPT:451:QUIT+:250' @@ -38,7 +36,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: userx@test.ex -locking TESTSUITE/spool/db/retry.lockfile retry for R:userx@test.ex: = * 0 0 failing_interval=ttt message_age=ttt Writing retry data for R:userx@test.ex: @@ -54,7 +51,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1234 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: userx@test.ex no domain retry record @@ -70,7 +66,6 @@ After routing: Failed addresses: Deferred addresses: checking retry status of 127.0.0.1 -locking TESTSUITE/spool/db/retry.lockfile no host retry record no message retry record added retry item for R:userx@test.ex:: errno=-44 more_errno=dd,A flags=0 @@ -93,7 +88,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: userx@test.ex -locking TESTSUITE/spool/db/retry.lockfile deleted retry information for R:userx@test.ex deleted retry information for R:test.ex retry for R:userx@test.ex: = * 0 0 @@ -113,7 +107,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1235 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: userx@test.ex no domain retry record @@ -129,7 +122,6 @@ After routing: Failed addresses: Deferred addresses: checking retry status of 127.0.0.1 -locking TESTSUITE/spool/db/retry.lockfile no host retry record no message retry record added retry item for R:userx@test.ex:: errno=-44 more_errno=dd,A flags=0 @@ -152,7 +144,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: userx@test.ex -locking TESTSUITE/spool/db/retry.lockfile deleted retry information for R:userx@test.ex deleted retry information for R:test.ex retry for R:userx@test.ex: = * 0 0 @@ -172,7 +163,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1236 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: userx@test.ex no domain retry record diff --git a/test/stderr/0358 b/test/stderr/0358 index 0f27af75d..5ecfe8dcd 100644 --- a/test/stderr/0358 +++ b/test/stderr/0358 @@ -11,7 +11,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: userx@test.ex @@ -30,7 +29,6 @@ After routing: Failed addresses: Deferred addresses: checking retry status of 127.0.0.1 -locking TESTSUITE/spool/db/retry.lockfile no retry data available added retry item for R:userx@test.ex:: errno=-44 more_errno=dd,A flags=0 added retry item for R:usery@test.ex:: errno=-44 more_errno=dd,A flags=0 @@ -48,7 +46,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: usery@test.ex -locking TESTSUITE/spool/db/retry.lockfile retry for R:usery@test.ex: = * 0 0 failing_interval=ttt message_age=ttt Writing retry data for R:usery@test.ex: @@ -70,7 +67,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1234 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: userx@test.ex no domain retry record @@ -94,7 +90,6 @@ After routing: Failed addresses: Deferred addresses: checking retry status of 127.0.0.1 -locking TESTSUITE/spool/db/retry.lockfile no host retry record no message retry record added retry item for R:userx@test.ex:: errno=-44 more_errno=dd,A flags=0 @@ -131,7 +126,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: usery@test.ex -locking TESTSUITE/spool/db/retry.lockfile deleted retry information for R:usery@test.ex deleted retry information for R:test.ex retry for R:usery@test.ex: = * 0 0 diff --git a/test/stderr/0360 b/test/stderr/0360 index 705be3484..cff19addd 100644 --- a/test/stderr/0360 +++ b/test/stderr/0360 @@ -12,7 +12,6 @@ trusted user admin user dropping to exim gid; retaining priv uid delivering 10HmaX-000000005vi-0000 -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: cms@test.ex @@ -63,7 +62,6 @@ routed by r2 router envelope to: cms@test.ex transport: errors to postmaster@test.ex -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: unknown@recurse.test.ex @@ -112,7 +110,6 @@ main lookup for domain domain changed to recurse.test.ex.test.ex rewriting header lines re-routed to unknown@recurse.test.ex.test.ex -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: unknown@recurse.test.ex.test.ex @@ -149,7 +146,6 @@ After routing: Failed addresses: Deferred addresses: defer@test.ex -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN *> unknown@recurse.test.ex.test.ex R=r1 T=t1 H=recurse.test.ex.test.ex [V4NET.99.0.2] C="delivery bypassed by -N option" >>>>>>>>>>>>>>>> Exim pid=p1236 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> @@ -161,7 +157,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1234 -qf -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: cms@test.ex @@ -212,7 +207,6 @@ routed by r2 router envelope to: cms@test.ex transport: errors to postmaster@test.ex -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: unknown@recurse.test.ex diff --git a/test/stderr/0361 b/test/stderr/0361 index e68c3c7e5..bd6d0a477 100644 --- a/test/stderr/0361 +++ b/test/stderr/0361 @@ -78,8 +78,6 @@ body_linecount=0 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: kilos@recurse.test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -137,8 +135,6 @@ rewriting header lines rewrite_one_header: type=F: From: CALLER_NAME re-routed to kilos@recurse.test.ex.test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -184,8 +180,6 @@ r3 router generated kilos@recurse.test.ex.test.ex routed by r3 router envelope to: kilos@recurse.test.ex.test.ex transport: - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -238,8 +232,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> kilos@recurse.test.ex.test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/0374 b/test/stderr/0374 index 6c6ffdb15..82baa09e7 100644 --- a/test/stderr/0374 +++ b/test/stderr/0374 @@ -11,7 +11,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: a1@myhost.test.ex @@ -197,7 +196,6 @@ routed by u1 router (unseen) envelope to: a1@myhost.test.ex transport: ut1 "unseen" set: replicated a1@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: a1@myhost.test.ex @@ -356,50 +354,35 @@ After routing: d3@myhost.test.ex Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => a1 R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => b1 R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => c1 R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => d1 R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => d2 R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => d3 R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => a1 R=u1 T=ut1 -locking TESTSUITE/spool/db/retry.lockfile transport error EPIPE ignored LOG: MAIN ** b1@myhost.test.ex R=ut2 T=ut2: Child process of ut2 transport returned 127 (could mean unable to exec or command does not exist) from command: /non/existent/file -locking TESTSUITE/spool/db/retry.lockfile transport error EPIPE ignored LOG: MAIN == c1@myhost.test.ex R=ut3 T=ut3 defer (0): Child process of ut3 transport returned 127 (could mean unable to exec or command does not exist) from command: /non/existent/file -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-ut4.lockfile cmdlog: '220' LOG: MAIN => d1@myhost.test.ex R=ut4 T=ut4 H=127.0.0.1 [127.0.0.1] C="250 OK" -locking TESTSUITE/spool/db/retry.lockfile cmdlog: '220' LOG: MAIN == d2@myhost.test.ex R=ut4 T=ut4 defer (-44) H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 450 soft error -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-ut4.lockfile cmdlog: '220' LOG: MAIN ** d3@myhost.test.ex R=ut4 T=ut4 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 550 hard error -locking TESTSUITE/spool/db/retry.lockfile Exim version x.yz .... Hints DB: configuration file is TESTSUITE/test-config @@ -413,7 +396,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: CALLER@myhost.test.ex unique = CALLER@myhost.test.ex @@ -460,7 +442,6 @@ After routing: Remote deliveries: Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => CALLER R=real T=real LOG: MAIN diff --git a/test/stderr/0375 b/test/stderr/0375 index f8e3b9cf5..5a909eff3 100644 --- a/test/stderr/0375 +++ b/test/stderr/0375 @@ -11,7 +11,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: a1@myhost.test.ex @@ -429,7 +428,6 @@ routed by u1 router (unseen) transport: ut1 errors to "unseen" set: replicated a1@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: a1@myhost.test.ex @@ -834,91 +832,65 @@ After routing: Failed addresses: Deferred addresses: g1@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => a1 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => b1 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => c1 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => d1 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => d2 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => d3 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => e1 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => f1 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => f2 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => f3 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => a1 P=<> R=u1 T=ut1 log writing disabled -locking TESTSUITE/spool/db/retry.lockfile transport error EPIPE ignored LOG: MAIN ** b1@myhost.test.ex P=<> R=ut2 T=ut2: Child process of ut2 transport returned 127 (could mean unable to exec or command does not exist) from command: /non/existent/file log writing disabled -locking TESTSUITE/spool/db/retry.lockfile transport error EPIPE ignored LOG: MAIN == c1@myhost.test.ex R=ut3 T=ut3 defer (0): Child process of ut3 transport returned 127 (could mean unable to exec or command does not exist) from command: /non/existent/file log writing disabled -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-ut4.lockfile cmdlog: '220' LOG: MAIN => d1@myhost.test.ex P=<> R=ut4 T=ut4 H=127.0.0.1 [127.0.0.1] C="250 OK" log writing disabled -locking TESTSUITE/spool/db/retry.lockfile cmdlog: '220' LOG: MAIN == d2@myhost.test.ex R=ut4 T=ut4 defer (-44) H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 450 soft error log writing disabled -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-ut4.lockfile cmdlog: '220' LOG: MAIN ** d3@myhost.test.ex P=<> R=ut4 T=ut4 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 550 hard error log writing disabled -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-ut5.lockfile cmdlog: '220' LOG: MAIN ** e1@myhost.test.ex P=<> R=ut5 T=ut5 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 550 hard error log writing disabled -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-ut6.lockfile cmdlog: '220' LOG: MAIN => f1@myhost.test.ex P= R=ut6 T=ut6 H=127.0.0.1 [127.0.0.1] C="250 OK" log writing disabled -locking TESTSUITE/spool/db/retry.lockfile cmdlog: '220' LOG: MAIN == f2@myhost.test.ex R=ut6 T=ut6 defer (-44) H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 450 soft error log writing disabled -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-ut6.lockfile cmdlog: '220' LOG: MAIN ** f3@myhost.test.ex P= R=ut6 T=ut6 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 550 hard error log writing disabled -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN f3@myhost.test.ex : error ignored log writing disabled @@ -935,7 +907,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: CALLER@myhost.test.ex unique = CALLER@myhost.test.ex @@ -1002,7 +973,6 @@ After routing: Remote deliveries: Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => CALLER P=<> R=real T=real LOG: MAIN @@ -1029,7 +999,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: h1@myhost.test.ex unique = h1@myhost.test.ex @@ -1087,7 +1056,6 @@ routed by ut8 router (unseen) envelope to: h1@myhost.test.ex transport: ut1 "unseen" set: replicated h1@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: h1@myhost.test.ex unique = \0\h1@myhost.test.ex @@ -1115,10 +1083,8 @@ After routing: Remote deliveries: Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => h1 P= R=real T=real -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => h1 P= R=ut8 T=ut1 log writing disabled diff --git a/test/stderr/0377 b/test/stderr/0377 index 560192970..4cdc7f417 100644 --- a/test/stderr/0377 +++ b/test/stderr/0377 @@ -11,7 +11,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: aaaa@myhost.test.ex @@ -137,7 +136,6 @@ routed by unseen_aaaa router (unseen) envelope to: aaaa@myhost.test.ex transport: "unseen" set: replicated aaaa@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: aaaa@myhost.test.ex @@ -317,16 +315,12 @@ After routing: defer_aaaa@myhost.test.ex defer_bbbb@myhost.test.ex defer_cccc@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => aaaa R=seen_aaaa T=t1 -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => bbbb R=bbbb_0 T=t1 -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => cccc R=cccc_accept T=t1 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>> Exim pid=p1237 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... @@ -336,7 +330,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1234 -qf -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: aaaa@myhost.test.ex unique = aaaa@myhost.test.ex @@ -454,7 +447,6 @@ domain = myhost.test.ex routed by seen_aaaa router envelope to: aaaa@myhost.test.ex transport: t1 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: cccc@myhost.test.ex unique = \0\cccc@myhost.test.ex @@ -507,7 +499,6 @@ cccc_redirect router generated cccc@myhost.test.ex routed by cccc_redirect router envelope to: cccc@myhost.test.ex transport: -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: cccc@myhost.test.ex unique = \1\cccc@myhost.test.ex @@ -589,7 +580,6 @@ After routing: cccc@myhost.test.ex was previously delivered (t1 transport): discarded aaaa@myhost.test.ex was previously delivered (t1 transport): discarded bbbb@myhost.test.ex was previously delivered (t1 transport): discarded -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>> Exim pid=p1238 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=p1234 -qf @@ -601,7 +591,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1235 -qf -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: aaaa@myhost.test.ex unique = aaaa@myhost.test.ex @@ -719,7 +708,6 @@ domain = myhost.test.ex routed by seen_aaaa router envelope to: aaaa@myhost.test.ex transport: t1 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: cccc@myhost.test.ex unique = \0\cccc@myhost.test.ex @@ -772,7 +760,6 @@ cccc_redirect router generated cccc@myhost.test.ex routed by cccc_redirect router envelope to: cccc@myhost.test.ex transport: -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: cccc@myhost.test.ex unique = \1\cccc@myhost.test.ex @@ -854,7 +841,6 @@ After routing: cccc@myhost.test.ex was previously delivered (t1 transport): discarded aaaa@myhost.test.ex was previously delivered (t1 transport): discarded bbbb@myhost.test.ex was previously delivered (t1 transport): discarded -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>> Exim pid=p1239 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=p1235 -qf diff --git a/test/stderr/0378 b/test/stderr/0378 index befab983d..e18685a37 100644 --- a/test/stderr/0378 +++ b/test/stderr/0378 @@ -11,7 +11,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: aaaa@myhost.test.ex @@ -72,7 +71,6 @@ aaaa router generated defer_aaaa@myhost.test.ex routed by aaaa router envelope to: aaaa@myhost.test.ex transport: -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: defer_aaaa@myhost.test.ex @@ -121,7 +119,6 @@ After routing: Failed addresses: Deferred addresses: defer_aaaa@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile Exim version x.yz .... Hints DB: configuration file is TESTSUITE/test-config @@ -134,7 +131,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: CALLER@myhost.test.ex @@ -166,14 +162,11 @@ LOG: MAIN >>>>>>>>>>>>>>>> Exim pid=p1238 (autoreply) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN => >CALLER@myhost.test.ex R=aaaa T=t3 -locking TESTSUITE/spool/db/retry.lockfile transport error EPIPE ignored LOG: MAIN => |/bin/sh -c exit R=aaaa T=t2 -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => TESTSUITE/test-mail/file R=aaaa T=t1 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>> Exim pid=p1236 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... @@ -183,7 +176,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1234 -qf -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: aaaa@myhost.test.ex unique = aaaa@myhost.test.ex @@ -217,7 +209,6 @@ aaaa_2nd_time router generated aaaa@myhost.test.ex routed by aaaa_2nd_time router envelope to: aaaa@myhost.test.ex transport: -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: aaaa@myhost.test.ex unique = \0\aaaa@myhost.test.ex @@ -274,7 +265,6 @@ aaaa router generated defer_aaaa@myhost.test.ex routed by aaaa router envelope to: aaaa@myhost.test.ex transport: -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: defer_aaaa@myhost.test.ex unique = defer_aaaa@myhost.test.ex @@ -319,7 +309,6 @@ After routing: Failed addresses: Deferred addresses: defer_aaaa@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>> Exim pid=p1241 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=p1234 -qf diff --git a/test/stderr/0379 b/test/stderr/0379 index 46275ea5d..b67f47861 100644 --- a/test/stderr/0379 +++ b/test/stderr/0379 @@ -11,7 +11,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: defer@myhost.test.ex @@ -62,7 +61,6 @@ defer router: defer for defer@myhost.test.ex message: forced defer LOG: MAIN == defer@myhost.test.ex R=defer defer (-1): forced defer -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: bbbb@myhost.test.ex @@ -132,13 +130,10 @@ After routing: Failed addresses: Deferred addresses: defer@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => bbbb R=bc T=t1 -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => cccc R=bc T=t1 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>> Exim pid=p1236 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... @@ -148,7 +143,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1234 -qf -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: defer@myhost.test.ex unique = defer@myhost.test.ex @@ -175,7 +169,6 @@ After routing: Failed addresses: Deferred addresses: defer@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>> Exim pid=p1237 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=p1234 -qf diff --git a/test/stderr/0380 b/test/stderr/0380 index efbad7565..3c0139d57 100644 --- a/test/stderr/0380 +++ b/test/stderr/0380 @@ -11,7 +11,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: aaaa@myhost.test.ex @@ -81,9 +80,7 @@ After routing: Failed addresses: Deferred addresses: aaaa@myhost.test.ex -locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => bbbb R=r3 T=t1 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>> Exim pid=p1235 (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0386 b/test/stderr/0386 index e2721b8c4..800b8b2ce 100644 --- a/test/stderr/0386 +++ b/test/stderr/0386 @@ -312,8 +312,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: 2@b - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -349,8 +347,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> 2@b <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -510,8 +506,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: 2@b - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -547,8 +541,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> 2@b <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/0388 b/test/stderr/0388 index a84d5b163..1a6c4bf24 100644 --- a/test/stderr/0388 +++ b/test/stderr/0388 @@ -7,8 +7,6 @@ admin user dropping to exim gid; retaining priv uid set_process_info: pppp delivering specified messages set_process_info: pppp delivering 10HmaX-000000005vi-0000 - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -78,8 +76,6 @@ changed uid/gid: remote delivery to x@y with transport=smtp uid=EXIM_UID gid=EXIM_GID pid=p1235 set_process_info: pppp delivering 10HmaX-000000005vi-0000 using smtp checking retry status of 127.0.0.1 - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -121,8 +117,6 @@ set_process_info: pppp delivering 10HmaX-000000005vi-0000: just tried 127.0.0.1 *@127.0.0.1 in "*"? yes (matched "*") Clearing TFO as not first host for message checking retry status of V4NET.0.0.0 - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -154,8 +148,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: x@y - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDWR @@ -173,7 +165,7 @@ failing_interval=ttt message_age=ttt Writing retry data for R:x@y first failed=dddd last try=dddd next try=+1 expired=1 errno=-44 more_errno=dd,A H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 451 Temporary error - dbfn_write: key=R:x@y datalen NNN + dbfn_write: key=R:x@y datalen 148 *@V4NET.0.0.0 in "*"? list element: * address match test: subject=*@V4NET.0.0.0 pattern=* @@ -189,12 +181,12 @@ on queue longer than maximum retry Writing retry data for T:[V4NET.0.0.0]:V4NET.0.0.0:PORT_S first failed=dddd last try=dddd next try=+0 expired=0 errno=dd more_errno=dd,A Network Error - dbfn_write: key=T:[V4NET.0.0.0]:V4NET.0.0.0:PORT_S datalen NNN + dbfn_write: key=T:[V4NET.0.0.0]:V4NET.0.0.0:PORT_S datalen 70 timed out: all retries expired LOG: MAIN ** x@y: retry timeout exceeded EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database end of retry processing exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xd7715ced -MCd bounce-message -odi -odi -t -oem -oi -f <> -E10HmaX-000000005vi-0000 Exim version x.yz .... @@ -267,8 +259,6 @@ admin user dropping to exim gid; retaining priv uid set_process_info: pppp delivering specified messages set_process_info: pppp delivering 10HmaY-000000005vi-0000 - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDONLY @@ -285,7 +275,7 @@ no domain retry record no address retry record CALLER@myhost.test.ex: queued for routing EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> routing CALLER@myhost.test.ex --------> r0 router <-------- diff --git a/test/stderr/0398 b/test/stderr/0398 index 853ffbad3..745b5bb12 100644 --- a/test/stderr/0398 +++ b/test/stderr/0398 @@ -139,8 +139,6 @@ routed by r2 router transport: t2 host 127.0.0.1 [127.0.0.1] Attempting full verification using callout - locking TESTSUITE/spool/db/callout.lockfile - locked TESTSUITE/spool/db/callout.lockfile EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR @@ -151,7 +149,7 @@ Attempting full verification using callout dbfn_read: null return callout cache: no address record found for qq@remote EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database interface=NULL port=PORT_S Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ... 127.0.0.1 in hosts_try_fastopen? @@ -177,18 +175,16 @@ cmd buf flush ddd bytes SMTP<< 250 OK SMTP(close)>> cmdlog: '220:EHLO:250:MAIL:250:RCPT:550:QUIT:250' - locking TESTSUITE/spool/db/callout.lockfile - locked TESTSUITE/spool/db/callout.lockfile EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR - dbfn_write: key=remote datalen NNN + dbfn_write: key=remote datalen 40 wrote callout cache domain record for remote: result=1 postmaster=0 random=0 - dbfn_write: key=qq@remote datalen NNN + dbfn_write: key=qq@remote datalen 16 wrote negative callout cache address record for qq@remote EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database ----------- end verify ------------ l_message: $acl_verify_message warn: condition test succeeded in ACL "rcpt" @@ -276,8 +272,6 @@ routed by r2 router transport: t2 host 127.0.0.1 [127.0.0.1] Attempting full verification using callout - locking TESTSUITE/spool/db/callout.lockfile - locked TESTSUITE/spool/db/callout.lockfile EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR @@ -289,7 +283,7 @@ Attempting full verification using callout callout cache: found address record for qq@remote callout cache: address record is negative EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database ----------- end verify ------------ l_message: $acl_verify_message warn: condition test succeeded in ACL "rcpt" diff --git a/test/stderr/0402 b/test/stderr/0402 index 29b3eae63..1f55d3e22 100644 --- a/test/stderr/0402 +++ b/test/stderr/0402 @@ -447,8 +447,6 @@ Delivery address list: userz@test.ex rd+CALLER@test.ex rd+usery@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -726,8 +724,6 @@ try option unseen routed by r1 router envelope to: CALLER@test.ex transport: t1 - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -754,8 +750,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> TESTSUITE/test-mail/junk <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -854,8 +848,6 @@ rd+usery@test.ex: children all complete LOG: MAIN => TESTSUITE/test-mail/junk R=r5 T=ft1 --------> TESTSUITE/test-mail/junk <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -946,8 +938,6 @@ rd+CALLER@test.ex: children all complete LOG: MAIN => TESTSUITE/test-mail/junk R=r4 T=ft1 --------> CALLER@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -981,8 +971,6 @@ CALLER@test.ex delivered LOG: MAIN => CALLER R=r1 T=t1 --------> usery@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -1024,8 +1012,6 @@ usery@test.ex delivered LOG: MAIN => usery R=r2 T=t1 --------> userz@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/0403 b/test/stderr/0403 index 0f9775285..f35b593fd 100644 --- a/test/stderr/0403 +++ b/test/stderr/0403 @@ -72,8 +72,6 @@ body_linecount=0 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -161,8 +159,6 @@ r2 router generated TESTSUITE/test-mail/junk routed by r2 router envelope to: userx@test.ex transport: - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -181,8 +177,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> TESTSUITE/test-mail/junk <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -315,8 +309,6 @@ body_linecount=0 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: charlie@dom1.ain - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -382,8 +374,6 @@ r1 router generated TESTSUITE/test-mail/junk routed by r1 router envelope to: charlie@dom1.ain transport: - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -402,8 +392,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> TESTSUITE/test-mail/junk <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/0404 b/test/stderr/0404 index 25b74291c..c910f9301 100644 --- a/test/stderr/0404 +++ b/test/stderr/0404 @@ -173,8 +173,6 @@ body_linecount=0 message_linecount=160 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -219,8 +217,6 @@ r2 router generated >sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex routed by r2 router envelope to: userx@test.ex transport: - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -239,8 +235,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> >sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex, ... <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -2767,8 +2761,6 @@ Delivery address list: sender@test.ex sender@test.ex sender@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -18590,8 +18582,6 @@ sender@test.ex is a duplicate address: discarded sender@test.ex is a duplicate address: discarded >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> sender@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/0408 b/test/stderr/0408 index c43b02a03..6c5a96815 100644 --- a/test/stderr/0408 +++ b/test/stderr/0408 @@ -72,8 +72,6 @@ body_linecount=0 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -141,8 +139,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> userx@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/0426 b/test/stderr/0426 index f72ecc2ce..941043411 100644 --- a/test/stderr/0426 +++ b/test/stderr/0426 @@ -11,7 +11,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: x@uppercase.test.ex @@ -54,8 +53,6 @@ After routing: x@UpperCase.test.ex Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-t1.lockfile cmdlog: '220:EHLO:250:MAIL:250:RCPT:550:QUIT+:250' LOG: MAIN ** x@uppercase.test.ex R=r1 T=t1 H=uppercase.test.ex [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 550 Unknown @@ -72,7 +69,6 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: CALLER@test.ex diff --git a/test/stderr/0432 b/test/stderr/0432 index ef8cb9889..2e0719788 100644 --- a/test/stderr/0432 +++ b/test/stderr/0432 @@ -92,8 +92,6 @@ MUNGED: ::1 will be omitted in what follows get[host|ipnode]byname[2] looked up these IP addresses: name=127.0.0.1 address=127.0.0.1 Attempting full verification using callout - locking TESTSUITE/spool/db/callout.lockfile - locked TESTSUITE/spool/db/callout.lockfile EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR @@ -104,7 +102,7 @@ Attempting full verification using callout dbfn_read: null return callout cache: no address record found for x@y EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database interface=NULL port=PORT_S Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ... 127.0.0.1 in hosts_try_fastopen? @@ -130,18 +128,16 @@ cmd buf flush ddd bytes SMTP<< 220 OK SMTP(close)>> cmdlog: '220:EHLO:250:MAIL:250:RCPT:250:QUIT:220' - locking TESTSUITE/spool/db/callout.lockfile - locked TESTSUITE/spool/db/callout.lockfile EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR - dbfn_write: key=y datalen NNN + dbfn_write: key=y datalen 40 wrote callout cache domain record for y: result=1 postmaster=0 random=0 - dbfn_write: key=x@y datalen NNN + dbfn_write: key=x@y datalen 16 wrote positive callout cache address record for x@y EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database ----------- end verify ------------ sender x@y verified ok accept: condition test succeeded in ACL "mail" @@ -218,8 +214,6 @@ MUNGED: ::1 will be omitted in what follows get[host|ipnode]byname[2] looked up these IP addresses: name=127.0.0.1 address=127.0.0.1 Attempting full verification using callout - locking TESTSUITE/spool/db/callout.lockfile - locked TESTSUITE/spool/db/callout.lockfile EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR @@ -231,7 +225,7 @@ Attempting full verification using callout callout cache: found address record for x@y callout cache: address record is positive EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database ----------- end verify ------------ sender x@y verified ok accept: condition test succeeded in ACL "mail" diff --git a/test/stderr/0487 b/test/stderr/0487 index 696d5a72d..15da5685a 100644 --- a/test/stderr/0487 +++ b/test/stderr/0487 @@ -106,8 +106,6 @@ body_linecount=1 message_linecount=9 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -143,8 +141,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> userx@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/0529 b/test/stderr/0529 index c4a292a48..587cef7a8 100644 --- a/test/stderr/0529 +++ b/test/stderr/0529 @@ -11,13 +11,11 @@ configuration file is TESTSUITE/test-config trusted user admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: x@test.ex no domain retry record no address retry record -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: TESTSUITE/test-mail/rmbox @@ -28,7 +26,6 @@ After routing: Remote deliveries: Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile no retry data available added retry item for T:TESTSUITE/test-mail/rmbox:x@test.ex: errno=-22 more_errno=dd flags=0 LOG: MAIN @@ -39,7 +36,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: TESTSUITE/test-mail/rmbox -locking TESTSUITE/spool/db/retry.lockfile retry for T:TESTSUITE/test-mail/rmbox:x@test.ex = *@test.ex -22 0 failing_interval=ttt message_age=ttt Writing retry data for T:TESTSUITE/test-mail/rmbox:x@test.ex @@ -56,12 +52,10 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1234 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: x@test.ex no domain retry record no address retry record -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: TESTSUITE/test-mail/rmbox >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -71,7 +65,6 @@ After routing: Remote deliveries: Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile retry record exists: age=ttt (max 1w) time to retry = tttt expired = 0 retry time not reached: checking ultimate address timeout diff --git a/test/stderr/0543 b/test/stderr/0543 index 997abd329..b09cdb4f1 100644 --- a/test/stderr/0543 +++ b/test/stderr/0543 @@ -5,7 +5,6 @@ admin user dropping to exim gid; retaining priv uid LOG: queue_run MAIN Start queue run: pid=p1234 -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: userx@domain1 unique = userx@domain1 @@ -32,15 +31,12 @@ After routing: userx@domain1 Failed addresses: Deferred addresses: -locking TESTSUITE/spool/db/retry.lockfile -locking TESTSUITE/spool/db/wait-smtp.lockfile cmdlog: '220:EHLO:250-:MAIL:250:RCPT:250:DATA:354:.:250:QUIT+:250' LOG: MAIN => userx@domain1 R=smarthost T=smtp H=thisloop.test.ex [127.0.0.1] C="250 OK" LOG: MAIN Completed >>>>>>>>>>>>>>>> Exim pid=p1235 (qrun-delivery) terminating with rc=0 >>>>>>>>>>>>>>>> -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: usery@domain1 unique = usery@domain1 diff --git a/test/stderr/0554 b/test/stderr/0554 index 1536315ab..4289094b1 100644 --- a/test/stderr/0554 +++ b/test/stderr/0554 @@ -3,7 +3,6 @@ Hints DB: configuration file is TESTSUITE/test-config admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile no retry data available >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: x@y @@ -17,7 +16,6 @@ After routing: Failed addresses: Deferred addresses: checking retry status of 127.0.0.1 -locking TESTSUITE/spool/db/retry.lockfile no retry data available added retry item for R:x@y:: errno=-44 more_errno=dd,A flags=0 cmdlog: '220:EHLO:250:MAIL:250:RCPT:451:QUIT+:250' @@ -30,7 +28,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: x@y -locking TESTSUITE/spool/db/retry.lockfile retry for R:x@y: = * 0 0 failing_interval=ttt message_age=ttt Writing retry data for R:x@y: @@ -43,7 +40,6 @@ Hints DB: configuration file is TESTSUITE/test-config admin user dropping to exim gid; retaining priv uid -locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: x@y no domain retry record @@ -59,12 +55,10 @@ After routing: Failed addresses: Deferred addresses: checking retry status of 127.0.0.1 -locking TESTSUITE/spool/db/retry.lockfile no host retry record no message retry record added retry item for R:x@y:: errno=dd more_errno=dd,A flags=1 added retry item for R:x@y: errno=dd more_errno=dd,A flags=1 -locking TESTSUITE/spool/db/wait-smtp.lockfile cmdlog: '220:EHLO:250:MAIL:250:RCPT:250:DATA:354:.:250:QUIT+:250' reading retry information for R:x@y from subprocess existing delete item dropped @@ -86,7 +80,6 @@ LOG: MAIN Processing retry items Succeeded addresses: x@y -locking TESTSUITE/spool/db/retry.lockfile deleted retry information for R:x@y: deleted retry information for R:x@y deleted retry information for R:y diff --git a/test/stderr/0628 b/test/stderr/0628 index 802d98a71..e033ceae2 100644 --- a/test/stderr/0628 +++ b/test/stderr/0628 @@ -53,8 +53,6 @@ 01:01:01 p1239 DSN: set orcpt: flags: 0x0 01:01:01 p1239 Delivery address list: 01:01:01 p1239 dest@test.ex -01:01:01 p1239 locking TESTSUITE/spool/db/retry.lockfile -01:01:01 p1239 locked TESTSUITE/spool/db/retry.lockfile 01:01:01 p1239 EXIM_DBOPEN: file dir flags=O_RDONLY 01:01:01 p1239 returned from EXIM_DBOPEN: (nil) 01:01:01 p1239 failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -159,8 +157,6 @@ 01:01:01 p1241 DSN: set orcpt: flags: 0x0 01:01:01 p1241 Delivery address list: 01:01:01 p1241 dest2@test.ex -01:01:01 p1241 locking TESTSUITE/spool/db/retry.lockfile -01:01:01 p1241 locked TESTSUITE/spool/db/retry.lockfile 01:01:01 p1241 EXIM_DBOPEN: file dir flags=O_RDONLY 01:01:01 p1241 returned from EXIM_DBOPEN: (nil) 01:01:01 p1241 failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/2600 b/test/stderr/2600 index 4c814c3a1..5a88b759c 100644 --- a/test/stderr/2600 +++ b/test/stderr/2600 @@ -586,8 +586,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: userx@myhost.test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -634,8 +632,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> userx@myhost.test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/2610 b/test/stderr/2610 index e35a8f5a4..a047a3244 100644 --- a/test/stderr/2610 +++ b/test/stderr/2610 @@ -808,8 +808,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: ph10@myhost.test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -877,8 +875,6 @@ search_tidyup called close MYSQL connection: 127.0.0.1:PORT_N/test/root >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> ph10@myhost.test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/2620 b/test/stderr/2620 index 15ce3eab1..ad5ac2be7 100644 --- a/test/stderr/2620 +++ b/test/stderr/2620 @@ -727,8 +727,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: CALLER@myhost.test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -777,8 +775,6 @@ search_tidyup called close PGSQL connection: localhost:PORT_N/test/CALLER >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> CALLER@myhost.test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/5004 b/test/stderr/5004 index 8d716e9ea..57eed3480 100644 --- a/test/stderr/5004 +++ b/test/stderr/5004 @@ -76,8 +76,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -114,8 +112,6 @@ r1 router generated TESTSUITE/test-mail routed by r1 router envelope to: userx@test.ex transport: - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -134,8 +130,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> TESTSUITE/test-mail <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stderr/5005 b/test/stderr/5005 index 34cae4c83..afde81d1c 100644 --- a/test/stderr/5005 +++ b/test/stderr/5005 @@ -72,8 +72,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: nofile@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -109,8 +107,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> nofile@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -264,8 +260,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -301,8 +295,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> userx@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -458,8 +450,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -495,8 +485,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> userx@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -556,8 +544,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDWR @@ -575,9 +561,9 @@ failing_interval=ttt message_age=ttt Writing retry data for T:userx@test.ex first failed=dddd last try=dddd next try=+86400 expired=0 errno=-22 more_errno=dd mailbox is full (MTA-imposed quota exceeded while writing to tmp/MAILDIR.myhost.test.ex) - dbfn_write: key=T:userx@test.ex datalen NNN + dbfn_write: key=T:userx@test.ex datalen 154 EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database end of retry processing delivery deferred: update_spool=1 header_rewritten=0 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaZ-000000005vi-0000 @@ -663,8 +649,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDONLY @@ -681,7 +665,7 @@ no domain retry record no address retry record userx@test.ex: queued for routing EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> routing userx@test.ex --------> r1 router <-------- @@ -707,8 +691,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> userx@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDONLY @@ -717,7 +699,7 @@ search_tidyup called retry record exists: age=ttt (max 1w) time to retry = tttt expired = 0 EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database search_tidyup called changed uid/gid: local delivery to userx transport=t1 uid=CALLER_UID gid=CALLER_GID pid=p1245 @@ -760,8 +742,6 @@ Succeeded addresses: Failed addresses: Deferred addresses: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDWR @@ -779,9 +759,9 @@ failing_interval=ttt message_age=ttt Writing retry data for T:userx@test.ex first failed=dddd last try=dddd next try=+86400 expired=0 errno=-22 more_errno=dd mailbox is full (MTA-imposed quota exceeded while writing to tmp/MAILDIR.myhost.test.ex) - dbfn_write: key=T:userx@test.ex datalen NNN + dbfn_write: key=T:userx@test.ex datalen 154 EXIM_DBCLOSE(0xAAAAAAAA) - closed hints database and lockfile + closed hints database end of retry processing delivery deferred: update_spool=1 header_rewritten=0 Writing spool header file: TESTSUITE/spool//input//hdr.10HmbA-000000005vi-0000 diff --git a/test/stderr/5006 b/test/stderr/5006 index 53a83bcd1..131065b25 100644 --- a/test/stderr/5006 +++ b/test/stderr/5006 @@ -72,8 +72,6 @@ body_linecount=1 message_linecount=8 DSN: set orcpt: flags: 0x0 Delivery address list: userx@test.ex - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory @@ -109,8 +107,6 @@ After routing: search_tidyup called >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> userx@test.ex <-------- - locking TESTSUITE/spool/db/retry.lockfile - locked TESTSUITE/spool/db/retry.lockfile EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory diff --git a/test/stdout/0543 b/test/stdout/0543 index 9a99cddf2..c53cb62ad 100644 --- a/test/stdout/0543 +++ b/test/stdout/0543 @@ -1,5 +1,5 @@ +++++++++++++++++++++++++++ -** Failed to open database lock file TESTSUITE/spool/db/wait-smtp.lockfile: No such file or directory +** Failed to open hintsdb TESTSUITE/spool/db/wait-smtp: No such file or directory ******** SERVER ******** Listening on port 1224 ...