/* * ================================================================= * Filename: netadmins.c * Description: Advanced NetAdmin Protection System * Author: AngryWolf * Developer: Raistlin (notice sistemi eklendi ve root nicki muaf tutuldu) * Version: Unreal3.2 * ================================================================= */ #include "config.h" #include "struct.h" #include "common.h" #include "sys.h" #include "numeric.h" #include "msg.h" #include "channel.h" #include #include #include #include "h.h" extern void sendto_one(aClient *to, char *pattern, ...); #define OVR_FUNC(x) int (x)(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[]) static OVR_FUNC(ovr_kill); static OVR_FUNC(ovr_kline); static OVR_FUNC(ovr_zline); static OVR_FUNC(ovr_gline); static OVR_FUNC(ovr_shun); static Cmdoverride *OvrKill=NULL, *OvrKline=NULL, *OvrZline=NULL, *OvrGline=NULL, *OvrShun=NULL; static ModuleInfo *MyModInfo; ModuleHeader MOD_HEADER(netadmins) = { "netadmins", "v3.3", "Excluding root - Author: AngryWolf - NetAdmin all K/G/Z/Shun Lines protection", "3.2-b8-1", NULL }; void send_global_alert(char *mesaj) { sendto_snomask_global(4, "\002[NetAdmin-Protection]\002 %s", mesaj); } int Mod_Test(ModuleInfo *modinfo) { return MOD_SUCCESS; } int Mod_Init(ModuleInfo *modinfo) { MyModInfo = modinfo; return MOD_SUCCESS; } int Mod_Load(int module_load) { OvrKill = CmdoverrideAdd(MyModInfo->handle, "KILL", ovr_kill); OvrKline = CmdoverrideAdd(MyModInfo->handle, "KLINE", ovr_kline); OvrZline = CmdoverrideAdd(MyModInfo->handle, "ZLINE", ovr_zline); OvrGline = CmdoverrideAdd(MyModInfo->handle, "GLINE", ovr_gline); OvrShun = CmdoverrideAdd(MyModInfo->handle, "SHUN", ovr_shun); return MOD_SUCCESS; } int Mod_Unload(int module_unload) { if(OvrKill) CmdoverrideDel(OvrKill); if(OvrKline) CmdoverrideDel(OvrKline); if(OvrZline) CmdoverrideDel(OvrZline); if(OvrGline) CmdoverrideDel(OvrGline); if(OvrShun) CmdoverrideDel(OvrShun); return MOD_SUCCESS; } static OVR_FUNC(ovr_kill) { aClient *acptr; if (!IsPerson(sptr) || IsULine(sptr) || !strcasecmp(sptr->name, "root")) return CallCmdoverride(ovr, cptr, sptr, parc, parv); if (parc > 1 && (acptr = find_client(parv[1], NULL)) && IsNetAdmin(acptr)) { char buf[512]; snprintf(buf, sizeof(buf), "KILL: \002%s\002 (%s) attempted a restriction against NetAdmin \002%s\002 (%s)", sptr->name, sptr->user->server, acptr->name, acptr->user->server); sendto_one(sptr, ":%s NOTICE %s :Permission denied: Network Administrator protection is active.", me.name, sptr->name); send_global_alert(buf); return 0; } return CallCmdoverride(ovr, cptr, sptr, parc, parv); } static OVR_FUNC(ovr_kline) { aClient *acptr; if (!IsPerson(sptr) || IsULine(sptr) || !strcasecmp(sptr->name, "root") || parc < 2) return CallCmdoverride(ovr, cptr, sptr, parc, parv); if ((acptr = find_client(parv[1], NULL)) && IsNetAdmin(acptr)) { char buf[512]; snprintf(buf, sizeof(buf), "KLINE: \002%s\002 (%s) attempted a restriction against NetAdmin \002%s\002 (%s)", sptr->name, sptr->user->server, acptr->name, acptr->user->server); sendto_one(sptr, ":%s NOTICE %s :Permission denied: Network Administrator protection is active.", me.name, sptr->name); send_global_alert(buf); return 0; } return CallCmdoverride(ovr, cptr, sptr, parc, parv); } static OVR_FUNC(ovr_zline) { aClient *acptr; if (!IsPerson(sptr) || IsULine(sptr) || !strcasecmp(sptr->name, "root") || parc < 2) return CallCmdoverride(ovr, cptr, sptr, parc, parv); if ((acptr = find_client(parv[1], NULL)) && IsNetAdmin(acptr)) { char buf[512]; snprintf(buf, sizeof(buf), "ZLINE: \002%s\002 (%s) attempted a restriction against NetAdmin \002%s\002 (%s)", sptr->name, sptr->user->server, acptr->name, acptr->user->server); sendto_one(sptr, ":%s NOTICE %s :Permission denied: Network Administrator protection is active.", me.name, sptr->name); send_global_alert(buf); return 0; } return CallCmdoverride(ovr, cptr, sptr, parc, parv); } static OVR_FUNC(ovr_gline) { aClient *acptr; if (!IsPerson(sptr) || IsULine(sptr) || !strcasecmp(sptr->name, "root") || parc < 2) return CallCmdoverride(ovr, cptr, sptr, parc, parv); if ((acptr = find_client(parv[1], NULL)) && IsNetAdmin(acptr)) { char buf[512]; snprintf(buf, sizeof(buf), "GLINE: \002%s\002 (%s) attempted a restriction against NetAdmin \002%s\002 (%s)", sptr->name, sptr->user->server, acptr->name, acptr->user->server); sendto_one(sptr, ":%s NOTICE %s :Permission denied: Network Administrator protection is active.", me.name, sptr->name); send_global_alert(buf); return 0; } return CallCmdoverride(ovr, cptr, sptr, parc, parv); } static OVR_FUNC(ovr_shun) { aClient *acptr; if (!IsPerson(sptr) || IsULine(sptr) || !strcasecmp(sptr->name, "root") || parc < 2) return CallCmdoverride(ovr, cptr, sptr, parc, parv); if ((acptr = find_client(parv[1], NULL)) && IsNetAdmin(acptr)) { char buf[512]; snprintf(buf, sizeof(buf), "SHUN: \002%s\002 (%s) attempted a restriction against NetAdmin \002%s\002 (%s)", sptr->name, sptr->user->server, acptr->name, acptr->user->server); sendto_one(sptr, ":%s NOTICE %s :Permission denied: Network Administrator protection is active.", me.name, sptr->name); send_global_alert(buf); return 0; } return CallCmdoverride(ovr, cptr, sptr, parc, parv); }