X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fopserv.c;h=ccede743d5fb9f1ff7b6677cfd83333ee3a48ba4;hb=91aeb5684130fc8d5322af1eca7be2e2f3d1e928;hp=69a21fc9d87dc8cf7b75542e418e5495638b8786;hpb=4da6fa0dba1e49d4f6fca590edd08bd0ad9ce5a7;p=srvx.git diff --git a/src/opserv.c b/src/opserv.c index 69a21fc..ccede74 100644 --- a/src/opserv.c +++ b/src/opserv.c @@ -79,7 +79,7 @@ #define KEY_ISSUER "issuer" #define KEY_ISSUED "issued" #define KEY_DEVNULL_CLASSES "classes" -#define KEY_DEVNULL_LASTID "lastid" +#define KEY_DEVNULL_LASTID "devnull_id" #define KEY_DEVNULL_ID "id" #define KEY_DEVNULL_NAME "class" #define KEY_DEVNULL_MODE "modes" @@ -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))) {