Merge branch 'HostServ' of ssh://git.pk910.de:16110/srvx into HostServ
authorNurPech <nurpech@nurpech.de>
Mon, 7 Jan 2013 20:44:11 +0000 (21:44 +0100)
committerNurPech <nurpech@nurpech.de>
Mon, 7 Jan 2013 20:44:11 +0000 (21:44 +0100)
src/mod-hostserv.c

index 29ef3e3f442c479b591b02376bc7ab60667c9036..234d6100a028cb08bcd1f418fc541cb1b7394a75 100644 (file)
@@ -969,8 +969,20 @@ static MODCMD_FUNC(cmd_addmanager) {
     }
     if(fhinfo.slfh)
         hs_add_manager_secondlevel(fhinfo.slfh, huser);
-    else
+    else {
         hs_add_manager_toplevel(fhinfo.tlfh, huser);
+        //remove from all slfh's
+        struct hs_manager *next_manager;
+        struct hs_secondlevel *slfh;
+        for(manager = huser->managements; manager; manager = next_manager) {
+            next_manager = manager->next;
+            if(manager->type == 2) {
+                slfh = manager->object;
+                if(slfh->toplevel == fhinfo.tlfh)
+                    hs_del_manager(manager, 1);
+            }
+        }
+    }
     reply("HSMSG_MANAGER_ADDED", hi->handle, fhinfo.slfh_name, fhinfo.tlfh_name);
     return 1;
 }