Anope IRC Services

Please login or register.

Login with username, password and session length
Advanced search  

News:

Pages: [1]   Go Down

Author Topic: Op deop chanserv  (Read 6193 times)

0 Members and 1 Guest are viewing this topic.

snipeur74

  • Anope User
  • Offline Offline
  • Posts: 5
Op deop chanserv
« on: October 25, 2010, 09:22:40 PM »

Bonjour,

Voila j'ai un souci avec mon anope quand je test de me Oper chanserv ou le bot du chan me deop :/ :
[21:53] * Snip74 sets mode: +o Snip74
[21:53] * Cronos sets mode: -o Snip74

Configuration: Anope1.7.19 et Unreal3.2

Cordialement Stéphane
Logged

Charles Kingsley

  • Contributor
  • *
  • Offline Offline
  • Posts: 1405
Re: Op deop chanserv
« Reply #1 on: October 25, 2010, 09:35:24 PM »

Show us /CS INFO #CHANNEL ALL
Logged

snipeur74

  • Anope User
  • Offline Offline
  • Posts: 5
Re: Op deop chanserv
« Reply #2 on: October 25, 2010, 09:41:16 PM »

bonsoir et Merci.
Je suis Root (Netadmin et Superadmin)

[22:38] -> *chanserv* INFO #Channel ALL
 *Notice*  - ChanServ - Informations pour le canal #Channel:
 *Notice*  - ChanServ - Enregistré: 25 Oct 2010 22:33:09 CEST
 *Notice*  - ChanServ - Type de ban: 2
 *Notice*  - ChanServ - Options: Maintien du topic, Paix, Sécurité, Contrôle du propriétaire
 *Notice*  - ChanServ - Modes maintenus: +nrt
 *Notice*  - ChanServ - Expires in: 04 Nov 2010 21:33:20 CET

Cordialement Stéphane
Logged

snipeur74

  • Anope User
  • Offline Offline
  • Posts: 5
Re: Op deop chanserv
« Reply #3 on: October 26, 2010, 09:58:21 AM »

Bonjour,
avec la commande :
/msg ChanServ set #channel secureops off   << C'est ok

[10:55] * ♠ sets mode: +o Snip74

et dans mon services.conf :

Code: [Select]
##########################
# Configuration ChanServ #
##########################

CSDefKeepTopic
CSDefPeace
CSDefSecure
#CSDefSecureOps
CSDefSecureFounder
#CSDefSignKick
#CSDefSignKickLevel
#CSDefTopicLock
#CSDefXOP
CSMaxReg    3
CSExpire    10d
CSDefBantype 2
CSAccessMax 1024
CSAutokickMax   32
CSAutokickReason "L'utilisateur a été banni du salon !!!"
CSInhabit   15s
CSListOpersOnly
CSListMax   50
#CSOpersOnly

Donc sur les nouveaux channel pourquoi sa me deop ?

Cordialement Stéphane
Logged

LEthaLity

  • Team
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 307
    • LEthaLity
Re: Op deop chanserv
« Reply #4 on: October 26, 2010, 03:13:20 PM »

Do you have access in the channel, if so are you identified?
Read /cs help set secure
Logged

katsklaw

  • Supporter
  • Anope User
  • Offline Offline
  • Posts: 537
Re: Op deop chanserv
« Reply #5 on: October 26, 2010, 04:15:06 PM »

What is Cronos? It seems we are assuming it's a BotServ bot. If it's an eggdrop or other client bot and it's denying ops because of it's own configuration then troubleshooting Anope is folly.
Logged

snipeur74

  • Anope User
  • Offline Offline
  • Posts: 5
Re: Op deop chanserv
« Reply #6 on: October 26, 2010, 08:40:31 PM »

Bonsoir,
Donc après pas mal de teste on c’est aperçus que mon problème viens du module cs_accessfounder.c qui ne reconnais pas les superadmins (Root) avec des commandes personnel de type  .+o .-o  il faut donc je mettre superadmin ([18:57] -> *operserv* set superadmin on )
Puis taper !op
[18:57] < Snip74> !op
[18:57] * Cronos sets mode: +o Snip74 et en suite mes commandes .+o .-o fonctionne.

Donc y a-t-il un autre module ?
/* access level for auto +q */   #define CA_AUTOQ 9999  ou comment réglé  le bug du module SVP Merci ?

Code: [Select]
/*----------------------------------------------------------------------------------------
 * Name:        cs_accessfounder
 * Author:      Jens 'DukePyrolator' Voss
 *              <DukePyrolator@anope.org>
 * Version:     4.1
 *
 * ---------------------------------------------------------------------------------------
 * Supported IRCd:      all
 * Requires:            Anope1.8.0, runs fine with 1.8.2
 *----------------------------------------------------------------------------------------
 *
 * If you find bugs, please send me a Mail or contact me on irc.anope.org #anope
 * here you can find the latest version: http://dev.anope.de/modules_1.8/cs_accessfounder.c
 *
 *---------------------------------------------------------------------------------------
 * Credits
 *  - thanks to all the people in #anope :-)
 *  - special thanks to Trystan who maintained my module when I was inactive
 *
 *----------------------------------------------------------------------------------------
 * Changelog:
 *
 * v4.1 22/07/2009 - uuups, I did it again (fixed a small, but annoying bug)
 * v4.0 22/07/2009 - users with founderaccess are now logged out if removed from
 *   the access list (this feature was requested by many peoples)
 * - some code cleanup
 * v3.3 03/10/2006 - module should now work with any ircd that supports owner
 * - removed the function "is_identified" from the module because
 *   its no longer declared as "static" in the core.
 * - removed the function "is_real_founder" from the module because
 *   its no longer declared as "static" in the core.
 * - added a small workaround for an issue, where founder status is
 *   not deleted on logout.
 * v3.2 09/17/2006 - dont give any modes if autoop is off
 * v3.1 09/16/2006 - first update since 2004
 *   works now with anope 1.7.15
 *
 *----------------------------------------------------------------------------------------*/


#define AUTHOR "Jens 'DukePyrolator' Voss <DukePyrolator@anope.org>"
#define VERSION "4.1"

#include "module.h"
#include <version.h>

/* access level for auto +q */
#define CA_AUTOQ 9999

int do_on_join(int ac, char **av);
int do_on_identify(int ac, char **av);
int do_on_update(User *u);
int do_on_logout(int ac, char **av);
int do_on_access_del(int ac, char **av);
int do_set_founder(User * u);
void del_founder_status(Channel *c, User *u);

int AnopeInit(int argc, char **argv) {
Command *c = NULL;
EvtHook *hook;
int status = 0;


if (!ircd->owner)
{
alog("[cs_accessfounder] your ircd is not supported. sorry");
return MOD_STOP;
}

hook = createEventHook(EVENT_JOIN_CHANNEL, do_on_join);
status = moduleAddEventHook(hook);
if (status != MOD_ERR_OK)
{
alog("[cs_accessfounder] unable to bind to EVENT_JOIN_CHANNEL error [%d]", status);
return MOD_STOP;
}

hook = createEventHook(EVENT_NICK_IDENTIFY, do_on_identify);
status = moduleAddEventHook(hook);
if (status != MOD_ERR_OK)
{
alog("[cs_accessfounder] unable to bind to EVENT_NICK_IDENTIFY error [%d]", status);
return MOD_STOP;
}

hook = createEventHook(EVENT_NICK_LOGOUT, do_on_logout);
status = moduleAddEventHook(hook);
if (status != MOD_ERR_OK)
{
alog("[cs_accessfounder] unable to bind to EVENT_NICK_LOGOUT error [%d]", status);
return MOD_STOP;
}
hook = createEventHook(EVENT_ACCESS_DEL, do_on_access_del);
status = moduleAddEventHook(hook);
if (status != MOD_ERR_OK)
{
alog("[cs_accessfounder] unable to bind to EVENT_ACCESS_DEL error [%d]", status);
return MOD_STOP;
}

hook = createEventHook(EVENT_ACCESS_CHANGE, do_on_access_del); // yes, we bind it to "del" !
status = moduleAddEventHook(hook);
if (status != MOD_ERR_OK)
{
alog("[cs_accessfounder] unable to bind to EVENT_ACCESS_CHANGE error [%d]", status);
return MOD_STOP;
}


c = createCommand("UPDATE", do_on_update, NULL, -1, -1, -1, -1, -1);
moduleAddCommand(NICKSERV, c, MOD_HEAD);

moduleAddAuthor(AUTHOR);
moduleAddVersion(VERSION);
moduleSetType(THIRD);

return MOD_CONT;
}


int do_on_join(int ac, char **av)
{
User *u;
Channel *c = NULL;

struct u_chaninfolist *uc;
if (!stricmp(av[0], EVENT_START))
{
c = findchan(av[2]);
if (!c || !c->ci) return MOD_CONT; /* chan not registered */
if (!(u = finduser(av[1]))) return MOD_CONT;
if (!nick_identified(u)) return MOD_CONT;
if ((get_access_level(c->ci, u->na)>=CA_AUTOQ) && (!is_real_founder(u,c->ci)))
{
if (!is_identified(u, c->ci))
{
uc = scalloc(sizeof(*uc), 1);
uc->next = u->founder_chans;
if (u->founder_chans)
u->founder_chans->prev = uc;
u->founder_chans = uc;
uc->chan = c->ci;
}
}
}
return MOD_CONT;
}



int do_on_identify(int ac, char **av)
{
User *u;
u = finduser(av[0]);
if (!nick_identified(u))
return MOD_CONT;
if (NSModeOnID)
do_set_founder(u);
return MOD_CONT;
}

int do_on_update(User *u)
{
if (!nick_identified(u))
return MOD_CONT;
if (NSModeOnID)
do_set_founder(u);
return MOD_CONT;
}

int do_on_logout(int ac, char **av)
{
User *u;
struct u_chaninfolist *ci, *ci2;

u = finduser(av[0]);
/* deletes founder-status from all channels */
ci = u->founder_chans;
while (ci)
{
ci2 = ci->next;
free(ci);
ci = ci2;
}
u->founder_chans = NULL;  /* never point into unassigned memory */
return MOD_CONT;
}


int do_set_founder(User * u)
{
struct u_chanlist *uc;
struct u_chaninfolist *uci;
Channel *c;

/* Walk users current channels */
for (uc = u->chans; uc; uc = uc->next)
{
if ((c = findchan(uc->chan->name)) && (c->ci))
{
if (should_mode_change(uc->status, CUS_OWNER)
&& ((get_access_level(c->ci,u->na)>=CA_AUTOQ)
&& (!is_real_founder(u,c->ci))))
{
if (!is_identified(u, c->ci))
{
uci = scalloc(sizeof(*uci), 1);
uci->next = u->founder_chans;
if (u->founder_chans)
u->founder_chans->prev = uci;
u->founder_chans = uci;
uci->chan = c->ci;
}
}
}
}
return MOD_CONT;
}

/* send_event(EVENT_ACCESS_DEL, 3, ci->name, u->nick, nick); */
/* send_event(EVENT_ACCESS_CHANGE, 4, ci->name, u->nick, na->nick, event_access); */

int do_on_access_del(int ac, char **argv)
{
Channel *c;
User *u;

if (ac < 3) // the deleted nick is not online, so nothing to do for us
return MOD_CONT;
if (!(c = findchan(argv[0])) || !c->ci) // channel is not registered
return MOD_CONT;
if (!(u = finduser(argv[2]))) // should never happen, but a double-check is better than a segfault ;)
return MOD_CONT;
del_founder_status(c, u);
return MOD_CONT;
}

void del_founder_status(Channel *c, User *u)
{
struct u_chaninfolist *ci, *ci2;

ci = u->founder_chans;
while (ci)
{
ci2 = ci->next;
if (ci->chan == c->ci) // we found the right channel
{
if (ci->next)
ci->next->prev = ci->prev;
if (ci->prev)
ci->prev->next = ci->next;
else
u->founder_chans = ci->next;
free(ci);
}
ci = ci2;
}
}

Cordialement Stéphane


Traduction (français > anglais) Google
Good evening,
So after much testing we realized that my problem is just the module that does not recognize cs_accessfounder.c Superadmins (Root) orders with personal style. o .- o so I must put superadmin ([6:57 p.m.] -> * * Set operserv superadmin on)
Then type! Op
[6:57 p.m.] <Snip74>! Op
[6:57 p.m.] * Cronos sets mode: o Snip74 and follow my orders. o .- o works.

So there he another module?
/ * Access level for self q * / # define CA_AUTOQ 9999 or how to set the bug module Please Please?

Regards Stéphane
Logged
Pages: [1]   Go Up