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/)
-   IRCServices (https://www.ircforumlari.net/ircservices/)
-   -   ircservices yetki.txt (https://www.ircforumlari.net/ircservices/855846-ircservices-yetkitxt.html)

KivanC 28 Ocak 2020 17:52

ircservices yetki.txt
 
merhaba kolay gelsin ircservices yetki.txt yapmamız mumkunmudur. yetki.txt nicki olmayan hiç bir komut uygulamasın örnek getpass, drop, suspend gibi böyle birşey yapmamız mümkünmüdür. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] usta çözebilirmisin bu işi.. tşkler şimdiden.

Emrehan 29 Ocak 2020 21:55

Cevap: ircservices yetki.txt
 
Alıntı:

KivanC Nickli Üyeden Alıntı (Mesaj 1042245567)
merhaba kolay gelsin ircservices yetki.txt yapmamız mumkunmudur. yetki.txt nicki olmayan hiç bir komut uygulamasın örnek getpass, drop, suspend gibi böyle birşey yapmamız mümkünmüdür. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] usta çözebilirmisin bu işi.. tşkler şimdiden.

ircservices/lib/ dizinine rootlar.txt diye bir metin belgesi atıp içine yetkili olacak nickleri alt alta ekleyin. En son satırdan sonra 2-3 kez daha boş enter'layın. Her eklemenizde en son satırdan sonra 2-3 boş satır olsun (Nicklerin arasında boşluk olmasın sadece en alt satırda 2-3 boş satır olması yeterlidir).

Tek dosyada işlem yapacağız;
Kod:

ircservices*/modules/operserv/main.c
dosyasını açıp,

Kod:

static int8 no_supass = 1;
satırını bulun ve altına,

Kod:

static char rootnickler[512][512];
static int rootsayisi = 0;
static void rootkontrol();
static void rootkontrol()
{
        char nickler[512];
        char *e;
        FILE *txt = fopen("rootlar.txt","r");
        memset(&rootnickler, 0, sizeof(rootnickler));
        if (txt == NULL) return;
        do {
                e = fgets(nickler, sizeof(nickler), txt);
                if (e != NULL)
                        strscpy(rootnickler[rootsayisi], nickler, strlen(nickler));
                        rootsayisi++;
        }
        while (e != NULL);
        fclose(txt);
}

satırlarını ekleyin.

Sonra yine aynı dosyada;
Kod:

if (u->flags & UF_SERVROOT)
                return 1;

satırlarını bulup hemen altına,
Kod:

        int e = 0;
        for (e=0; e < rootsayisi; e++)
                if (stricmp(u->nick, rootnickler[e]) == 0 && is_oper(u) && user_identified(u))
                        return 1;

Yine aynı dosyada;
Kod:

remove_callback(NULL, "save data complete", do_update_complete);
satırının üstüne
Kod:

rootkontrol();
satırlarını ekleyip, servisinize make ve make install komutlarını uyguladıktan sonra restart edin.

Restart'tan sonra sunucu üzerinde /os update yapın rootlar.txt'deki ekli olan nicklere ServicesRoot erişimi gelecektir.

Her yeni nick eklemenizden sonra /os update komutunu kullanın.

İstediğiniz herhangi bir komutun yetki seviyesini de ServicesRoot'lar kullanabilir şeklinde ayarlarsınız talebiniz gerçekleşmiş olur.

İyi forumlar.

KivanC 30 Ocak 2020 11:50

Cevap: ircservices yetki.txt
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] teşekkür ederim şunuda ekleye bilirmiyiz örnek txt ekli olmayan komut uyguladığı zaman txt ekli olmadığımıza bu komutu kullanamazsınız seklinde bir mesaj yapa bilirmiyiz.

Emrehan 30 Ocak 2020 17:34

Cevap: ircservices yetki.txt
 
Alıntı:

KivanC Nickli Üyeden Alıntı (Mesaj 1042246730)
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] teşekkür ederim şunuda ekleye bilirmiyiz örnek txt ekli olmayan komut uyguladığı zaman txt ekli olmadığımıza bu komutu kullanamazsınız seklinde bir mesaj yapa bilirmiyiz.

O zaman olayı ServicesRoot'tan çıkarıp farklı bir tanıma almak gerek ve istediğiniz her komuta tek tek bu tanımları eklemeniz lazım. O şekilde olabilir ancak ve bu da sizi çok fazla uğraştırır. Yine de farketmez derseniz ayarlarız onu da.

KivanC 30 Ocak 2020 17:51

Cevap: ircservices yetki.txt
 
benim için fark etmez ayarlarsanız çok sevinirim tşkler ustam.

Emrehan 30 Ocak 2020 18:44

Cevap: ircservices yetki.txt
 
Alıntı:

KivanC Nickli Üyeden Alıntı (Mesaj 1042246988)
benim için fark etmez ayarlarsanız çok sevinirim tşkler ustam.

Kod:

int e = 0;
        for (e=0; e < rootsayisi; e++)
                if (stricmp(u->nick, rootnickler[e]) == 0 && is_oper(u) && user_identified(u))
                        return 1;

main.c dosyasında eklediğiniz yukarıdaki satırları geri silin.

-

Yine main.c dosyasında;
Kod:

EXPORT_FUNC(is_services_root)
satırının üstüne;
Kod:

int yetkilimi(User *u);
int yetkilimi(User *u)
{
        int e = 0;
        for (e=0; e < rootsayisi; e++)
                if (stricmp(u->nick, rootnickler[e]) == 0 && is_oper(u) && user_identified(u))
                        return 1;
               
        return 0;
}

satırlarını ekleyin.

-

Mesela GETPASS komutuna ayar vereceğinizi düşünelim.

ircservices*/modules/nickserv/main.c dosyasında;
Kod:

static int cb_command      = -1;
satırının üstüne,
Kod:

extern int yetkilimi(User *u);
satırını ekleyin.

-

Son olarak do_getpass { ... } içerisinde düzgün çalıştırabileceğiniz bi noktaya;
Kod:

if (yetkilimi(u) == 0 && is_oper(u) && user_identified(u)) {
          send_cmd(s_NickServ, "NOTICE %s :Yetkili dosyasında ekli degilsiniz. Bu komutu kullanamazsiniz.", u->nick);
          return;
}

gibi ekleyip çalıştırabilirsiniz.

make && make install ve restart ile editi aktif edersiniz.

Denemedim ama çalışır diye düşünüyorum.

İyi forumlar.

KivanC 30 Ocak 2020 18:48

Cevap: ircservices yetki.txt
 
üstteki verdiğiniz tüm kodları silecem yanlış silmeyimde

Emrehan 30 Ocak 2020 18:50

Cevap: ircservices yetki.txt
 
Alıntı:

KivanC Nickli Üyeden Alıntı (Mesaj 1042247017)
üstteki verdiğiniz tüm kodları silecem yanlış silmeyimde

Alıntı:

Emrehan Nickli Üyeden Alıntı (Mesaj 1042246384)
Kod:

if (u->flags & UF_SERVROOT)
                return 1;

satırlarını bulup hemen altına,
Kod:

        int e = 0;
        for (e=0; e < rootsayisi; e++)
                if (stricmp(u->nick, rootnickler[e]) == 0 && is_oper(u) && user_identified(u))
                        return 1;

satırlarını ekleyip

İlk postumda verdiğim editteki sadece buradaki işlemi geri almış olacaksınız yani.

KivanC 30 Ocak 2020 18:55

Cevap: ircservices yetki.txt
 
Son olarak do_getpass { ... } içerisinde düzgün çalıştırabileceğiniz bi noktaya;
Kod:

if (yetkilimi(u) == 0 && is_oper(u) && user_identified(u)) {
          send_cmd(s_NickServ, "NOTICE %s :Yetkili dosyasında ekli degilsiniz. Bu komutu kullanamazsiniz.", u->nick);
          return;
}

gibi ekleyip çalıştırabilirsiniz.

make && make install ve restart ile editi aktif edersiniz.

Denemedim ama çalışır diye düşünüyorum.

İyi forumlar.[/QUOTE]


bunu hangi satırın altına ekliyoruz?

Emrehan 30 Ocak 2020 19:00

Cevap: ircservices yetki.txt
 
Alıntı:

KivanC Nickli Üyeden Alıntı (Mesaj 1042247020)
bunu hangi satırın altına ekliyoruz?

ircservices*/modules/nickserv/main.c dosyasında;
Kod:

} else if (i == 0) {
        notice_lang(s_NickServ, u, NICK_GETPASS_UNAVAILABLE);
    } else {

burayı
Kod:

} else if (i == 0) {
        notice_lang(s_NickServ, u, NICK_GETPASS_UNAVAILABLE);
    } else {
                if (yetkilimi(u) == 0 && is_oper(u) && user_identified(u)) {
                        send_cmd(s_NickServ, "NOTICE %s :Yetkili dosyasında ekli degilsiniz. Bu komutu kullanamazsiniz.", u->nick);
                        return;
                }

şeklinde değiştirirseniz GETPASS komutuna işlemiş olursunuz.

KivanC 30 Ocak 2020 19:04

Cevap: ircservices yetki.txt
 
olmadı hocam rootlar.txt nickide ekledim hiç bir şekilde bu komuta erişimiz yok diyor bir kontrol etseniz hocam.

Emrehan 30 Ocak 2020 19:05

Cevap: ircservices yetki.txt
 
Alıntı:

KivanC Nickli Üyeden Alıntı (Mesaj 1042247025)
olmadı hocam rootlar.txt nickide ekledim hiç bir şekilde bu komuta erişimiz yok diyor bir kontrol etseniz hocam.

PM'den ulaşın düzeltiriz, hatalı işlem yapmışsınız muhtemelen

KivanC 30 Ocak 2020 19:08

Cevap: ircservices yetki.txt
 
hepsini tek tek kontrol ettim sorun yok ama siz kontrol ettinizmi hiç bir komut kullanılmıyor

Emrehan 30 Ocak 2020 19:14

Cevap: ircservices yetki.txt
 
Alıntı:

KivanC Nickli Üyeden Alıntı (Mesaj 1042247027)
hepsini tek tek kontrol ettim sorun yok ama siz kontrol ettinizmi hiç bir komut kullanılmıyor

Şuan verdiğim herşeyi test ettim. Sorunsuz çalışıyor.

Kod:

[19:13] -> *nickserv* getpass xxx
[19:13] -irc.ZirveShell.Com- *** Global -- NickServ: Emrehan, xxx nickinin sifresine bakti. (GETPASS)
[19:13] -NickServ- xxx nick'inin sifresi : xxxxx.
[19:13] -> *operserv* update
[19:13] -OperServ- Veritabani güncelleniyor...
[19:13] -OperServ- Güncelleme tamamlandi.
[19:13] -> *nickserv* getpass xxx
[19:13] -NickServ- Yetkili dosyasında ekli degilsiniz. Bu komutu kullanamazsiniz.


aLtimod 30 Ocak 2020 19:29

Cevap: ircservices yetki.txt
 
bence versiyondan kaynaklana bilir şuan bende test ettin çalısmadı user.c burdanda ayarlana bilir sanırım.

Emrehan 30 Ocak 2020 19:31

Cevap: ircservices yetki.txt
 
ircservices-5.0.63 sürümünde yazıp test ettim ve paylaştım. Daha üst sürümlerdeki kod yapılarında çok bariz bir değişim olduğunu düşünmüyorum lakin bunu tahminen söylüyorum 5.1.x serisini hiç incelemedim çünkü. Yine de sürümsel bir sorun olabileceğine düşük ihtimal veriyorum.

aLtimod 30 Ocak 2020 19:33

Cevap: ircservices yetki.txt
 
doğrudur ircservices-5.0.64 bu tür hatalar kaynaklana bilir ama biraz inceleme yapılırsa çalışa bilir iyi forumlar.

Emrehan 30 Ocak 2020 20:31

Cevap: ircservices yetki.txt
 
Çalıştıramayanlar isterse PM'den ulaşabilir, beraber sistemlerini inceler ve problem neyse gideririz.

İyi forumlar.

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 20:31 -->-> Daha önceki mesaj 19:36 --

ircservices*/modules/operserv/main.c dosyasında;
Kod:

remove_callback(NULL, "save data complete", do_update_complete);
satırının üstüne
Kod:

rootkontrol();
ekleyip make && make install ve restart uygulayın. Kodu paylaşırken dikkatimden kaçmış.

İyi forumlar.

aLtimod 30 Ocak 2020 20:39

Cevap: ircservices yetki.txt
 
Sorun Çözüldü kolay gelsin iyi forumlar.


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk