示例#1
0
void _fini () {
  deregisterhook(HOOK_NICK_NEWNICK, &ib_hook_newnick);
  deregisterhook(HOOK_NICK_LOSTNICK, &ib_hook_lostnick);
  deregisterhook(HOOK_CHANNEL_MODECHANGE, &ib_hook_modechange);

  releasenickext(ib_nickext);
}
示例#2
0
void _fini(void) {
  int i;

  deregisterhook(HOOK_SERVER_NEWSERVER, &sphook_newserver);
  deregisterhook(HOOK_SERVER_LOSTSERVER, &sphook_lostserver);

  for (i = 0; i < splitlist.cursi; i++) {
    freesstring(((splitserver*)splitlist.content)[i].name);
  }

  array_free(&splitlist);
}
示例#3
0
void _fini() {
  void* p, *np;
  
  deregisterhook(HOOK_NICK_NEWNICK, &versionscan_newnick);
  
  if (vsconnect) {
    deleteschedule(vsconnect, &versionscan_createfakeuser, NULL);
    vsconnect=NULL;
  }
  
  if (versionscan_nick) {
    deregisterlocaluser(versionscan_nick, "Module unloaded.");
    versionscan_nick=NULL;
  }
  
  destroycommandtree(versionscan_commands);
  
  for (p=vspatterns; p;) {
    np=((vspattern*)p)->next;
    free(p);
    p=np;
  }
  for (p=vsauths; p;) {
    np=((vsauthdata*)p)->next;
    free(p);
    p=np;
  }
  for (p=vsstats; p;) {
    np=((vsstatistic*)p)->next;
    free(((vsstatistic*)p)->reply);
    free(p);
    p=np;
  }
}
示例#4
0
void lua_destroycontrol(void) {
  deregistercontrolcmd("inslua", &lua_inslua);
  deregistercontrolcmd("rmlua", &lua_rmlua);
  deregistercontrolcmd("reloadlua", &lua_reloadlua);
  deregistercontrolcmd("lslua", &lua_lslua);
  deregistercontrolcmd("forcegc", &lua_forcegc);
  deregisterhook(HOOK_CORE_STATSREQUEST, lua_controlstatus);
}
void _fini(void) {
  deregistercontrolcmd("checkhashpass", csa_docheckhashpass);
  deregistercontrolcmd("settempemail", csa_dosettempemail);
  deregistercontrolcmd("setemail", csa_dosetemail);
  deregistercontrolcmd("resendemail", csa_doresendemail);
  deregistercontrolcmd("activateuser", csa_doactivateuser);
  deregistercontrolcmd("addchan", csa_doaddchan);

  if(createaccountsecret_ok)
    deregistercontrolcmd("createaccount", csa_docreateaccount);

  deregisterhook(HOOK_CHANSERV_DBLOADED, relayfinishinit);
}
示例#6
0
void _fini(void) {
  int i;
  struct messagequeue *q, *nq;
  
  if(!cmds)
    return;

  destroycommandtree(cmds);

  deregisterhook(HOOK_NICK_MASKPRIVMSG, &handlemaskprivmsg);
  deregisterhook(HOOK_CONTROL_REGISTERED, &handlecontrolregistered);

  for(i=0;i<defaultservicemasks_a.cursi;i++)
    freesstring(defaultservicemasks[i]);
  array_free(&defaultservicemasks_a);

  for(q=head;q;q=nq) {
    nq = q->next;
    free(q);
  }
  
  head = NULL;
  tail = NULL;
}
void relayfinishinit(int hooknum, void *arg) {
  sstring *s;

  deregisterhook(HOOK_CHANSERV_DBLOADED, relayfinishinit);

  registercontrolhelpcmd("checkhashpass", NO_RELAY, 3, csa_docheckhashpass, "Usage: checkhashpass <username> <digest> ?junk?");
  registercontrolhelpcmd("settempemail", NO_RELAY, 2, csa_dosettempemail, "Usage: settempemail <userid> <email address>");
  registercontrolhelpcmd("setemail", NO_RELAY, 3, csa_dosetemail, "Usage: setmail <userid> <timestamp> <email address>");
  registercontrolhelpcmd("resendemail", NO_RELAY, 1, csa_doresendemail, "Usage: resendemail <userid>");
  registercontrolhelpcmd("activateuser", NO_RELAY, 1, csa_doactivateuser, "Usage: activateuser <userid>");
  registercontrolhelpcmd("addchan", NO_RELAY, 3, csa_doaddchan, "Usage: addchan <channel> <userid> <channel type>");

  s=getcopyconfigitem("chanserv","createaccountsecret","",128);
  if(!s || !s->content || !s->content[0]) {
    Error("chanserv_relay",ERR_WARNING,"createaccountsecret not set, createaccount disabled.");
  } else if(s->length != KEY_BITS / 8 * 2 || !hex_to_int(s->content, createaccountsecret, sizeof(createaccountsecret))) {
    Error("chanserv_relay",ERR_WARNING,"createaccountsecret must be a %d character hex string.", KEY_BITS / 8 * 2);
  } else {
    registercontrolhelpcmd("createaccount", NO_RELAY, 5, csa_docreateaccount, "Usage: createaccount <execute> <username> <email address> <encrypted password> <activate user>");
    createaccountsecret_ok = 1;
  }

  freesstring(s);
}
示例#8
0
void _fini(void) {
  deregisterhook(HOOK_TRUSTS_DB_LOADED, registercommands);
  deregisterhook(HOOK_TRUSTS_DB_CLOSED, deregistercommands);

  deregistercommands(0, NULL);
}
示例#9
0
void lua_deregisterevents(void) {
  deregisterhook(HOOK_CHANNEL_PART, &lua_onpart);
  deregisterhook(HOOK_CHANNEL_CREATE, &lua_onjoin);
  deregisterhook(HOOK_CHANNEL_JOIN, &lua_onjoin);
  deregisterhook(HOOK_SERVER_END_OF_BURST, &lua_onconnect);
  deregisterhook(HOOK_IRC_CONNECTED, &lua_onconnect);
  deregisterhook(HOOK_NICK_RENAME, &lua_onrename);
  deregisterhook(HOOK_NICK_LOSTNICK, &lua_onquit);
  deregisterhook(HOOK_NICK_PRE_LOSTNICK, &lua_onprequit);
  deregisterhook(HOOK_CHANNEL_DEOPPED, &lua_onop);
  deregisterhook(HOOK_CHANNEL_OPPED, &lua_onop);
  deregisterhook(HOOK_CHANNEL_KICK, &lua_onkick);
  deregisterhook(HOOK_CHANNEL_TOPIC, &lua_ontopic);
  deregisterhook(HOOK_NICK_ACCOUNT, &lua_onauth);
  deregisterhook(HOOK_IRC_PRE_DISCON, &lua_ondisconnect);
  deregisterhook(HOOK_IRC_DISCON, &lua_ondisconnect);
  deregisterhook(HOOK_NICK_NEWNICK, &lua_onnewnick);
  deregisterhook(HOOK_CHANNEL_MODECHANGE, &lua_onmode);
}
示例#10
0
void cs_closelog() {
  if (logfd>=0)
    close(logfd);
  deregisterhook(HOOK_CORE_SIGUSR1, cs_usr1handler);
}
示例#11
0
void finihandlers() {
  deregisterhook(HOOK_CORE_STATSREQUEST, &eventstats);
  free(eventfds);
  free(eventhandlers);
}
示例#12
0
void _fini() {
  deregisterhook(HOOK_NICK_NEWNICK, &nr_nick);
  deregisterhook(HOOK_NICK_LOSTNICK, &nr_nick);
  deregisterhandler(nickrate_listenfd,1);    
}
示例#13
0
void finischedule() {
  deregisterhook(HOOK_CORE_STATSREQUEST, &schedulestats);
  free(events);
}
示例#14
0
文件: error.c 项目: quakenet/newserv
void fini_logfile() {
  deregisterhook(HOOK_CORE_SIGUSR1, reopen_logfile);
  if (logfile)
    fclose(logfile);
}