fixed dynamic devnull class handling
[srvx.git] / src / opserv.c
index dddf23bd11e53dc23df4634c6c42860256c53b54..ccede743d5fb9f1ff7b6677cfd83333ee3a48ba4 100644 (file)
@@ -4762,6 +4762,17 @@ struct devnull_class devnull_user_get_class(struct handle_info *hi) {
     struct devnull_class th;
     memset(&th, 0, sizeof(th));
     
+    if(devnull_check_priv_func) {
+        struct devnull_class ext_class = ((struct devnull_class (*)(struct handle_info *))devnull_check_priv_func)(hi);
+        th.modes |= ext_class.modes;
+        if(ext_class.name)
+            th.name = ext_class.name;
+        if(DEVNULL_HAS_PRIV(&th, CHANLIMIT))
+            th.maxchan = ext_class.maxchan;
+        if(DEVNULL_HAS_PRIV(&th, MAXSENDQ))
+            th.maxsendq = ext_class.maxsendq;
+    }
+    
     if(hi->devnull_id) {
         struct devnull_class *thp;
         if((thp = devnull_find_id(hi->devnull_id))) {