#include "stdinc.h" #include "modules.h" #include "hook.h" #include "client.h" #include "s_conf.h" static void check_new_user(void *data); mapi_hfn_list_av1 drain_hfnlist[] = { { "new_local_user", check_new_user }, { NULL, NULL } }; static const char drain_desc[] = "Prevents new, non-exempt users from connecting to this server."; DECLARE_MODULE_AV2(drain, NULL, NULL, NULL, NULL, drain_hfnlist, NULL, NULL, drain_desc); static void check_new_user(void *vdata) { struct Client *source_p = vdata; const char *drain_reason = ConfigFileEntry.drain_reason; if (IsAnyDead(source_p)) return; if (drain_reason == NULL) drain_reason = "This server is not accepting connections."; if (IsExemptKline(source_p)) return; exit_client(source_p, source_p, &me, drain_reason); }