IRCALEM.Com Genel Forum, IRC Forumu IF - Genel IRCd (Sunucu, Servis, Botlar, Korumalar) UnrealIRCd Unreal3.2.x - Modülleri Unreal3.2 Fullname ve İdent Koruma Modülü
irc

Unreal3.2 Fullname ve İdent Koruma Modülü
Aytac
Unreal3.2 Fullname ve İdent Koruma Modülü
0
491
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Etiketler
unreal3 modülü koruma ident fullname ve

Bu konuyu görüntüleyen kullanıcı(lar):1 Ziyaretçi
Şuan Offine!
Şuan Offine!
Aytac Administrator
********
Proje Sorumlusu

  • Üyelik tarihi    04.02.2020
  • Konum  78 Karabük
  • Konular351
  • Mesajlar364
  • Verilen beğeni8 in 5 posts
  • Alınan beğeni6
  • Rep puanı 6

Modül, içerisine yapımcısı tarafından açıklamalar eklenmiş o yüzden ek bir açıklama yapmıyorum normâl modül kurulumunu gerçekleştirip, aktif edebilirsiniz.

m_koruma.c modülü;

Kod :
#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "channel.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#endif
#include <fcntl.h>
#include "h.h"
#ifdef _WIN32
#include "version.h"
#endif

#define module     "m_koruma"
#define aciklama   "Sunucu Korumasi By EceLMeriC"
#define unversion  "3.2-b8-1"

/* Kullaniciya gidecek olan uyari mesaji. */
#define sebeb      "Uyari Mesaji"

/* Admin ve operlere uyari. */
#define monitor    "#Opers"

/* Korumaya takilanlarin girecegi kanal. */
char *kanal = "#X";
char *eco[3], channels[512];

static Hook *ConFullname, *Conidentd;
static int m_fullname(aClient *, aChannel *);
static int m_identd(aClient *, aChannel *);

ModuleHeader MOD_HEADER(m_koruma)
= {
     module,
     aciklama,
     aciklama,
     unversion,
     NULL
};

DLLFUNC int MOD_INIT(m_koruma)(ModuleInfo *modinfo)
{

   ConFullname = HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_fullname);
   Conidentd   = HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_identd);
   return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(m_koruma)(int module_load)
{
   return MOD_SUCCESS;
}

DLLFUNC int MOD_UNLOAD(m_koruma)(int module_unload)
{
   return MOD_SUCCESS;
}

/* Fullname listesi */

static char *fullnamelistesi[] = {
  "Ornek-Fullname1",
  "Ornek-Fullname2",
  "Ornek-Fullname3",
  "Ornek-Fullname4",
  "Ornek-Fullname5",
  "Ornek-Fullname6",
  "Ornek-Fullname7",
  "Ornek-Fullname8",
  "Ornek-Fullname9",
   NULL
};

static int fullname_listesi(char *fullname)
{

char **flist;

for (flist=fullnamelistesi; *flist; *flist++)
{

if (!strcmp(fullname, *flist))
   return 1;
  }
  return 0;
}

static int m_fullname(aClient *sptr, aChannel *chptr) {

if (fullname_listesi(sptr->info)) {
SetShunned(sptr);
if ((chptr = find_channel(monitor, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, chptr, ":Koruma PRIVMSG %s :Nick: \2%s\2 Fullname: \2%s\2 IP: \2%s\2", monitor, sptr->name, sptr->info, sptr->user->realhost);
sendto_one(sptr, ":Koruma PRIVMSG %s :%s", sptr->name, sebeb);
strlcpy(channels, kanal, sizeof(channels));
eco[0] = sptr->name;
eco[1] = channels;
eco[2] = NULL;
return do_cmd(sptr, sptr, "JOIN", 2, eco);
}
return 0;
}

/* identd listesi */

static char *identdlistesi[] = {
  "Ornek-identd1",
  "Ornek-identd2",
  "Ornek-identd3",
  "Ornek-identd4",
  "Ornek-identd5",
  "Ornek-identd6",
  "Ornek-identd7",
  "Ornek-identd8",
  "Ornek-identd9",
   NULL
};

static int identd_listesi(char *identd)
{

char **ilist;

for (ilist=identdlistesi; *ilist; *ilist++)
{
if (!strcmp(identd, *ilist))
   return 1;
  }
  return 0;
}

static int m_identd(aClient *sptr, aChannel *chptr) {

if (identd_listesi(sptr->user->username)) {
SetShunned(sptr);
if ((chptr = find_channel(monitor, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, chptr, ":Koruma PRIVMSG %s :Nick: \2%s\2 identd: \2%s\2 IP: \2%s\2", monitor, sptr->name, sptr->user->username, sptr->user->realhost);
sendto_one(sptr, ":Koruma PRIVMSG %s :%s", sptr->name, sebeb);
strlcpy(channels, kanal, sizeof(channels));
eco[0] = sptr->name;
eco[1] = channels;
eco[2] = NULL;
return do_cmd(sptr, sptr, "JOIN", 2, eco);
}
return 0;
}
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş.


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  #Karantina Girişli Joindelay Modülü Aytac 6 1,279 03.04.2021, 12:36
Son Mesaj: iSyan
  Quarantine modülü Aytac 0 409 12.04.2020, 16:25
Son Mesaj: Aytac
  Unreal3.2 Otomatik Random Global Mesajı Aytac 0 498 12.04.2020, 16:09
Son Mesaj: Aytac
  Belirtilen Komutları Loglama Modülü Aytac 0 522 12.04.2020, 16:00
Son Mesaj: Aytac
  Unreal3.2 Kanal ve Özel mesajları belirtilen kanalda takip etme Aytac 0 721 12.04.2020, 14:30
Son Mesaj: Aytac

Foruma Git: