IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Unreal IRCd (https://www.ircforumlari.net/unreal-ircd/)
-   -   Coder Arkadaslardan Bir rica (https://www.ircforumlari.net/unreal-ircd/226376-coder-arkadaslardan-bir-rica.html)

janus 24 Haziran 2009 21:03

Coder Arkadaslardan Bir rica
 
Arkadaslar bu programalma dilinden hic birsey anlamadigim icin burada bu konuyu acmayi uygun gordum.. Bir ricam olacakti simdi benim elimde daha onceden burdan almis oldugum bir modul var..

Hatta moduk su;

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_identd"
#define aciklama  "Sunucu identd korumasi"
#define unversion "3.2-b8-1"
#define monitor  "Koruma"
#define isebeb    "Bu identd ile Giris Yapamazsiniz."
#define channel  "#Monitor"
 
static Hook *Connectidentd;
static int connect_identd(aClient *);
 
ModuleHeader MOD_HEADER(m_identd)
= {
    module,
    aciklama,
    aciklama,
    unversion,
    NULL
};
 
DLLFUNC int MOD_INIT(m_identd)(ModuleInfo *modinfo)
{
    Connectidentd  = HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_CONNECT, connect_identd);
    return MOD_SUCCESS;
}
 
DLLFUNC int MOD_LOAD(m_identd)(int module_load)
{
    return MOD_SUCCESS;
}
 
DLLFUNC int MOD_UNLOAD(m_identd)(int module_unload)
{
    return MOD_SUCCESS;
}
 
static char *identdlistesi[] = {
  "X",
  "XX",
  "XXX",
  "XXXX",
  "XXXXX",
  "XXXXXX",
  "XXXXXXX",
  NULL
};
 
static int identd_listesi(char *identd)
{
 
 char **ilist;
 
 for (ilist=identdlistesi; *ilist; *ilist++)
 {
 
 if (!strcmp(identd, *ilist))
    return 1;
 }
    return 0;
}
 
static int connect_identd(aClient *sptr)
{
aChannel *chptr;
 
if (identd_listesi(sptr->user->username)) {
if ((chptr = find_channel(channel, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, chptr, ":%s PRIVMSG %s :Web identd Korumasi: Nick -> \2%s\2 identd -> \2%s\2 IP -> \2%s\2", monitor, channel, sptr->name, sptr->user->username, sptr->user->realhost);
sendto_one(sptr, ":%s NOTICE %s :%s", monitor, sptr->name, isebeb);
return place_host_ban(sptr, BAN_ACT_ZLINE, "Yasak identd Girisi.", 60);
}
return 0;
}

Bu modul belirlenen identlerin girisini engelliyor.. ama ben buna bir kac ekleme yapmak istiyorum.. Burada zaten takilip kaldim..

Ornekle vererek aciklayacagim Ornegin 6663 portuyla baglanip X identine sahip kullanicilarin servera girisini engellemek istiyorum. Ne bileyim girisde iste identinizi degistirin die bi mesaj atmasini.. Umarim anlatabilmisimdir...


Yani burada birden cok ident girisini yasaklayabiliyoruz. Ama once baglantigi pota bakacak sonrada identine bakip islei gerceklesdirecek. Bu ort bi yada bir kactanede olabilir. Yani 6673,6675 bu iki portan baglanip identinde X olanlarş yada XX olanlari..

Bu sekilde duzenleme yaptirtabilirmiyiz bu modul uzerinde. yada buna benzer bir modul varmi?

Simdiden ilgilenen arkadaslara tesekkur ederim.

Diablo 25 Haziran 2009 23:24

Cevap: Coder Arkadaslardan Bir rica
 
if (identd_listesi(sptr->user->username)) {

satırının üzerine

if (sptr->listener->port != 6673)
if (sptr->listener->port != 6675)

şeklinde ekleme yapıp deneyebilirsin.

janus 26 Haziran 2009 14:01

Cevap: Coder Arkadaslardan Bir rica
 
Kod:

m_identport.c: In function `connect_identd':
m_identport.c:87: error: syntax error at end of input
make[2]: *** [custommodule] Error 1
make[2]: Leaving directory `/home/***/Unreal3.2/src/modules'
make[1]: *** [custommodule] Error 2
make[1]: Leaving directory `/home/***/Unreal3.2/src'
make: *** [custommodule] Error 2

Bu hatayi veriyor Kardes yaa :S

Acaba Ayni modulu iki defa yuklemeye calisdigimdan m kaynaklanior.. Yani modulun sini degistirip ikince bi defa daha yuklemeye calisiorum bundan mi kaynaklanior?

janus 26 Haziran 2009 14:27

Cevap: Coder Arkadaslardan Bir rica
 
Hmmm Arkadaslar Tama oldu.. Hata bendeymisde.. Son bir sorum olacak. Simdi bu modul de

static char *identdlistesi[] = {
"X",
"XX",
"XXX",
"XXXX",
"XXXXX",
"XXXXXX",
"XXXXXXX",
NULL

Burada belirtilen idenlere izin veriorr.. Ben burada belirledigim identlerin girmemesini NAsil saglicayacagim..
Yani girmesini degilde girmemesini. Bu konuda nerde bi degisiklik yapabilirz acaba?

Raw 27 Haziran 2009 04:50

Cevap: Coder Arkadaslardan Bir rica
 
Alıntı:

janus Nickli Üyeden Alıntı (Mesaj 746934)
Hmmm Arkadaslar Tama oldu.. Hata bendeymisde.. Son bir sorum olacak. Simdi bu modul de

static char *identdlistesi[] = {
"X",
"XX",
"XXX",
"XXXX",
"XXXXX",
"XXXXXX",
"XXXXXXX",
NULL

Burada belirtilen idenlere izin veriorr.. Ben burada belirledigim identlerin girmemesini NAsil saglicayacagim..
Yani girmesini degilde girmemesini. Bu konuda nerde bi degisiklik yapabilirz acaba?

unrealircd.conf dosyanda boş bir yere ;
Kod:

ban user { mask *ident@*; reason "2Sunucu4.Com1 Sohbet Sunucusuna ident@ ile giris yapamazsiniz!Lütfen4 /emailaddr yenident@1 komutu ile ident seçiniz!"; };
eklersen ident identine sahip kullanıcılar sunucuya giremez bunu alt alta çoğaltabilirsin. İyi çalışmalar .

janus 27 Haziran 2009 05:04

Cevap: Coder Arkadaslardan Bir rica
 
Kardes onu bende biliyorum ama. Sanirim anlatamadim. Burda Porta gore secip atyior. O yuzden module ihtiyac duydum.. Belirledigim porttan ve belirledigim identten girislerde atiorr anlatabildm mi?

EceLMeriC 27 Haziran 2009 13:56

Cevap: Coder Arkadaslardan Bir rica
 
ilk sorun icin, listedeki identleri belirledigin portlarda yasaklamak.

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"
#include "proto.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
 
DLLFUNC int m_portidentd(aClient *sptr, aChannel *chptr);
#define channel "#Monitor"
#define monitor "Koruma"
 
ModuleHeader MOD_HEADER(m_portidentd)
= {
 "m_portidentd",
 "identd korumasi porta gore EceLMeriC",
 "identd korumasi porta gore EceLMeriC",
 "3.2-b8-1",
 NULL
};
 
DLLFUNC int MOD_INIT(m_portidentd)(ModuleInfo *modinfo)
{
 
 HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_CONNECT, m_portidentd);
 return MOD_SUCCESS;
}
 
DLLFUNC int MOD_LOAD(m_portidentd)(int module_load)
{
 return MOD_SUCCESS;
}
 
DLLFUNC int MOD_UNLOAD(m_portidentd)(int module_unload)
{
 return MOD_SUCCESS;
}
 
static char *identdlistesi[] = {
 "X",
 "XX",
 "XXX",
 "XXXX",
 "XXXXX",
 "XXXXXX",
 "XXXXXXX",
 NULL
};
 
static int identd_listesi(char *identd)
{
 
char **ilist;
 
for (ilist=identdlistesi; *ilist; *ilist++)
{
 
if (!strcmp(identd, *ilist))
 return 1;
}
 return 0;
}
 
DLLFUNC int m_portidentd(aClient *sptr, aChannel *chptr)
{
 
if (sptr->listener->port != 6673)
if (sptr->listener->port != 6675)
return 0;
 
if (identd_listesi(sptr->user->username)) {
if ((chptr = find_channel(channel, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, chptr, ":%s PRIVMSG %s :Port identd Korumasi: Nick -> \2%s\2 identd -> \2%s\2 IP -> \2%s\2", monitor, channel, sptr->name, sptr->user->username, sptr->user->realhost);
sendto_one(sptr, ":%s NOTICE %s :*** Kullanmis oldugunuz identd sadece web girislerine mahsustur.", me.name, sptr->name);
return place_host_ban(sptr, BAN_ACT_KILL, "Girisiniz Engellenmistir.", 1800);
 }
}

ikinci sorun icin, anladigim kadari ile sunucu girisine sadece listedeki belirledigin identleri yasaklicaksin.

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"
#include "proto.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
 
DLLFUNC int m_identd(aClient *sptr, aChannel *chptr);
 
#define channel "#Monitor"
#define monitor "Koruma"
 
ModuleHeader MOD_HEADER(m_identd)
= {
 "m_identd",
 "Sunucu identd korumasi EceLMeriC",
 "Sunucu identd korumasi EceLMeriC",
 "3.2-b8-1",
 NULL
};
 
DLLFUNC int MOD_INIT(m_identd)(ModuleInfo *modinfo)
{
 
 HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_CONNECT, m_identd);
 return MOD_SUCCESS;
}
 
DLLFUNC int MOD_LOAD(m_identd)(int module_load)
{
 return MOD_SUCCESS;
}
 
DLLFUNC int MOD_UNLOAD(m_identd)(int module_unload)
{
 return MOD_SUCCESS;
}
static char *identdlistesi[] = {
 "X",
 "XX",
 "XXX",
 "XXXX",
 "XXXXX",
 "XXXXXX",
 "XXXXXXX",
 NULL
};
 
static int identd_listesi(char *identd)
{
 
char **ilist;
 
for (ilist=identdlistesi; *ilist; *ilist++)
{
 
if (!strcmp(identd, *ilist))
 return 1;
}
 return 0;
}
 
DLLFUNC int m_identd(aClient *sptr, aChannel *chptr)
{
 
if (identd_listesi(sptr->user->username)) {
if ((chptr = find_channel(channel, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, chptr, ":%s PRIVMSG %s :identd Korumasi: Nick -> \2%s\2 identd -> \2%s\2 IP -> \2%s\2", monitor, channel, sptr->name, sptr->user->username, sptr->user->realhost);
sendto_one(sptr, ":%s NOTICE %s :*** Kullanmis oldugunuz identd sadece web girislerine mahsustur.", me.name, sptr->name);
return place_host_ban(sptr, BAN_ACT_KILL, "Girisiniz Engellenmistir.", 1800);
 }
}

umarim yanlis anlamamisimdir, iyi forumlar.

janus 28 Haziran 2009 00:31

Cevap: Coder Arkadaslardan Bir rica
 
Bu koda Cok guzel calisiorr 6673 ve 6675 den belirledigim identlerin girisini atiyor. Ama diger identlerinde girisine izin vermiyor. Yani bu belirlemis oldugum portan hic bir identte kimse baglanamior.. X idenatine sahip kullanici atiliyor belriltilen emsajla ama Y identine sahip kullandici ekrani donuor. Atmiyor ama serverada baglanmiyor. Ping pong deyip donuyor.. Hic bi mesaj cikmior yani..

janus 03 Temmuz 2009 05:52

Cevap: Coder Arkadaslardan Bir rica
 
Bu soruna Bir cözüm Yolu Yomu?

janus 09 Temmuz 2009 12:25

Cevap: Coder Arkadaslardan Bir rica
 
Hala bekliyorum inatlada bekleyecegim :) Insallah bir ustat bu sorunumu gorecek :)


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 20:10.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net