Merhaba arkadaşlar.
Modül uzantısı -> m_portkontrol.c olup, çalışma sistemi tamamen modül içerisine belirtilen PORT'(lar) doğrultusun da haraket eder, port girişine göre de #Güvenlik kanalına alınır ve o esnada hiçbir komutu uygulayamaz..
DIPNOT: Birden fazla port için, if satırlarının // başından kaldırınız..
#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
#include
#ifdef _WIN32
#include
#endif
#include
#include "h.h"
#ifdef _WIN32
#include "version.h"
#endif
#define ACIKLAMA "Port korumasi by Entrance"
/* -> Oper kanalına bilgi. */
#define RAPOR "#Opers"
/* -> Kullanıcıya gönderilecek uyari.*/
#define Kullanici " Kullanmış olduğunuz PORT sunucumuz üzerinde yasaktır, bu nedenle güvenlik kanalına alındınız .."
/* -> Korumaya takilanlarin alinacagi kanal. */
char *knl = "#Güvenlik";
char *ent[3], channels[512];
DLLFUNC int m_portkontrol(aClient *, aChannel *);
ModuleHeader MOD_HEADER(m_portkontrol)
= {
"m_portkontrol.c",
ACIKLAMA,
ACIKLAMA,
"3.2-b8-1",
NULL
};
DLLFUNC int MOD_INIT(m_portkontrol)(ModuleInfo *modinfo)
{
HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_portkontrol);
return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_portkontrol)(int module_load)
{
return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(m_portkontrol)(int module_unload)
{
return MOD_SUCCESS;
}
DLLFUNC int m_portkontrol(aClient *sptr, aChannel *E) {
if (MyConnect(sptr) || !IsULine(sptr) || !IsServer(sptr)) {
if (sptr->listener->port != 1988)
//if (sptr->listener->port != 1986)
//if (sptr->listener->port != 1987)
//if (sptr->listener->port != 1988)
//if (sptr->listener->port != 1989)
return 0;
SetShunned(sptr);
if ((E = find_channel(RAPOR, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, E, ":PORT PRIVMSG %s :Korumasına takılan, NICK: -> \2%s\2 IDENTD: -> \2%s\2 IP: -> \2%s\2", RAPOR, sptr->name, sptr->user->username, sptr->user->realhost);
sendto_one(sptr, ":UYARI PRIVMSG %s :%s", sptr->name, Kullanici);
strlcpy(channels, knl, sizeof(channels));
ent[0] = sptr->name;
ent[1] = channels;
ent[2] = NULL;
return do_cmd(sptr, sptr, "JOIN", 2, ent);
}
return 0;
}