deleted obsolete checks
[srvx.git] / src / mod-hostserv.c
index 56ef7454225b69f830a7e323f8e5177b01c75ab8..5952215f13f47f332ec58289fb418e6f2a10d007 100644 (file)
  *     "hostserv" {
  *         "nick" "HostServ";
  *         "modes" "+iok";
-           "toplevel_access" "600";
+ *         "toplevel_access" "600";
+ *         "fallback_other_assignment" "1"; //fall back to another assignment when active assignment gets removed
+ *         "manager_can_del_toplevel" "0"; //managers of a toplevel group may delete the whole group
+ *         "manager_can_del_secondlevel" "0"; //managers of a secondlevel group may delete the whole group
  *     };
  *  };
  *
@@ -339,7 +342,7 @@ static void hs_activate_assignment(struct hs_user *user, struct hs_assignment *a
     assert((!assignment || (assignment->user == user)));
     
     if(user->assignments) {
-        for(assgn = assignment->user->assignments; assgn; assgn = assgn->unext)
+        for(assgn = user->assignments; assgn; assgn = assgn->unext)
             assgn->active = 0;
     }
     
@@ -356,7 +359,7 @@ static void hs_activate_assignment(struct hs_user *user, struct hs_assignment *a
         assignment->active = 1;
     }
     
-    apply_fakehost(assignment->user->hi, NULL);
+    apply_fakehost(user->hi, NULL);
 }
 
 static struct hs_assignment *hs_add_assignment(struct hs_secondlevel *slfh, struct hs_user *user) {
@@ -966,9 +969,6 @@ static MODCMD_FUNC(cmd_set) {
         hs_activate_assignment(hs_user, NULL);
         return 1;
     } else {
-        if(!strchr(argv[1], '.')) {
-            
-        }
         fakehost = argv[1];
         char *slfh_name = fakehost;
         char *tlfh_name = strchr(fakehost, '.');