From 056b14b4254cf539d03119753b22fc76349b0e1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be>
Date: Mon, 8 Aug 2016 15:59:00 +0200
Subject: [PATCH] Fixes #5012 New attempt at migrating printers

---
 contrib/bin/fusiondirectory-setup | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/contrib/bin/fusiondirectory-setup b/contrib/bin/fusiondirectory-setup
index 02e58697f..af3aa67c0 100644
--- a/contrib/bin/fusiondirectory-setup
+++ b/contrib/bin/fusiondirectory-setup
@@ -1604,6 +1604,8 @@ sub migrate_printers {
 
     if (ask_yn_question("Migrate these entries to fdPrinter objectClass?")) {
       foreach my $entry (@entries) {
+        $mesg = $ldap->moddn($entry->dn(), newrdn => "cn=".$entry->get_value('cn')."+ipHostNumber=".$entry->get_value('ipHostNumber'));
+        $mesg->code && print $entry->dn().": ".$mesg->error."\n";
         my @replace = ('ieee802Device', 'ipHost', 'fdPrinter');
         my @classes = $entry->get_value('objectClass');
         foreach my $class (@classes) {
@@ -1611,7 +1613,8 @@ sub migrate_printers {
             push(@replace, "$class");
           }
         }
-        $mesg = $ldap->modify($entry->dn(), replace => [ "objectClass" => \@replace ]);
+        $entry->replace("objectClass" => \@replace);
+        $mesg = $ldap->add($entry);
         $mesg->code && print $entry->dn().": ".$mesg->error."\n";
         undef @replace;
       }
-- 
GitLab