CONF üzerinden SWHOIS uygulaması

Aytac

nicktag
Yönetici
Developer
Katılım
4 Şub 2020
Mesajlar
379
Tepkime puanı
50
Puanları
28
Konum
ircland
Web sitesi
www.ircalem.net
Merhabalar,

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

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

-

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

Kod:
 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,
Kod:
char has_class = 0, has_password = 0, has_flags = 0, has_swhois = 0, has_snomask = 0;
ALTINA,

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

-

BULUN,
Kod:
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,

Kod:
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,
Kod:
char *swhois;        /* special whois thing */

ALTINA,


Kod:
char *swhoise, *swhoisn, *swhoist;

EKLEYIN,

-

BULUN,

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

BULUN,
Kod:
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,

Kod:
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,
Kod:
if (!BadPtr(user->swhois) && !hideoper)
                    sendto_one(sptr, ":%s %d %s %s :%s",
                        me.name, RPL_WHOISSPECIAL, parv[0],
                        name, acptr->user->swhois);
ALTINA,

Kod:
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:
Kod:
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:
Kod:
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 ->

Kod:
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 "www.sohbetv.net - www.chatlider.com - www.hobichat.net";

};
* Screenshost



Gibi, şu anda UnrealIRCd'in orjinal swhois uygulamasıyla birlikte 4 adet ekleyebilirsiniz, isterseniz aynı mantıkla bunları çoğaltabilirsiniz..)
 
Üst