PDA

Orijinalini görmek için tıklayınız : CONF üzerinden SWHOIS uygulaması..


Entrance
26 Ocak 2015, 21:41
Merhabalar,

• Klasör: -> Unreal3.2/src/
• Dosya: -> <s_conf.c>

BULUN,
ircfree(oper_ptr->swhois);ALTINA,
ircfree(oper_ptr->swhoise);
ircfree(oper_ptr->swhoisn);
ircfree(oper_ptr->swhoist);
EKLEYIN,

-

BULUN,
else if (!strcmp(cep->ce_varname, "swhois"))
{
ircstrdup(oper->swhois, cep->ce_vardata);
}ALTINA,

else if (!strcmp(cep->ce_varname, "swhoise"))
{
ircstrdup(oper->swhoise, cep->ce_vardata);
}
else if (!strcmp(cep->ce_varname, "swhoisn"))
{
ircstrdup(oper->swhoisn, cep->ce_vardata);
}
else if (!strcmp(cep->ce_varname, "swhoist"))
{
ircstrdup(oper->swhoist, cep->ce_vardata);
}EKLEYIN,

-

BULUN,
char has_class = 0, has_password = 0, has_flags = 0, has_swhois = 0, has_snomask = 0;ALTINA,

char has_swhoise = 0, has_swhoisn = 0, has_swhoist = 0;EKLEYIN,

-

BULUN,
else if (!strcmp(cep->ce_varname, "swhois"))
{
if (has_swhois)
{
config_warn_duplicate(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "oper::swhois");
continue;
}
has_swhois = 1;
}ALTINA,

else if (!strcmp(cep->ce_varname, "swhoise"))
{
if (has_swhoise)
{
config_warn_duplicate(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "oper::swhoise");
continue;
}
has_swhoise = 1;
}
else if (!strcmp(cep->ce_varname, "swhoisn"))
{
if (has_swhoisn)
{
config_warn_duplicate(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "oper::swhoisn");
continue;
}
has_swhoisn = 1;
}
else if (!strcmp(cep->ce_varname, "swhoist"))
{
if (has_swhoist)
{
config_warn_duplicate(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "oper::swhoist");
continue;
}
has_swhoist = 1;
}EKLEYIN,

• Klasör: -> Unreal3.2/include/
• Dosya: -> <struct.h>

BULUN,
char *swhois; /* special whois thing */
ALTINA,

char *swhoise, *swhoisn, *swhoist;
EKLEYIN,

-

BULUN,
char *name, *swhois, *snomask;DEGISTIRIN,
char *name, *swhois, *swhoise, *swhoisn, *swhoist, *snomask;• Klasör: -> Unreal3.2/src/modules/
• Dosya: -> <m_oper.c>

BULUN,
if (aconf->swhois) {
if (sptr->user->swhois)
MyFree(sptr->user->swhois);
sptr->user->swhois = MyMalloc(strlen(aconf->swhois) +1);
strcpy(sptr->user->swhois, aconf->swhois);
sendto_serv_butone_token(cptr, me.name, MSG_SWHOIS, TOK_SWHOIS, "%s :%s", sptr->name, aconf->swhois);
}
ALTINA,

if (aconf->swhoise) {
if (sptr->user->swhoise)
MyFree(sptr->user->swhoise);
sptr->user->swhoise = MyMalloc(strlen(aconf->swhoise) +1);
strcpy(sptr->user->swhoise, aconf->swhoise);
sendto_serv_butone_token(cptr, me.name, MSG_SWHOIS, TOK_SWHOIS, "%s :%s", sptr->name, aconf->swhoise);

}

if (aconf->swhoisn) {
if (sptr->user->swhoisn)
MyFree(sptr->user->swhoisn);
sptr->user->swhoisn = MyMalloc(strlen(aconf->swhoisn) +1);
strcpy(sptr->user->swhoisn, aconf->swhoisn);
sendto_serv_butone_token(cptr, me.name, MSG_SWHOIS, TOK_SWHOIS, "%s :%s", sptr->name, aconf->swhoisn);

}

if (aconf->swhoist) {
if (sptr->user->swhoist)
MyFree(sptr->user->swhoist);
sptr->user->swhoist = MyMalloc(strlen(aconf->swhoist) +1);
strcpy(sptr->user->swhoist, aconf->swhoist);
sendto_serv_butone_token(cptr, me.name, MSG_SWHOIS, TOK_SWHOIS, "%s :%s", sptr->name, aconf->swhoist);

}EKLEYIN,

• Klasör: -> Unreal3.2/src/modules/
• Dosya: -> <m_whois.c>

BULUN,
if (!BadPtr(user->swhois) && !hideoper)
sendto_one(sptr, ":%s %d %s %s :%s",
me.name, RPL_WHOISSPECIAL, parv[0],
name, acptr->user->swhois);ALTINA,

if (!BadPtr(user->swhoise) && !hideoper)
sendto_one(sptr, ":%s %d %s %s :%s",
me.name, RPL_WHOISSPECIAL, parv[0],
name, acptr->user->swhoise);
if (!BadPtr(user->swhoisn) && !hideoper)
sendto_one(sptr, ":%s %d %s %s :%s",
me.name, RPL_WHOISSPECIAL, parv[0],
name, acptr->user->swhoisn);
if (!BadPtr(user->swhoist) && !hideoper)
sendto_one(sptr, ":%s %d %s %s :%s",
me.name, RPL_WHOISSPECIAL, parv[0],
name, acptr->user->swhoist);EKLEYIN,

• Klasör: -> Unreal3.2/src/modules/
• Dosya: -> <webtv.c>

BULUN:
if (acptr->user->swhois)
{
if (*acptr->user->swhois != '\0')
sendto_one(sptr, ":IRC PRIVMSG %s :%s %s",
sptr->name, acptr->name, acptr->user->swhois);
}DEGISTIRIN:
if (acptr->user->swhois)
{
if (*acptr->user->swhois != '\0')
sendto_one(sptr, ":IRC PRIVMSG %s :%s %s",
sptr->name, acptr->name, acptr->user->swhois);
}
if (acptr->user->swhoise)
{
if (*acptr->user->swhoise != '\0')
sendto_one(sptr, ":IRC PRIVMSG %s :%s %s",
sptr->name, acptr->name, acptr->user->swhoise);
}
if (acptr->user->swhoisn)
{
if (*acptr->user->swhoisn != '\0')
sendto_one(sptr, ":IRC PRIVMSG %s :%s %s",
sptr->name, acptr->name, acptr->user->swhoisn);
}
if (acptr->user->swhoist)
{
if (*acptr->user->swhoist != '\0')
sendto_one(sptr, ":IRC PRIVMSG %s :%s %s",
sptr->name, acptr->name, acptr->user->swhoist);
}
Bu işlemlerden sonra Unreal-in ana dizinine geçiş yapın make çekip UnrealIRCd'i yeniden başlatın, SWHOIS eklemelerinizi opers.conf dosyası aracılığı ile yapacaksınız.

Örnek ->

oper Entrance {
from {
userhost *@*;
};
password "?";
flags OoawkKbBnCGAreDRhgcLZtGNzvWHeq^*;
class clients;
swhois "Sunucu Sahibi";
swhoise "Teknik Sorumlu";
swhoisn "Always, look on the bright side of life.";
swhoist "[Only Registered Users Can See Links] - [Only Registered Users Can See Links] - [Only Registered Users Can See Links]";

};* Screenshost

[Only Registered Users Can See Links] ([Only Registered Users Can See Links])

Gibi, şu anda UnrealIRCd'in orjinal swhois uygulamasıyla birlikte 4 adet ekleyebilirsiniz, isterseniz aynı mantıkla bunları çoğaltabilirsiniz..) Bu uygulamayı yapmam için, fikir veren arkadaşımız @Toprak ([Only Registered Users Can See Links])'tır unutmadan onuda belirtmiş olalım..

İyi forumlar.. ^^

Entrance
31 Temmuz 2015, 21:34
Kodlar güncellendi, arkadaşlar.