From 97bdef2d562e447d521202beb485c3948b0e7214 Mon Sep 17 00:00:00 2001 From: James Chapman Date: Mon, 30 Nov 2020 15:28:05 +0000 Subject: [PATCH 2/6] Issue 4418 - ldif2db - offline. Warn the user of skipped entries Bug Description: During an ldif2db import entries that do not conform to various constraints will be skipped and not imported. On completition of an import with skipped entries, the server returns a success exit code and logs the skipped entry detail to the error logs. The success exit code could lead the user to believe that all entries were successfully imported. Fix Description: If a skipped entry occurs during import, the import will continue and a warning will be returned to the user. CLI tools for offline import updated to handle warning code. Test added to generate an incorrect ldif entry and perform an import. Fixes: #4418 Reviewed by: Firstyear, droideck (Thanks) --- ldap/servers/slapd/slapi-private.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ldap/servers/slapd/slapi-private.h b/ldap/servers/slapd/slapi-private.h index 31cb33472..e0092d571 100644 --- a/ldap/servers/slapd/slapi-private.h +++ b/ldap/servers/slapd/slapi-private.h @@ -1476,6 +1476,16 @@ typedef enum task_warning_t{ int32_t slapi_pblock_get_task_warning(Slapi_PBlock *pb); void slapi_pblock_set_task_warning(Slapi_PBlock *pb, task_warning warn); +/* task warnings */ +typedef enum task_warning_t{ + WARN_UPGARDE_DN_FORMAT_ALL = (1 << 0), + WARN_UPGRADE_DN_FORMAT = (1 << 1), + WARN_UPGRADE_DN_FORMAT_SPACE = (1 << 2), + WARN_SKIPPED_IMPORT_ENTRY = (1 << 3) +} task_warning; + +int32_t slapi_pblock_get_task_warning(Slapi_PBlock *pb); +void slapi_pblock_set_task_warning(Slapi_PBlock *pb, task_warning warn); int slapi_exists_or_add_internal(Slapi_DN *dn, const char *filter, const char *entry, const char *modifier_name); -- 2.26.2