Blame SOURCES/0028-Ticket-48864-Add-cgroup-memory-limit-detection-to-38.patch

b69e47
From 57b6e5afb6265363ede667ad450e267f8a803b9e Mon Sep 17 00:00:00 2001
b69e47
From: Mark Reynolds <mreynolds@redhat.com>
b69e47
Date: Wed, 19 Apr 2017 13:37:10 -0400
b69e47
Subject: [PATCH] Ticket 48864 - Add cgroup memory limit detection to 389-ds
b69e47
b69e47
Bug Description:  Previously our memory limits only check hardware
b69e47
    limits and shell resource limits. However, we may be in a container
b69e47
    like docker or lxc, and unable to detect these limits. This can lead
b69e47
    to crash conditions or worse, especially with autosizing
b69e47
    on import we may have conditions where the server may not
b69e47
    even be able to install.
b69e47
b69e47
Fix Description:  Add support for cgroup memory limit detection
b69e47
    so that we can properly determine our resource availability regardless
b69e47
    of lxc, docker, systemd or others.
b69e47
b69e47
https://pagure.io/389-ds-base/issue/48864
b69e47
b69e47
Author: wibrown
b69e47
b69e47
Review by: mreynolds (Thanks!)
b69e47
---
b69e47
 Makefile.am                                        |   7 +-
b69e47
 ldap/servers/plugins/acl/acl.c                     |  18 +-
b69e47
 ldap/servers/plugins/acl/acl.h                     |  16 -
b69e47
 ldap/servers/plugins/acl/aclanom.c                 |   8 +-
b69e47
 ldap/servers/plugins/dna/dna.c                     |  50 ++-
b69e47
 ldap/servers/plugins/posix-winsync/posix-winsync.c |   4 +-
b69e47
 ldap/servers/plugins/replication/repl.h            |  17 +-
b69e47
 .../plugins/replication/repl5_inc_protocol.c       |   2 +-
b69e47
 ldap/servers/plugins/replication/repl5_init.c      |   2 +-
b69e47
 ldap/servers/plugins/replication/repl5_plugins.c   |   2 +-
b69e47
 ldap/servers/plugins/replication/repl5_replica.c   |   8 +-
b69e47
 ldap/servers/plugins/replication/repl5_total.c     |   4 +-
b69e47
 ldap/servers/plugins/replication/repl_connext.c    |  20 +-
b69e47
 ldap/servers/plugins/replication/repl_extop.c      |  26 +-
b69e47
 ldap/servers/plugins/sync/sync_persist.c           |   6 +-
b69e47
 ldap/servers/plugins/syntaxes/validate_task.c      |   6 +-
b69e47
 ldap/servers/plugins/usn/usn.c                     |   8 +-
b69e47
 ldap/servers/slapd/abandon.c                       |   8 +-
b69e47
 ldap/servers/slapd/add.c                           |   4 +-
b69e47
 ldap/servers/slapd/auth.c                          |  18 +-
b69e47
 ldap/servers/slapd/back-ldbm/back-ldbm.h           |  23 +-
b69e47
 ldap/servers/slapd/back-ldbm/cache.c               |  34 +-
b69e47
 ldap/servers/slapd/back-ldbm/dblayer.c             |  72 ++--
b69e47
 ldap/servers/slapd/back-ldbm/dblayer.h             |   8 -
b69e47
 ldap/servers/slapd/back-ldbm/import-threads.c      |   2 +-
b69e47
 ldap/servers/slapd/back-ldbm/import.c              |  12 +-
b69e47
 ldap/servers/slapd/back-ldbm/ldbm_config.c         |  32 +-
b69e47
 ldap/servers/slapd/back-ldbm/ldbm_delete.c         |   4 +-
b69e47
 .../servers/slapd/back-ldbm/ldbm_instance_config.c |  20 +-
b69e47
 ldap/servers/slapd/back-ldbm/ldbm_modrdn.c         |   4 +-
b69e47
 ldap/servers/slapd/back-ldbm/ldbm_search.c         |   4 +-
b69e47
 ldap/servers/slapd/back-ldbm/misc.c                |   2 +-
b69e47
 ldap/servers/slapd/back-ldbm/monitor.c             |  10 +-
b69e47
 ldap/servers/slapd/back-ldbm/perfctrs.h            |   2 +-
b69e47
 ldap/servers/slapd/back-ldbm/start.c               | 113 +++----
b69e47
 ldap/servers/slapd/bind.c                          |   8 +-
b69e47
 ldap/servers/slapd/compare.c                       |   2 +-
b69e47
 ldap/servers/slapd/connection.c                    |  72 ++--
b69e47
 ldap/servers/slapd/conntable.c                     |   8 +-
b69e47
 ldap/servers/slapd/control.c                       |   2 +-
b69e47
 ldap/servers/slapd/daemon.c                        |  48 +--
b69e47
 ldap/servers/slapd/delete.c                        |   2 +-
b69e47
 ldap/servers/slapd/entry.c                         |   2 +-
b69e47
 ldap/servers/slapd/extendop.c                      |   4 +-
b69e47
 ldap/servers/slapd/log.c                           |  10 +-
b69e47
 ldap/servers/slapd/modify.c                        |  12 +-
b69e47
 ldap/servers/slapd/modrdn.c                        |   6 +-
b69e47
 ldap/servers/slapd/monitor.c                       |   8 +-
b69e47
 ldap/servers/slapd/operation.c                     |   6 +-
b69e47
 ldap/servers/slapd/opshared.c                      |   4 +-
b69e47
 ldap/servers/slapd/pagedresults.c                  |   2 +-
b69e47
 ldap/servers/slapd/psearch.c                       |  10 +-
b69e47
 ldap/servers/slapd/result.c                        |  12 +-
b69e47
 ldap/servers/slapd/sasl_io.c                       |  52 +--
b69e47
 ldap/servers/slapd/saslbind.c                      |   2 +-
b69e47
 ldap/servers/slapd/search.c                        |   2 +-
b69e47
 ldap/servers/slapd/slap.h                          |   9 +-
b69e47
 ldap/servers/slapd/slapi-plugin.h                  |  14 +-
b69e47
 ldap/servers/slapd/slapi-private.h                 |  38 ++-
b69e47
 ldap/servers/slapd/slapi_pal.c                     | 311 +++++++++++++++++
b69e47
 ldap/servers/slapd/slapi_pal.h                     |  62 ++++
b69e47
 ldap/servers/slapd/snmp_collator.c                 |   2 +-
b69e47
 ldap/servers/slapd/unbind.c                        |   6 +-
b69e47
 ldap/servers/slapd/util.c                          | 376 +--------------------
b69e47
 test/libslapd/spal/meminfo.c                       |  54 +++
b69e47
 test/libslapd/test.c                               |   2 +
b69e47
 test/test_slapd.h                                  |   5 +
b69e47
 67 files changed, 870 insertions(+), 859 deletions(-)
b69e47
 create mode 100644 ldap/servers/slapd/slapi_pal.c
b69e47
 create mode 100644 ldap/servers/slapd/slapi_pal.h
b69e47
 create mode 100644 test/libslapd/spal/meminfo.c
b69e47
b69e47
diff --git a/Makefile.am b/Makefile.am
b69e47
index 485a460..429a345 100644
b69e47
--- a/Makefile.am
b69e47
+++ b/Makefile.am
b69e47
@@ -481,6 +481,7 @@ dist_noinst_HEADERS = \
b69e47
 	ldap/servers/slapd/pw_verify.h \
b69e47
 	ldap/servers/slapd/secerrstrs.h \
b69e47
 	ldap/servers/slapd/slap.h \
b69e47
+	ldap/servers/slapd/slapi_pal.h \
b69e47
 	ldap/servers/slapd/slapi-plugin-compat4.h \
b69e47
 	ldap/servers/slapd/slapi-plugin.h \
b69e47
 	ldap/servers/slapd/slapi-private.h \
b69e47
@@ -850,6 +851,7 @@ pkgconfig_DATA = src/pkgconfig/dirsrv.pc \
b69e47
 # header files
b69e47
 #------------------------
b69e47
 serverinc_HEADERS = ldap/servers/plugins/replication/repl-session-plugin.h \
b69e47
+	ldap/servers/slapd/slapi_pal.h \
b69e47
 	ldap/servers/slapd/slapi-plugin.h \
b69e47
 	ldap/servers/plugins/replication/winsync-plugin.h \
b69e47
 	src/nunc-stans/include/nunc-stans.h \
b69e47
@@ -1219,6 +1221,7 @@ libslapd_la_SOURCES = ldap/servers/slapd/add.c \
b69e47
 	ldap/servers/slapd/value.c \
b69e47
 	ldap/servers/slapd/valueset.c \
b69e47
 	ldap/servers/slapd/vattr.c \
b69e47
+	ldap/servers/slapd/slapi_pal.c \
b69e47
 	$(libavl_a_SOURCES)
b69e47
 
b69e47
 libslapd_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(SASL_INCLUDES) @db_inc@ $(SVRCORE_INCLUDES) @kerberos_inc@ @pcre_inc@
b69e47
@@ -2004,7 +2007,9 @@ test_slapd_SOURCES = test/main.c \
b69e47
 	test/libslapd/counters/atomic.c \
b69e47
 	test/libslapd/pblock/analytics.c \
b69e47
 	test/libslapd/pblock/v3_compat.c \
b69e47
-	test/libslapd/operation/v3_compat.c
b69e47
+	test/libslapd/operation/v3_compat.c \
b69e47
+	test/libslapd/spal/meminfo.c
b69e47
+
b69e47
 test_slapd_LDADD = libslapd.la
b69e47
 test_slapd_LDFLAGS = $(AM_CPPFLAGS) $(CMOCKA_LINKS)
b69e47
 ### WARNING: Slap.h needs cert.h, which requires the -I/lib/ldaputil!!!
b69e47
diff --git a/ldap/servers/plugins/acl/acl.c b/ldap/servers/plugins/acl/acl.c
b69e47
index 48b8efc..561dd91 100644
b69e47
--- a/ldap/servers/plugins/acl/acl.c
b69e47
+++ b/ldap/servers/plugins/acl/acl.c
b69e47
@@ -276,7 +276,7 @@ acl_access_allowed(
b69e47
 
b69e47
 		 if (  !privateBackend && (be_readonly ||  slapi_config_get_readonly () )){
b69e47
 			slapi_log_err(loglevel, plugin_name,
b69e47
-				"acl_access_allowed - conn=%" NSPRIu64 " op=%d (main): Deny %s on entry(%s)"
b69e47
+				"acl_access_allowed - conn=%" PRIu64 " op=%d (main): Deny %s on entry(%s)"
b69e47
 				": readonly backend\n", 
b69e47
 				o_connid, o_opid,
b69e47
 				acl_access2str(access),
b69e47
@@ -289,7 +289,7 @@ acl_access_allowed(
b69e47
 	TNF_PROBE_0_DEBUG(acl_skipaccess_start,"ACL","");
b69e47
 	if (  acl_skip_access_check ( pb, e, access )) {
b69e47
 		slapi_log_err(loglevel, plugin_name,
b69e47
-				"acl_access_allowed - conn=%" NSPRIu64 " op=%d (main): Allow %s on entry(%s)"
b69e47
+				"acl_access_allowed - conn=%" PRIu64 " op=%d (main): Allow %s on entry(%s)"
b69e47
 				": root user\n", 
b69e47
 				o_connid, o_opid,
b69e47
 				acl_access2str(access),
b69e47
@@ -448,7 +448,7 @@ acl_access_allowed(
b69e47
 		TNF_PROBE_0_DEBUG(acl_entry_first_touch_start,"ACL","");
b69e47
 
b69e47
 		slapi_log_err(loglevel, plugin_name,
b69e47
-			"acl_access_allowed - #### conn=%" NSPRIu64 " op=%d binddn=\"%s\"\n",
b69e47
+			"acl_access_allowed - #### conn=%" PRIu64 " op=%d binddn=\"%s\"\n",
b69e47
 			o_connid, o_opid, clientDn);
b69e47
 		aclpb->aclpb_stat_total_entries++;
b69e47
 
b69e47
@@ -776,7 +776,7 @@ print_access_control_summary( char *source, int ret_val, char *clientDn,
b69e47
                                 null_user);
b69e47
                         if (strcasecmp(right, access_str_moddn) == 0) {
b69e47
                                  slapi_log_err(loglevel, plugin_name, "print_access_control_summary - "                                            
b69e47
-                                        "conn=%" NSPRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) [from %s] to proxy (%s)"
b69e47
+                                        "conn=%" PRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) [from %s] to proxy (%s)"
b69e47
                                          ": %s\n",
b69e47
                                         o_connid, o_opid,
b69e47
                                         source,
b69e47
@@ -790,7 +790,7 @@ print_access_control_summary( char *source, int ret_val, char *clientDn,
b69e47
 
b69e47
                         } else {
b69e47
                                 slapi_log_err(loglevel, plugin_name, 
b69e47
-                                        "print_access_control_summary - conn=%" NSPRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) to proxy (%s)"
b69e47
+                                        "print_access_control_summary - conn=%" PRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) to proxy (%s)"
b69e47
                                          ": %s\n",
b69e47
                                         o_connid, o_opid,
b69e47
                                         source,
b69e47
@@ -805,7 +805,7 @@ print_access_control_summary( char *source, int ret_val, char *clientDn,
b69e47
                         proxy_user = null_user;
b69e47
                         if (strcasecmp(right, access_str_moddn) == 0) {
b69e47
                                 slapi_log_err(loglevel, plugin_name, 
b69e47
-                                        "print_access_control_summary - conn=%" NSPRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) [from %s] to proxy (%s)"
b69e47
+                                        "print_access_control_summary - conn=%" PRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) [from %s] to proxy (%s)"
b69e47
                                         ": %s\n",
b69e47
                                         o_connid, o_opid,
b69e47
                                         source,
b69e47
@@ -819,7 +819,7 @@ print_access_control_summary( char *source, int ret_val, char *clientDn,
b69e47
                                 
b69e47
                         } else {
b69e47
                                 slapi_log_err(loglevel, plugin_name, 
b69e47
-                                        "print_access_control_summary - conn=%" NSPRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) to proxy (%s)"
b69e47
+                                        "print_access_control_summary - conn=%" PRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) to proxy (%s)"
b69e47
                                         ": %s\n",
b69e47
                                         o_connid, o_opid,
b69e47
                                         source,
b69e47
@@ -834,7 +834,7 @@ print_access_control_summary( char *source, int ret_val, char *clientDn,
b69e47
 	} else {
b69e47
                 if (strcasecmp(right, access_str_moddn) == 0) {
b69e47
                         slapi_log_err(loglevel, plugin_name, 
b69e47
-                                "print_access_control_summary - conn=%" NSPRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) [from %s] to %s"
b69e47
+                                "print_access_control_summary - conn=%" PRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) [from %s] to %s"
b69e47
                                 ": %s\n",
b69e47
                                 o_connid, o_opid,
b69e47
                                 source,
b69e47
@@ -848,7 +848,7 @@ print_access_control_summary( char *source, int ret_val, char *clientDn,
b69e47
                         
b69e47
                 } else {
b69e47
                         slapi_log_err(loglevel, plugin_name, 
b69e47
-                                "print_access_control_summary - conn=%" NSPRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) to %s"
b69e47
+                                "print_access_control_summary - conn=%" PRIu64 " op=%d (%s): %s %s on entry(%s).attr(%s) to %s"
b69e47
                                 ": %s\n",
b69e47
                                 o_connid, o_opid,
b69e47
                                 source,
b69e47
diff --git a/ldap/servers/plugins/acl/acl.h b/ldap/servers/plugins/acl/acl.h
b69e47
index 91f5071..8b3486c 100644
b69e47
--- a/ldap/servers/plugins/acl/acl.h
b69e47
+++ b/ldap/servers/plugins/acl/acl.h
b69e47
@@ -20,22 +20,6 @@
b69e47
 #ifndef _ACL_H_
b69e47
 #define _ACL_H_
b69e47
 
b69e47
-/* Required to get portable printf/scanf format macros */
b69e47
-#ifdef HAVE_INTTYPES_H
b69e47
-#include <inttypes.h>
b69e47
-
b69e47
-/* NSPR uses the print macros a bit differently than ANSI C.  We
b69e47
- * need to use ll for a 64-bit integer, even when a long is 64-bit.
b69e47
- */
b69e47
-#undef PRIu64
b69e47
-#define PRIu64  "llu"
b69e47
-#undef PRI64
b69e47
-#define PRI64   "ll"
b69e47
-
b69e47
-#else
b69e47
-#error Need to define portable format macros such as PRIu64
b69e47
-#endif /* HAVE_INTTYPES_H */
b69e47
-
b69e47
 #include 	<stdio.h>
b69e47
 #include 	<string.h>
b69e47
 #include 	<sys/types.h>
b69e47
diff --git a/ldap/servers/plugins/acl/aclanom.c b/ldap/servers/plugins/acl/aclanom.c
b69e47
index 5462d87..96d0d9f 100644
b69e47
--- a/ldap/servers/plugins/acl/aclanom.c
b69e47
+++ b/ldap/servers/plugins/acl/aclanom.c
b69e47
@@ -523,7 +523,7 @@ aclanom_match_profile (Slapi_PBlock *pb, struct acl_pblock *aclpb, Slapi_Entry *
b69e47
 			aci_ndn = slapi_sdn_get_ndn (acl_anom_profile->anom_targetinfo[i].anom_target);
b69e47
 			if (access & SLAPI_ACL_MODDN) {
b69e47
 				slapi_log_err(loglevel, plugin_name, 
b69e47
-					"aclanom_match_profile - conn=%" NSPRIu64 " op=%d: Allow access on entry(%s).attr(%s) (from %s) to anonymous: acidn=\"%s\"\n",
b69e47
+					"aclanom_match_profile - conn=%" PRIu64 " op=%d: Allow access on entry(%s).attr(%s) (from %s) to anonymous: acidn=\"%s\"\n",
b69e47
 					o_connid, o_opid,
b69e47
 					ndn,
b69e47
 					attr ? attr:"NULL",
b69e47
@@ -532,7 +532,7 @@ aclanom_match_profile (Slapi_PBlock *pb, struct acl_pblock *aclpb, Slapi_Entry *
b69e47
 				
b69e47
 			} else {
b69e47
 				slapi_log_err(loglevel, plugin_name, 
b69e47
-					"aclanom_match_profile - conn=%" NSPRIu64 " op=%d: Allow access on entry(%s).attr(%s) to anonymous: acidn=\"%s\"\n",
b69e47
+					"aclanom_match_profile - conn=%" PRIu64 " op=%d: Allow access on entry(%s).attr(%s) to anonymous: acidn=\"%s\"\n",
b69e47
 					o_connid, o_opid,
b69e47
 					ndn,
b69e47
 					attr ? attr:"NULL",
b69e47
@@ -541,13 +541,13 @@ aclanom_match_profile (Slapi_PBlock *pb, struct acl_pblock *aclpb, Slapi_Entry *
b69e47
 		} else {
b69e47
 			if (access & SLAPI_ACL_MODDN) {
b69e47
 				slapi_log_err(loglevel, plugin_name,
b69e47
-					"aclanom_match_profile - conn=%" NSPRIu64 " op=%d: Deny access on entry(%s).attr(%s) (from %s) to anonymous\n",
b69e47
+					"aclanom_match_profile - conn=%" PRIu64 " op=%d: Deny access on entry(%s).attr(%s) (from %s) to anonymous\n",
b69e47
 					o_connid, o_opid,
b69e47
 					ndn, attr ? attr:"NULL" ,
b69e47
 					aclpb->aclpb_moddn_source_sdn ? slapi_sdn_get_dn(aclpb->aclpb_moddn_source_sdn) : "NULL");
b69e47
 			} else {
b69e47
 				slapi_log_err(loglevel, plugin_name,
b69e47
-					"aclanom_match_profile - conn=%" NSPRIu64 " op=%d: Deny access on entry(%s).attr(%s) to anonymous\n",
b69e47
+					"aclanom_match_profile - conn=%" PRIu64 " op=%d: Deny access on entry(%s).attr(%s) to anonymous\n",
b69e47
 					o_connid, o_opid,
b69e47
 					ndn, attr ? attr:"NULL" );
b69e47
 			}
b69e47
diff --git a/ldap/servers/plugins/dna/dna.c b/ldap/servers/plugins/dna/dna.c
b69e47
index 34011b9..a085941 100644
b69e47
--- a/ldap/servers/plugins/dna/dna.c
b69e47
+++ b/ldap/servers/plugins/dna/dna.c
b69e47
@@ -23,14 +23,6 @@
b69e47
 #include "slapi-private.h"
b69e47
 #include "prclist.h"
b69e47
 
b69e47
-/* Required to get portable printf/scanf format macros */
b69e47
-#ifdef HAVE_INTTYPES_H
b69e47
-#include <inttypes.h>
b69e47
-
b69e47
-#else
b69e47
-#error Need to define portable format macros such as PRIu64
b69e47
-#endif /* HAVE_INTTYPES_H */
b69e47
-
b69e47
 #include <sys/stat.h>
b69e47
 
b69e47
 #define DNA_PLUGIN_SUBSYSTEM "dna-plugin"
b69e47
@@ -997,7 +989,7 @@ dna_parse_config_entry(Slapi_PBlock *pb, Slapi_Entry * e, int apply)
b69e47
     }
b69e47
 
b69e47
     slapi_log_err(SLAPI_LOG_CONFIG, DNA_PLUGIN_SUBSYSTEM,
b69e47
-                    "dna_parse_config_entry - %s [%" NSPRIu64 "]\n", DNA_NEXTVAL,
b69e47
+                    "dna_parse_config_entry - %s [%" PRIu64 "]\n", DNA_NEXTVAL,
b69e47
                     entry->nextval);
b69e47
 
b69e47
     value = slapi_entry_attr_get_charptr(e, DNA_PREFIX);
b69e47
@@ -1026,7 +1018,7 @@ dna_parse_config_entry(Slapi_PBlock *pb, Slapi_Entry * e, int apply)
b69e47
     }
b69e47
 
b69e47
     slapi_log_err(SLAPI_LOG_CONFIG, DNA_PLUGIN_SUBSYSTEM,
b69e47
-                    "dna_parse_config_entry - %s [%" NSPRIu64 "]\n", DNA_INTERVAL, entry->interval);
b69e47
+                    "dna_parse_config_entry - %s [%" PRIu64 "]\n", DNA_INTERVAL, entry->interval);
b69e47
 #endif
b69e47
 
b69e47
     value = slapi_entry_attr_get_charptr(e, DNA_GENERATE);
b69e47
@@ -1126,7 +1118,7 @@ dna_parse_config_entry(Slapi_PBlock *pb, Slapi_Entry * e, int apply)
b69e47
     }
b69e47
 
b69e47
     slapi_log_err(SLAPI_LOG_CONFIG, DNA_PLUGIN_SUBSYSTEM,
b69e47
-                    "dna_parse_config_entry - %s [%" NSPRIu64 "]\n", DNA_MAXVAL,
b69e47
+                    "dna_parse_config_entry - %s [%" PRIu64 "]\n", DNA_MAXVAL,
b69e47
                     entry->maxval);
b69e47
 
b69e47
     /* get the global bind dn and password(if any) */
b69e47
@@ -1256,7 +1248,7 @@ dna_parse_config_entry(Slapi_PBlock *pb, Slapi_Entry * e, int apply)
b69e47
     }
b69e47
 
b69e47
     slapi_log_err(SLAPI_LOG_CONFIG, DNA_PLUGIN_SUBSYSTEM,
b69e47
-                    "dna_parse_config_entry - %s [%" NSPRIu64 "]\n", DNA_THRESHOLD,
b69e47
+                    "dna_parse_config_entry - %s [%" PRIu64 "]\n", DNA_THRESHOLD,
b69e47
                     entry->threshold);
b69e47
 
b69e47
     value = slapi_entry_attr_get_charptr(e, DNA_RANGE_REQUEST_TIMEOUT);
b69e47
@@ -1268,7 +1260,7 @@ dna_parse_config_entry(Slapi_PBlock *pb, Slapi_Entry * e, int apply)
b69e47
     }
b69e47
 
b69e47
     slapi_log_err(SLAPI_LOG_CONFIG, DNA_PLUGIN_SUBSYSTEM,
b69e47
-                    "dna_parse_config_entry - %s [%" NSPRIu64 "]\n", DNA_RANGE_REQUEST_TIMEOUT,
b69e47
+                    "dna_parse_config_entry - %s [%" PRIu64 "]\n", DNA_RANGE_REQUEST_TIMEOUT,
b69e47
                     entry->timeout);
b69e47
 
b69e47
     value = slapi_entry_attr_get_charptr(e, DNA_NEXT_RANGE);
b69e47
@@ -2307,7 +2299,7 @@ dna_first_free_value(struct configEntry *config_entry,
b69e47
             return LDAP_OPERATIONS_ERROR;
b69e47
         }
b69e47
 
b69e47
-        filter = slapi_ch_smprintf("(&%s(&(%s>=%" NSPRIu64 ")(%s<=%" NSPRIu64 ")))",
b69e47
+        filter = slapi_ch_smprintf("(&%s(&(%s>=%" PRIu64 ")(%s<=%" PRIu64 ")))",
b69e47
                                    config_entry->filter,
b69e47
                                    config_entry->types[0], tmpval,
b69e47
                                    config_entry->types[0], config_entry->maxval);
b69e47
@@ -2497,7 +2489,7 @@ static int dna_get_next_value(struct configEntry *config_entry,
b69e47
     if ((config_entry->maxval == -1) ||
b69e47
         (nextval <= (config_entry->maxval + config_entry->interval))) {
b69e47
         /* try to set the new next value in the config entry */
b69e47
-        snprintf(next_value, sizeof(next_value),"%" NSPRIu64, nextval);
b69e47
+        snprintf(next_value, sizeof(next_value),"%" PRIu64, nextval);
b69e47
 
b69e47
         /* set up our replace modify operation */
b69e47
         replace_val[0] = next_value;
b69e47
@@ -2524,7 +2516,7 @@ static int dna_get_next_value(struct configEntry *config_entry,
b69e47
 
b69e47
     if (LDAP_SUCCESS == ret) {
b69e47
         slapi_ch_free_string(next_value_ret);
b69e47
-        *next_value_ret = slapi_ch_smprintf("%" NSPRIu64, setval);
b69e47
+        *next_value_ret = slapi_ch_smprintf("%" PRIu64, setval);
b69e47
         if (NULL == *next_value_ret) {
b69e47
             ret = LDAP_OPERATIONS_ERROR;
b69e47
             goto done;
b69e47
@@ -2609,7 +2601,7 @@ dna_update_shared_config(struct configEntry *config_entry)
b69e47
 
b69e47
         /* We store the number of remaining assigned values
b69e47
          * in the shared config entry. */
b69e47
-        snprintf(remaining_vals, sizeof(remaining_vals),"%" NSPRIu64,
b69e47
+        snprintf(remaining_vals, sizeof(remaining_vals),"%" PRIu64,
b69e47
                 config_entry->remaining);
b69e47
 
b69e47
         /* set up our replace modify operation */
b69e47
@@ -2709,7 +2701,7 @@ dna_update_next_range(struct configEntry *config_entry,
b69e47
     int ret = 0;
b69e47
 
b69e47
     /* Try to set the new next range in the config entry. */
b69e47
-    snprintf(nextrange_value, sizeof(nextrange_value), "%" NSPRIu64 "-%" NSPRIu64,
b69e47
+    snprintf(nextrange_value, sizeof(nextrange_value), "%" PRIu64 "-%" PRIu64,
b69e47
     		lower, upper);
b69e47
 
b69e47
     /* set up our replace modify operation */
b69e47
@@ -2778,8 +2770,8 @@ dna_activate_next_range(struct configEntry *config_entry)
b69e47
     int ret = 0;
b69e47
 
b69e47
     /* Setup the modify operation for the config entry */
b69e47
-    snprintf(maxval_val, sizeof(maxval_val),"%" NSPRIu64, config_entry->next_range_upper);
b69e47
-    snprintf(nextval_val, sizeof(nextval_val),"%" NSPRIu64, config_entry->next_range_lower);
b69e47
+    snprintf(maxval_val, sizeof(maxval_val),"%" PRIu64, config_entry->next_range_upper);
b69e47
+    snprintf(nextval_val, sizeof(nextval_val),"%" PRIu64, config_entry->next_range_lower);
b69e47
 
b69e47
     maxval_vals[0] = maxval_val;
b69e47
     maxval_vals[1] = 0;
b69e47
@@ -3319,7 +3311,7 @@ dna_create_valcheck_filter(struct configEntry *config_entry, PRUint64 value, cha
b69e47
      * - the string length of the filter in the config
b69e47
      * - the string length sum of all configured types
b69e47
      * - 23 bytes for each type (20 for the max string
b69e47
-     *   representation of a NSPRIu64, 3 for "(=)"
b69e47
+     *   representation of a PRIu64, 3 for "(=)"
b69e47
      * - 3 bytes for the beginning and end of the filter - "(&" and ")"
b69e47
      * - 3 bytes to OR together multiple types (if present) - "(|" and ")"
b69e47
      * - the string length of the prefix (if one is configured) for each type
b69e47
@@ -3556,8 +3548,8 @@ _dna_pre_op_add(Slapi_PBlock *pb, Slapi_Entry *e, char **errstr)
b69e47
                     (config_entry->remaining <= config_entry->threshold)) {
b69e47
                     slapi_log_err(SLAPI_LOG_PLUGIN, DNA_PLUGIN_SUBSYSTEM,
b69e47
                                     "_dna_pre_op_add - Passed threshold of %" 
b69e47
-                                    NSPRIu64 " remaining values "
b69e47
-                                    "for range %s. (%" NSPRIu64 " values remain)\n",
b69e47
+                                    PRIu64 " remaining values "
b69e47
+                                    "for range %s. (%" PRIu64 " values remain)\n",
b69e47
                                     config_entry->threshold, config_entry->dn,
b69e47
                                     config_entry->remaining);
b69e47
                     dna_fix_maxval(config_entry, 0);
b69e47
@@ -3828,8 +3820,8 @@ _dna_pre_op_modify(Slapi_PBlock *pb, Slapi_Entry *e, Slapi_Mods *smods, char **e
b69e47
                     (config_entry->remaining <= config_entry->threshold)) {
b69e47
                     slapi_log_err(SLAPI_LOG_ERR, DNA_PLUGIN_SUBSYSTEM,
b69e47
                                     "_dna_pre_op_modify - Passed threshold of %" 
b69e47
-                                    NSPRIu64 " remaining values "
b69e47
-                                    "for range %s. (%" NSPRIu64 " values remain)\n",
b69e47
+                                    PRIu64 " remaining values "
b69e47
+                                    "for range %s. (%" PRIu64 " values remain)\n",
b69e47
                                     config_entry->threshold, config_entry->dn,
b69e47
                                     config_entry->remaining);
b69e47
                     dna_fix_maxval(config_entry, 0);
b69e47
@@ -4411,8 +4403,8 @@ static int dna_extend_exop(Slapi_PBlock *pb)
b69e47
         char highstr[16];
b69e47
 
b69e47
         /* Create the exop response */
b69e47
-        snprintf(lowstr, sizeof(lowstr), "%" NSPRIu64, lower);
b69e47
-        snprintf(highstr, sizeof(highstr), "%" NSPRIu64, upper);
b69e47
+        snprintf(lowstr, sizeof(lowstr), "%" PRIu64, lower);
b69e47
+        snprintf(highstr, sizeof(highstr), "%" PRIu64, upper);
b69e47
         range_low.bv_val = lowstr;
b69e47
         range_low.bv_len = strlen(range_low.bv_val);
b69e47
         range_high.bv_val = highstr;
b69e47
@@ -4445,7 +4437,7 @@ static int dna_extend_exop(Slapi_PBlock *pb)
b69e47
         ber_bvfree(respdata);
b69e47
 
b69e47
         slapi_log_err(SLAPI_LOG_PLUGIN, DNA_PLUGIN_SUBSYSTEM,
b69e47
-                        "dna_extend_exop - Released range %" NSPRIu64 "-%" NSPRIu64 ".\n",
b69e47
+                        "dna_extend_exop - Released range %" PRIu64 "-%" PRIu64 ".\n",
b69e47
                         lower, upper);
b69e47
     }
b69e47
 
b69e47
@@ -4588,7 +4580,7 @@ dna_release_range(char *range_dn, PRUint64 *lower, PRUint64 *upper)
b69e47
                 *lower = *upper - release + 1;
b69e47
 
b69e47
                 /* try to set the new maxval in the config entry */
b69e47
-                snprintf(max_value, sizeof(max_value),"%" NSPRIu64, (*lower - 1));
b69e47
+                snprintf(max_value, sizeof(max_value),"%" PRIu64, (*lower - 1));
b69e47
 
b69e47
                 /* set up our replace modify operation */
b69e47
                 replace_val[0] = max_value;
b69e47
diff --git a/ldap/servers/plugins/posix-winsync/posix-winsync.c b/ldap/servers/plugins/posix-winsync/posix-winsync.c
b69e47
index 63444e5..21e4ad0 100644
b69e47
--- a/ldap/servers/plugins/posix-winsync/posix-winsync.c
b69e47
+++ b/ldap/servers/plugins/posix-winsync/posix-winsync.c
b69e47
@@ -270,7 +270,7 @@ sync_acct_disable(void *cbdata, /* the usual domain config data */
b69e47
         if (update_entry) {
b69e47
             slapi_entry_attr_set_ulong(update_entry, "userAccountControl", adval);
b69e47
             slapi_log_err(SLAPI_LOG_PLUGIN, posix_winsync_plugin_name,
b69e47
-                "<-- sync_acct_disable - %s AD account [%s] - new value is [%" NSPRIu64 "]\n",
b69e47
+                "<-- sync_acct_disable - %s AD account [%s] - new value is [%" PRIu64 "]\n",
b69e47
 				(ds_is_enabled) ? "enabled" : "disabled", slapi_entry_get_dn_const(update_entry), adval);
b69e47
         } else {
b69e47
             /* iterate through the mods - if there is already a mod
b69e47
@@ -326,7 +326,7 @@ sync_acct_disable(void *cbdata, /* the usual domain config data */
b69e47
                 mod_bval->bv_len = strlen(acctvalstr);
b69e47
             }
b69e47
             slapi_log_err(SLAPI_LOG_PLUGIN, posix_winsync_plugin_name,
b69e47
-                "<-- sync_acct_disable - %s AD account [%s] - new value is [%" NSPRIu64 "]\n",
b69e47
+                "<-- sync_acct_disable - %s AD account [%s] - new value is [%" PRIu64 "]\n",
b69e47
 				(ds_is_enabled) ? "enabled" : "disabled", slapi_entry_get_dn_const(ad_entry), adval);
b69e47
         }
b69e47
     }
b69e47
diff --git a/ldap/servers/plugins/replication/repl.h b/ldap/servers/plugins/replication/repl.h
b69e47
index 89ad481..9460ca9 100644
b69e47
--- a/ldap/servers/plugins/replication/repl.h
b69e47
+++ b/ldap/servers/plugins/replication/repl.h
b69e47
@@ -15,21 +15,8 @@
b69e47
 #ifndef _REPL_H_
b69e47
 #define _REPL_H_
b69e47
 
b69e47
-/* Required to get portable printf/scanf format macros */
b69e47
-#ifdef HAVE_INTTYPES_H
b69e47
-#include <inttypes.h>
b69e47
-
b69e47
-/* NSPR uses the print macros a bit differently than ANSI C.  We
b69e47
- * need to use ll for a 64-bit integer, even when a long is 64-bit.
b69e47
- */
b69e47
-#undef PRIu64
b69e47
-#define PRIu64  "llu"
b69e47
-#undef PRI64
b69e47
-#define PRI64   "ll"
b69e47
-
b69e47
-#else
b69e47
-#error Need to define portable format macros such as PRIu64
b69e47
-#endif /* HAVE_INTTYPES_H */
b69e47
+/* Provides our int types and platform specific requirements. */
b69e47
+#include <slapi_pal.h>
b69e47
 
b69e47
 #include <limits.h>
b69e47
 #include <time.h>
b69e47
diff --git a/ldap/servers/plugins/replication/repl5_inc_protocol.c b/ldap/servers/plugins/replication/repl5_inc_protocol.c
b69e47
index a5ae885..36c279e 100644
b69e47
--- a/ldap/servers/plugins/replication/repl5_inc_protocol.c
b69e47
+++ b/ldap/servers/plugins/replication/repl5_inc_protocol.c
b69e47
@@ -2104,7 +2104,7 @@ repl5_inc_stop(Private_Repl_Protocol *prp)
b69e47
 		/* Isn't listening. Do something drastic. */
b69e47
 		return_value = -1;
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
-				"repl5_inc_stop - %s: Protocol does not stop after %" NSPRIu64 " seconds\n",
b69e47
+				"repl5_inc_stop - %s: Protocol does not stop after %" PRIu64 " seconds\n",
b69e47
 				agmt_get_long_name(prp->agmt), timeout);
b69e47
 	}
b69e47
 	else
b69e47
diff --git a/ldap/servers/plugins/replication/repl5_init.c b/ldap/servers/plugins/replication/repl5_init.c
b69e47
index 9549dcf..edffb84 100644
b69e47
--- a/ldap/servers/plugins/replication/repl5_init.c
b69e47
+++ b/ldap/servers/plugins/replication/repl5_init.c
b69e47
@@ -208,7 +208,7 @@ get_repl_session_id (Slapi_PBlock *pb, char *idstr, CSN **csn)
b69e47
 		/* Avoid "Connection is NULL and hence cannot access SLAPI_CONN_ID" */
b69e47
 		if (opid) {
b69e47
 			slapi_pblock_get (pb, SLAPI_CONN_ID, &connid);
b69e47
-			snprintf (idstr, REPL_SESSION_ID_SIZE, "conn=%" NSPRIu64 " op=%d",
b69e47
+			snprintf (idstr, REPL_SESSION_ID_SIZE, "conn=%" PRIu64 " op=%d",
b69e47
 					connid, opid);
b69e47
 		}
b69e47
 
b69e47
diff --git a/ldap/servers/plugins/replication/repl5_plugins.c b/ldap/servers/plugins/replication/repl5_plugins.c
b69e47
index 357c093..ebcc230 100644
b69e47
--- a/ldap/servers/plugins/replication/repl5_plugins.c
b69e47
+++ b/ldap/servers/plugins/replication/repl5_plugins.c
b69e47
@@ -1335,7 +1335,7 @@ process_postop (Slapi_PBlock *pb)
b69e47
 			{
b69e47
 				slapi_log_err(SLAPI_LOG_ERR, repl_plugin_name,
b69e47
 					"process_postop - Failed to apply update (%s) error (%d).  "
b69e47
-					"Aborting replication session(conn=%" NSPRIu64 " op=%d)\n",
b69e47
+					"Aborting replication session(conn=%" PRIu64 " op=%d)\n",
b69e47
 					csn_as_string(opcsn, PR_FALSE, csn_str), retval,
b69e47
 					connid, opid);
b69e47
 				/*
b69e47
diff --git a/ldap/servers/plugins/replication/repl5_replica.c b/ldap/servers/plugins/replication/repl5_replica.c
b69e47
index 5718a98..a106f8b 100644
b69e47
--- a/ldap/servers/plugins/replication/repl5_replica.c
b69e47
+++ b/ldap/servers/plugins/replication/repl5_replica.c
b69e47
@@ -596,7 +596,7 @@ replica_get_exclusive_access(Replica *r, PRBool *isInc, PRUint64 connid, int opi
b69e47
 
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 				"replica_get_exclusive_access - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": "
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": "
b69e47
 				"Replica in use locking_purl=%s\n",
b69e47
 				connid, opid,
b69e47
 				slapi_sdn_get_dn(r->repl_root),
b69e47
@@ -620,7 +620,7 @@ replica_get_exclusive_access(Replica *r, PRBool *isInc, PRUint64 connid, int opi
b69e47
 	{
b69e47
         slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
         		"replica_get_exclusive_access - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": Acquired replica\n",
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": Acquired replica\n",
b69e47
 				connid, opid,
b69e47
 				slapi_sdn_get_dn(r->repl_root));
b69e47
 		r->repl_state_flags |= REPLICA_IN_USE;
b69e47
@@ -664,13 +664,13 @@ replica_relinquish_exclusive_access(Replica *r, PRUint64 connid, int opid)
b69e47
 	{
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 				"replica_relinquish_exclusive_access - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": "
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": "
b69e47
 				"Replica not in use\n",
b69e47
 				connid, opid, slapi_sdn_get_dn(r->repl_root));
b69e47
 	} else {
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 				"replica_relinquish_exclusive_access - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": "
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": "
b69e47
 				"Released replica held by locking_purl=%s\n",
b69e47
 				connid, opid,
b69e47
 				slapi_sdn_get_dn(r->repl_root),	r->locking_purl);
b69e47
diff --git a/ldap/servers/plugins/replication/repl5_total.c b/ldap/servers/plugins/replication/repl5_total.c
b69e47
index af570a8..064a099 100644
b69e47
--- a/ldap/servers/plugins/replication/repl5_total.c
b69e47
+++ b/ldap/servers/plugins/replication/repl5_total.c
b69e47
@@ -853,7 +853,7 @@ multimaster_extop_NSDS50ReplicationEntry(Slapi_PBlock  *pb)
b69e47
            const char *dn = slapi_entry_get_dn_const(e);
b69e47
            slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
                    "multimaster_extop_NSDS50ReplicationEntry - "
b69e47
-                   "Error %d: could not import entry dn %s for total update operation conn=%" NSPRIu64 " op=%d\n",
b69e47
+                   "Error %d: could not import entry dn %s for total update operation conn=%" PRIu64 " op=%d\n",
b69e47
                    rc, dn, connid, opid);
b69e47
 		   rc = -1;
b69e47
 	   }
b69e47
@@ -864,7 +864,7 @@ multimaster_extop_NSDS50ReplicationEntry(Slapi_PBlock  *pb)
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 				"multimaster_extop_NSDS50ReplicationEntry - "
b69e47
 				"Error %d: could not decode the total update extop "
b69e47
-				"for total update operation conn=%" NSPRIu64 " op=%d\n",
b69e47
+				"for total update operation conn=%" PRIu64 " op=%d\n",
b69e47
 				rc, connid, opid);
b69e47
 	}
b69e47
    
b69e47
diff --git a/ldap/servers/plugins/replication/repl_connext.c b/ldap/servers/plugins/replication/repl_connext.c
b69e47
index 29dc2a7..ba0fa15 100644
b69e47
--- a/ldap/servers/plugins/replication/repl_connext.c
b69e47
+++ b/ldap/servers/plugins/replication/repl_connext.c
b69e47
@@ -84,7 +84,7 @@ void consumer_connection_extension_destructor (void *ext, void *object, void *pa
b69e47
 					slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 							"consumer_connection_extension_destructor - "
b69e47
 							"Aborting total update in progress for replicated "
b69e47
-							"area %s connid=%" NSPRIu64 "\n", slapi_sdn_get_dn(repl_root_sdn), connid);
b69e47
+							"area %s connid=%" PRIu64 "\n", slapi_sdn_get_dn(repl_root_sdn), connid);
b69e47
 					slapi_stop_bulk_import(pb);
b69e47
 				}
b69e47
 				else
b69e47
@@ -156,7 +156,7 @@ consumer_connection_extension_acquire_exclusive_access(void* conn, PRUint64 conn
b69e47
             ret = connext;
b69e47
             slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
             		"consumer_connection_extension_acquire_exclusive_access - "
b69e47
-                    "conn=%" NSPRIu64 " op=%d Acquired consumer connection extension\n",
b69e47
+                    "conn=%" PRIu64 " op=%d Acquired consumer connection extension\n",
b69e47
                     connid, opid);
b69e47
         }
b69e47
         else if (opid == connext->in_use_opid)
b69e47
@@ -164,14 +164,14 @@ consumer_connection_extension_acquire_exclusive_access(void* conn, PRUint64 conn
b69e47
             ret = connext;
b69e47
             slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
             		"consumer_connection_extension_acquire_exclusive_access - "
b69e47
-                    "conn=%" NSPRIu64 " op=%d Reacquired consumer connection extension\n",
b69e47
+                    "conn=%" PRIu64 " op=%d Reacquired consumer connection extension\n",
b69e47
                     connid, opid);
b69e47
         }
b69e47
         else
b69e47
         {
b69e47
             slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
             		"consumer_connection_extension_acquire_exclusive_access - "
b69e47
-                    "conn=%" NSPRIu64 " op=%d Could not acquire consumer connection extension; it is in use by op=%d\n",
b69e47
+                    "conn=%" PRIu64 " op=%d Could not acquire consumer connection extension; it is in use by op=%d\n",
b69e47
                     connid, opid, connext->in_use_opid);
b69e47
         }
b69e47
 
b69e47
@@ -182,7 +182,7 @@ consumer_connection_extension_acquire_exclusive_access(void* conn, PRUint64 conn
b69e47
     {
b69e47
         slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
         		"consumer_connection_extension_acquire_exclusive_access - "
b69e47
-                "conn=%" NSPRIu64 " op=%d Could not acquire consumer extension, it is NULL!\n",
b69e47
+                "conn=%" PRIu64 " op=%d Could not acquire consumer extension, it is NULL!\n",
b69e47
                 connid, opid);
b69e47
     }
b69e47
     
b69e47
@@ -221,7 +221,7 @@ consumer_connection_extension_relinquish_exclusive_access(void* conn, PRUint64 c
b69e47
         {
b69e47
             slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
             		"consumer_connection_extension_relinquish_exclusive_access - "
b69e47
-                    "conn=%" NSPRIu64 " op=%d Consumer connection extension is not in use\n",
b69e47
+                    "conn=%" PRIu64 " op=%d Consumer connection extension is not in use\n",
b69e47
                     connid, opid);
b69e47
             ret = 2;
b69e47
         }
b69e47
@@ -230,7 +230,7 @@ consumer_connection_extension_relinquish_exclusive_access(void* conn, PRUint64 c
b69e47
             /* step 4, relinquish it (normal) */
b69e47
             slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
             		"consumer_connection_extension_relinquish_exclusive_access - "
b69e47
-                    "conn=%" NSPRIu64 " op=%d Relinquishing consumer connection extension\n",
b69e47
+                    "conn=%" PRIu64 " op=%d Relinquishing consumer connection extension\n",
b69e47
                     connid, opid);
b69e47
             connext->in_use_opid = -1;
b69e47
             ret = 1;
b69e47
@@ -240,7 +240,7 @@ consumer_connection_extension_relinquish_exclusive_access(void* conn, PRUint64 c
b69e47
             /* step 4, relinquish it (forced) */
b69e47
             slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
             		"consumer_connection_extension_relinquish_exclusive_access - "
b69e47
-                    "conn=%" NSPRIu64 " op=%d Forced to relinquish consumer connection extension held by op=%d\n",
b69e47
+                    "conn=%" PRIu64 " op=%d Forced to relinquish consumer connection extension held by op=%d\n",
b69e47
                     connid, opid, connext->in_use_opid);
b69e47
             connext->in_use_opid = -1;
b69e47
             ret = 1;
b69e47
@@ -249,7 +249,7 @@ consumer_connection_extension_relinquish_exclusive_access(void* conn, PRUint64 c
b69e47
         {
b69e47
             slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
             		"consumer_connection_extension_relinquish_exclusive_access - "
b69e47
-                    "conn=%" NSPRIu64 " op=%d Not relinquishing consumer connection extension, it is held by op=%d!\n",
b69e47
+                    "conn=%" PRIu64 " op=%d Not relinquishing consumer connection extension, it is held by op=%d!\n",
b69e47
                     connid, opid, connext->in_use_opid);
b69e47
         }
b69e47
         
b69e47
@@ -260,7 +260,7 @@ consumer_connection_extension_relinquish_exclusive_access(void* conn, PRUint64 c
b69e47
     {
b69e47
         slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
         		"consumer_connection_extension_relinquish_exclusive_access - "
b69e47
-                "conn=%" NSPRIu64 " op=%d Could not relinquish consumer extension, it is NULL!\n",
b69e47
+                "conn=%" PRIu64 " op=%d Could not relinquish consumer extension, it is NULL!\n",
b69e47
                 connid, opid);
b69e47
     }
b69e47
     
b69e47
diff --git a/ldap/servers/plugins/replication/repl_extop.c b/ldap/servers/plugins/replication/repl_extop.c
b69e47
index 80580f9..412caec 100644
b69e47
--- a/ldap/servers/plugins/replication/repl_extop.c
b69e47
+++ b/ldap/servers/plugins/replication/repl_extop.c
b69e47
@@ -668,7 +668,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 		connext->repl_protocol_version = REPL_PROTOCOL_50_INCREMENTAL;
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 			"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-			"conn=%" NSPRIu64 " op=%d repl=\"%s\": Begin incremental protocol\n",
b69e47
+			"conn=%" PRIu64 " op=%d repl=\"%s\": Begin incremental protocol\n",
b69e47
 			connid, opid, repl_root);
b69e47
 		isInc = PR_TRUE;
b69e47
 	}
b69e47
@@ -695,7 +695,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 		}
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 				"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": Begin total protocol\n",
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": Begin total protocol\n",
b69e47
 				connid, opid, repl_root);
b69e47
 		isInc = PR_FALSE;
b69e47
 	}
b69e47
@@ -705,7 +705,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 		connext->repl_protocol_version = REPL_PROTOCOL_50_INCREMENTAL;
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 			"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-			"conn=%" NSPRIu64 " op=%d repl=\"%s\": Begin 7.1 incremental protocol\n",
b69e47
+			"conn=%" PRIu64 " op=%d repl=\"%s\": Begin 7.1 incremental protocol\n",
b69e47
 			connid, opid, repl_root);
b69e47
 		isInc = PR_TRUE;
b69e47
 	}
b69e47
@@ -718,7 +718,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 		}
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 				"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": Begin 7.1 total protocol\n",
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": Begin 7.1 total protocol\n",
b69e47
 				connid, opid, repl_root);
b69e47
 		isInc = PR_FALSE;
b69e47
 	}
b69e47
@@ -741,7 +741,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 	{
b69e47
         slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
         		"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-				"conn=%" NSPRIu64 " op=%d replica=\"%s\": "
b69e47
+				"conn=%" PRIu64 " op=%d replica=\"%s\": "
b69e47
 				"Replica is being configured: try again later\n",
b69e47
 				connid, opid, repl_root);
b69e47
 		response = NSDS50_REPL_REPLICA_BUSY;
b69e47
@@ -814,7 +814,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 				{
b69e47
 					slapi_log_err(SLAPI_LOG_ERR, repl_plugin_name,
b69e47
 							"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-							"conn=%" NSPRIu64 " op=%d repl=\"%s\": "
b69e47
+							"conn=%" PRIu64 " op=%d repl=\"%s\": "
b69e47
 							"Excessive clock skew from supplier RUV\n",
b69e47
 							connid, opid, repl_root);
b69e47
 					response = NSDS50_REPL_EXCESSIVE_CLOCK_SKEW;
b69e47
@@ -852,7 +852,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 	if (check_replica_id_uniqueness(replica, supplier_ruv) != 0){
b69e47
         slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
         		"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": "
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": "
b69e47
 				"Replica has same replicaID %d as supplier\n",
b69e47
 				connid, opid, repl_root, replica_get_rid(replica));
b69e47
 		response = NSDS50_REPL_REPLICAID_ERROR;
b69e47
@@ -865,7 +865,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 	 * the session's conn id and op id to identify the the supplier.
b69e47
 	 */
b69e47
 	/* junkrc = ruv_get_first_id_and_purl(supplier_ruv, &junkrid, &locking_purl); */
b69e47
-	snprintf(locking_session, sizeof(locking_session), "conn=%" NSPRIu64 " id=%d",
b69e47
+	snprintf(locking_session, sizeof(locking_session), "conn=%" PRIu64 " id=%d",
b69e47
 			connid, opid);
b69e47
 	locking_purl = &locking_session[0];
b69e47
 	if (replica_get_exclusive_access(replica, &isInc, connid, opid,
b69e47
@@ -892,7 +892,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 		int max = 480 * 5;
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 				"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": "
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": "
b69e47
 				"374 - Starting sleep: connext->repl_protocol_version == %d\n",
b69e47
 				connid, opid, repl_root, connext->repl_protocol_version);
b69e47
         
b69e47
@@ -902,7 +902,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
         
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 				"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": "
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": "
b69e47
 				"374 - Finished sleep: connext->repl_protocol_version == %d\n",
b69e47
 				connid, opid, repl_root, connext->repl_protocol_version);
b69e47
 	}
b69e47
@@ -997,7 +997,7 @@ multimaster_extop_StartNSDS50ReplicationRequest(Slapi_PBlock *pb)
b69e47
 		response = NSDS50_REPL_INTERNAL_ERROR;
b69e47
 		slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 				"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-				"conn=%" NSPRIu64 " op=%d repl=\"%s\": "
b69e47
+				"conn=%" PRIu64 " op=%d repl=\"%s\": "
b69e47
 				"Unexpected update protocol received: %d.  "
b69e47
 				"Expected incremental or total.\n",
b69e47
 				connid, opid, repl_root, connext->repl_protocol_version);
b69e47
@@ -1039,7 +1039,7 @@ send_response:
b69e47
 		slapi_log_err (resp_log_level,
b69e47
 			repl_plugin_name,
b69e47
 			"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-			"conn=%" NSPRIu64 " op=%d replica=\"%s\": "
b69e47
+			"conn=%" PRIu64 " op=%d replica=\"%s\": "
b69e47
 			"Unable to acquire replica: error: %s%s\n",
b69e47
 			connid, opid,
b69e47
 			(replica ? slapi_sdn_get_dn(replica_get_root(replica)) : "unknown"),
b69e47
@@ -1092,7 +1092,7 @@ send_response:
b69e47
 	slapi_pblock_set(pb, SLAPI_EXT_OP_RET_VALUE, resp_bval);
b69e47
 	slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name,
b69e47
 			"multimaster_extop_StartNSDS50ReplicationRequest - "
b69e47
-			"conn=%" NSPRIu64 " op=%d repl=\"%s\": "
b69e47
+			"conn=%" PRIu64 " op=%d repl=\"%s\": "
b69e47
 			"%s: response=%d rc=%d\n",
b69e47
 			connid, opid, repl_root,
b69e47
 			is90 ? "StartNSDS90ReplicationRequest" :
b69e47
diff --git a/ldap/servers/plugins/sync/sync_persist.c b/ldap/servers/plugins/sync/sync_persist.c
b69e47
index 667a529..bd856cb 100644
b69e47
--- a/ldap/servers/plugins/sync/sync_persist.c
b69e47
+++ b/ldap/servers/plugins/sync/sync_persist.c
b69e47
@@ -548,14 +548,14 @@ sync_send_results( void *arg )
b69e47
 	slapi_pblock_get(req->req_pblock, SLAPI_CONNECTION, &conn;;
b69e47
 	if (NULL == conn) {
b69e47
 		slapi_log_err(SLAPI_LOG_ERR, SYNC_PLUGIN_SUBSYSTEM,
b69e47
-			"sync_send_results - conn=%" NSPRIu64 " op=%d Null connection - aborted\n",
b69e47
+			"sync_send_results - conn=%" PRIu64 " op=%d Null connection - aborted\n",
b69e47
 			connid, opid);
b69e47
 		goto done;
b69e47
 	}
b69e47
 	conn_acq_flag = sync_acquire_connection (conn);
b69e47
 	if (conn_acq_flag) {
b69e47
 		slapi_log_err(SLAPI_LOG_ERR, SYNC_PLUGIN_SUBSYSTEM,
b69e47
-			"sync_send_results - conn=%" NSPRIu64 " op=%d Could not acquire the connection - aborted\n",
b69e47
+			"sync_send_results - conn=%" PRIu64 " op=%d Could not acquire the connection - aborted\n",
b69e47
 			connid, opid);
b69e47
 		goto done;
b69e47
 	}
b69e47
@@ -566,7 +566,7 @@ sync_send_results( void *arg )
b69e47
 		/* Check for an abandoned operation */
b69e47
 		if ( op == NULL || slapi_is_operation_abandoned( op ) ) {
b69e47
 			slapi_log_err(SLAPI_LOG_PLUGIN, SYNC_PLUGIN_SUBSYSTEM,
b69e47
-						"sync_send_results - conn=%" NSPRIu64 " op=%d Operation no longer active - terminating\n",
b69e47
+						"sync_send_results - conn=%" PRIu64 " op=%d Operation no longer active - terminating\n",
b69e47
 						connid, opid);
b69e47
 			break;
b69e47
 		}
b69e47
diff --git a/ldap/servers/plugins/syntaxes/validate_task.c b/ldap/servers/plugins/syntaxes/validate_task.c
b69e47
index eae2d2a..c051573 100644
b69e47
--- a/ldap/servers/plugins/syntaxes/validate_task.c
b69e47
+++ b/ldap/servers/plugins/syntaxes/validate_task.c
b69e47
@@ -201,12 +201,12 @@ syntax_validate_task_thread(void *arg)
b69e47
 	slapi_pblock_destroy(search_pb);
b69e47
 
b69e47
 	/* Log finished message. */
b69e47
-	slapi_task_log_notice(task, "Syntax validate task complete.  Found %" NSPRIu64
b69e47
+	slapi_task_log_notice(task, "Syntax validate task complete.  Found %" PRIu64
b69e47
 	                " invalid entries.\n", slapi_counter_get_value(td->invalid_entries));
b69e47
-	slapi_task_log_status(task, "Syntax validate task complete.  Found %" NSPRIu64
b69e47
+	slapi_task_log_status(task, "Syntax validate task complete.  Found %" PRIu64
b69e47
 	                " invalid entries.\n", slapi_counter_get_value(td->invalid_entries));
b69e47
 	slapi_log_err(SLAPI_LOG_ERR, SYNTAX_PLUGIN_SUBSYSTEM, "syntax_validate_task_thread - Complete."
b69e47
-	                "  Found %" NSPRIu64 " invalid entries.\n",
b69e47
+	                "  Found %" PRIu64 " invalid entries.\n",
b69e47
 	                slapi_counter_get_value(td->invalid_entries));
b69e47
 	slapi_task_inc_progress(task);
b69e47
 
b69e47
diff --git a/ldap/servers/plugins/usn/usn.c b/ldap/servers/plugins/usn/usn.c
b69e47
index 5e67e0a..54ebc31 100644
b69e47
--- a/ldap/servers/plugins/usn/usn.c
b69e47
+++ b/ldap/servers/plugins/usn/usn.c
b69e47
@@ -320,7 +320,7 @@ _usn_add_next_usn(Slapi_Entry *e, Slapi_Backend *be)
b69e47
                     "--> _usn_add_next_usn\n");
b69e47
 
b69e47
     /* add next USN to the entry; "be" contains the usn counter */
b69e47
-    usn_berval.bv_val = slapi_ch_smprintf("%" NSPRIu64, 
b69e47
+    usn_berval.bv_val = slapi_ch_smprintf("%" PRIu64, 
b69e47
                                           slapi_counter_get_value(be->be_usn_counter));
b69e47
     usn_berval.bv_len = strlen(usn_berval.bv_val);
b69e47
     slapi_entry_attr_find(e, SLAPI_ATTR_ENTRYUSN, &attr);
b69e47
@@ -360,7 +360,7 @@ _usn_mod_next_usn(LDAPMod ***mods, Slapi_Backend *be)
b69e47
 
b69e47
     /* add next USN to the mods; "be" contains the usn counter */
b69e47
     usn_berval.bv_val = counter_buf;
b69e47
-    snprintf(usn_berval.bv_val, USN_COUNTER_BUF_LEN, "%" NSPRIu64,
b69e47
+    snprintf(usn_berval.bv_val, USN_COUNTER_BUF_LEN, "%" PRIu64,
b69e47
                 slapi_counter_get_value(be->be_usn_counter));
b69e47
     usn_berval.bv_len = strlen(usn_berval.bv_val);
b69e47
     bvals[0] = &usn_berval;
b69e47
@@ -681,7 +681,7 @@ usn_rootdse_search(Slapi_PBlock *pb, Slapi_Entry* e, Slapi_Entry* entryAfter,
b69e47
             /* get a next USN counter from be_usn_counter; 
b69e47
              * then minus 1 from it (except if be_usn_counter has value 0) */
b69e47
             if (slapi_counter_get_value(be->be_usn_counter)) {
b69e47
-                snprintf(usn_berval.bv_val, USN_COUNTER_BUF_LEN, "%" NSPRIu64,
b69e47
+                snprintf(usn_berval.bv_val, USN_COUNTER_BUF_LEN, "%" PRIu64,
b69e47
                             slapi_counter_get_value(be->be_usn_counter)-1);
b69e47
             } else {
b69e47
                 snprintf(usn_berval.bv_val, USN_COUNTER_BUF_LEN, "-1");
b69e47
@@ -704,7 +704,7 @@ usn_rootdse_search(Slapi_PBlock *pb, Slapi_Entry* e, Slapi_Entry* entryAfter,
b69e47
             /* get a next USN counter from be_usn_counter; 
b69e47
              * then minus 1 from it (except if be_usn_counter has value 0) */
b69e47
             if (slapi_counter_get_value(be->be_usn_counter)) {
b69e47
-                snprintf(usn_berval.bv_val, USN_COUNTER_BUF_LEN, "%" NSPRIu64,
b69e47
+                snprintf(usn_berval.bv_val, USN_COUNTER_BUF_LEN, "%" PRIu64,
b69e47
                             slapi_counter_get_value(be->be_usn_counter)-1);
b69e47
             } else {
b69e47
                 snprintf(usn_berval.bv_val, USN_COUNTER_BUF_LEN, "-1");
b69e47
diff --git a/ldap/servers/slapd/abandon.c b/ldap/servers/slapd/abandon.c
b69e47
index 18ff8ce..0485006 100644
b69e47
--- a/ldap/servers/slapd/abandon.c
b69e47
+++ b/ldap/servers/slapd/abandon.c
b69e47
@@ -119,19 +119,19 @@ do_abandon( Slapi_PBlock *pb )
b69e47
 	}
b69e47
 
b69e47
 	if ( 0 == pagedresults_free_one_msgid_nolock(pb->pb_conn, id) ) {
b69e47
-		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" NSPRIu64 
b69e47
+		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" PRIu64 
b69e47
 		    " op=%d ABANDON targetop=Simple Paged Results msgid=%d\n",
b69e47
 		    pb->pb_conn->c_connid, pb->pb_op->o_opid, id );
b69e47
 	} else if ( NULL == o ) {
b69e47
-		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" NSPRIu64 " op=%d ABANDON"
b69e47
+		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" PRIu64 " op=%d ABANDON"
b69e47
 			" targetop=NOTFOUND msgid=%d\n",
b69e47
 			pb->pb_conn->c_connid, pb->pb_op->o_opid, id );
b69e47
 	} else if ( suppressed_by_plugin ) {
b69e47
-		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" NSPRIu64 " op=%d ABANDON"
b69e47
+		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" PRIu64 " op=%d ABANDON"
b69e47
 			" targetop=SUPPRESSED-BY-PLUGIN msgid=%d\n",
b69e47
 			pb->pb_conn->c_connid, pb->pb_op->o_opid, id );
b69e47
 	} else {
b69e47
-		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" NSPRIu64 " op=%d ABANDON"
b69e47
+		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" PRIu64 " op=%d ABANDON"
b69e47
 			" targetop=%d msgid=%d nentries=%d etime=%ld\n",
b69e47
 			pb->pb_conn->c_connid, pb->pb_op->o_opid, o->o_opid, id,
b69e47
 			o->o_results.r.r_search.nentries, current_time() - o->o_time );
b69e47
diff --git a/ldap/servers/slapd/add.c b/ldap/servers/slapd/add.c
b69e47
index 1b994a0..9c4001e 100644
b69e47
--- a/ldap/servers/slapd/add.c
b69e47
+++ b/ldap/servers/slapd/add.c
b69e47
@@ -168,7 +168,7 @@ do_add( Slapi_PBlock *pb )
b69e47
 			if (( rc = slapi_entry_add_values( e, normtype, vals ))
b69e47
 				!= LDAP_SUCCESS ) {
b69e47
 				slapi_log_access( LDAP_DEBUG_STATS, 
b69e47
-					"conn=%" NSPRIu64 " op=%d ADD dn=\"%s\", add values for type %s failed\n",
b69e47
+					"conn=%" PRIu64 " op=%d ADD dn=\"%s\", add values for type %s failed\n",
b69e47
 					pb->pb_conn->c_connid, operation->o_opid,
b69e47
 					slapi_entry_get_dn_const(e), normtype );
b69e47
 				send_ldap_result( pb, rc, NULL, NULL, 0, NULL );
b69e47
@@ -460,7 +460,7 @@ static void op_shared_add (Slapi_PBlock *pb)
b69e47
 
b69e47
 		if ( !internal_op )
b69e47
 		{
b69e47
-			slapi_log_access(LDAP_DEBUG_STATS, "conn=%" NSPRIu64 " op=%d ADD dn=\"%s\"%s\n",
b69e47
+			slapi_log_access(LDAP_DEBUG_STATS, "conn=%" PRIu64 " op=%d ADD dn=\"%s\"%s\n",
b69e47
 							 pb->pb_conn->c_connid,
b69e47
 							 operation->o_opid,
b69e47
 							 slapi_entry_get_dn_const(e),
b69e47
diff --git a/ldap/servers/slapd/auth.c b/ldap/servers/slapd/auth.c
b69e47
index c787dd4..da1b586 100644
b69e47
--- a/ldap/servers/slapd/auth.c
b69e47
+++ b/ldap/servers/slapd/auth.c
b69e47
@@ -366,7 +366,7 @@ handle_bad_certificate (void* clientData, PRFileDesc *prfd)
b69e47
     char* subject = subject_of (clientCert);
b69e47
     char* issuer  = issuer_of  (clientCert);
b69e47
     slapi_log_access( LDAP_DEBUG_STATS,
b69e47
-	       "conn=%" NSPRIu64 " " SLAPI_COMPONENT_NAME_NSPR " error %i (%s); unauthenticated client %s; issuer %s\n",
b69e47
+	       "conn=%" PRIu64 " " SLAPI_COMPONENT_NAME_NSPR " error %i (%s); unauthenticated client %s; issuer %s\n",
b69e47
 	       conn->c_connid, errorCode, slapd_pr_strerror(errorCode),
b69e47
 	       subject ? escape_string( subject, sbuf ) : "NULL",
b69e47
 	       issuer  ? escape_string( issuer,  ibuf ) : "NULL" );
b69e47
@@ -402,7 +402,7 @@ handle_handshake_done (PRFileDesc *prfd, void* clientData)
b69e47
 	if ( (slapd_ssl_getChannelInfo (prfd, &channelInfo, sizeof(channelInfo))) != SECSuccess ) {
b69e47
 		PRErrorCode errorCode = PR_GetError();
b69e47
 		slapi_log_access (LDAP_DEBUG_STATS,
b69e47
-			"conn=%" NSPRIu64 " SSL failed to obtain channel info; "
b69e47
+			"conn=%" PRIu64 " SSL failed to obtain channel info; "
b69e47
 			SLAPI_COMPONENT_NAME_NSPR " error %i (%s)\n",
b69e47
 			conn->c_connid, errorCode, slapd_pr_strerror(errorCode));
b69e47
 		goto done;
b69e47
@@ -411,7 +411,7 @@ handle_handshake_done (PRFileDesc *prfd, void* clientData)
b69e47
 			!= SECSuccess) {
b69e47
 		PRErrorCode errorCode = PR_GetError();
b69e47
 		slapi_log_access (LDAP_DEBUG_STATS,
b69e47
-			"conn=%" NSPRIu64 " SSL failed to obtain cipher info; "
b69e47
+			"conn=%" PRIu64 " SSL failed to obtain cipher info; "
b69e47
 			SLAPI_COMPONENT_NAME_NSPR " error %i (%s)\n",
b69e47
 			conn->c_connid, errorCode, slapd_pr_strerror(errorCode));
b69e47
 		goto done;
b69e47
@@ -432,14 +432,14 @@ handle_handshake_done (PRFileDesc *prfd, void* clientData)
b69e47
 
b69e47
     if (config_get_SSLclientAuth() == SLAPD_SSLCLIENTAUTH_OFF ) {
b69e47
         (void) slapi_getSSLVersion_str(channelInfo.protocolVersion, sslversion, sizeof(sslversion));
b69e47
-        slapi_log_access (LDAP_DEBUG_STATS, "conn=%" NSPRIu64 " %s %i-bit %s\n",
b69e47
+        slapi_log_access (LDAP_DEBUG_STATS, "conn=%" PRIu64 " %s %i-bit %s\n",
b69e47
                 conn->c_connid, 
b69e47
                 sslversion, keySize, cipher ? cipher : "NULL" );
b69e47
         goto done;
b69e47
     }
b69e47
     if (clientCert == NULL) {
b69e47
         (void) slapi_getSSLVersion_str(channelInfo.protocolVersion, sslversion, sizeof(sslversion));
b69e47
-        slapi_log_access (LDAP_DEBUG_STATS, "conn=%" NSPRIu64 " %s %i-bit %s\n",
b69e47
+        slapi_log_access (LDAP_DEBUG_STATS, "conn=%" PRIu64 " %s %i-bit %s\n",
b69e47
                 conn->c_connid, 
b69e47
                 sslversion, keySize, cipher ? cipher : "NULL" );
b69e47
     } else {
b69e47
@@ -448,7 +448,7 @@ handle_handshake_done (PRFileDesc *prfd, void* clientData)
b69e47
             (void) slapi_getSSLVersion_str(channelInfo.protocolVersion,
b69e47
                                                  sslversion, sizeof(sslversion));
b69e47
             slapi_log_access( LDAP_DEBUG_STATS,
b69e47
-                       "conn=%" NSPRIu64 " %s %i-bit %s; missing subject\n",
b69e47
+                       "conn=%" PRIu64 " %s %i-bit %s; missing subject\n",
b69e47
                        conn->c_connid, 
b69e47
                        sslversion, keySize, cipher ? cipher : "NULL");
b69e47
             goto done;
b69e47
@@ -459,7 +459,7 @@ handle_handshake_done (PRFileDesc *prfd, void* clientData)
b69e47
             (void) slapi_getSSLVersion_str(channelInfo.protocolVersion,
b69e47
                                                  sslversion, sizeof(sslversion));
b69e47
             slapi_log_access( LDAP_DEBUG_STATS,
b69e47
-                        "conn=%" NSPRIu64 " %s %i-bit %s; client %s; issuer %s\n",
b69e47
+                        "conn=%" PRIu64 " %s %i-bit %s; client %s; issuer %s\n",
b69e47
                         conn->c_connid,
b69e47
                         sslversion, keySize, cipher ? cipher : "NULL",
b69e47
                         subject ? escape_string( subject, sbuf ) : "NULL",
b69e47
@@ -503,14 +503,14 @@ handle_handshake_done (PRFileDesc *prfd, void* clientData)
b69e47
         (void) slapi_getSSLVersion_str(channelInfo.protocolVersion,
b69e47
                                              sslversion, sizeof(sslversion));
b69e47
         slapi_log_access (LDAP_DEBUG_STATS, 
b69e47
-                          "conn=%" NSPRIu64 " %s client bound as %s\n",
b69e47
+                          "conn=%" PRIu64 " %s client bound as %s\n",
b69e47
                           conn->c_connid,
b69e47
                           sslversion, clientDN);
b69e47
     } else if (clientCert != NULL) {
b69e47
         (void) slapi_getSSLVersion_str(channelInfo.protocolVersion,
b69e47
                                              sslversion, sizeof(sslversion));
b69e47
         slapi_log_access (LDAP_DEBUG_STATS,
b69e47
-                          "conn=%" NSPRIu64 " %s failed to map client "
b69e47
+                          "conn=%" PRIu64 " %s failed to map client "
b69e47
                           "certificate to LDAP DN (%s)\n",
b69e47
                           conn->c_connid,
b69e47
                           sslversion, extraErrorMsg);
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/back-ldbm.h b/ldap/servers/slapd/back-ldbm/back-ldbm.h
b69e47
index a5fc540..0bb15e3 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/back-ldbm.h
b69e47
+++ b/ldap/servers/slapd/back-ldbm/back-ldbm.h
b69e47
@@ -28,21 +28,8 @@
b69e47
 #endif
b69e47
 #endif
b69e47
 
b69e47
-/* Required to get portable printf/scanf format macros */
b69e47
-#ifdef HAVE_INTTYPES_H
b69e47
-#include <inttypes.h>
b69e47
-
b69e47
-/* NSPR uses the print macros a bit differently than ANSI C.  We
b69e47
- * need to use ll for a 64-bit integer, even when a long is 64-bit.
b69e47
- */
b69e47
-#undef PRIu64
b69e47
-#define PRIu64  "llu"
b69e47
-#undef PRI64
b69e47
-#define PRI64   "ll"
b69e47
-
b69e47
-#else
b69e47
-#error Need to define portable format macros such as PRIu64
b69e47
-#endif /* HAVE_INTTYPES_H */
b69e47
+/* Provides our int types and platform specific requirements. */
b69e47
+#include <slapi_pal.h>
b69e47
 
b69e47
 /* A bunch of random system headers taken from all the source files, no source file should #include
b69e47
    any system headers now */
b69e47
@@ -162,11 +149,11 @@ typedef unsigned short u_int16_t;
b69e47
 #define    DBVERSION_FILENAME    "DBVERSION"
b69e47
 /* 0 here means to let the autotuning reset the value on first run */
b69e47
 /* cache can't get any smaller than this (in bytes) */
b69e47
-#define MINCACHESIZE             (size_t)512000
b69e47
-#define DEFAULT_CACHE_SIZE       (size_t)0
b69e47
+#define MINCACHESIZE             (uint64_t)512000
b69e47
+#define DEFAULT_CACHE_SIZE       (uint64_t)0
b69e47
 #define DEFAULT_CACHE_SIZE_STR   "0"
b69e47
 #define DEFAULT_CACHE_ENTRIES    -1        /* no limit */
b69e47
-#define DEFAULT_DNCACHE_SIZE     (size_t)16777216
b69e47
+#define DEFAULT_DNCACHE_SIZE     (uint64_t)16777216
b69e47
 #define DEFAULT_DNCACHE_SIZE_STR "16777216"
b69e47
 #define DEFAULT_DNCACHE_MAXCOUNT -1        /* no limit */
b69e47
 #define DEFAULT_DBCACHE_SIZE     33554432
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/cache.c b/ldap/servers/slapd/back-ldbm/cache.c
b69e47
index ade2240..0f0cf3b 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/cache.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/cache.c
b69e47
@@ -649,7 +649,7 @@ void cache_set_max_size(struct cache *cache, size_t bytes, int type)
b69e47
     }
b69e47
 }
b69e47
 
b69e47
-static void entrycache_set_max_size(struct cache *cache, size_t bytes)
b69e47
+static void entrycache_set_max_size(struct cache *cache, uint64_t bytes)
b69e47
 {
b69e47
     struct backentry *eflush = NULL;
b69e47
     struct backentry *eflushtemp = NULL;
b69e47
@@ -659,16 +659,17 @@ static void entrycache_set_max_size(struct cache *cache, size_t bytes)
b69e47
          * to happen. In that case, suppress this warning.
b69e47
          */
b69e47
         if (bytes > 0) {
b69e47
-            slapi_log_err(SLAPI_LOG_WARNING, "entrycache_set_max_size", "Minimum cache size is %lu -- rounding up\n", MINCACHESIZE);
b69e47
+            slapi_log_err(SLAPI_LOG_WARNING, "entrycache_set_max_size", "Minimum cache size is %"PRIu64" -- rounding up\n", MINCACHESIZE);
b69e47
         }
b69e47
         bytes = MINCACHESIZE;
b69e47
     }
b69e47
     cache_lock(cache);
b69e47
     cache->c_maxsize = bytes;
b69e47
-    LOG("entry cache size set to %lu\n", bytes);
b69e47
+    LOG("entry cache size set to %"PRIu64"\n", bytes);
b69e47
     /* check for full cache, and clear out if necessary */
b69e47
-    if (CACHE_FULL(cache))
b69e47
+    if (CACHE_FULL(cache)) {
b69e47
        eflush = entrycache_flush(cache);
b69e47
+    }
b69e47
     while (eflush)
b69e47
     {
b69e47
         eflushtemp = BACK_LRU_NEXT(eflush, struct backentry *);
b69e47
@@ -686,12 +687,11 @@ static void entrycache_set_max_size(struct cache *cache, size_t bytes)
b69e47
     /* This may already have been called by one of the functions in
b69e47
      * ldbm_instance_config
b69e47
      */
b69e47
-    if (! util_is_cachesize_sane(&bytes)) {
b69e47
-       slapi_log_err(SLAPI_LOG_WARNING,
b69e47
-                "entrycache_set_max_size", "Possible CONFIGURATION ERROR -- cachesize "
b69e47
-                "(%lu) may be configured to use more than the available "
b69e47
-                "physical memory.\n", bytes);
b69e47
+    slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+    if (util_is_cachesize_sane(mi, &bytes) != UTIL_CACHESIZE_VALID) {
b69e47
+       slapi_log_err(SLAPI_LOG_WARNING, "entrycache_set_max_size", "Cachesize (%"PRIu64") may use more than the available physical memory.\n", bytes);
b69e47
     }
b69e47
+    spal_meminfo_destroy(mi);
b69e47
 }
b69e47
 
b69e47
 void cache_set_max_entries(struct cache *cache, long entries)
b69e47
@@ -1597,7 +1597,7 @@ dn_same_id(const void *bdn, const void *k)
b69e47
 }
b69e47
 
b69e47
 static void
b69e47
-dncache_set_max_size(struct cache *cache, size_t bytes)
b69e47
+dncache_set_max_size(struct cache *cache, uint64_t bytes)
b69e47
 {
b69e47
     struct backdn *dnflush = NULL;
b69e47
     struct backdn *dnflushtemp = NULL;
b69e47
@@ -1609,12 +1609,12 @@ dncache_set_max_size(struct cache *cache, size_t bytes)
b69e47
     if (bytes < MINCACHESIZE) {
b69e47
        bytes = MINCACHESIZE;
b69e47
        slapi_log_err(SLAPI_LOG_WARNING,
b69e47
-                "dncache_set_max_size", "Minimum cache size is %lu -- rounding up\n",
b69e47
+                "dncache_set_max_size", "Minimum cache size is %"PRIu64" -- rounding up\n",
b69e47
                 MINCACHESIZE);
b69e47
     }
b69e47
     cache_lock(cache);
b69e47
     cache->c_maxsize = bytes;
b69e47
-    LOG("entry cache size set to %lu\n", bytes);
b69e47
+    LOG("entry cache size set to %"PRIu64"\n", bytes);
b69e47
     /* check for full cache, and clear out if necessary */
b69e47
     if (CACHE_FULL(cache)) {
b69e47
        dnflush = dncache_flush(cache);
b69e47
@@ -1636,12 +1636,12 @@ dncache_set_max_size(struct cache *cache, size_t bytes)
b69e47
     /* This may already have been called by one of the functions in
b69e47
      * ldbm_instance_config
b69e47
      */
b69e47
-    if (! util_is_cachesize_sane(&bytes)) {
b69e47
-       slapi_log_err(SLAPI_LOG_WARNING,
b69e47
-                "dncache_set_max_size", "Possible CONFIGURATION ERROR -- cachesize "
b69e47
-                "(%lu) may be configured to use more than the available "
b69e47
-                "physical memory.\n", bytes);
b69e47
+
b69e47
+    slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+    if (util_is_cachesize_sane(mi, &bytes) != UTIL_CACHESIZE_VALID) {
b69e47
+       slapi_log_err(SLAPI_LOG_WARNING, "dncache_set_max_size", "Cachesize (%"PRIu64") may use more than the available physical memory.\n", bytes);
b69e47
     }
b69e47
+    spal_meminfo_destroy(mi);
b69e47
 }
b69e47
 
b69e47
 /* remove a dn from the cache */
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/dblayer.c b/ldap/servers/slapd/back-ldbm/dblayer.c
b69e47
index 507a3cc..3c1fbb0 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/dblayer.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/dblayer.c
b69e47
@@ -1386,14 +1386,16 @@ dblayer_start(struct ldbminfo *li, int dbmode)
b69e47
 
b69e47
     /* Sanity check on cache size on platforms which allow us to figure out
b69e47
      * the available phys mem */
b69e47
-    if (!util_is_cachesize_sane(&(priv->dblayer_cachesize))) {
b69e47
+    slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+    if (!util_is_cachesize_sane(mi, &(priv->dblayer_cachesize))) {
b69e47
         /* Oops---looks like the admin misconfigured, let's warn them */
b69e47
         slapi_log_err(SLAPI_LOG_WARNING,"dblayer_start", "Likely CONFIGURATION ERROR -"
b69e47
                   "dbcachesize is configured to use more than the available "
b69e47
-                  "physical memory, decreased to the largest available size (%lu bytes).\n",
b69e47
+                  "physical memory, decreased to the largest available size (%"PRIu64" bytes).\n",
b69e47
                   priv->dblayer_cachesize);
b69e47
         li->li_dbcachesize = priv->dblayer_cachesize;
b69e47
     }
b69e47
+    spal_meminfo_destroy(mi);
b69e47
 
b69e47
     /* fill in DB_ENV stuff from the common configuration */
b69e47
     return_value = dblayer_make_env(&pEnv, li);
b69e47
@@ -1690,9 +1692,6 @@ dblayer_start(struct ldbminfo *li, int dbmode)
b69e47
  *    nsslapd-import-cache-autosize: 0
b69e47
  * get the nsslapd-import-cachesize.
b69e47
  * Calculate the memory size left after allocating the import cache size.
b69e47
- * If the size is less than the hard limit, it issues an error and quit.
b69e47
- * If the size is greater than the hard limit and less than the soft limit,
b69e47
- * it issues a warning, but continues the import task.
b69e47
  *
b69e47
  * Note: this function is called only if the import is executed as a stand
b69e47
  * alone command line (ldif2db).
b69e47
@@ -1700,27 +1699,17 @@ dblayer_start(struct ldbminfo *li, int dbmode)
b69e47
 int
b69e47
 check_and_set_import_cache(struct ldbminfo *li)
b69e47
 {
b69e47
-    size_t import_pages = 0;
b69e47
-    size_t pagesize, pages, procpages, availpages;
b69e47
-    size_t soft_limit = 0;
b69e47
-    size_t hard_limit = 0;
b69e47
-    size_t page_delta = 0;
b69e47
+    uint64_t import_cache = 0;
b69e47
     char s[64];   /* big enough to hold %ld */
b69e47
+    /* Get our platform memory values. */
b69e47
+    slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
 
b69e47
-    if (util_info_sys_pages(&pagesize, &pages, &procpages, &availpages) != 0 || 0 == pagesize || 0 == pages) {
b69e47
-        slapi_log_err(SLAPI_LOG_ERR, "check_and_set_import_cache",
b69e47
-                       "Failed to get pagesize: %ld or pages: %ld\n",
b69e47
-                       pagesize, pages);
b69e47
+    if (mi == NULL) {
b69e47
+        slapi_log_err(SLAPI_LOG_ERR, "check_and_set_import_cache", "Failed to get system memory infomation\n");
b69e47
         return ENOENT;
b69e47
     }
b69e47
-    slapi_log_err(SLAPI_LOG_INFO, "check_and_set_import_cache",
b69e47
-                  "pagesize: %ld, pages: %ld, procpages: %ld\n",
b69e47
-                  pagesize, pages, procpages);
b69e47
+    slapi_log_err(SLAPI_LOG_INFO, "check_and_set_import_cache", "pagesize: %"PRIu64", available bytes %"PRIu64", process usage %"PRIu64" \n", mi->pagesize_bytes, mi->system_available_bytes, mi->process_consumed_bytes);
b69e47
 
b69e47
-    /* Soft limit: pages equivalent to 1GB (defined in dblayer.h) */
b69e47
-    soft_limit = (DBLAYER_IMPORTCACHESIZE_SL*1024) / (pagesize/1024);
b69e47
-    /* Hard limit: pages equivalent to 100MB (defined in dblayer.h) */
b69e47
-    hard_limit = (DBLAYER_IMPORTCACHESIZE_HL*1024) / (pagesize/1024);
b69e47
     /*
b69e47
      * default behavior for ldif2db import cache,
b69e47
      * nsslapd-import-cache-autosize==-1,
b69e47
@@ -1741,48 +1730,29 @@ check_and_set_import_cache(struct ldbminfo *li)
b69e47
 
b69e47
     if (li->li_import_cache_autosize == 0) {
b69e47
         /* user specified importCache */
b69e47
-        import_pages = li->li_import_cachesize / pagesize;
b69e47
+        import_cache = li->li_import_cachesize;
b69e47
 
b69e47
     } else {
b69e47
         /* autosizing importCache */
b69e47
         /* ./125 instead of ./100 is for adjusting the BDB overhead. */
b69e47
-#ifdef LINUX
b69e47
-        /* On linux, availpages is correct so we should use it! */
b69e47
-        import_pages = (li->li_import_cache_autosize * availpages) / 125;
b69e47
-#else
b69e47
-        import_pages = (li->li_import_cache_autosize * pages) / 125;
b69e47
-#endif
b69e47
+        import_cache = (li->li_import_cache_autosize * mi->system_available_bytes) / 125;
b69e47
     }
b69e47
 
b69e47
-    page_delta = pages - import_pages;
b69e47
-    if (page_delta < hard_limit) {
b69e47
-        slapi_log_err(SLAPI_LOG_ERR, 
b69e47
-            "check_and_set_import_cache", "After allocating import cache %ldKB, "
b69e47
-            "the available memory is %ldKB, "
b69e47
-            "which is less than the hard limit %ldKB. "
b69e47
-            "Please decrease the import cache size and rerun import.\n",
b69e47
-            import_pages*(pagesize/1024), page_delta*(pagesize/1024),
b69e47
-            hard_limit*(pagesize/1024));
b69e47
+    if (util_is_cachesize_sane(mi, &import_cache) == UTIL_CACHESIZE_ERROR) {
b69e47
+
b69e47
+        slapi_log_err(SLAPI_LOG_INFO, "check_and_set_import_cache", "Import failed to run: unable to validate system memory limits.\n");
b69e47
+        spal_meminfo_destroy(mi);
b69e47
         return ENOMEM;
b69e47
     }
b69e47
-    if (page_delta < soft_limit) {
b69e47
-        slapi_log_err(SLAPI_LOG_WARNING, 
b69e47
-            "check_and_set_import_cache", "After allocating import cache %ldKB, "
b69e47
-            "the available memory is %ldKB, "
b69e47
-            "which is less than the soft limit %ldKB. "
b69e47
-            "You may want to decrease the import cache size and "
b69e47
-            "rerun import.\n",
b69e47
-            import_pages*(pagesize/1024), page_delta*(pagesize/1024),
b69e47
-            soft_limit*(pagesize/1024));
b69e47
-    }
b69e47
 
b69e47
-    slapi_log_err(SLAPI_LOG_INFO, "check_and_set_import_cache", "Import allocates %ldKB import cache.\n", 
b69e47
-                  import_pages*(pagesize/1024));
b69e47
-    if (li->li_import_cache_autosize > 0) { /* import cache autosizing */
b69e47
+    slapi_log_err(SLAPI_LOG_INFO, "check_and_set_import_cache", "Import allocates %"PRIu64"KB import cache.\n", import_cache / 1024);
b69e47
+    if (li->li_import_cache_autosize > 0) {
b69e47
+        /* import cache autosizing */
b69e47
         /* set the calculated import cache size to the config */
b69e47
-        sprintf(s, "%lu", (unsigned long)(import_pages * pagesize));
b69e47
+        sprintf(s, "%"PRIu64, import_cache);
b69e47
         ldbm_config_internal_set(li, CONFIG_IMPORT_CACHESIZE, s);
b69e47
     }
b69e47
+    spal_meminfo_destroy(mi);
b69e47
     return 0;
b69e47
 }
b69e47
 
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/dblayer.h b/ldap/servers/slapd/back-ldbm/dblayer.h
b69e47
index e4307fc..816c943 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/dblayer.h
b69e47
+++ b/ldap/servers/slapd/back-ldbm/dblayer.h
b69e47
@@ -68,14 +68,6 @@
b69e47
 #define	DB_REGION_NAME	25		/* DB: named regions, no backing file. */
b69e47
 #endif
b69e47
 
b69e47
-/* Used in check_and_set_import_cache */
b69e47
-/* After allocating the import cache, free memory must be left more than
b69e47
- * the hard limit to run import. */
b69e47
-/* If the free memory size left is greater than hard limit and less than
b69e47
- * soft limit, the import utility issues a warning, but it runs */
b69e47
-#define DBLAYER_IMPORTCACHESIZE_HL 100  /* import cache hard limit 100MB */
b69e47
-#define DBLAYER_IMPORTCACHESIZE_SL 1024 /* import cache soft limit 1GB */
b69e47
-
b69e47
 struct dblayer_private_env {
b69e47
 	DB_ENV	*dblayer_DB_ENV;
b69e47
 	Slapi_RWLock * dblayer_env_lock;
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/import-threads.c b/ldap/servers/slapd/back-ldbm/import-threads.c
b69e47
index 087103b..ab32e0a 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/import-threads.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/import-threads.c
b69e47
@@ -3979,7 +3979,7 @@ _get_import_entryusn(ImportJob *job, Slapi_Value **usn_value)
b69e47
              * Use the counter which stores the old DB's
b69e47
              * next entryusn. */
b69e47
             PR_snprintf(counter_buf, sizeof(counter_buf),
b69e47
-                    "%" NSPRIu64, slapi_counter_get_value(be->be_usn_counter));
b69e47
+                    "%" PRIu64, slapi_counter_get_value(be->be_usn_counter));
b69e47
         } else {
b69e47
             /* import_init value is digit.
b69e47
              * Initialize the entryusn values with the digit */
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/import.c b/ldap/servers/slapd/back-ldbm/import.c
b69e47
index d0cef1a..7161bac 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/import.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/import.c
b69e47
@@ -84,17 +84,19 @@ static int import_fifo_init(ImportJob *job)
b69e47
 int import_fifo_validate_capacity_or_expand(ImportJob *job, size_t entrysize) {
b69e47
     int result = 1;
b69e47
     /* We shoot for four times as much to start with. */
b69e47
-    size_t request = entrysize * 4;
b69e47
-    int sane = 0;
b69e47
+    uint64_t request = entrysize * 4;
b69e47
+    util_cachesize_result sane;
b69e47
 
b69e47
     if (entrysize > job->fifo.bsize) {
b69e47
         /* Check the amount of memory on the system */
b69e47
-        sane = util_is_cachesize_sane(&request);
b69e47
-        if (!sane && entrysize <= request) {
b69e47
+        slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+        sane = util_is_cachesize_sane(mi, &request);
b69e47
+        spal_meminfo_destroy(mi);
b69e47
+        if (sane == UTIL_CACHESIZE_REDUCED && entrysize <= request) {
b69e47
             /* Did the amount cachesize set still exceed entrysize? It'll do ... */
b69e47
             job->fifo.bsize = request;
b69e47
             result = 0;
b69e47
-        } else if (!sane) {
b69e47
+        } else if (sane != UTIL_CACHESIZE_VALID) {
b69e47
             /* Can't allocate! No!!! */
b69e47
             result = 1;
b69e47
         } else {
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_config.c b/ldap/servers/slapd/back-ldbm/ldbm_config.c
b69e47
index dfe7a13..d5120d3 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/ldbm_config.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/ldbm_config.c
b69e47
@@ -403,8 +403,8 @@ static int ldbm_config_dbcachesize_set(void *arg, void *value, char *errorbuf, i
b69e47
 {
b69e47
     struct ldbminfo *li = (struct ldbminfo *) arg;
b69e47
     int retval = LDAP_SUCCESS;
b69e47
-    size_t val = (size_t)value;
b69e47
-    size_t delta = (size_t)value;
b69e47
+    uint64_t val = (size_t)value;
b69e47
+    uint64_t delta = (size_t)value;
b69e47
 
b69e47
     /* There is an error here. We check the new val against our current mem-alloc 
b69e47
      * Issue is that we already are using system pages, so while our value *might*
b69e47
@@ -430,7 +430,13 @@ static int ldbm_config_dbcachesize_set(void *arg, void *value, char *errorbuf, i
b69e47
             val = DBDEFMINSIZ;
b69e47
         } else if (val > li->li_dbcachesize) {
b69e47
             delta = val - li->li_dbcachesize;
b69e47
-            if (!util_is_cachesize_sane(&delta)){
b69e47
+
b69e47
+            util_cachesize_result sane;
b69e47
+            slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+            sane = util_is_cachesize_sane(mi, &delta);
b69e47
+            spal_meminfo_destroy(mi);
b69e47
+
b69e47
+            if (sane != UTIL_CACHESIZE_VALID){
b69e47
                 slapi_create_errormsg(errorbuf, SLAPI_DSE_RETURNTEXT_SIZE, "Error: nsslapd-dbcachesize value is too large.");
b69e47
                 slapi_log_err(SLAPI_LOG_ERR, "ldbm_config_dbcachesize_set",
b69e47
                         "nsslapd-dbcachesize value is too large.\n");
b69e47
@@ -1086,7 +1092,7 @@ static int ldbm_config_db_cache_set(void *arg, void *value, char *errorbuf, int
b69e47
     struct ldbminfo *li = (struct ldbminfo *) arg;
b69e47
     int retval = LDAP_SUCCESS;
b69e47
     int val = ((uintptr_t)value);
b69e47
-    size_t delta = 0;
b69e47
+    uint64_t delta = 0;
b69e47
 
b69e47
     /* There is an error here. We check the new val against our current mem-alloc 
b69e47
      * Issue is that we already are using system pages, so while our value *might*
b69e47
@@ -1101,7 +1107,13 @@ static int ldbm_config_db_cache_set(void *arg, void *value, char *errorbuf, int
b69e47
     if (apply) {
b69e47
         if (val > li->li_dblayer_private->dblayer_cache_config) {
b69e47
             delta = val - li->li_dblayer_private->dblayer_cache_config;
b69e47
-            if (!util_is_cachesize_sane(&delta)){
b69e47
+            util_cachesize_result sane;
b69e47
+
b69e47
+            slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+            sane = util_is_cachesize_sane(mi, &delta);
b69e47
+            spal_meminfo_destroy(mi);
b69e47
+
b69e47
+            if (sane != UTIL_CACHESIZE_VALID){
b69e47
                 slapi_create_errormsg(errorbuf, SLAPI_DSE_RETURNTEXT_SIZE, "Error: db cachesize value is too large");
b69e47
                 slapi_log_err(SLAPI_LOG_ERR,"ldbm_config_db_cache_set", "db cachesize value is too large.\n");
b69e47
                 return LDAP_UNWILLING_TO_PERFORM;
b69e47
@@ -1219,7 +1231,7 @@ static int ldbm_config_import_cachesize_set(void *arg, void *value, char *errorb
b69e47
 {
b69e47
     struct ldbminfo *li = (struct ldbminfo *)arg;
b69e47
     size_t val = (size_t)value;
b69e47
-    size_t delta = (size_t)value;
b69e47
+    uint64_t delta = (size_t)value;
b69e47
     /* There is an error here. We check the new val against our current mem-alloc 
b69e47
      * Issue is that we already are using system pages, so while our value *might*
b69e47
      * be valid, we may reject it here due to the current procs page usage.
b69e47
@@ -1232,7 +1244,13 @@ static int ldbm_config_import_cachesize_set(void *arg, void *value, char *errorb
b69e47
     if (apply){
b69e47
         if (val > li->li_import_cachesize) {
b69e47
             delta = val - li->li_import_cachesize;
b69e47
-            if (!util_is_cachesize_sane(&delta)){
b69e47
+
b69e47
+            util_cachesize_result sane;
b69e47
+            slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+            sane = util_is_cachesize_sane(mi, &delta);
b69e47
+            spal_meminfo_destroy(mi);
b69e47
+
b69e47
+            if (sane != UTIL_CACHESIZE_VALID){
b69e47
                 slapi_create_errormsg(errorbuf, SLAPI_DSE_RETURNTEXT_SIZE, "Error: import cachesize value is too large.");
b69e47
                 slapi_log_err(SLAPI_LOG_ERR,"ldbm_config_import_cachesize_set",
b69e47
                         "Import cachesize value is too large.\n");
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_delete.c b/ldap/servers/slapd/back-ldbm/ldbm_delete.c
b69e47
index 92d982e..0b0b37e 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/ldbm_delete.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/ldbm_delete.c
b69e47
@@ -107,7 +107,7 @@ ldbm_back_delete( Slapi_PBlock *pb )
b69e47
 
b69e47
 	if (pb->pb_conn)
b69e47
 	{
b69e47
-		slapi_log_err(SLAPI_LOG_TRACE, "ldbm_back_delete", "Enter conn=%" NSPRIu64 " op=%d\n",
b69e47
+		slapi_log_err(SLAPI_LOG_TRACE, "ldbm_back_delete", "Enter conn=%" PRIu64 " op=%d\n",
b69e47
 				pb->pb_conn->c_connid, operation->o_opid);
b69e47
 	}
b69e47
 
b69e47
@@ -1493,7 +1493,7 @@ diskfull_return:
b69e47
 	slapi_sdn_done(&parentsdn);
b69e47
 	if (pb->pb_conn)
b69e47
 	{
b69e47
-		slapi_log_err(SLAPI_LOG_TRACE, "ldbm_back_delete", "leave conn=%" NSPRIu64 " op=%d\n",
b69e47
+		slapi_log_err(SLAPI_LOG_TRACE, "ldbm_back_delete", "leave conn=%" PRIu64 " op=%d\n",
b69e47
 				pb->pb_conn->c_connid, operation->o_opid);
b69e47
 	}
b69e47
 
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_instance_config.c b/ldap/servers/slapd/back-ldbm/ldbm_instance_config.c
b69e47
index e03954d..62cdbc3 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/ldbm_instance_config.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/ldbm_instance_config.c
b69e47
@@ -92,7 +92,7 @@ ldbm_instance_config_cachememsize_set(void *arg, void *value, char *errorbuf, in
b69e47
     ldbm_instance *inst = (ldbm_instance *) arg;
b69e47
     int retval = LDAP_SUCCESS;
b69e47
     size_t val = (size_t) value;
b69e47
-    size_t delta = 0;
b69e47
+    uint64_t delta = 0;
b69e47
 
b69e47
     /* Do whatever we can to make sure the data is ok. */
b69e47
     /* There is an error here. We check the new val against our current mem-alloc 
b69e47
@@ -108,7 +108,13 @@ ldbm_instance_config_cachememsize_set(void *arg, void *value, char *errorbuf, in
b69e47
     if (apply) {
b69e47
         if (val > inst->inst_cache.c_maxsize) {
b69e47
             delta = val - inst->inst_cache.c_maxsize;
b69e47
-            if (!util_is_cachesize_sane(&delta)){
b69e47
+
b69e47
+            util_cachesize_result sane;
b69e47
+            slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+            sane = util_is_cachesize_sane(mi, &delta);
b69e47
+            spal_meminfo_destroy(mi);
b69e47
+
b69e47
+            if (sane != UTIL_CACHESIZE_VALID){
b69e47
                 slapi_create_errormsg(errorbuf, SLAPI_DSE_RETURNTEXT_SIZE, "Error: cachememsize value is too large.");
b69e47
                 slapi_log_err(SLAPI_LOG_ERR, "ldbm_instance_config_cachememsize_set", "cachememsize value is too large.\n");
b69e47
                 return LDAP_UNWILLING_TO_PERFORM;
b69e47
@@ -134,7 +140,7 @@ ldbm_instance_config_dncachememsize_set(void *arg, void *value, char *errorbuf,
b69e47
     ldbm_instance *inst = (ldbm_instance *) arg;
b69e47
     int retval = LDAP_SUCCESS;
b69e47
     size_t val = (size_t)value;
b69e47
-    size_t delta = 0;
b69e47
+    uint64_t delta = 0;
b69e47
 
b69e47
     /* Do whatever we can to make sure the data is ok. */
b69e47
     /* There is an error here. We check the new val against our current mem-alloc 
b69e47
@@ -150,7 +156,13 @@ ldbm_instance_config_dncachememsize_set(void *arg, void *value, char *errorbuf,
b69e47
     if (apply) {
b69e47
         if (val > inst->inst_dncache.c_maxsize) {
b69e47
             delta = val - inst->inst_dncache.c_maxsize;
b69e47
-            if (!util_is_cachesize_sane(&delta)){
b69e47
+
b69e47
+            util_cachesize_result sane;
b69e47
+            slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+            sane = util_is_cachesize_sane(mi, &delta);
b69e47
+            spal_meminfo_destroy(mi);
b69e47
+
b69e47
+            if (sane != UTIL_CACHESIZE_VALID){
b69e47
                 slapi_create_errormsg(errorbuf, SLAPI_DSE_RETURNTEXT_SIZE,
b69e47
                     "Error: dncachememsize value is too large.");
b69e47
                 slapi_log_err(SLAPI_LOG_ERR,"ldbm_instance_config_dncachememsize_set",
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c b/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c
b69e47
index a78d850..533273b 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c
b69e47
@@ -142,7 +142,7 @@ ldbm_back_modrdn( Slapi_PBlock *pb )
b69e47
 
b69e47
     if (pb->pb_conn)
b69e47
     {
b69e47
-        slapi_log_err(SLAPI_LOG_TRACE, "ldbm_back_modrdn", "enter conn=%" NSPRIu64 " op=%d\n",
b69e47
+        slapi_log_err(SLAPI_LOG_TRACE, "ldbm_back_modrdn", "enter conn=%" PRIu64 " op=%d\n",
b69e47
                 pb->pb_conn->c_connid, operation->o_opid);
b69e47
     }
b69e47
 
b69e47
@@ -1539,7 +1539,7 @@ common_return:
b69e47
     if (pb->pb_conn)
b69e47
     {
b69e47
         slapi_log_err(SLAPI_LOG_TRACE, "ldbm_back_modrdn",
b69e47
-                "leave conn=%" NSPRIu64 " op=%d\n",
b69e47
+                "leave conn=%" PRIu64 " op=%d\n",
b69e47
                 pb->pb_conn->c_connid, operation->o_opid);
b69e47
     }
b69e47
     return retval;
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_search.c b/ldap/servers/slapd/back-ldbm/ldbm_search.c
b69e47
index a6c3b74..cfb0d6b 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/ldbm_search.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/ldbm_search.c
b69e47
@@ -407,7 +407,7 @@ ldbm_back_search( Slapi_PBlock *pb )
b69e47
                     slapi_pblock_get(pb, SLAPI_OPERATION_ID, &op_id);
b69e47
 
b69e47
                     slapi_log_err(SLAPI_LOG_WARNING,
b69e47
-                            "ldbm_back_search", "Sort control ignored for conn=%" NSPRIu64 " op=%d\n",
b69e47
+                            "ldbm_back_search", "Sort control ignored for conn=%" PRIu64 " op=%d\n",
b69e47
                             conn_id, op_id);                    
b69e47
                 }
b69e47
             } else {
b69e47
@@ -442,7 +442,7 @@ ldbm_back_search( Slapi_PBlock *pb )
b69e47
                         slapi_pblock_get(pb, SLAPI_OPERATION_ID, &op_id);
b69e47
 
b69e47
                         slapi_log_err(SLAPI_LOG_WARNING,
b69e47
-                                "ldbm_back_search", "VLV control ignored for conn=%" NSPRIu64 " op=%d\n",
b69e47
+                                "ldbm_back_search", "VLV control ignored for conn=%" PRIu64 " op=%d\n",
b69e47
                                 conn_id, op_id);             
b69e47
                     }
b69e47
 
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/misc.c b/ldap/servers/slapd/back-ldbm/misc.c
b69e47
index 5268087..7192b3a 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/misc.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/misc.c
b69e47
@@ -54,7 +54,7 @@ void ldbm_log_access_message(Slapi_PBlock *pblock,char *string)
b69e47
         return;
b69e47
     }
b69e47
     operation_id = operation->o_opid;
b69e47
-    slapi_log_access(LDAP_DEBUG_STATS, "conn=%" NSPRIu64 " op=%d %s\n",
b69e47
+    slapi_log_access(LDAP_DEBUG_STATS, "conn=%" PRIu64 " op=%d %s\n",
b69e47
                      connection_id, operation_id, string);
b69e47
 }
b69e47
 
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/monitor.c b/ldap/servers/slapd/back-ldbm/monitor.c
b69e47
index 757792b..c58b069 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/monitor.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/monitor.c
b69e47
@@ -101,9 +101,9 @@ int ldbm_back_monitor_instance_search(Slapi_PBlock *pb, Slapi_Entry *e,
b69e47
         /* fetch cache statistics */
b69e47
         cache_get_stats(&(inst->inst_dncache), &hits, &tries, 
b69e47
                         &nentries, &maxentries, &size, &maxsize);
b69e47
-        sprintf(buf, "%" NSPRIu64, hits);
b69e47
+        sprintf(buf, "%" PRIu64, hits);
b69e47
         MSET("dnCacheHits");
b69e47
-        sprintf(buf, "%" NSPRIu64, tries);
b69e47
+        sprintf(buf, "%" PRIu64, tries);
b69e47
         MSET("dnCacheTries");
b69e47
         sprintf(buf, "%lu", (unsigned long)(100.0*(double)hits / (double)(tries > 0 ? tries : 1)));
b69e47
         MSET("dnCacheHitRatio");
b69e47
@@ -119,11 +119,11 @@ int ldbm_back_monitor_instance_search(Slapi_PBlock *pb, Slapi_Entry *e,
b69e47
     /* normalized dn cache stats */
b69e47
     if(ndn_cache_started()){
b69e47
         ndn_cache_get_stats(&hits, &tries, &size, &maxsize, &count);
b69e47
-        sprintf(buf, "%" NSPRIu64, tries);
b69e47
+        sprintf(buf, "%" PRIu64, tries);
b69e47
         MSET("normalizedDnCacheTries");
b69e47
-        sprintf(buf, "%" NSPRIu64, hits);
b69e47
+        sprintf(buf, "%" PRIu64, hits);
b69e47
         MSET("normalizedDnCacheHits");
b69e47
-        sprintf(buf, "%" NSPRIu64, (tries - hits));
b69e47
+        sprintf(buf, "%" PRIu64, (tries - hits));
b69e47
         MSET("normalizedDnCacheMisses");
b69e47
         sprintf(buf, "%lu", (unsigned long)(100.0*(double)hits / (double)(tries > 0 ? tries : 1)));
b69e47
         MSET("normalizedDnCacheHitRatio");
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/perfctrs.h b/ldap/servers/slapd/back-ldbm/perfctrs.h
b69e47
index 57be1d1..64c79e1 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/perfctrs.h
b69e47
+++ b/ldap/servers/slapd/back-ldbm/perfctrs.h
b69e47
@@ -11,7 +11,7 @@
b69e47
 #  include <config.h>
b69e47
 #endif
b69e47
 
b69e47
-#include <inttypes.h>
b69e47
+#include <slapi_pal.h>
b69e47
 
b69e47
 /* Structure definition for performance data */
b69e47
 /* This stuff goes in shared memory, so make sure the packing is consistent */
b69e47
diff --git a/ldap/servers/slapd/back-ldbm/start.c b/ldap/servers/slapd/back-ldbm/start.c
b69e47
index 1ae9858..a207bd8 100644
b69e47
--- a/ldap/servers/slapd/back-ldbm/start.c
b69e47
+++ b/ldap/servers/slapd/back-ldbm/start.c
b69e47
@@ -32,34 +32,25 @@ ldbm_back_start_autotune(struct ldbminfo *li) {
b69e47
     Object *inst_obj = NULL;
b69e47
     ldbm_instance *inst = NULL;
b69e47
     /* size_t is a platform unsigned int, IE uint64_t */
b69e47
-    size_t total_cache_size = 0;
b69e47
-    size_t pagesize = 0;
b69e47
-    size_t pages = 0;
b69e47
-    size_t procpages __attribute__((unused)) = 0;
b69e47
-    size_t availpages = 0;
b69e47
-    size_t cache_size_to_configure = 0;
b69e47
-    size_t zone_pages = 0;
b69e47
-    size_t db_pages = 0;
b69e47
-    size_t entry_pages = 0;
b69e47
-    size_t import_pages = 0;
b69e47
-    size_t zone_size = 0;
b69e47
-    size_t import_size = 0;
b69e47
-    size_t cache_size = 0;
b69e47
-    size_t db_size = 0;
b69e47
+    uint64_t total_cache_size = 0;
b69e47
+    uint64_t entry_size = 0;
b69e47
+    uint64_t zone_size = 0;
b69e47
+    uint64_t import_size = 0;
b69e47
+    uint64_t cache_size = 0;
b69e47
+    uint64_t db_size = 0;
b69e47
     /* For clamping the autotune value to a 64Mb boundary */
b69e47
-    size_t clamp_pages = 0;
b69e47
-    size_t clamp_div = 0;
b69e47
-    size_t clamp_mod = 0;
b69e47
+    uint64_t clamp_div = 0;
b69e47
     /* Backend count */
b69e47
-    size_t backend_count = 0;
b69e47
+    uint64_t backend_count = 0;
b69e47
 
b69e47
     int_fast32_t autosize_percentage = 0;
b69e47
     int_fast32_t autosize_db_percentage_split = 0;
b69e47
     int_fast32_t import_percentage = 0;
b69e47
-    int32_t issane = 0;
b69e47
+    util_cachesize_result issane;
b69e47
     char *msg = ""; /* This will be set by one of the two cache sizing paths below. */
b69e47
     char size_to_str[32];    /* big enough to hold %ld */
b69e47
 
b69e47
+
b69e47
     /* == Begin autotune == */
b69e47
 
b69e47
     /*
b69e47
@@ -120,42 +111,34 @@ ldbm_back_start_autotune(struct ldbminfo *li) {
b69e47
         return SLAPI_FAIL_GENERAL;
b69e47
     }
b69e47
 
b69e47
-    if (util_info_sys_pages(&pagesize, &pages, &procpages, &availpages) != 0) {
b69e47
+    /* Get our platform memory values. */
b69e47
+    slapi_pal_meminfo *mi = spal_meminfo_get();
b69e47
+    if (mi == NULL) {
b69e47
         slapi_log_err(SLAPI_LOG_CRIT, "ldbm_back_start", "Unable to determine system page limits\n");
b69e47
         return SLAPI_FAIL_GENERAL;
b69e47
     }
b69e47
 
b69e47
-    if (pagesize == 0) {
b69e47
-        /* If this happens, we are in a very bad state indeed... */
b69e47
-        slapi_log_err(SLAPI_LOG_CRIT, "ldbm_back_start", "Unable to determine system page size\n");
b69e47
-        return SLAPI_FAIL_GENERAL;
b69e47
-    }
b69e47
-
b69e47
     /* calculate the needed values */
b69e47
-    zone_pages = (autosize_percentage * pages) / 100;
b69e47
-    zone_size = zone_pages * pagesize;
b69e47
+    zone_size = (autosize_percentage * mi->system_total_bytes) / 100;
b69e47
     /* This is how much we "might" use, lets check it's sane. */
b69e47
     /* In the case it is not, this will *reduce* the allocation */
b69e47
-    issane = util_is_cachesize_sane(&zone_size);
b69e47
-    if (!issane) {
b69e47
+    issane = util_is_cachesize_sane(mi, &zone_size);
b69e47
+    if (issane == UTIL_CACHESIZE_REDUCED) {
b69e47
         slapi_log_err(SLAPI_LOG_WARNING, "ldbm_back_start", "Your autosized cache values have been reduced. Likely your nsslapd-cache-autosize percentage is too high.\n");
b69e47
         slapi_log_err(SLAPI_LOG_WARNING, "ldbm_back_start", "%s", msg);
b69e47
     }
b69e47
     /* It's valid, lets divide it up and set according to user prefs */
b69e47
-    zone_pages = zone_size / pagesize;
b69e47
-    db_pages = (autosize_db_percentage_split * zone_pages) / 100;
b69e47
+    db_size = (autosize_db_percentage_split * zone_size) / 100;
b69e47
 
b69e47
     /* Cap the DB size at 512MB, as this doesn't help perf much more (lkrispen's advice) */
b69e47
-    if ((db_pages * pagesize) > (512 * MEGABYTE)) {
b69e47
-        db_pages = (512 * MEGABYTE) / pagesize;
b69e47
+    if (db_size > (512 * MEGABYTE)) {
b69e47
+        db_size = (512 * MEGABYTE);
b69e47
     }
b69e47
 
b69e47
     if (backend_count > 0 ) {
b69e47
         /* Number of entry cache pages per backend. */
b69e47
-        entry_pages = (zone_pages - db_pages) / backend_count;
b69e47
+        entry_size = (zone_size - db_size) / backend_count;
b69e47
         /* Now, clamp this value to a 64mb boundary. */
b69e47
-        /* How many pages are in 64mb? */
b69e47
-        clamp_pages = (64 * MEGABYTE) / pagesize;
b69e47
         /* Now divide the entry pages by this, and also mod. If mod != 0, we need
b69e47
          * to add 1 to the diveded number. This should give us:
b69e47
          * 510 * 1024 * 1024 == 510MB
b69e47
@@ -166,17 +149,15 @@ ldbm_back_start_autotune(struct ldbminfo *li) {
b69e47
          * 130560 % 16384 = 15872 which is != 0
b69e47
          * therfore 7 + 1, aka 8 * 16384 = 131072 pages = 536870912 bytes = 512MB.
b69e47
          */
b69e47
-        clamp_div = entry_pages / clamp_pages;
b69e47
-        clamp_mod = entry_pages % clamp_pages;
b69e47
-        if (clamp_mod != 0) {
b69e47
-            /* If we want to clamp down, remove this line. This would change the above from 510mb -> 448mb. */
b69e47
-            clamp_div += 1;
b69e47
-            entry_pages = clamp_div * clamp_pages;
b69e47
+        if (entry_size % (64 * MEGABYTE) != 0) {
b69e47
+            /* If we want to clamp down, remove the "+1". This would change the above from 510mb -> 448mb. */
b69e47
+            clamp_div = (entry_size / (64 * MEGABYTE)) + 1;
b69e47
+            entry_size = clamp_div * (64 * MEGABYTE);
b69e47
         }
b69e47
     }
b69e47
 
b69e47
-    slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "found %luk physical memory\n", pages*(pagesize/1024));
b69e47
-    slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "found %luk avaliable\n", zone_pages*(pagesize/1024));
b69e47
+    slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "found %luk physical memory\n", mi->system_total_bytes / 1024);
b69e47
+    slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "found %luk avaliable\n", mi->system_available_bytes / 1024);
b69e47
 
b69e47
     /* We've now calculated the autotuning values. Do we need to apply it?
b69e47
      * we use the logic of "if size is 0, or autosize is > 0. This way three
b69e47
@@ -191,13 +172,12 @@ ldbm_back_start_autotune(struct ldbminfo *li) {
b69e47
 
b69e47
     /* First, check the dbcache */
b69e47
     if (li->li_dbcachesize == 0 || li->li_cache_autosize > 0) {
b69e47
-        slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "cache autosizing: db cache: %luk\n", db_pages*(pagesize/1024));
b69e47
-        cache_size_to_configure = (unsigned long)(db_pages * pagesize);
b69e47
-        if (cache_size_to_configure < (500 * MEGABYTE)) {
b69e47
-            cache_size_to_configure = (unsigned long)((db_pages * pagesize) / 1.25);
b69e47
+        slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "cache autosizing: db cache: %luk\n", db_size / 1024);
b69e47
+        if (db_size < (500 * MEGABYTE)) {
b69e47
+            db_size = db_size / 1.25;
b69e47
         }
b69e47
         /* Have to set this value through text. */
b69e47
-        sprintf(size_to_str, "%lu", cache_size_to_configure);
b69e47
+        sprintf(size_to_str, "%" PRIu64 , db_size);
b69e47
         ldbm_config_internal_set(li, CONFIG_DBCACHESIZE, size_to_str);
b69e47
     }
b69e47
     total_cache_size += li->li_dbcachesize;
b69e47
@@ -205,7 +185,7 @@ ldbm_back_start_autotune(struct ldbminfo *li) {
b69e47
     /* For each backend */
b69e47
     /*   apply the appropriate cache size if 0 */
b69e47
     if (backend_count > 0 ) {
b69e47
-        li->li_cache_autosize_ec = (unsigned long)entry_pages * pagesize;
b69e47
+        li->li_cache_autosize_ec = entry_size;
b69e47
     }
b69e47
 
b69e47
     for (inst_obj = objset_first_obj(li->li_instance_set); inst_obj;
b69e47
@@ -220,7 +200,7 @@ ldbm_back_start_autotune(struct ldbminfo *li) {
b69e47
          * it's highly unlikely.
b69e47
          */
b69e47
         if (cache_size == 0 || cache_size == MINCACHESIZE || li->li_cache_autosize > 0) {
b69e47
-            slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "cache autosizing: %s entry cache (%lu total): %luk\n", inst->inst_name, backend_count, entry_pages*(pagesize/1024));
b69e47
+            slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "cache autosizing: %s entry cache (%lu total): %luk\n", inst->inst_name, backend_count, entry_size / 1024);
b69e47
             cache_set_max_entries(&(inst->inst_cache), -1);
b69e47
             cache_set_max_size(&(inst->inst_cache), li->li_cache_autosize_ec, CACHE_TYPE_ENTRY);
b69e47
         }
b69e47
@@ -229,8 +209,8 @@ ldbm_back_start_autotune(struct ldbminfo *li) {
b69e47
         db_size = dblayer_get_id2entry_size(inst);
b69e47
         if (cache_size < db_size) {
b69e47
             slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start",
b69e47
-                  "%s: entry cache size %lu B is "
b69e47
-                  "less than db size %lu B; "
b69e47
+                  "%s: entry cache size %"PRIu64" B is "
b69e47
+                  "less than db size %"PRIu64" B; "
b69e47
                   "We recommend to increase the entry cache size "
b69e47
                   "nsslapd-cachememsize.\n",
b69e47
                   inst->inst_name, cache_size, db_size);
b69e47
@@ -244,37 +224,36 @@ ldbm_back_start_autotune(struct ldbminfo *li) {
b69e47
     /* autosizing importCache */
b69e47
     if (li->li_import_cache_autosize > 0) {
b69e47
         /* Use import percentage here, as it's been corrected for -1 behaviour */
b69e47
-        import_pages = (import_percentage * pages) / 100;
b69e47
-        import_size = import_pages * pagesize;
b69e47
-        issane = util_is_cachesize_sane(&import_size);
b69e47
-        if (!issane) {
b69e47
+        import_size = (import_percentage * mi->system_total_bytes) / 100;
b69e47
+        issane = util_is_cachesize_sane(mi, &import_size);
b69e47
+        if (issane == UTIL_CACHESIZE_REDUCED) {
b69e47
             slapi_log_err(SLAPI_LOG_WARNING, "ldbm_back_start", "Your autosized import cache values have been reduced. Likely your nsslapd-import-cache-autosize percentage is too high.\n");
b69e47
         }
b69e47
         /* We just accept the reduced allocation here. */
b69e47
-        import_pages = import_size / pagesize;
b69e47
-        slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "cache autosizing: import cache: %luk\n",
b69e47
-        import_pages*(pagesize/1024));
b69e47
+        slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "cache autosizing: import cache: %"PRIu64"k\n", import_size / 1024);
b69e47
 
b69e47
-        sprintf(size_to_str, "%lu", (unsigned long)(import_pages * pagesize));
b69e47
+        sprintf(size_to_str, "%"PRIu64, import_size);
b69e47
         ldbm_config_internal_set(li, CONFIG_IMPORT_CACHESIZE, size_to_str);
b69e47
     }
b69e47
 
b69e47
     /* Finally, lets check that the total result is sane. */
b69e47
-    slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "total cache size: %lu B; \n", total_cache_size);
b69e47
+    slapi_log_err(SLAPI_LOG_NOTICE, "ldbm_back_start", "total cache size: %"PRIu64" B; \n", total_cache_size);
b69e47
 
b69e47
-    issane = util_is_cachesize_sane(&total_cache_size);
b69e47
-    if (!issane) {
b69e47
+    issane = util_is_cachesize_sane(mi, &total_cache_size);
b69e47
+    if (issane != UTIL_CACHESIZE_VALID) {
b69e47
         /* Right, it's time to panic */
b69e47
         slapi_log_err(SLAPI_LOG_WARNING, "ldbm_back_start", "It is highly likely your memory configuration of all backends will EXCEED your systems memory.\n");
b69e47
         slapi_log_err(SLAPI_LOG_WARNING, "ldbm_back_start", "In a future release this WILL prevent server start up. You MUST alter your configuration.\n");
b69e47
-        slapi_log_err(SLAPI_LOG_WARNING, "ldbm_back_start", "Total entry cache size: %lu B; dbcache size: %lu B; available memory size: %lu B; \n",
b69e47
-                  (PRUint64)total_cache_size, (PRUint64)li->li_dbcachesize, availpages * pagesize
b69e47
+        slapi_log_err(SLAPI_LOG_WARNING, "ldbm_back_start", "Total entry cache size: %"PRIu64" B; dbcache size: %"PRIu64" B; available memory size: %"PRIu64" B; \n",
b69e47
+                    total_cache_size, (uint64_t)li->li_dbcachesize, mi->system_available_bytes
b69e47
         );
b69e47
         slapi_log_err(SLAPI_LOG_WARNING, "ldbm_back_start", "%s\n", msg);
b69e47
         /* WB 2016 - This should be UNCOMMENTED in a future release */
b69e47
         /* return SLAPI_FAIL_GENERAL; */
b69e47
     }
b69e47
 
b69e47
+    spal_meminfo_destroy(mi);
b69e47
+
b69e47
     /* == End autotune == */
b69e47
     return 0;
b69e47
 }
b69e47
diff --git a/ldap/servers/slapd/bind.c b/ldap/servers/slapd/bind.c
b69e47
index f83df7d..648a0f9 100644
b69e47
--- a/ldap/servers/slapd/bind.c
b69e47
+++ b/ldap/servers/slapd/bind.c
b69e47
@@ -853,25 +853,25 @@ log_bind_access (
b69e47
 {
b69e47
     if (method == LDAP_AUTH_SASL && saslmech && msg) {
b69e47
         slapi_log_access( LDAP_DEBUG_STATS, 
b69e47
-                          "conn=%" NSPRIu64 " op=%d BIND dn=\"%s\" "
b69e47
+                          "conn=%" PRIu64 " op=%d BIND dn=\"%s\" "
b69e47
                           "method=sasl version=%d mech=%s, %s\n",
b69e47
                           pb->pb_conn->c_connid, pb->pb_op->o_opid, dn,
b69e47
                           version, saslmech, msg );
b69e47
     } else if (method == LDAP_AUTH_SASL && saslmech) {
b69e47
         slapi_log_access( LDAP_DEBUG_STATS, 
b69e47
-                          "conn=%" NSPRIu64 " op=%d BIND dn=\"%s\" "
b69e47
+                          "conn=%" PRIu64 " op=%d BIND dn=\"%s\" "
b69e47
                           "method=sasl version=%d mech=%s\n",
b69e47
                           pb->pb_conn->c_connid, pb->pb_op->o_opid, dn,
b69e47
                           version, saslmech );
b69e47
     } else if (msg) {
b69e47
         slapi_log_access( LDAP_DEBUG_STATS, 
b69e47
-                          "conn=%" NSPRIu64 " op=%d BIND dn=\"%s\" "
b69e47
+                          "conn=%" PRIu64 " op=%d BIND dn=\"%s\" "
b69e47
                           "method=%" BERTAG_T " version=%d, %s\n",
b69e47
                           pb->pb_conn->c_connid, pb->pb_op->o_opid, dn,
b69e47
                           method, version, msg );
b69e47
     } else {
b69e47
         slapi_log_access( LDAP_DEBUG_STATS, 
b69e47
-                          "conn=%" NSPRIu64 " op=%d BIND dn=\"%s\" "
b69e47
+                          "conn=%" PRIu64 " op=%d BIND dn=\"%s\" "
b69e47
                           "method=%" BERTAG_T " version=%d\n",
b69e47
                           pb->pb_conn->c_connid, pb->pb_op->o_opid, dn,
b69e47
                           method, version );
b69e47
diff --git a/ldap/servers/slapd/compare.c b/ldap/servers/slapd/compare.c
b69e47
index 07ded98..3c03053 100644
b69e47
--- a/ldap/servers/slapd/compare.c
b69e47
+++ b/ldap/servers/slapd/compare.c
b69e47
@@ -111,7 +111,7 @@ do_compare( Slapi_PBlock *pb )
b69e47
 	    rawdn, ava.ava_type, 0 );
b69e47
 
b69e47
 	slapi_log_access( LDAP_DEBUG_STATS,
b69e47
-	    "conn=%" NSPRIu64 " op=%d CMP dn=\"%s\" attr=\"%s\"\n",
b69e47
+	    "conn=%" PRIu64 " op=%d CMP dn=\"%s\" attr=\"%s\"\n",
b69e47
 	    pb->pb_conn->c_connid, pb->pb_op->o_opid, dn, ava.ava_type );
b69e47
 
b69e47
 	/*
b69e47
diff --git a/ldap/servers/slapd/connection.c b/ldap/servers/slapd/connection.c
b69e47
index 7c83c66..359b59a 100644
b69e47
--- a/ldap/servers/slapd/connection.c
b69e47
+++ b/ldap/servers/slapd/connection.c
b69e47
@@ -411,7 +411,7 @@ connection_reset(Connection* conn, int ns, PRNetAddr * from, int fromLen, int is
b69e47
 
b69e47
     /* log useful stuff to our access log */
b69e47
     slapi_log_access( LDAP_DEBUG_STATS,
b69e47
-        "conn=%" NSPRIu64 " fd=%d slot=%d %sconnection from %s to %s\n",
b69e47
+        "conn=%" PRIu64 " fd=%d slot=%d %sconnection from %s to %s\n",
b69e47
         conn->c_connid, conn->c_sd, ns, pTmp, str_ip, str_destip );
b69e47
 
b69e47
     /* initialize the remaining connection fields */
b69e47
@@ -511,7 +511,7 @@ connection_need_new_password(const Connection *conn, const Operation *op, Slapi_
b69e47
 		op->o_tag != LDAP_REQ_ABANDON && op->o_tag != LDAP_REQ_EXTENDED)
b69e47
 	{
b69e47
 		slapi_add_pwd_control ( pb, LDAP_CONTROL_PWEXPIRED, 0);	
b69e47
-		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" NSPRIu64 " op=%d %s\n",
b69e47
+		slapi_log_access( LDAP_DEBUG_STATS, "conn=%" PRIu64 " op=%d %s\n",
b69e47
 			pb->pb_conn->c_connid, pb->pb_op->o_opid,
b69e47
 			"UNPROCESSED OPERATION - need new password" );
b69e47
 		send_ldap_result( pb, LDAP_UNWILLING_TO_PERFORM, 
b69e47
@@ -562,7 +562,7 @@ connection_dispatch_operation(Connection *conn, Operation *op, Slapi_PBlock *pb)
b69e47
 	    (op->o_tag != LDAP_REQ_EXTENDED) && (op->o_tag != LDAP_REQ_UNBIND) &&
b69e47
 	    (op->o_tag != LDAP_REQ_ABANDON)) {
b69e47
 		slapi_log_access( LDAP_DEBUG_STATS,
b69e47
-			"conn=%" NSPRIu64 " op=%d UNPROCESSED OPERATION"
b69e47
+			"conn=%" PRIu64 " op=%d UNPROCESSED OPERATION"
b69e47
 			" - Insufficient SSF (local_ssf=%d sasl_ssf=%d ssl_ssf=%d)\n",
b69e47
 			conn->c_connid, op->o_opid, conn->c_local_ssf,
b69e47
 			conn->c_sasl_ssf, conn->c_ssl_ssf );
b69e47
@@ -591,7 +591,7 @@ connection_dispatch_operation(Connection *conn, Operation *op, Slapi_PBlock *pb)
b69e47
 	    (op->o_tag != LDAP_REQ_ABANDON) && (op->o_tag != LDAP_REQ_SEARCH))))
b69e47
 	{
b69e47
 		slapi_log_access( LDAP_DEBUG_STATS,
b69e47
-			"conn=%" NSPRIu64 " op=%d UNPROCESSED OPERATION"
b69e47
+			"conn=%" PRIu64 " op=%d UNPROCESSED OPERATION"
b69e47
 			" - Anonymous access not allowed\n",
b69e47
 			conn->c_connid, op->o_opid );
b69e47
 
b69e47
@@ -650,7 +650,7 @@ connection_dispatch_operation(Connection *conn, Operation *op, Slapi_PBlock *pb)
b69e47
 			int ret = setsockopt(conn->c_sd,IPPROTO_TCP,TCP_CORK,&i,sizeof(i));
b69e47
 			if (ret < 0) {