Tekil Mesaj gösterimi
Alt 14 Mart 2007, 12:21   #1
Çevrimdışı
ArresT
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Adminler Access yazamasın. :)




Şimdi Ufak Serverlarda çok görülür ki, Adminler gereksiz yere access yazarlar ve kanal sahiplerinin fonksiyonlarını kısıtlarlar bende bu olay üzerine lazım oldu ufak bir editleme ile Adminlerin access eklemesini kısıtlamak istedim.

öncelikle,

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cd ircservices-x.x.xx/modules/chanserv

ile servislerde kanal modüllerinin ana dizinine giriş yapıyoruz.

pico access-levels.c

ile

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_access(User *u) { char *chan = strtok(NULL, " "); char *cmd = strtok(NULL, " "); char *nick = strtok(NULL, " "); char *s = strtok(NULL, " "); ChannelInfo *ci; NickInfo *ni; NickGroupInfo *ngi; int16 level = 0; int i; int is_list; /* Is true when command is either LIST or COUNT */ int is_servadmin = is_services_admin(u);

satırlarını

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_access(User *u) { char *chan = strtok(NULL, " "); char *cmd = strtok(NULL, " "); char *nick = strtok(NULL, " "); char *s = strtok(NULL, " "); ChannelInfo *ci; NickInfo *ni; NickGroupInfo *ngi; int16 level = 0; int i; int is_list; /* Is true when command is either LIST or COUNT */ int is_servadmin = is_services_root(u);

şeklinde değiştiriyoruz. CTRL X + Y ile üzerine kayıt ediyoruz.

Böylece Access Ekleme ve Silme işlemlerini Adminlerden almış olduk ancak diyebilirsiniz ki, " Tamam da birader bu admin set ile kanalı üzerine alır yeniden Access ekler ne var ki bunda.. "

O zaman biz de Adminlerden set komutunu da alırız.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico set.c

komutu ile set.c dosyasını açıyoruz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
void do_set(User *u) { char *chan = strtok(NULL, " "); char *cmd = strtok(NULL, " "); char *param; ChannelInfo *ci; int is_servadmin = is_services_admin(u);

satırlarını

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
void do_set(User *u) { char *chan = strtok(NULL, " "); char *cmd = strtok(NULL, " "); char *param; ChannelInfo *ci; int is_servadmin = is_services_root(u);

şeklinde değiştiriyoruz.

Böylece set komutu ile access komutunu sevgili adminlerimizden almış olduk. Ancak Access ekleme ve Silme yetkisi ile Set parametrelerini kullanmayı sadece rootlara vermiş olduk. herhalde bir sürü rootunuz yoktur
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Kodlamamız da sona ermiş oldu.

son olarak ircservices-x.x.xx dizininde iken,

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
make

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
make install

komutlarını kullanıyoruz. ve servislerimizi yeniden başlatıyoruz.

İyi Çalışmalar.

Not : Bunun gereksiz olduğunu düşünen çok insan olacaktır biliyorum ama ben serverımda adminlerin access eklemesi ile sıkıntı yaşıyordum belki de aynı sıkıntıyı yaşayanlar vardır diye düşündüm..

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet