constify
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 29 Mar 2020 18:07:48 +0000 (19:07 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 29 Mar 2020 18:07:48 +0000 (19:07 +0100)
26 files changed:
src/src/drtables.c
src/src/functions.h
src/src/lookupapi.h
src/src/lookups/cdb.c
src/src/lookups/dbmdb.c
src/src/lookups/dnsdb.c
src/src/lookups/dsearch.c
src/src/lookups/ibase.c
src/src/lookups/json.c
src/src/lookups/ldap.c
src/src/lookups/lf_check_file.c
src/src/lookups/lf_functions.h
src/src/lookups/lmdb.c
src/src/lookups/lsearch.c
src/src/lookups/mysql.c
src/src/lookups/nis.c
src/src/lookups/nisplus.c
src/src/lookups/oracle.c
src/src/lookups/passwd.c
src/src/lookups/pgsql.c
src/src/lookups/redis.c
src/src/lookups/spf.c
src/src/lookups/sqlite.c
src/src/lookups/testdb.c
src/src/lookups/whoson.c
src/src/search.c

index f1053bbdae1cdacd775756d70ee25f3cd1054437..7fa8ca4699cb5855d9e619a56bde703a7f1a793e 100644 (file)
@@ -546,8 +546,7 @@ if (lookup_list[pos])
   /* need to insert it, so move all the other items up
   (last slot is still empty, of course) */
 
-  memmove(&lookup_list[pos+1],
-         &lookup_list[pos],
+  memmove(&lookup_list[pos+1], &lookup_list[pos],
          sizeof(lookup_info *) * (lookup_list_count-pos-1));
   }
 lookup_list[pos] = info;
index f789c5e2dee17098f8068efc974f304584ff14ef..90e6e6791f159a74d4f5d670ffcb905b0c1a6bd4 100644 (file)
@@ -438,12 +438,12 @@ extern void    route_init(void);
 extern void    route_show_supported(FILE *);
 extern void    route_tidyup(void);
 
-extern uschar *search_find(void *, uschar *, uschar *, int, const uschar *, int,
-                 int, int *);
+extern uschar *search_find(void *, const uschar *, uschar *, int,
+                const uschar *, int, int, int *);
 extern int     search_findtype(const uschar *, int);
 extern int     search_findtype_partial(const uschar *, int *, const uschar **, int *,
                  int *);
-extern void   *search_open(uschar *, int, int, uid_t *, gid_t *);
+extern void   *search_open(const uschar *, int, int, uid_t *, gid_t *);
 extern void    search_tidyup(void);
 extern void    set_process_info(const char *, ...) PRINTF_FUNCTION(1,2);
 extern void    sha1_end(hctx *, const uschar *, int, uschar *);
index 9055f52397b40043c01e9afc7d5faaa9ba4b1ece..07e7af91b5a5d814b5c3b64d57e20581c7622531 100644 (file)
@@ -18,18 +18,18 @@ typedef struct lookup_info {
   uschar *name;                   /* e.g. "lsearch" */
   int type;                       /* query/singlekey/abs-file */
   void *(*open)(                  /* open function */
-    uschar *,                     /* file name for those that have one */
+    const uschar *,               /* file name for those that have one */
     uschar **);                   /* for error message */
   BOOL (*check)(                  /* file checking function */
     void *,                       /* handle */
-    uschar *,                     /* file name */
+    const uschar *,               /* file name */
     int,                          /* modemask for file checking */
     uid_t *,                      /* owners for file checking */
     gid_t *,                      /* owngroups for file checking */
     uschar **);                   /* for error messages */
   int (*find)(                    /* find function */
     void *,                       /* handle */
-    uschar *,                     /* file name or NULL */
+    const uschar *,               /* file name or NULL */
     const uschar *,               /* key or query */
     int,                          /* length of key or query */
     uschar **,                    /* for returning answer */
index 5cae1535f5efb26975dbef8ca4936d7b0d33841a..c9a5de1d81554188a8eab4b5c5bc61d2077f7679 100644 (file)
@@ -136,108 +136,109 @@ cdb_bread(int fd,
 static uint32
 cdb_unpack(uschar *buf)
 {
-  uint32 num;
-  num =  buf[3]; num <<= 8;
-  num += buf[2]; num <<= 8;
-  num += buf[1]; num <<= 8;
-  num += buf[0];
-  return num;
+uint32 num;
+num =  buf[3]; num <<= 8;
+num += buf[2]; num <<= 8;
+num += buf[1]; num <<= 8;
+num += buf[0];
+return num;
 }
 
 static void cdb_close(void *handle);
 
 static void *
-cdb_open(uschar *filename,
-         uschar **errmsg)
+cdb_open(const uschar * filename, uschar ** errmsg)
 {
-  int fileno;
-  struct cdb_state *cdbp;
-  struct stat statbuf;
-  void * mapbuf;
-
-  fileno = Uopen(filename, O_RDONLY, 0);
-  if (fileno == -1) {
-    int save_errno = errno;
-    *errmsg = string_open_failed(errno, "%s for cdb lookup", filename);
-    errno = save_errno;
-    return NULL;
+int fileno;
+struct cdb_state *cdbp;
+struct stat statbuf;
+void * mapbuf;
+
+if ((fileno = Uopen(filename, O_RDONLY, 0)) < 0)
+  {
+  int save_errno = errno;
+  *errmsg = string_open_failed(errno, "%s for cdb lookup", filename);
+  errno = save_errno;
+  return NULL;
   }
 
-  if (fstat(fileno, &statbuf) == 0) {
-    /* If this is a valid file, then it *must* be at least
-     * CDB_HASH_TABLE bytes long */
-    if (statbuf.st_size < CDB_HASH_TABLE) {
-      int save_errno = errno;
-      *errmsg = string_open_failed(errno,
-                                  "%s too short for cdb lookup",
-                                  filename);
-      errno = save_errno;
-      return NULL;
-    }
-  } else {
-    int save_errno = errno;
-    *errmsg = string_open_failed(errno,
-                                "fstat(%s) failed - cannot do cdb lookup",
-                                filename);
-    errno = save_errno;
-    return NULL;
+if (fstat(fileno, &statbuf) != 0)
+  {
+  int save_errno = errno;
+  *errmsg = string_open_failed(errno,
+                             "fstat(%s) failed - cannot do cdb lookup",
+                             filename);
+  errno = save_errno;
+  return NULL;
+  }
+
+/* If this is a valid file, then it *must* be at least
+CDB_HASH_TABLE bytes long */
+
+if (statbuf.st_size < CDB_HASH_TABLE)
+  {
+  int save_errno = errno;
+  *errmsg = string_open_failed(errno,
+                             "%s too short for cdb lookup",
+                             filename);
+  errno = save_errno;
+  return NULL;
   }
 
-  /* Having got a file open we need the structure to put things in */
-  cdbp = store_get(sizeof(struct cdb_state), FALSE);
-  /* store_get() does not return if memory was not available... */
-  /* preload the structure.... */
-  cdbp->fileno = fileno;
-  cdbp->filelen = statbuf.st_size;
-  cdbp->cdb_map = NULL;
-  cdbp->cdb_offsets = NULL;
+/* Having got a file open we need the structure to put things in */
+cdbp = store_get(sizeof(struct cdb_state), FALSE);
+/* store_get() does not return if memory was not available... */
+/* preload the structure.... */
+cdbp->fileno = fileno;
+cdbp->filelen = statbuf.st_size;
+cdbp->cdb_map = NULL;
+cdbp->cdb_offsets = NULL;
 
-  /* if we are allowed to we use mmap here.... */
+/* if we are allowed to we use mmap here.... */
 #ifdef HAVE_MMAP
-  mapbuf = mmap(NULL,
-               statbuf.st_size,
-               PROT_READ,
-               MAP_SHARED,
-               fileno,
-               0);
-  if (mapbuf != MAP_FAILED) {
-    /* We have an mmap-ed section.  Now we can just use it */
-    cdbp->cdb_map = mapbuf;
-    /* The offsets can be set to the same value since they should
-     * effectively be cached as well
-     */
-    cdbp->cdb_offsets = mapbuf;
-
-    /* Now return the state struct */
-    return(cdbp);
-  } else
-    /* If we got here the map failed.  Basically we can ignore
-     * this since we fall back to slower methods....
-     * However lets debug log it...
-     */
-    DEBUG(D_lookup) debug_printf_indent("cdb mmap failed - %d\n", errno);
+if ((mapbuf = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED, fileno, 0))
+    != MAP_FAILED)
+  {
+  /* We have an mmap-ed section.  Now we can just use it */
+  cdbp->cdb_map = mapbuf;
+  /* The offsets can be set to the same value since they should
+   * effectively be cached as well
+   */
+  cdbp->cdb_offsets = mapbuf;
+
+  /* Now return the state struct */
+  return(cdbp);
+  }
+
+/* If we got here the map failed.  Basically we can ignore this since we fall
+back to slower methods....  However lets debug log it...  */
+
+DEBUG(D_lookup) debug_printf_indent("cdb mmap failed - %d\n", errno);
 #endif /* HAVE_MMAP */
 
-  /* In this case we have either not got MMAP allowed, or it failed */
-
-  /* get a buffer to stash the basic offsets in - this should speed
-   * things up a lot - especially on multiple lookups */
-  cdbp->cdb_offsets = store_get(CDB_HASH_TABLE, FALSE);
-
-  /* now fill the buffer up... */
-  if (cdb_bread(fileno, cdbp->cdb_offsets, CDB_HASH_TABLE) == -1) {
-    /* read of hash table failed, oh dear, oh.....
-     * time to give up I think....
-     * call the close routine (deallocs the memory), and return NULL */
-    *errmsg = string_open_failed(errno,
-                                "cannot read header from %s for cdb lookup",
-                                filename);
-    cdb_close(cdbp);
-    return NULL;
+/* In this case we have either not got MMAP allowed, or it failed */
+
+/* get a buffer to stash the basic offsets in - this should speed
+things up a lot - especially on multiple lookups */
+
+cdbp->cdb_offsets = store_get(CDB_HASH_TABLE, FALSE);
+
+/* now fill the buffer up... */
+
+if (cdb_bread(fileno, cdbp->cdb_offsets, CDB_HASH_TABLE) == -1)
+  {
+  /* read of hash table failed, oh dear, oh.....  time to give up I think....
+  call the close routine (deallocs the memory), and return NULL */
+
+  *errmsg = string_open_failed(errno,
+                             "cannot read header from %s for cdb lookup",
+                             filename);
+  cdb_close(cdbp);
+  return NULL;
   }
 
-  /* Everything else done - return the cache structure */
-  return cdbp;
+/* Everything else done - return the cache structure */
+return cdbp;
 }
 
 
@@ -247,22 +248,12 @@ cdb_open(uschar *filename,
 *************************************************/
 
 static BOOL
-cdb_check(void *handle,
-         uschar *filename,
-         int modemask,
-         uid_t *owners,
-         gid_t *owngroups,
-         uschar **errmsg)
+cdb_check(void * handle, const uschar * filename, int modemask,
+  uid_t * owners, gid_t * owngroups, uschar ** errmsg)
 {
-  struct cdb_state * cdbp = handle;
-  return lf_check_file(cdbp->fileno,
-                       filename,
-                       S_IFREG,
-                       modemask,
-                       owners,
-                       owngroups,
-                       "cdb",
-                       errmsg) == 0;
+struct cdb_state * cdbp = handle;
+return lf_check_file(cdbp->fileno, filename, S_IFREG, modemask,
+                    owners, owngroups, "cdb", errmsg) == 0;
 }
 
 
@@ -272,13 +263,8 @@ cdb_check(void *handle,
 *************************************************/
 
 static int
-cdb_find(void *handle,
-        uschar *filename,
-        const uschar *keystring,
-        int  key_len,
-        uschar **result,
-        uschar **errmsg,
-        uint *do_cache)
+cdb_find(void * handle, const uschar * filename, const uschar * keystring,
+  int key_len, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 struct cdb_state * cdbp = handle;
 uint32 item_key_len,
index 5e97009ccae4c3d6a42aa7e32bb07d4a8b3da586..f3bd6d2da2d4fcc3ab0a3742c5f1899be473d6ec 100644 (file)
@@ -16,7 +16,7 @@
 /* See local README for interface description */
 
 static void *
-dbmdb_open(uschar *filename, uschar **errmsg)
+dbmdb_open(const uschar * filename, uschar ** errmsg)
 {
 uschar * dirname = string_copy(filename);
 uschar * s;
@@ -24,7 +24,7 @@ EXIM_DB *yield = NULL;
 
 if ((s = Ustrrchr(dirname, '/'))) *s = '\0';
 EXIM_DBOPEN(filename, dirname, O_RDONLY, 0, &yield);
-if (yield == NULL)
+if (!yield)
   {
   int save_errno = errno;
   *errmsg = string_open_failed(errno, "%s as a %s file", filename, EXIM_DBTYPE);
@@ -47,7 +47,7 @@ the same. Otherwise, for safety, we have to check for x.db or x.dir and x.pag.
 */
 
 static BOOL
-dbmdb_check(void *handle, uschar *filename, int modemask, uid_t *owners,
+dbmdb_check(void *handle, const uschar *filename, int modemask, uid_t *owners,
   gid_t *owngroups, uschar **errmsg)
 {
 int rc;
@@ -90,8 +90,8 @@ return rc == 0;
 the keylength in order to include the terminating zero. */
 
 static int
-dbmdb_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+dbmdb_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 EXIM_DB *d = (EXIM_DB *)handle;
 EXIM_DATUM key, data;
@@ -122,9 +122,9 @@ return FAIL;
 
 /* See local README for interface description */
 
-int
-static dbmnz_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+static int
+dbmnz_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 return dbmdb_find(handle, filename, keystring, length-1, result, errmsg,
   do_cache);
@@ -143,8 +143,8 @@ return dbmdb_find(handle, filename, keystring, length-1, result, errmsg,
  */
 
 static int
-dbmjz_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+dbmjz_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 uschar *key_item, *key_buffer, *key_p;
 const uschar *key_elems = keystring;
@@ -203,8 +203,8 @@ DEBUG(D_lookup) debug_printf_indent("NUL-joined key length: %d\n", key_item_len)
 
 /* beware that dbmdb_find() adds 1 to length to get back terminating NUL, so
 because we've calculated the real length, we need to subtract one more here */
-return dbmdb_find(handle, filename,
-    key_buffer, key_item_len - 1,
+
+return dbmdb_find(handle, filename, key_buffer, key_item_len - 1,
     result, errmsg, do_cache);
 }
 
index 94809e5d83956314bf08f3253acf0ab60945bd31..cc711c5c353b34292a4f2f05ebc1303359b011ed 100644 (file)
@@ -77,7 +77,7 @@ static int type_values[] = {
 /* See local README for interface description. */
 
 static void *
-dnsdb_open(uschar *filename, uschar **errmsg)
+dnsdb_open(const uschar * filename, uschar **errmsg)
 {
 filename = filename;   /* Keep picky compilers happy */
 errmsg = errmsg;       /* Ditto */
@@ -130,8 +130,8 @@ which may start with '<' in order to set a specific separator. The default
 separator, as always, is colon. */
 
 static int
-dnsdb_find(void *handle, uschar *filename, const uschar *keystring, int length,
 uschar **result, uschar **errmsg, uint *do_cache)
+dnsdb_find(void * handle, const uschar * filename, const uschar * keystring,
int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 int rc;
 int sep = 0;
index 3a0df303b6fe124316788842397c1406420e414b..dba8422ccf1e07c65d919f38c62e5708ab57b4b7 100644 (file)
@@ -25,7 +25,7 @@ it open, because the "search" can be done by a call to lstat() rather than
 actually scanning through the list of files. */
 
 static void *
-dsearch_open(uschar *dirname, uschar **errmsg)
+dsearch_open(const uschar * dirname, uschar ** errmsg)
 {
 DIR * dp = exim_opendir(dirname);
 if (!dp)
@@ -48,8 +48,8 @@ return (void *)(-1);
 integer as this gives warnings on 64-bit systems. */
 
 static BOOL
-dsearch_check(void *handle, uschar *filename, int modemask, uid_t *owners,
-  gid_t *owngroups, uschar **errmsg)
+dsearch_check(void * handle, const uschar * filename, int modemask,
+  uid_t * owners, gid_t * owngroups, uschar ** errmsg)
 {
 handle = handle;
 return lf_check_file(-1, filename, S_IFDIR, modemask, owners, owngroups,
@@ -66,8 +66,8 @@ scanning the directory, as it is hopefully faster to let the OS do the scanning
 for us. */
 
 static int
-dsearch_find(void *handle, uschar *dirname, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+dsearch_find(void * handle, const uschar * dirname, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 struct stat statbuf;
 int save_errno;
index f08f503f0ea3432c43316537fbfe6d1e7695383b..2ccb7b4f177c190f95fd922715d5162fe292848e 100644 (file)
@@ -31,9 +31,9 @@ static ibase_connection *ibase_connections = NULL;
 
 /* See local README for interface description. */
 
-static void *ibase_open(uschar * filename, uschar ** errmsg)
+static void *ibase_open(const uschar * filename, uschar ** errmsg)
 {
-    return (void *) (1);        /* Just return something non-null */
+return (void *) (1);        /* Just return something non-null */
 }
 
 
@@ -450,33 +450,32 @@ arguments are not used. Loop through a list of servers while the query is
 deferred with a retryable error. */
 
 static int
-ibase_find(void *handle, uschar * filename, uschar * query, int length,
+ibase_find(void * handle, const uschar * filename, uschar * query, int length,
            uschar ** result, uschar ** errmsg, uint *do_cache)
 {
-    int sep = 0;
-    uschar *server;
-    uschar *list = ibase_servers;
-    uschar buffer[512];
-
-    /* Keep picky compilers happy */
-    do_cache = do_cache;
-
-    DEBUG(D_lookup) debug_printf_indent("Interbase query: %s\n", query);
-
-    while ((server =
-            string_nextinlist(&list, &sep, buffer,
-                              sizeof(buffer))) != NULL) {
-        BOOL defer_break = FALSE;
-        int rc = perform_ibase_search(query, server, result, errmsg,
-                                      &defer_break);
-        if (rc != DEFER || defer_break)
-            return rc;
-    }
+int sep = 0;
+uschar *server;
+uschar *list = ibase_servers;
+uschar buffer[512];
 
-    if (ibase_servers == NULL)
-        *errmsg = US "no Interbase servers defined (ibase_servers option)";
+/* Keep picky compilers happy */
+do_cache = do_cache;
 
-    return DEFER;
+DEBUG(D_lookup) debug_printf_indent("Interbase query: %s\n", query);
+
+while ((server = string_nextinlist(&list, &sep, buffer,
+                         sizeof(buffer))))
+  {
+  BOOL defer_break = FALSE;
+  int rc = perform_ibase_search(query, server, result, errmsg, &defer_break);
+  if (rc != DEFER || defer_break)
+    return rc;
+  }
+
+if (!ibase_servers)
+  *errmsg = US "no Interbase servers defined (ibase_servers option)";
+
+return DEFER;
 }
 
 
index 15b8617512f07d666d8ac918345089b3f66af0a5..f476db3d97d276fcc78fa57757686954c58e2443 100644 (file)
@@ -40,7 +40,7 @@ json_free(void * p)
 /* See local README for interface description */
 
 static void *
-json_open(uschar *filename, uschar **errmsg)
+json_open(const uschar * filename, uschar ** errmsg)
 {
 FILE * f;
 
@@ -63,7 +63,7 @@ return f;
 *************************************************/
 
 static BOOL
-json_check(void *handle, uschar *filename, int modemask, uid_t *owners,
+json_check(void *handle, const uschar *filename, int modemask, uid_t *owners,
   gid_t *owngroups, uschar **errmsg)
 {
 return lf_check_file(fileno((FILE *)handle), filename, S_IFREG, modemask,
@@ -79,8 +79,8 @@ return lf_check_file(fileno((FILE *)handle), filename, S_IFREG, modemask,
 /* See local README for interface description */
 
 static int
-json_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+json_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 FILE * f = handle;
 json_t * j, * j0;
index 8972d1074b81ec6f2f3af7e0370bc5febe11a93c..b9a52d2512ce0677ccafe4f6cc642be426c70090 100644 (file)
@@ -1283,8 +1283,8 @@ are handled by a common function, with a flag to differentiate between them.
 The handle and filename arguments are not used. */
 
 static int
-eldap_find(void *handle, uschar *filename, const uschar *ldap_url, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+eldap_find(void * handle, const uschar * filename, const uschar * ldap_url,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 /* Keep picky compilers happy */
 do_cache = do_cache;
@@ -1292,8 +1292,8 @@ return(control_ldap_search(ldap_url, SEARCH_LDAP_SINGLE, result, errmsg));
 }
 
 static int
-eldapm_find(void *handle, uschar *filename, const uschar *ldap_url, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+eldapm_find(void * handle, const uschar * filename, const uschar * ldap_url,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 /* Keep picky compilers happy */
 do_cache = do_cache;
@@ -1301,8 +1301,8 @@ return(control_ldap_search(ldap_url, SEARCH_LDAP_MULTIPLE, result, errmsg));
 }
 
 static int
-eldapdn_find(void *handle, uschar *filename, const uschar *ldap_url, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+eldapdn_find(void * handle, const uschar * filename, const uschar * ldap_url,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 /* Keep picky compilers happy */
 do_cache = do_cache;
@@ -1310,8 +1310,8 @@ return(control_ldap_search(ldap_url, SEARCH_LDAP_DN, result, errmsg));
 }
 
 int
-eldapauth_find(void *handle, uschar *filename, const uschar *ldap_url, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+eldapauth_find(void * handle, const uschar * filename, const uschar * ldap_url,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 /* Keep picky compilers happy */
 do_cache = do_cache;
@@ -1327,7 +1327,7 @@ return(control_ldap_search(ldap_url, SEARCH_LDAP_AUTH, result, errmsg));
 /* See local README for interface description. */
 
 static void *
-eldap_open(uschar *filename, uschar **errmsg)
+eldap_open(const uschar * filename, uschar ** errmsg)
 {
 return (void *)(1);    /* Just return something non-null */
 }
index 8b1140876f7e3e99504a0e7a0377e2e40067eea4..eb08a4de2905bce9c31740bef511a8364757877c 100644 (file)
@@ -38,8 +38,8 @@ Side effect: sets errno to ERRNO_BADUGID, ERRNO_NOTREGULAR or ERRNO_BADMODE for
 */
 
 int
-lf_check_file(int fd, uschar *filename, int s_type, int modemask, uid_t *owners,
-  gid_t *owngroups, const char *type, uschar **errmsg)
+lf_check_file(int fd, const uschar * filename, int s_type, int modemask,
+  uid_t * owners, gid_t * owngroups, const char * type, uschar ** errmsg)
 {
 struct stat statbuf;
 
index 8fa6027c6bdc276978837a65444659ac177dfd41..4d9ae9595758167d96bfa1d342500d174e89f154 100644 (file)
@@ -7,7 +7,7 @@
 
 /* Header for the functions that are shared by the lookups */
 
-extern int     lf_check_file(int, uschar *, int, int, uid_t *, gid_t *,
+extern int     lf_check_file(int, const uschar *, int, int, uid_t *, gid_t *,
                  const char *, uschar **);
 extern gstring *lf_quote(uschar *, uschar *, int, gstring *);
 extern int     lf_sqlperform(const uschar *, const uschar *, const uschar *,
index 2976cfac5be591283face64fab8980d9a3884d79..712261a413a50bde976ccad165885e73ebf71cf8 100644 (file)
@@ -23,7 +23,7 @@ MDB_dbi db_dbi;
 *************************************************/
 
 static void *
-lmdb_open(uschar * filename, uschar ** errmsg)
+lmdb_open(const uschar * filename, uschar ** errmsg)
 {
 MDB_env * db_env = NULL;
 Lmdbstrct * lmdb_p;
@@ -74,7 +74,7 @@ bad:
 *************************************************/
 
 static int
-lmdb_find(void * handle, uschar * filename,
+lmdb_find(void * handle, const uschar * filename,
     const uschar * keystring, int length, uschar ** result, uschar ** errmsg,
     uint * do_cache)
 {
index 76b76b8f9ad6115735486e6c06c8b7e37808913b..92a76e7c390b16e5efcd1ba1ad00a67cff0f0b0e 100644 (file)
@@ -26,7 +26,7 @@ enum {
 /* See local README for interface description */
 
 static void *
-lsearch_open(uschar *filename, uschar **errmsg)
+lsearch_open(const uschar * filename, uschar ** errmsg)
 {
 FILE *f = Ufopen(filename, "rb");
 if (f == NULL)
@@ -46,7 +46,7 @@ return f;
 *************************************************/
 
 static BOOL
-lsearch_check(void *handle, uschar *filename, int modemask, uid_t *owners,
+lsearch_check(void *handle, const uschar *filename, int modemask, uid_t *owners,
   gid_t *owngroups, uschar **errmsg)
 {
 return lf_check_file(fileno((FILE *)handle), filename, S_IFREG, modemask,
@@ -71,8 +71,9 @@ fit into the fixed sized buffer. Most of the time this will never be exercised,
 but people do occasionally do weird things. */
 
 static int
-internal_lsearch_find(void *handle, uschar *filename, const uschar *keystring,
-  int length, uschar **result, uschar **errmsg, int type)
+internal_lsearch_find(void * handle, const uschar * filename,
+  const uschar * keystring, int length, uschar ** result, uschar ** errmsg,
+ int type)
 {
 FILE *f = (FILE *)handle;
 BOOL last_was_eol = TRUE;
@@ -318,8 +319,8 @@ return FAIL;
 /* See local README for interface description */
 
 static int
-lsearch_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+lsearch_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 do_cache = do_cache;  /* Keep picky compilers happy */
 return internal_lsearch_find(handle, filename, keystring, length, result,
@@ -335,8 +336,8 @@ return internal_lsearch_find(handle, filename, keystring, length, result,
 /* See local README for interface description */
 
 static int
-wildlsearch_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+wildlsearch_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 do_cache = do_cache;  /* Keep picky compilers happy */
 return internal_lsearch_find(handle, filename, keystring, length, result,
@@ -352,8 +353,8 @@ return internal_lsearch_find(handle, filename, keystring, length, result,
 /* See local README for interface description */
 
 static int
-nwildlsearch_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+nwildlsearch_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 do_cache = do_cache;  /* Keep picky compilers happy */
 return internal_lsearch_find(handle, filename, keystring, length, result,
@@ -370,23 +371,20 @@ return internal_lsearch_find(handle, filename, keystring, length, result,
 /* See local README for interface description */
 
 static int
-iplsearch_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+iplsearch_find(void * handle, uschar const * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 do_cache = do_cache;  /* Keep picky compilers happy */
+
 if ((length == 1 && keystring[0] == '*') ||
     string_is_ip_address(keystring, NULL) != 0)
-  {
   return internal_lsearch_find(handle, filename, keystring, length, result,
     errmsg, LSEARCH_IP);
-  }
-else
-  {
-  *errmsg = string_sprintf("\"%s\" is not a valid iplsearch key (an IP "
-    "address, with optional CIDR mask, is wanted): "
-    "in a host list, use net-iplsearch as the search type", keystring);
-  return DEFER;
-  }
+
+*errmsg = string_sprintf("\"%s\" is not a valid iplsearch key (an IP "
+"address, with optional CIDR mask, is wanted): "
+"in a host list, use net-iplsearch as the search type", keystring);
+return DEFER;
 }
 
 
index 460ee2973e5e5e857d5a85f94246ed766394fc9f..745c6505cad97217e9e3fb9cf3ccc3f920f74545 100644 (file)
@@ -81,7 +81,7 @@ static mysql_connection *mysql_connections = NULL;
 /* See local README for interface description. */
 
 static void *
-mysql_open(uschar *filename, uschar **errmsg)
+mysql_open(const uschar * filename, uschar ** errmsg)
 {
 return (void *)(1);    /* Just return something non-null */
 }
@@ -389,8 +389,8 @@ query is deferred with a retryable error is now in a separate function that is
 shared with other SQL lookups. */
 
 static int
-mysql_find(void *handle, uschar *filename, const uschar *query, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+mysql_find(void * handle, const uschar * filename, const uschar * query,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 return lf_sqlperform(US"MySQL", US"mysql_servers", mysql_servers, query,
   result, errmsg, do_cache, perform_mysql_search);
index 6f5307f4362fab679ed15bc5a754086f1c811e1d..10ecf74c95d6af000175415c4094fffc7aa51ea2 100644 (file)
@@ -19,7 +19,7 @@
 the "nis" and "nis0" lookup types. */
 
 static void *
-nis_open(uschar *filename, uschar **errmsg)
+nis_open(const uschar * filename, uschar ** errmsg)
 {
 char *nis_domain;
 if (yp_get_default_domain(&nis_domain) != 0)
@@ -41,8 +41,8 @@ for nis0 because they are so short it isn't worth trying to use any common
 code. */
 
 static int
-nis_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+nis_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 int rc;
 uschar *nis_data;
@@ -67,8 +67,8 @@ return (rc == YPERR_KEY || rc == YPERR_MAP)? FAIL : DEFER;
 /* See local README for interface description. */
 
 static int
-nis0_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+nis0_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 int rc;
 uschar *nis_data;
index 98f3df303e4c2e06c80c5add7883cc6f79d6bba5..370f6a655ca1366df0a1c1a40e4d5a7c78bfce99 100644 (file)
@@ -18,7 +18,7 @@
 /* See local README for interface description. */
 
 static void *
-nisplus_open(uschar *filename, uschar **errmsg)
+nisplus_open(const uschar * filename, uschar ** errmsg)
 {
 return (void *)(1);    /* Just return something non-null */
 }
@@ -42,8 +42,8 @@ yield is the concatenation of all the fields, preceded by their names and an
 equals sign. */
 
 static int
-nisplus_find(void *handle, uschar *filename, const uschar *query, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+nisplus_find(void * handle, const uschar * filename, const uschar * query,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 int error_error = FAIL;
 const uschar * field_name = NULL;
index 4e8cba5caa03e1011c115f47febbf5d8737bfa49..e22ff8945ec63be32f2b558b523cb0a75225ce56 100644 (file)
@@ -196,7 +196,7 @@ return col;
 /* See local README for interface description. */
 
 static void *
-oracle_open(uschar *filename, uschar **errmsg)
+oracle_open(const uschar * filename, uschar ** errmsg)
 {
 return (void *)(1);    /* Just return something non-null */
 }
@@ -503,8 +503,8 @@ arguments are not used. Loop through a list of servers while the query is
 deferred with a retryable error. */
 
 static int
-oracle_find(void *handle, uschar *filename, uschar *query, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+oracle_find(void * handle, const uschar * filename, uschar * query, int length,
+  uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 int sep = 0;
 uschar *server;
index 315677ffa7fdf090e85ee9669c456a18a30f9b4b..58222f60576987a5ffe262b2b1850f379ee3bd97 100644 (file)
@@ -16,7 +16,7 @@
 /* See local README for interface description */
 
 static void *
-passwd_open(uschar *filename, uschar **errmsg)
+passwd_open(const uschar * filename, uschar ** errmsg)
 {
 filename = filename;     /* Keep picky compilers happy */
 errmsg = errmsg;
@@ -33,8 +33,8 @@ return (void *)(-1);     /* Just return something non-null */
 /* See local README for interface description */
 
 static int
-passwd_find(void *handle, uschar *filename, const uschar *keystring, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+passwd_find(void * handle, const uschar * filename, const uschar * keystring,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 struct passwd *pw;
 
index b5f60938e7946dba99b20504f80c01c216d32155..cf287b17916e562ce3a11e2be443a6182fe23910 100644 (file)
@@ -33,7 +33,7 @@ static pgsql_connection *pgsql_connections = NULL;
 /* See local README for interface description. */
 
 static void *
-pgsql_open(uschar *filename, uschar **errmsg)
+pgsql_open(const uschar * filename, uschar ** errmsg)
 {
 return (void *)(1);    /* Just return something non-null */
 }
@@ -381,8 +381,8 @@ query is deferred with a retryable error is now in a separate function that is
 shared with other SQL lookups. */
 
 static int
-pgsql_find(void *handle, uschar *filename, const uschar *query, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+pgsql_find(void * handle, const uschar * filename, const uschar * query,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 return lf_sqlperform(US"PostgreSQL", US"pgsql_servers", pgsql_servers, query,
   result, errmsg, do_cache, perform_pgsql_search);
index 53bd8d53d8d840de1f282fd3b6dba76b481a3150..b5c2eda235aaf52115e87e98a0936eb5e681b4ea 100644 (file)
@@ -28,7 +28,7 @@ static redis_connection *redis_connections = NULL;
 
 
 static void *
-redis_open(uschar *filename, uschar **errmsg)
+redis_open(const uschar * filename, uschar ** errmsg)
 {
 return (void *)(1);
 }
@@ -374,10 +374,10 @@ else
  */
 
 static int
-redis_find(void *handle __attribute__((unused)),
-  uschar *filename __attribute__((unused)),
-  const uschar *command, int length, uschar **result, uschar **errmsg,
-  uint *do_cache)
+redis_find(void * handle __attribute__((unused)),
+  const uschar * filename __attribute__((unused)),
+  const uschar * command, int length, uschar ** result, uschar ** errmsg,
+  uint * do_cache)
 {
 return lf_sqlperform(US"Redis", US"redis_servers", redis_servers, command,
   result, errmsg, do_cache, perform_redis_search);
index c84b6bbceef3bffb8c1cb4fd8f2f0d038c9e2832..243c271a498def6f5ec262c95df3b901489f2002 100644 (file)
@@ -35,7 +35,7 @@ extern SPF_dns_server_t * SPF_dns_exim_new(int);
 
 
 static void *
-spf_open(uschar *filename, uschar **errmsg)
+spf_open(const uschar * filename, uschar ** errmsg)
 {
 SPF_dns_server_t * dc;
 SPF_server_t *spf_server = NULL;
@@ -64,8 +64,8 @@ if (spf_server) SPF_server_free(spf_server);
 }
 
 static int
-spf_find(void *handle, uschar *filename, const uschar *keystring, int key_len,
-             uschar **result, uschar **errmsg, uint *do_cache)
+spf_find(void * handle, const uschar * filename, const uschar * keystring,
+  int key_len, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 SPF_server_t *spf_server = handle;
 SPF_request_t *spf_request;
index 6200d6c820503f184b68f76841d5bd2fd1d1315a..cf68b121a79aae42e246e6b34c8855e422554b1c 100644 (file)
 /* See local README for interface description. */
 
 static void *
-sqlite_open(uschar *filename, uschar **errmsg)
+sqlite_open(const uschar * filename, uschar ** errmsg)
 {
 sqlite3 *db = NULL;
 int ret;
 
-ret = sqlite3_open(CS filename, &db);
-if (ret != 0)
+if ((ret = sqlite3_open(CCS filename, &db)) != 0)
   {
   *errmsg = (void *)sqlite3_errmsg(db);
   debug_printf_indent("Error opening database: %s\n", *errmsg);
@@ -70,8 +69,8 @@ return 0;
 
 
 static int
-sqlite_find(void *handle, uschar *filename, const uschar *query, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+sqlite_find(void * handle, const uschar * filename, const uschar * query,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 int ret;
 gstring * res = NULL;
index 3f19e80f604c840559dfa2406add94994b14570f..a4f0af7298307970ef60e835f8e17ff497d0b513 100644 (file)
@@ -21,7 +21,7 @@ the find function. */
 /* See local README for interface description. */
 
 static void *
-testdb_open(uschar *filename, uschar **errmsg)
+testdb_open(const uschar * filename, uschar ** errmsg)
 {
 filename = filename;   /* Keep picky compilers happy */
 errmsg = errmsg;
@@ -37,8 +37,8 @@ return (void *)(1);    /* Just return something non-null */
 /* See local README for interface description. */
 
 static int
-testdb_find(void *handle, uschar *filename, const uschar *query, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+testdb_find(void * handle, const uschar * filename, const uschar * query,
+  int length, uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 handle = handle;          /* Keep picky compilers happy */
 filename = filename;
index 8f065e60e038d9b34bc6cc01a1e167b4bbf9c7ff..20d013351a54356c8580990d8c334eacbf95471a 100644 (file)
@@ -20,7 +20,7 @@
 /* See local README for interface description. */
 
 static void *
-whoson_open(uschar *filename, uschar **errmsg)
+whoson_open(const uschar * filename, uschar ** errmsg)
 {
 filename = filename;   /* Keep picky compilers happy */
 errmsg = errmsg;
@@ -35,8 +35,8 @@ return (void *)(1);    /* Just return something non-null */
 /* See local README for interface description. */
 
 static int
-whoson_find(void *handle, uschar *filename, uschar *query, int length,
-  uschar **result, uschar **errmsg, uint *do_cache)
+whoson_find(void * handle, const uschar * filename, uschar * query, int length,
+  uschar ** result, uschar ** errmsg, uint * do_cache)
 {
 uschar buffer[80];
 handle = handle;          /* Keep picky compilers happy */
index dc90f53d5c6ed23868264c19880ed40fc2b277fd..d67bdc59e2d958095d5bb693ad349ad730f6ff84 100644 (file)
@@ -325,8 +325,8 @@ Returns:         an identifying handle for the open database;
 */
 
 void *
-search_open(uschar *filename, int search_type, int modemask, uid_t *owners,
-  gid_t *owngroups)
+search_open(const uschar * filename, int search_type, int modemask,
+  uid_t * owners, gid_t * owngroups)
 {
 void *handle;
 tree_node *t;
@@ -462,7 +462,7 @@ Returns:       a pointer to a dynamic string containing the answer,
 */
 
 static uschar *
-internal_search_find(void *handle, uschar *filename, uschar *keystring)
+internal_search_find(void * handle, const uschar * filename, uschar * keystring)
 {
 tree_node * t = (tree_node *)handle;
 search_cache * c = (search_cache *)(t->data.ptr);
@@ -605,8 +605,9 @@ Returns:         a pointer to a dynamic string containing the answer,
 */
 
 uschar *
-search_find(void *handle, uschar *filename, uschar *keystring, int partial,
-  const uschar *affix, int affixlen, int starflags, int *expand_setup)
+search_find(void * handle, const uschar * filename, uschar * keystring,
+  int partial, const uschar * affix, int affixlen, int starflags,
+  int * expand_setup)
 {
 tree_node *t = (tree_node *)handle;
 BOOL set_null_wild = FALSE;