Anope IRC Services  Version 1.8
viagra.c
Go to the documentation of this file.
1 /* Viagra IRCD functions
2  *
3  * (C) 2003-2014 Anope Team
4  * Contact us at team@anope.org
5  *
6  * Please read COPYING and README for further details.
7  *
8  * Based on the original code of Epona by Lara.
9  * Based on the original code of Services by Andy Church.
10  *
11  *
12  */
13 
14 #include "services.h"
15 #include "pseudo.h"
16 #include "viagra.h"
17 #include "version.h"
18 
20  {"ViagraIRCd 1.3.*", /* ircd name */
21  "+oS", /* nickserv mode */
22  "+oS", /* chanserv mode */
23  "+oS", /* memoserv mode */
24  "+oS", /* hostserv mode */
25  "+ioS", /* operserv mode */
26  "+oS", /* botserv mode */
27  "+oS", /* helpserv mode */
28  "+i", /* Dev/Null mode */
29  "+ioS", /* Global mode */
30  "+oS", /* nickserv alias mode */
31  "+oS", /* chanserv alias mode */
32  "+oS", /* memoserv alias mode */
33  "+ioS", /* hostserv alias mode */
34  "+ioS", /* operserv alias mode */
35  "+oS", /* botserv alias mode */
36  "+oS", /* helpserv alias mode */
37  "+iS", /* Dev/Null alias mode */
38  "+ioS", /* Global alias mode */
39  "+qS", /* Used by BotServ Bots */
40  5, /* Chan Max Symbols */
41  "-ciklmnpstOR", /* Modes to Remove */
42  "+ao", /* Channel Umode used by Botserv bots */
43  1, /* SVSNICK */
44  1, /* Vhost */
45  1, /* Has Owner */
46  "+q", /* Mode to set for an owner */
47  "-q", /* Mode to unset for an owner */
48  "+a", /* Mode to set for channel admin */
49  "-a", /* Mode to unset for channel admin */
50  "+rd", /* Mode On Reg */
51  NULL, /* Mode on ID for Roots */
52  NULL, /* Mode on ID for Admins */
53  NULL, /* Mode on ID for Opers */
54  "-r+d", /* Mode on UnReg */
55  "-r+d", /* Mode on Nick Change */
56  1, /* Supports SGlines */
57  1, /* Supports SQlines */
58  1, /* Supports SZlines */
59  1, /* Supports Halfop +h */
60  3, /* Number of server args */
61  0, /* Join 2 Set */
62  0, /* Join 2 Message */
63  1, /* Has exceptions +e */
64  0, /* TS Topic Forward */
65  0, /* TS Topci Backward */
66  0, /* Protected Umode */
67  1, /* Has Admin */
68  0, /* Chan SQlines */
69  1, /* Quit on Kill */
70  1, /* SVSMODE unban */
71  1, /* Has Protect */
72  0, /* Reverse */
73  1, /* Chan Reg */
74  CMODE_r, /* Channel Mode */
75  1, /* vidents */
76  0, /* svshold */
77  1, /* time stamp on mode */
78  1, /* NICKIP */
79  0, /* O:LINE */
80  1, /* UMODE */
81  1, /* VHOST ON NICK */
82  1, /* Change RealName */
83  0, /* No Knock */
84  0, /* Admin Only */
85  DEFAULT_MLOCK, /* Default MLOCK */
86  UMODE_x, /* Vhost Mode */
87  0, /* +f */
88  0, /* +L */
89  0,
90  0,
91  1,
92  1, /* No Knock requires +i */
93  NULL, /* CAPAB Chan Modes */
94  0, /* We support TOKENS */
95  1, /* TOKENS are CASE inSensitive */
96  0, /* TIME STAMPS are BASE64 */
97  0, /* +I support */
98  0, /* SJOIN ban char */
99  0, /* SJOIN except char */
100  0, /* SJOIN invite char */
101  0, /* Can remove User Channel Modes with SVSMODE */
102  0, /* Sglines are not enforced until user reconnects */
103  "x", /* vhost char */
104  0, /* ts6 */
105  1, /* support helper umode */
106  0, /* p10 */
107  NULL, /* character set */
108  1, /* reports sync state */
109  0, /* CIDR channelbans */
110  0, /* +j */
111  0, /* +j mode */
112  0, /* Use delayed client introduction. */
113  }
114  ,
115  {NULL}
116 };
117 
118 
120  {
121  CAPAB_NOQUIT, /* NOQUIT */
122  CAPAB_TSMODE, /* TSMODE */
123  CAPAB_UNCONNECT, /* UNCONNECT */
124  CAPAB_NICKIP, /* NICKIP */
125  CAPAB_NSJOIN, /* SJOIN */
126  CAPAB_ZIP, /* ZIP */
127  CAPAB_BURST, /* BURST */
128  CAPAB_TS5, /* TS5 */
129  CAPAB_TS3, /* TS3 */
130  CAPAB_DKEY, /* DKEY */
131  0, /* PT4 */
132  0, /* SCS */
133  0, /* QS */
134  0, /* UID */
135  0, /* KNOCK */
136  0, /* CLIENT */
137  0, /* IPV6 */
138  0, /* SSJ5 */
139  0, /* SN2 */
140  0, /* TOKEN */
141  0, /* VHOST */
142  0, /* SSJ3 */
143  0, /* NICK2 */
144  0, /* UMODE2 */
145  0, /* VL */
146  0, /* TLKEXT */
147  CAPAB_DODKEY, /* DODKEY */
148  CAPAB_DOZIP, /* DOZIP */
149  0, 0, 0}
150 };
151 
152 
153 
154 
155 void viagra_set_umode(User * user, int ac, char **av)
156 {
157  int add = 1; /* 1 if adding modes, 0 if deleting */
158  char *modes = av[0];
159 
160  ac--;
161 
162  if (debug)
163  alog("debug: Changing mode for %s to %s", user->nick, modes);
164 
165  while (*modes) {
166 
167  /* This looks better, much better than "add ? (do_add) : (do_remove)".
168  * At least this is readable without paying much attention :) -GD
169  */
170  if (add)
171  user->mode |= umodes[(int) *modes];
172  else
173  user->mode &= ~umodes[(int) *modes];
174 
175  switch (*modes++) {
176  case '+':
177  add = 1;
178  break;
179  case '-':
180  add = 0;
181  break;
182  case 'd':
183  if (ac == 0) {
184  alog("user: umode +d with no parameter (?) for user %s",
185  user->nick);
186  break;
187  }
188 
189  ac--;
190  av++;
191  user->svid = strtoul(*av, NULL, 0);
192  break;
193  case 'o':
194  if (add) {
195  opcnt++;
196  if (WallOper) {
198  "\2%s\2 is now an IRC operator.",
199  user->nick);
200  }
201  display_news(user, NEWS_OPER);
202  } else {
203  opcnt--;
204  }
205  break;
206  case 'r':
207  if (add && !nick_identified(user)) {
208  common_svsmode(user, "-r", NULL);
209  user->mode &= ~UMODE_r;
210  }
211  break;
212  case 'x':
213  update_host(user);
214  break;
215  }
216  }
217 }
218 
219 unsigned long umodes[128] = {
220  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
221  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
222  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
224  0, UMODE_A, 0, UMODE_C, 0, 0, 0, 0, 0, UMODE_I, 0, 0, 0, 0, UMODE_N,
225  UMODE_O,
226  0,
227  UMODE_Q,
228  UMODE_R,
229  UMODE_S, UMODE_T, 0, 0, 0, 0, 0,
230  0,
231  0, 0, 0, 0, 0,
233  UMODE_g,
234  UMODE_h, UMODE_i, 0, 0, 0, 0, UMODE_n, UMODE_o,
235  0,
236  0, UMODE_r, UMODE_s, 0, 0, 0, UMODE_w,
237  UMODE_x,
238  0,
239  0,
240  0, 0, 0, 0, 0
241 };
242 
243 
244 char myCsmodes[128] = {
245  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
246  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
247 
248  0,
249  0,
250  0, 0, 0,
251  'h', /* (37) % Channel halfops */
252  0, /* (38) & bans */
253  0, 0, 0,
254  'q',
255 
256  'v', 0, 0, 0, 0,
257  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
258 
259  'o', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
260  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
261 
262  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
263  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'a', 0
264 };
265 
267  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
268  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
269  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
270  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
271  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
272  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
273  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
274  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
275  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
276  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
277  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
278  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
279  {NULL},
280  {NULL},
281  {add_ban, del_ban},
282  {NULL},
283  {NULL},
285  {NULL},
286  {NULL},
287  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
288  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
289  {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}
290 };
291 
292 
293 
295  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
296  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
297  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
298  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
299  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
300  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
301  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
302  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
303  {0},
304  {0}, /* A */
305  {0}, /* B */
306  {0}, /* C */
307  {0}, /* D */
308  {0}, /* E */
309  {0}, /* F */
310  {0}, /* G */
311  {CMODE_H, 0, NULL, NULL}, /* H */
312  {0}, /* I */
313  {0}, /* J */
314  {0}, /* K */
315  {0}, /* L */
316  {CMODE_M, 0, NULL, NULL}, /* M */
317  {CMODE_N, 0, NULL, NULL}, /* N */
318  {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL},
319  {CMODE_P, 0, NULL, NULL}, /* P */
320  {0}, /* Q */
321  {CMODE_R, 0, NULL, NULL}, /* R */
322  {CMODE_S, 0, NULL, NULL}, /* S */
323  {0}, /* T */
324  {0}, /* U */
325  {0}, /* V */
326  {0}, /* W */
327  {0}, /* X */
328  {0}, /* Y */
329  {0}, /* Z */
330  {0}, {0}, {0}, {0}, {0}, {0},
331  {0}, /* a */
332  {0}, /* b */
333  {CMODE_c, 0, NULL, NULL},
334  {0}, /* d */
335  {0}, /* e */
336  {0}, /* f */
337  {0}, /* g */
338  {0}, /* h */
339  {CMODE_i, 0, NULL, NULL},
340  {0}, /* j */
343  {CMODE_m, 0, NULL, NULL},
344  {CMODE_n, 0, NULL, NULL},
345  {0}, /* o */
346  {CMODE_p, 0, NULL, NULL},
347  {0}, /* q */
348  {CMODE_r, CBM_NO_MLOCK, NULL, NULL},
349  {CMODE_s, 0, NULL, NULL},
350  {CMODE_t, 0, NULL, NULL},
351  {0},
352  {0}, /* v */
353  {0}, /* w */
354  {CMODE_x, 0, NULL, NULL}, /* x */
355  {0}, /* y */
356  {0}, /* z */
357  {0}, {0}, {0}, {0}
358 };
359 
361  {'c', CMODE_c, 0, NULL, NULL},
362  {'i', CMODE_i, 0, NULL, NULL},
363  {'k', CMODE_k, 0, get_key, cs_get_key},
365  {'m', CMODE_m, 0, NULL, NULL},
366  {'n', CMODE_n, 0, NULL, NULL},
367  {'p', CMODE_p, 0, NULL, NULL},
368  {'r', CMODE_r, 0, NULL, NULL},
369  {'s', CMODE_s, 0, NULL, NULL},
370  {'t', CMODE_t, 0, NULL, NULL},
371  {'x', CMODE_x, 0, NULL, NULL},
372  {'H', CMODE_H, 0, NULL, NULL},
373  {'M', CMODE_M, 0, NULL, NULL},
374  {'N', CMODE_N, 0, NULL, NULL},
375  {'O', CMODE_O, 0, NULL, NULL},
376  {'P', CMODE_P, 0, NULL, NULL},
377  {'R', CMODE_R, 0, NULL, NULL},
378  {'S', CMODE_S, 0, NULL, NULL},
379  {0}
380 };
381 
383  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
384  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
385  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
386  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
387 
388  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
389  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
390  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
391  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
392 
393  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
394  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
395  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
396  {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
397 
398  {0},
399 
401  {0}, /* b */
402  {0}, /* c */
403  {0}, /* d */
404  {0}, /* e */
405  {0}, /* f */
406  {0}, /* g */
408  {0}, /* i */
409  {0}, /* j */
410  {0}, /* k */
411  {0}, /* l */
412  {0}, /* m */
413  {0}, /* n */
415  {0}, /* p */
417  {0}, /* r */
418  {0}, /* s */
419  {0}, /* t */
420  {0}, /* u */
421  {CUS_VOICE, 0, NULL},
422  {0}, /* w */
423  {0}, /* x */
424  {0}, /* y */
425  {0}, /* z */
426  {0}, {0}, {0}, {0}, {0}
427 };
428 
429 
430 void viagra_cmd_bot_unban(ChannelInfo * ci, char *nick)
431 {
432  send_cmd(ServerName, "SVSMODE %s -b %s", ci->name, nick);
433 }
434 
435 int anope_event_setname(char *source, int ac, char **av)
436 {
437  User *u;
438 
439  if (ac != 1)
440  return MOD_CONT;
441 
442  u = finduser(source);
443  if (!u) {
444  if (debug) {
445  alog("debug: SETNAME for nonexistent user %s", source);
446  }
447  return MOD_CONT;
448  }
449 
450  change_user_realname(u, av[0]);
451  return MOD_CONT;
452 }
453 
454 int anope_event_sjoin(char *source, int ac, char **av)
455 {
456  do_sjoin(source, ac, av);
457  return MOD_CONT;
458 }
459 
460 int anope_event_chgname(char *source, int ac, char **av)
461 {
462  User *u;
463 
464  if (ac != 2)
465  return MOD_CONT;
466 
467  u = finduser(av[0]);
468  if (!u) {
469  if (debug) {
470  alog("debug: CHGNAME for nonexistent user %s", av[0]);
471  }
472  return MOD_CONT;
473  }
474 
475  change_user_realname(u, av[1]);
476  return MOD_CONT;
477 }
478 
479 int anope_event_setident(char *source, int ac, char **av)
480 {
481  User *u;
482 
483  if (ac != 1)
484  return MOD_CONT;
485 
486  u = finduser(source);
487  if (!u) {
488  if (debug) {
489  alog("debug: SETIDENT for nonexistent user %s", source);
490  }
491  return MOD_CONT;
492  }
493 
494  change_user_username(u, av[0]);
495  return MOD_CONT;
496 }
497 
498 int anope_event_chgident(char *source, int ac, char **av)
499 {
500  User *u;
501 
502  if (ac != 2)
503  return MOD_CONT;
504 
505  u = finduser(av[0]);
506  if (!u) {
507  if (debug) {
508  alog("debug: CHGIDENT for nonexistent user %s", av[0]);
509  }
510  return MOD_CONT;
511  }
512 
513  change_user_username(u, av[1]);
514  return MOD_CONT;
515 }
516 
517 /*
518  * sethost
519  * parv[0] = sender
520  * parv[1] = newhost
521  */
522 int anope_event_sethost(char *source, int ac, char **av)
523 {
524  User *u;
525 
526  if (ac != 1)
527  return MOD_CONT;
528 
529  u = finduser(source);
530  if (!u) {
531  if (debug) {
532  alog("debug: SETHOST for nonexistent user %s", source);
533  }
534  return MOD_CONT;
535  }
536 
537  change_user_host(u, av[0]);
538  return MOD_CONT;
539 }
540 
541 int anope_event_nick(char *source, int ac, char **av)
542 {
543  User *user;
544 
545  if (ac != 2) {
546  user = do_nick(source, av[0], av[4], av[5], av[6], av[9],
547  strtoul(av[2], NULL, 10), strtoul(av[7], NULL, 0),
548  strtoul(av[8], NULL, 0), "*", NULL);
549  if (user) {
550  anope_set_umode(user, 1, &av[3]);
551  }
552  } else {
553  do_nick(source, av[0], NULL, NULL, NULL, NULL,
554  strtoul(av[1], NULL, 10), 0, 0, NULL, NULL);
555  }
556  return MOD_CONT;
557 }
558 
559 int anope_event_vs(char *source, int ac, char **av)
560 {
561  User *u;
562 
563  if (ac != 2)
564  return MOD_CONT;
565 
566  u = finduser(av[0]);
567  if (!u) {
568  if (debug) {
569  alog("debug: VS for nonexistent user %s", av[0]);
570  }
571  return MOD_CONT;
572  }
573 
574  change_user_host(u, av[1]);
575  return MOD_CONT;
576 
577 }
578 
579 int anope_event_chghost(char *source, int ac, char **av)
580 {
581  User *u;
582 
583  if (ac != 2)
584  return MOD_CONT;
585 
586  u = finduser(av[0]);
587  if (!u) {
588  if (debug) {
589  alog("debug: CHGHOST for nonexistent user %s", av[0]);
590  }
591  return MOD_CONT;
592  }
593 
594  change_user_host(u, av[1]);
595  return MOD_CONT;
596 }
597 
598 int anope_event_436(char *source, int ac, char **av)
599 {
600  if (ac < 1)
601  return MOD_CONT;
602 
603  m_nickcoll(av[0]);
604  return MOD_CONT;
605 }
606 
607 int anope_event_notice(char *source, int ac, char **av)
608 {
609  return MOD_CONT;
610 }
611 
612 int anope_event_pass(char *source, int ac, char **av)
613 {
614  return MOD_CONT;
615 }
616 
617 int anope_event_svinfo(char *source, int ac, char **av)
618 {
619  return MOD_CONT;
620 }
621 
622 /*
623  * gnotice
624  * parv[0] = sender prefix
625  * parv[1] = message text
626  */
627 int anope_event_gnotice(char *source, int ac, char **av)
628 {
629  return MOD_CONT;
630 }
631 
632 int anope_event_sqline(char *source, int ac, char **av)
633 {
634  return MOD_CONT;
635 }
636 
637 int anope_event_burst(char *source, int ac, char **av)
638 {
639  Server *s;
640  s = findserver(servlist, source);
641  if (!ac) {
642  /* for future use - start burst */
643  } else {
644  /* If we found a server with the given source, that one just
645  * finished bursting. If there was no source, then our uplink
646  * server finished bursting. -GD
647  */
648  if (!s && serv_uplink)
649  s = serv_uplink;
650  finish_sync(s, 1);
651  }
652  return MOD_CONT;
653 }
654 
655 int anope_event_tctrl(char *source, int ac, char **av)
656 {
657  return MOD_CONT;
658 }
659 
660 /*
661  * error
662  * parv[0] = sender prefix
663  * parv[*] = parameters
664  */
665 int anope_event_error(char *source, int ac, char **av)
666 {
667  if (ac >= 1) {
668  if (debug) {
669  alog("debug: %s", av[0]);
670  }
671  }
672  return MOD_CONT;
673 }
674 
675 /* *INDENT-OFF* */
676 void moduleAddIRCDMsgs(void) {
677  Message *m;
678 
679  updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+a","-a");
680 
714  m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
727  m = createMessage("UNSGLINE", anope_event_null); addCoreMessage(IRCD,m);
728  m = createMessage("UNSZLINE", anope_event_null); addCoreMessage(IRCD,m);
742 }
743 
744 /* *INDENT-ON* */
745 
746 
747 /* SQLINE */
748 void viagra_cmd_sqline(char *mask, char *reason)
749 {
750  if (!mask || !reason) {
751  return;
752  }
753 
754  send_cmd(NULL, "SQLINE %s :%s", mask, reason);
755 }
756 
757 void viagra_cmd_unsgline(char *mask)
758 {
759  send_cmd(NULL, "UNSGLINE 0 :%s", mask);
760 }
761 
762 void viagra_cmd_unszline(char *mask)
763 {
764  send_cmd(NULL, "UNSZLINE 0 %s", mask);
765 }
766 
767 void viagra_cmd_szline(char *mask, char *reason, char *whom)
768 {
769  send_cmd(NULL, "SZLINE %s :%s", mask, reason);
770 }
771 
772 void viagra_cmd_svsnoop(char *server, int set)
773 {
774  send_cmd(NULL, "SVSNOOP %s %s", server, (set ? "+" : "-"));
775 }
776 
777 void viagra_cmd_svsadmin(char *server, int set)
778 {
779  viagra_cmd_svsnoop(server, set);
780 }
781 
782 void viagra_cmd_sgline(char *mask, char *reason)
783 {
784  send_cmd(NULL, "SGLINE %d :%s:%s", (int)strlen(mask), mask, reason);
785 }
786 
787 void viagra_cmd_remove_akill(char *user, char *host)
788 {
789  send_cmd(NULL, "RAKILL %s %s", host, user);
790 }
791 
792 /* PART */
793 void viagra_cmd_part(char *nick, char *chan, char *buf)
794 {
795  if (!nick || !chan) {
796  return;
797  }
798 
799  if (buf) {
800  send_cmd(nick, "PART %s :%s", chan, buf);
801  } else {
802  send_cmd(nick, "PART %s", chan);
803  }
804 }
805 
806 void viagra_cmd_topic(char *whosets, char *chan, char *whosetit,
807  char *topic, time_t when)
808 {
809  send_cmd(whosets, "TOPIC %s %s %lu :%s", chan, whosetit,
810  (unsigned long int) when, topic);
811 }
812 
814 {
815  common_svsmode(u, "-x", NULL);
816  notice_lang(s_HostServ, u, HOST_OFF_UNREAL, u->nick, ircd->vhostchar);
817 }
818 
819 void viagra_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
820 {
821  if (vIdent) {
822  send_cmd(NULL, "CHGIDENT %s %s", nick, vIdent);
823  }
824  send_cmd(NULL, "SVSMODE %s +x", nick);
825  send_cmd(NULL, "SVSCHGHOST %s %s", nick, vhost);
826 }
827 
828 void viagra_cmd_unsqline(char *user)
829 {
830  send_cmd(NULL, "UNSQLINE %s", user);
831 }
832 
833 void viagra_cmd_join(char *user, char *channel, time_t chantime)
834 {
835  send_cmd(user, "SJOIN %ld %s", (long int) chantime, channel);
836 }
837 
838 
839 /*
840  * m_akill()
841  * parv[1]=host
842  * parv[2]=user
843  * parv[3]=length
844  * parv[4]=akiller
845  * parv[5]=time set
846  * parv[6]=reason
847  */
848 void viagra_cmd_akill(char *user, char *host, char *who, time_t when,
849  time_t expires, char *reason)
850 {
851  send_cmd(NULL, "AKILL %s %s %d %s %ld :%s", host, user, 86400 * 2, who,
852  (long int) time(NULL), reason);
853 }
854 
855 
856 /*
857  * svskill
858  * parv[0] = servername
859  * parv[1] = client
860  * parv[2] = nick stamp
861  * parv[3] = kill message
862  */
863 void viagra_cmd_svskill(char *source, char *user, char *buf)
864 {
865  if (buf) {
866  send_cmd(source, "SVSKILL %s :%s", user, buf);
867  }
868  return;
869 }
870 
871 void viagra_cmd_mode(char *source, char *dest, char *buf)
872 {
873  if (!buf) {
874  return;
875  }
876 
877  if (ircdcap->tsmode) {
878  if (uplink_capab & ircdcap->tsmode) {
879  send_cmd(source, "MODE %s 0 %s", dest, buf);
880  } else {
881  send_cmd(source, "MODE %s %s", dest, buf);
882  }
883  } else {
884  send_cmd(source, "MODE %s %s", dest, buf);
885  }
886 }
887 
888 /* QUIT */
889 void viagra_cmd_quit(char *source, char *buf)
890 {
891  if (buf) {
892  send_cmd(source, "QUIT :%s", buf);
893  } else {
894  send_cmd(source, "QUIT");
895  }
896 }
897 
898 int anope_event_away(char *source, int ac, char **av)
899 {
900  if (!source) {
901  return MOD_CONT;
902  }
903  m_away(source, (ac ? av[0] : NULL));
904  return MOD_CONT;
905 }
906 
907 int anope_event_ping(char *source, int ac, char **av)
908 {
909  if (ac < 1)
910  return MOD_CONT;
911  viagra_cmd_pong(ac > 1 ? av[1] : ServerName, av[0]);
912  return MOD_CONT;
913 }
914 
915 void viagra_cmd_svsmode(User * u, int ac, char **av)
916 {
917  send_cmd(ServerName, "SVSMODE %s %ld %s%s%s", u->nick,
918  (long int) u->timestamp, av[0], (ac == 2 ? " " : ""),
919  (ac == 2 ? av[1] : ""));
920 }
921 
922 void viagra_cmd_squit(char *servname, char *message)
923 {
924  send_cmd(NULL, "SQUIT %s :%s", servname, message);
925 }
926 
927 /* PONG */
928 void viagra_cmd_pong(char *servname, char *who)
929 {
930  send_cmd(servname, "PONG %s", who);
931 }
932 
933 /*
934  * svinfo
935  * parv[0] = sender prefix
936  * parv[1] = TS_CURRENT for the server
937  * parv[2] = TS_MIN for the server
938  * parv[3] = server is standalone or connected to non-TS only
939  * parv[4] = server's idea of UTC time
940  */
942 {
943  send_cmd(NULL, "SVINFO 5 3 0 :%ld", (long int) time(NULL));
944 }
945 
946 /* CAPAB */
948 {
949  send_cmd(NULL, "CAPAB TS5 NOQUIT SSJOIN BURST UNCONNECT NICKIP");
950 }
951 
952 /* PASS */
953 void viagra_cmd_pass(char *pass)
954 {
955  send_cmd(NULL, "PASS %s :TS", pass);
956 }
957 
958 /* SERVER */
959 void viagra_cmd_server(char *servname, int hop, char *descript)
960 {
961  send_cmd(NULL, "SERVER %s %d :%s", servname, hop, descript);
962 }
963 
965 {
966  send_cmd(NULL, "BURST");
967 }
968 
970 {
971  me_server =
973 
974  if (servernum == 1) {
976  } else if (servernum == 2) {
978  } else if (servernum == 3) {
980  }
985 }
986 
988 {
989  /* Not used */
990 }
991 
992 /* EVENT : OS */
993 int anope_event_os(char *source, int ac, char **av)
994 {
995  if (ac < 1)
996  return MOD_CONT;
997  m_privmsg(source, s_OperServ, av[0]);
998  return MOD_CONT;
999 }
1000 
1001 /* EVENT : NS */
1002 int anope_event_ns(char *source, int ac, char **av)
1003 {
1004  if (ac < 1)
1005  return MOD_CONT;
1006  m_privmsg(source, s_NickServ, av[0]);
1007  return MOD_CONT;
1008 }
1009 
1010 /* EVENT : MS */
1011 int anope_event_ms(char *source, int ac, char **av)
1012 {
1013  if (ac < 1)
1014  return MOD_CONT;
1015  m_privmsg(source, s_MemoServ, av[0]);
1016  return MOD_CONT;
1017 }
1018 
1019 /* EVENT : HS */
1020 int anope_event_hs(char *source, int ac, char **av)
1021 {
1022  if (ac < 1)
1023  return MOD_CONT;
1024  m_privmsg(source, s_HostServ, av[0]);
1025  return MOD_CONT;
1026 }
1027 
1028 /* EVENT : CS */
1029 int anope_event_cs(char *source, int ac, char **av)
1030 {
1031  if (ac < 1)
1032  return MOD_CONT;
1033  m_privmsg(source, s_ChanServ, av[0]);
1034  return MOD_CONT;
1035 }
1036 
1037 int anope_event_server(char *source, int ac, char **av)
1038 {
1039  if (!stricmp(av[1], "1")) {
1040  uplink = sstrdup(av[0]);
1041  }
1042  do_server(source, av[0], av[1], av[2], NULL);
1043  return MOD_CONT;
1044 }
1045 
1046 
1047 int anope_event_privmsg(char *source, int ac, char **av)
1048 {
1049  if (ac != 2)
1050  return MOD_CONT;
1051  m_privmsg(source, av[0], av[1]);
1052  return MOD_CONT;
1053 }
1054 
1055 int anope_event_part(char *source, int ac, char **av)
1056 {
1057  if (ac < 1 || ac > 2)
1058  return MOD_CONT;
1059  do_part(source, ac, av);
1060  return MOD_CONT;
1061 }
1062 
1063 int anope_event_whois(char *source, int ac, char **av)
1064 {
1065  if (source && ac >= 1) {
1066  m_whois(source, av[0]);
1067  }
1068  return MOD_CONT;
1069 }
1070 
1071 int anope_event_topic(char *source, int ac, char **av)
1072 {
1073  if (ac != 4)
1074  return MOD_CONT;
1075  do_topic(source, ac, av);
1076  return MOD_CONT;
1077 }
1078 
1079 int anope_event_squit(char *source, int ac, char **av)
1080 {
1081  if (ac != 2)
1082  return MOD_CONT;
1083  do_squit(source, ac, av);
1084  return MOD_CONT;
1085 }
1086 
1087 int anope_event_quit(char *source, int ac, char **av)
1088 {
1089  if (ac != 1)
1090  return MOD_CONT;
1091  do_quit(source, ac, av);
1092  return MOD_CONT;
1093 }
1094 
1095 
1096 int anope_event_mode(char *source, int ac, char **av)
1097 {
1098  if (ac < 2)
1099  return MOD_CONT;
1100 
1101  if (*av[0] == '#' || *av[0] == '&') {
1102  do_cmode(source, ac, av);
1103  } else {
1104  do_umode(source, ac, av);
1105  }
1106  return MOD_CONT;
1107 }
1108 
1109 int anope_event_kill(char *source, int ac, char **av)
1110 {
1111  if (ac != 2)
1112  return MOD_CONT;
1113 
1114  m_kill(av[0], av[1]);
1115  return MOD_CONT;
1116 }
1117 
1118 int anope_event_kick(char *source, int ac, char **av)
1119 {
1120  if (ac != 3)
1121  return MOD_CONT;
1122  do_kick(source, ac, av);
1123  return MOD_CONT;
1124 }
1125 
1126 int anope_event_join(char *source, int ac, char **av)
1127 {
1128  if (ac != 1)
1129  return MOD_CONT;
1130  do_join(source, ac, av);
1131  return MOD_CONT;
1132 }
1133 
1134 int anope_event_motd(char *source, int ac, char **av)
1135 {
1136  if (!source) {
1137  return MOD_CONT;
1138  }
1139 
1140  m_motd(source);
1141  return MOD_CONT;
1142 }
1143 
1144 void viagra_cmd_notice_ops(char *source, char *dest, char *buf)
1145 {
1146  if (buf) {
1147  send_cmd(NULL, "NOTICE @%s :%s", dest, buf);
1148  }
1149  return;
1150 }
1151 
1152 void viagra_cmd_notice(char *source, char *dest, char *buf)
1153 {
1154  if (!buf) {
1155  return;
1156  }
1157 
1158  if (NSDefFlags & NI_MSG) {
1159  viagra_cmd_privmsg2(source, dest, buf);
1160  } else {
1161  send_cmd(source, "NOTICE %s :%s", dest, buf);
1162  }
1163 }
1164 
1165 void viagra_cmd_notice2(char *source, char *dest, char *msg)
1166 {
1167  send_cmd(source, "NOTICE %s :%s", dest, msg);
1168 }
1169 
1170 void viagra_cmd_privmsg(char *source, char *dest, char *buf)
1171 {
1172  if (!buf) {
1173  return;
1174  }
1175 
1176  send_cmd(source, "PRIVMSG %s :%s", dest, buf);
1177 }
1178 
1179 void viagra_cmd_privmsg2(char *source, char *dest, char *msg)
1180 {
1181  send_cmd(source, "PRIVMSG %s :%s", dest, msg);
1182 }
1183 
1184 void viagra_cmd_serv_notice(char *source, char *dest, char *msg)
1185 {
1186  send_cmd(source, "NOTICE $%s :%s", dest, msg);
1187 }
1188 
1189 void viagra_cmd_serv_privmsg(char *source, char *dest, char *msg)
1190 {
1191  send_cmd(source, "PRIVMSG $%s :%s", dest, msg);
1192 }
1193 
1194 /* GLOBOPS */
1195 void viagra_cmd_global(char *source, char *buf)
1196 {
1197  if (!buf) {
1198  return;
1199  }
1200 
1201  send_cmd(source ? source : ServerName, "GLOBOPS :%s", buf);
1202 }
1203 
1204 /* 391 */
1205 void viagra_cmd_391(char *source, char *timestr)
1206 {
1207  if (!timestr) {
1208  return;
1209  }
1210  send_cmd(NULL, "391 :%s %s :%s", source, ServerName, timestr);
1211 }
1212 
1213 /* 250 */
1214 void viagra_cmd_250(char *buf)
1215 {
1216  if (!buf) {
1217  return;
1218  }
1219 
1220  send_cmd(NULL, "250 %s", buf);
1221 }
1222 
1223 /* 307 */
1224 void viagra_cmd_307(char *buf)
1225 {
1226  if (!buf) {
1227  return;
1228  }
1229 
1230  send_cmd(ServerName, "307 %s", buf);
1231 }
1232 
1233 /* 311 */
1234 void viagra_cmd_311(char *buf)
1235 {
1236  if (!buf) {
1237  return;
1238  }
1239 
1240  send_cmd(ServerName, "311 %s", buf);
1241 }
1242 
1243 /* 312 */
1244 void viagra_cmd_312(char *buf)
1245 {
1246  if (!buf) {
1247  return;
1248  }
1249 
1250  send_cmd(ServerName, "312 %s", buf);
1251 }
1252 
1253 /* 317 */
1254 void viagra_cmd_317(char *buf)
1255 {
1256  if (!buf) {
1257  return;
1258  }
1259 
1260  send_cmd(ServerName, "317 %s", buf);
1261 }
1262 
1263 /* 219 */
1264 void viagra_cmd_219(char *source, char *letter)
1265 {
1266  if (!source) {
1267  return;
1268  }
1269 
1270  if (letter) {
1271  send_cmd(NULL, "219 %s %c :End of /STATS report.", source,
1272  *letter);
1273  } else {
1274  send_cmd(NULL, "219 %s l :End of /STATS report.", source);
1275  }
1276 }
1277 
1278 /* 401 */
1279 void viagra_cmd_401(char *source, char *who)
1280 {
1281  if (!source || !who) {
1282  return;
1283  }
1284  send_cmd(ServerName, "401 %s %s :No such service.", source, who);
1285 }
1286 
1287 /* 318 */
1288 void viagra_cmd_318(char *source, char *who)
1289 {
1290  if (!source || !who) {
1291  return;
1292  }
1293 
1294  send_cmd(ServerName, "318 %s %s :End of /WHOIS list.", source, who);
1295 }
1296 
1297 /* 242 */
1298 void viagra_cmd_242(char *buf)
1299 {
1300  if (!buf) {
1301  return;
1302  }
1303 
1304  send_cmd(NULL, "242 %s", buf);
1305 }
1306 
1307 /* 243 */
1308 void viagra_cmd_243(char *buf)
1309 {
1310  if (!buf) {
1311  return;
1312  }
1313 
1314  send_cmd(NULL, "243 %s", buf);
1315 }
1316 
1317 /* 211 */
1318 void viagra_cmd_211(char *buf)
1319 {
1320  if (!buf) {
1321  return;
1322  }
1323 
1324  send_cmd(NULL, "211 %s", buf);
1325 }
1326 
1327 void viagra_cmd_351(char *source)
1328 {
1329  send_cmd(ServerName, "351 %s Anope-%s %s :%s - %s (%s) -- %s",
1332 }
1333 
1334 void viagra_cmd_bot_nick(char *nick, char *user, char *host, char *real,
1335  char *modes)
1336 {
1338  send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s 0 0 :%s", nick,
1339  (long int) time(NULL), modes, user, host, ServerName, real);
1340  viagra_cmd_sqline(nick, "Reserved for services");
1341 }
1342 
1343 void viagra_cmd_kick(char *source, char *chan, char *user, char *buf)
1344 {
1345  if (buf) {
1346  send_cmd(source, "KICK %s %s :%s", chan, user, buf);
1347  } else {
1348  send_cmd(source, "KICK %s %s", chan, user);
1349  }
1350 }
1351 
1352 void viagra_cmd_nick(char *nick, char *name, char *modes)
1353 {
1354  EnforceQlinedNick(nick, NULL);
1355  send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s 0 0 :%s", nick,
1356  (long int) time(NULL), modes, ServiceUser, ServiceHost,
1357  ServerName, name);
1358  viagra_cmd_sqline(nick, "Reserved for services");
1359 }
1360 
1361 void viagra_cmd_372(char *source, char *msg)
1362 {
1363  send_cmd(ServerName, "372 %s :- %s", source, msg);
1364 }
1365 
1366 void viagra_cmd_372_error(char *source)
1367 {
1368  send_cmd(ServerName, "422 %s :- MOTD file not found! Please "
1369  "contact your IRC administrator.", source);
1370 }
1371 
1372 void viagra_cmd_375(char *source)
1373 {
1374  send_cmd(ServerName, "375 %s :- %s Message of the Day",
1375  source, ServerName);
1376 }
1377 
1378 void viagra_cmd_376(char *source)
1379 {
1380  send_cmd(ServerName, "376 %s :End of /MOTD command.", source);
1381 }
1382 
1383 /* INVITE */
1384 void viagra_cmd_invite(char *source, char *chan, char *nick)
1385 {
1386  if (!source || !chan || !nick) {
1387  return;
1388  }
1389 
1390  send_cmd(source, "INVITE %s %s", nick, chan);
1391 }
1392 
1393 void viagra_cmd_bot_chan_mode(char *nick, char *chan)
1394 {
1395  anope_cmd_mode(nick, chan, "%s %s", ircd->botchanumode, nick);
1396 }
1397 
1398 int anope_event_capab(char *source, int ac, char **av)
1399 {
1400  capab_parse(ac, av);
1401  return MOD_CONT;
1402 }
1403 
1404 /* SVSHOLD - set */
1405 void viagra_cmd_svshold(char *nick)
1406 {
1407  /* Not supported by this IRCD */
1408 }
1409 
1410 /* SVSHOLD - release */
1412 {
1413  /* Not Supported by this IRCD */
1414 }
1415 
1416 /* SVSNICK */
1417 void viagra_cmd_svsnick(char *source, char *guest, time_t when)
1418 {
1419  if (!source || !guest) {
1420  return;
1421  }
1422  send_cmd(NULL, "SVSNICK %s %s :%ld", source, guest, (long int) when);
1423 }
1424 
1425 void viagra_cmd_guest_nick(char *nick, char *user, char *host, char *real,
1426  char *modes)
1427 {
1428  send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s 0 0 :%s", nick,
1429  (long int) time(NULL), modes, user, host, ServerName, real);
1430 }
1431 
1432 void viagra_cmd_svso(char *source, char *nick, char *flag)
1433 {
1434  /* Not Supported by this IRCD */
1435 }
1436 
1437 
1438 /* SVSMODE -b */
1439 void viagra_cmd_unban(char *name, char *nick)
1440 {
1441  viagra_cmd_svsmode_chan(name, "-b", nick);
1442 }
1443 
1444 /* SVSMODE channel modes */
1445 
1446 void viagra_cmd_svsmode_chan(char *name, char *mode, char *nick)
1447 {
1448  if (nick) {
1449  send_cmd(ServerName, "SVSMODE %s %s %s", name, mode, nick);
1450  } else {
1451  send_cmd(ServerName, "SVSMODE %s %s", name, mode);
1452  }
1453 }
1454 
1455 /* SVSMODE +d */
1456 /* sent if svid is something weird */
1457 void viagra_cmd_svid_umode(char *nick, time_t ts)
1458 {
1459  send_cmd(ServerName, "SVSMODE %s %lu +d 1", nick,
1460  (unsigned long int) ts);
1461 }
1462 
1463 /* SVSMODE +d */
1464 /* nc_change was = 1, and there is no na->status */
1466 {
1467  common_svsmode(u, "+d", "1");
1468 }
1469 
1470 /* SVSMODE +d */
1471 void viagra_cmd_svid_umode2(User * u, char *ts)
1472 {
1473  /* not used by bahamut ircds */
1474 }
1475 
1476 void viagra_cmd_svid_umode3(User * u, char *ts)
1477 {
1478  if (u->svid != u->timestamp) {
1479  common_svsmode(u, "+rd", ts);
1480  } else {
1481  common_svsmode(u, "+r", NULL);
1482  }
1483 }
1484 
1485 /* NICK <newnick> */
1486 void viagra_cmd_chg_nick(char *oldnick, char *newnick)
1487 {
1488  if (!oldnick || !newnick) {
1489  return;
1490  }
1491 
1492  send_cmd(oldnick, "NICK %s", newnick);
1493 }
1494 
1495 /*
1496  * svsjoin
1497  * parv[0] = sender
1498  * parv[1] = nick to make join
1499  * parv[2] = channel(s) to join
1500  */
1501 void viagra_cmd_svsjoin(char *source, char *nick, char *chan, char *param)
1502 {
1503  send_cmd(source, "SVSJOIN %s :%s", nick, chan);
1504 }
1505 
1506 /*
1507  * svspart
1508  * parv[0] = sender
1509  * parv[1] = nick to make part
1510  * parv[2] = channel(s) to part
1511  */
1512 void viagra_cmd_svspart(char *source, char *nick, char *chan)
1513 {
1514  send_cmd(source, "SVSPART %s :%s", nick, chan);
1515 }
1516 
1517 void viagra_cmd_swhois(char *source, char *who, char *mask)
1518 {
1519  /* not supported */
1520 }
1521 
1522 int viagra_flood_mode_check(char *value)
1523 {
1524  return 0;
1525 }
1526 
1527 int anope_event_rehash(char *source, int ac, char **av)
1528 {
1529  return MOD_CONT;
1530 }
1531 
1532 int anope_event_admin(char *source, int ac, char **av)
1533 {
1534  return MOD_CONT;
1535 }
1536 
1537 int anope_event_snotice(char *source, int ac, char **av)
1538 {
1539  return MOD_CONT;
1540 }
1541 
1542 int anope_event_invite(char *source, int ac, char **av)
1543 {
1544  return MOD_CONT;
1545 }
1546 
1548 {
1549  send_cmd(NULL, "BURST 0");
1550 }
1551 
1552 void viagra_cmd_jupe(char *jserver, char *who, char *reason)
1553 {
1554  char rbuf[256];
1555 
1556  snprintf(rbuf, sizeof(rbuf), "Juped by %s%s%s", who,
1557  reason ? ": " : "", reason ? reason : "");
1558 
1559  if (findserver(servlist, jserver))
1560  viagra_cmd_squit(jserver, rbuf);
1561  viagra_cmd_server(jserver, 2, rbuf);
1562  new_server(me_server, jserver, rbuf, SERVER_JUPED, NULL);
1563 }
1564 
1565 /* GLOBOPS - to handle old WALLOPS */
1566 void viagra_cmd_global_legacy(char *source, char *fmt)
1567 {
1568  send_cmd(source ? source : ServerName, "GLOBOPS :%s", fmt);
1569 }
1570 
1571 /*
1572  1 = valid nick
1573  0 = nick is in valid
1574 */
1575 int viagra_valid_nick(char *nick)
1576 {
1577  /* no hard coded invalid nicks */
1578  return 1;
1579 }
1580 
1581 /*
1582  1 = valid chan
1583  0 = chan is in valid
1584 */
1585 int viagra_valid_chan(char *chan)
1586 {
1587  /* no hard coded invalid chans */
1588  return 1;
1589 }
1590 
1591 
1592 void viagra_cmd_ctcp(char *source, char *dest, char *buf)
1593 {
1594  char *s;
1595 
1596  if (!buf) {
1597  return;
1598  } else {
1599  s = normalizeBuffer(buf);
1600  }
1601 
1602  send_cmd(source, "NOTICE %s :\1%s \1", dest, s);
1603  free(s);
1604 }
1605 
1606 
1612 {
1688 }
1689 
1693 int AnopeInit(int argc, char **argv)
1694 {
1695 
1696  moduleAddAuthor("Anope");
1697  moduleAddVersion(VERSION_STRING);
1699 
1700  pmodule_ircd_version("ViagraIRCd 1.3.x");
1701  pmodule_ircd_cap(myIrcdcap);
1702  pmodule_ircd_var(myIrcd);
1703  pmodule_ircd_cbmodeinfos(myCbmodeinfos);
1704  pmodule_ircd_cumodes(myCumodes);
1707  pmodule_ircd_cbmodes(myCbmodes);
1708  pmodule_ircd_cmmodes(myCmmodes);
1711 
1721 
1724 
1725  return MOD_CONT;
1726 }
void viagra_cmd_server(char *servname, int hop, char *descript)
Definition: viagra.c:959
E void pmodule_cmd_vhost_off(void(*func)(User *u))
Definition: ircd.c:713
void viagra_cmd_unsqline(char *user)
Definition: viagra.c:828
void viagra_cmd_pass(char *pass)
Definition: viagra.c:953
E void pmodule_permchan_mode(int mode)
Definition: ircd.c:1206
#define CAPAB_TS3
Definition: services.h:1373
E int32 opcnt
Definition: extern.h:1140
E char * RemotePassword3
Definition: extern.h:270
#define UMODE_e
Definition: bahamut.h:39
int anope_event_sqline(char *source, int ac, char **av)
Definition: viagra.c:632
int anope_event_436(char *source, int ac, char **av)
Definition: viagra.c:598
E void pmodule_cmd_svspart(void(*func)(char *source, char *nick, char *chan))
Definition: ircd.c:1056
int anope_event_quit(char *source, int ac, char **av)
Definition: viagra.c:1087
int anope_event_admin(char *source, int ac, char **av)
Definition: viagra.c:1532
E void do_topic(const char *source, int ac, char **av)
Definition: channels.c:1249
int anope_event_notice(char *source, int ac, char **av)
Definition: viagra.c:607
E void do_server(const char *source, char *servername, char *hops, char *descript, char *numeric)
Definition: servers.c:360
E void pmodule_cmd_notice2(void(*func)(char *source, char *dest, char *msg))
Definition: ircd.c:798
CUMode myCumodes[128]
Definition: viagra.c:382
E char * RemotePassword
Definition: extern.h:264
void viagra_cmd_vhost_off(User *u)
Definition: viagra.c:813
void viagra_cmd_ctcp(char *source, char *dest, char *buf)
Definition: viagra.c:1592
E IRCDCAPAB * ircdcap
Definition: extern.h:40
void viagra_cmd_372(char *source, char *msg)
Definition: viagra.c:1361
#define CAPAB_DODKEY
Definition: services.h:1377
E void pmodule_cmd_bot_chan_mode(void(*func)(char *nick, char *chan))
Definition: ircd.c:827
#define UMODE_c
Definition: bahamut.h:30
#define UMODE_R
Definition: bahamut.h:42
char nick[NICKMAX]
Definition: services.h:875
E void do_squit(const char *source, int ac, char **av)
Definition: servers.c:398
E int snprintf(char *buf, size_t size, const char *fmt,...)
Definition: compat.c:37
#define CMODE_H
Definition: inspircd11.h:36
E int anope_event_null(char *source, int ac, char **av)
Definition: messages.c:441
E void pmodule_cmd_351(void(*func)(char *source))
Definition: ircd.c:832
void viagra_cmd_join(char *user, char *channel, time_t chantime)
Definition: viagra.c:833
MDE void updateProtectDetails(char *level_info_protect_word, char *level_info_protectme_word, char *fant_protect_add, char *fant_protect_del, char *level_protect_word, char *protect_set_mode, char *protect_unset_mode)
Definition: modules.c:2512
void viagra_cmd_global_legacy(char *source, char *fmt)
Definition: viagra.c:1566
#define UMODE_w
Definition: bahamut.h:21
#define CBM_MINUS_NO_ARG
Definition: services.h:928
E void change_user_username(User *user, const char *username)
Definition: users.c:170
E char * s_BotServ
Definition: extern.h:287
E IRCDVar * ircd
Definition: extern.h:39
E void pmodule_cmd_nick(void(*func)(char *nick, char *name, char *modes))
Definition: ircd.c:756
E void chan_set_key(Channel *chan, char *value)
Definition: channels.c:1998
char myCsmodes[128]
Definition: viagra.c:244
E void pmodule_ircd_cmmodes(CMMode modes[128])
Definition: ircd.c:1143
void viagra_cmd_307(char *buf)
Definition: viagra.c:1224
E void do_kick(const char *source, int ac, char **av)
Definition: channels.c:638
E void pmodule_cmd_372_error(void(*func)(char *source))
Definition: ircd.c:741
#define CMODE_p
Definition: bahamut.h:47
MDE int addCoreMessage(MessageHash *msgTable[], Message *m)
Definition: modules.c:1597
#define CAPAB_DKEY
Definition: services.h:1375
E void pmodule_valid_nick(int(*func)(char *nick))
Definition: ircd.c:1082
#define CAPAB_NOQUIT
Definition: services.h:1366
E void cs_set_limit(ChannelInfo *ci, char *value)
Definition: chanserv.c:2558
int anope_event_vs(char *source, int ac, char **av)
Definition: viagra.c:559
E int nick_identified(User *u)
Definition: nickserv.c:1111
void viagra_cmd_svsmode_chan(char *name, char *mode, char *nick)
Definition: viagra.c:1446
int anope_event_kill(char *source, int ac, char **av)
Definition: viagra.c:1109
#define UMODE_I
Definition: bahamut.h:41
E void pmodule_cmd_kick(void(*func)(char *source, char *chan, char *user, char *buf))
Definition: ircd.c:780
E void send_cmd(const char *source, const char *fmt,...) FORMAT(printf
void viagra_cmd_svsnoop(char *server, int set)
Definition: viagra.c:772
E void pmodule_cmd_vhost_on(void(*func)(char *nick, char *vIdent, char *vhost))
Definition: ircd.c:966
void viagra_cmd_remove_akill(char *user, char *host)
Definition: viagra.c:787
E void pmodule_cmd_svsjoin(void(*func)(char *source, char *nick, char *chan, char *param))
Definition: ircd.c:1048
int viagra_valid_chan(char *chan)
Definition: viagra.c:1585
#define CBM_NO_MLOCK
Definition: services.h:929
E void pmodule_cmd_swhois(void(*func)(char *source, char *who, char *mask))
Definition: ircd.c:1061
E void pmodule_cmd_pong(void(*func)(char *servname, char *who))
Definition: ircd.c:842
E void pmodule_cmd_307(void(*func)(char *buf))
Definition: ircd.c:879
E char * get_limit(Channel *chan)
Definition: channels.c:1881
void viagra_cmd_notice_ops(char *source, char *dest, char *buf)
Definition: viagra.c:1144
E void pmodule_cmd_211(void(*func)(char *buf))
Definition: ircd.c:924
int anope_event_setname(char *source, int ac, char **av)
Definition: viagra.c:435
void viagra_cmd_jupe(char *jserver, char *who, char *reason)
Definition: viagra.c:1552
E void pmodule_cmd_unsqline(void(*func)(char *user))
Definition: ircd.c:853
void viagra_cmd_219(char *source, char *letter)
Definition: viagra.c:1264
E void pmodule_cmd_sgline(void(*func)(char *mask, char *reason))
Definition: ircd.c:1007
E int stricmp(const char *s1, const char *s2)
Definition: compat.c:58
void viagra_cmd_243(char *buf)
Definition: viagra.c:1308
E void pmodule_set_umode(void(*func)(User *user, int ac, char **av))
Definition: ircd.c:1077
E void pmodule_ircd_cap(IRCDCAPAB *cap)
Definition: ircd.c:1102
CBModeInfo myCbmodeinfos[]
Definition: viagra.c:360
#define CMODE_l
Definition: bahamut.h:51
char * name
Definition: services.h:277
#define CMODE_N
Definition: inspircd11.h:48
E void pmodule_cmd_nc_change(void(*func)(User *u))
Definition: ircd.c:1028
E void pmodule_cmd_372(void(*func)(char *source, char *msg))
Definition: ircd.c:736
void viagra_cmd_351(char *source)
Definition: viagra.c:1327
void viagra_cmd_quit(char *source, char *buf)
Definition: viagra.c:889
E char * ServerDesc
Definition: extern.h:275
int anope_event_sethost(char *source, int ac, char **av)
Definition: viagra.c:522
E void pmodule_cmd_bob(void(*func)())
Definition: ircd.c:976
void viagra_cmd_release_svshold(char *nick)
Definition: viagra.c:1411
E void pmodule_ircd_flood_mode_char_remove(char *mode)
Definition: ircd.c:1130
void viagra_cmd_svshold(char *nick)
Definition: viagra.c:1405
CBMode myCbmodes[128]
Definition: viagra.c:294
uint32 svid
Definition: services.h:888
E void pmodule_cmd_ctcp(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:1043
E void pmodule_cmd_invite(void(*func)(char *source, char *chan, char *nick))
Definition: ircd.c:859
void viagra_cmd_375(char *source)
Definition: viagra.c:1372
#define CMODE_M
Definition: bahamut.h:55
E void pmodule_ircd_var(IRCDVar *ircdvar)
Definition: ircd.c:1097
E void do_umode(const char *source, int ac, char **av)
Definition: users.c:816
#define CAPAB_NICKIP
Definition: services.h:1369
int anope_event_whois(char *source, int ac, char **av)
Definition: viagra.c:1063
MDE Message * createMessage(const char *name, int(*func)(char *source, int ac, char **av))
Definition: modules.c:1470
void viagra_cmd_capab()
Definition: viagra.c:947
void viagra_cmd_312(char *buf)
Definition: viagra.c:1244
void viagra_cmd_unszline(char *mask)
Definition: viagra.c:762
void viagra_cmd_privmsg2(char *source, char *dest, char *msg)
Definition: viagra.c:1179
void viagra_cmd_bot_unban(ChannelInfo *ci, char *nick)
Definition: viagra.c:430
#define CUS_VOICE
Definition: services.h:1342
#define IRCD
Definition: modules.h:63
int anope_event_kick(char *source, int ac, char **av)
Definition: viagra.c:1118
#define UMODE_g
Definition: bahamut.h:35
int anope_event_invite(char *source, int ac, char **av)
Definition: viagra.c:1542
int anope_event_error(char *source, int ac, char **av)
Definition: viagra.c:665
#define UMODE_i
Definition: bahamut.h:18
void viagra_cmd_sqline(char *mask, char *reason)
Definition: viagra.c:748
E void pmodule_cmd_svsnoop(void(*func)(char *server, int set))
Definition: ircd.c:696
E void pmodule_cmd_squit(void(*func)(char *servname, char *message))
Definition: ircd.c:944
int anope_event_away(char *source, int ac, char **av)
Definition: viagra.c:898
#define CMODE_n
Definition: bahamut.h:46
void viagra_cmd_szline(char *mask, char *reason, char *whom)
Definition: viagra.c:767
#define CMODE_R
Definition: bahamut.h:52
E void pmodule_cmd_unsgline(void(*func)(char *mask))
Definition: ircd.c:991
#define UMODE_s
Definition: bahamut.h:29
int AnopeInit(int argc, char **argv)
Definition: viagra.c:1693
MDE void moduleAddAuthor(const char *author)
Definition: modules.c:1772
void viagra_cmd_chg_nick(char *oldnick, char *newnick)
Definition: viagra.c:1486
void viagra_cmd_svid_umode2(User *u, char *ts)
Definition: viagra.c:1471
E void EnforceQlinedNick(char *nick, char *killer)
Definition: misc.c:837
int anope_event_topic(char *source, int ac, char **av)
Definition: viagra.c:1071
#define CMODE_t
Definition: bahamut.h:49
char name[CHANMAX]
Definition: services.h:654
E void notice_lang(char *source, User *dest, int message,...)
Definition: send.c:169
E char * cs_get_key(ChannelInfo *ci)
Definition: chanserv.c:2447
MDE void moduleSetType(MODType type)
Definition: modules.c:818
void viagra_cmd_svskill(char *source, char *user, char *buf)
Definition: viagra.c:863
void viagra_cmd_317(char *buf)
Definition: viagra.c:1254
void viagra_cmd_topic(char *whosets, char *chan, char *whosetit, char *topic, time_t when)
Definition: viagra.c:806
void viagra_set_umode(User *user, int ac, char **av)
Definition: viagra.c:155
E void pmodule_cmd_jupe(void(*func)(char *jserver, char *who, char *reason))
Definition: ircd.c:1072
char * botchanumode
Definition: services.h:299
int anope_event_ns(char *source, int ac, char **av)
Definition: viagra.c:1002
E void update_host(User *user)
Definition: users.c:104
E void pmodule_cmd_243(void(*func)(char *buf))
Definition: ircd.c:919
int anope_event_rehash(char *source, int ac, char **av)
Definition: viagra.c:1527
E void do_sjoin(const char *source, int ac, char **av)
Definition: channels.c:803
E void anope_set_umode(User *user, int ac, char **av)
Definition: ircd.c:130
void viagra_cmd_squit(char *servname, char *message)
Definition: viagra.c:922
E char * sstrdup(const char *s)
Definition: memory.c:105
void viagra_cmd_notice2(char *source, char *dest, char *msg)
Definition: viagra.c:1165
void viagra_cmd_bot_chan_mode(char *nick, char *chan)
Definition: viagra.c:1393
E void do_join(const char *source, int ac, char **av)
Definition: channels.c:556
int anope_event_sjoin(char *source, int ac, char **av)
Definition: viagra.c:454
int anope_event_cs(char *source, int ac, char **av)
Definition: viagra.c:1029
E int m_nickcoll(char *user)
Definition: messages.c:20
void viagra_cmd_global(char *source, char *buf)
Definition: viagra.c:1195
void viagra_cmd_svsjoin(char *source, char *nick, char *chan, char *param)
Definition: viagra.c:1501
E void pmodule_cmd_375(void(*func)(char *source))
Definition: ircd.c:746
void viagra_cmd_unban(char *name, char *nick)
Definition: viagra.c:1439
E void pmodule_key_mode(int mode)
Definition: ircd.c:1196
E void pmodule_cmd_svsnick(void(*func)(char *source, char *guest, time_t when))
Definition: ircd.c:960
E char * s_OperServ
Definition: extern.h:289
E char * s_MemoServ
Definition: extern.h:286
E void pmodule_invis_umode(int mode)
Definition: ircd.c:1171
#define UMODE_f
Definition: bahamut.h:32
E void pmodule_cmd_svid_umode2(void(*func)(User *u, char *ts))
Definition: ircd.c:1033
E void pmodule_cmd_chg_nick(void(*func)(char *oldnick, char *newnick))
Definition: ircd.c:954
unsigned long umodes[128]
Definition: viagra.c:219
void viagra_cmd_311(char *buf)
Definition: viagra.c:1234
E char * ServiceHost
Definition: extern.h:277
int anope_event_snotice(char *source, int ac, char **av)
Definition: viagra.c:1537
#define UMODE_x
Definition: bahamut.h:23
#define UMODE_b
Definition: bahamut.h:36
E char * EncModule
Definition: extern.h:580
void viagra_cmd_pong(char *servname, char *who)
Definition: viagra.c:928
E void pmodule_invite_cmode(int mode)
Definition: ircd.c:1181
#define CMODE_r
Definition: bahamut.h:53
E void pmodule_cmd_eob(void(*func)())
Definition: ircd.c:1066
#define CMODE_O
Definition: bahamut.h:57
E void pmodule_cmd_svid_umode3(void(*func)(User *u, char *ts))
Definition: ircd.c:1038
E void pmodule_cmd_376(void(*func)(char *source))
Definition: ircd.c:751
void viagra_cmd_svspart(char *source, char *nick, char *chan)
Definition: viagra.c:1512
E char * uplink
Definition: extern.h:35
int anope_event_motd(char *source, int ac, char **av)
Definition: viagra.c:1134
void viagra_cmd_242(char *buf)
Definition: viagra.c:1298
E User * finduser(const char *nick)
Definition: users.c:323
void viagra_cmd_connect(int servernum)
Definition: viagra.c:969
void viagra_cmd_mode(char *source, char *dest, char *buf)
Definition: viagra.c:871
int anope_event_squit(char *source, int ac, char **av)
Definition: viagra.c:1079
E int m_kill(char *nick, char *msg)
Definition: messages.c:49
E void pmodule_cmd_part(void(*func)(char *nick, char *chan, char *buf))
Definition: ircd.c:864
E int m_away(char *source, char *msg)
Definition: messages.c:29
int anope_event_chgname(char *source, int ac, char **av)
Definition: viagra.c:460
void viagra_cmd_svid_umode(char *nick, time_t ts)
Definition: viagra.c:1457
#define CAPAB_TSMODE
Definition: services.h:1367
void viagra_cmd_bot_nick(char *nick, char *user, char *host, char *real, char *modes)
Definition: viagra.c:1334
MDE void moduleAddVersion(const char *version)
Definition: modules.c:1760
#define UMODE_a
Definition: bahamut.h:16
void viagra_cmd_nick(char *nick, char *name, char *modes)
Definition: viagra.c:1352
int anope_event_tctrl(char *source, int ac, char **av)
Definition: viagra.c:655
void viagra_cmd_sgline(char *mask, char *reason)
Definition: viagra.c:782
E void add_ban(Channel *chan, char *mask)
Definition: channels.c:1338
E void do_part(const char *source, int ac, char **av)
Definition: channels.c:710
#define CUS_HALFOP
Definition: services.h:1343
int anope_event_os(char *source, int ac, char **av)
Definition: viagra.c:993
E void del_ban(Channel *chan, char *mask)
Definition: channels.c:1779
int anope_event_burst(char *source, int ac, char **av)
Definition: viagra.c:637
#define CUS_PROTECT
Definition: services.h:1345
E void pmodule_ircd_cumodes(CUMode modes[128])
Definition: ircd.c:1117
int anope_event_chgident(char *source, int ac, char **av)
Definition: viagra.c:498
E const char version_flags[]
Definition: extern.h:771
void moduleAddIRCDMsgs(void)
Definition: viagra.c:676
E uint32 uplink_capab
Definition: extern.h:1054
void viagra_cmd_318(char *source, char *who)
Definition: viagra.c:1288
E void alog(const char *fmt,...) FORMAT(printf
E int servernum
Definition: extern.h:615
#define MOD_CONT
Definition: modules.h:54
E int m_motd(char *source)
Definition: messages.c:97
E void pmodule_cmd_svsmode(void(*func)(User *u, int ac, char **av))
Definition: ircd.c:731
E void do_quit(const char *source, int ac, char **av)
Definition: users.c:854
#define CAPAB_UNCONNECT
Definition: services.h:1368
E void pmodule_cmd_bot_nick(void(*func)(char *nick, char *user, char *host, char *real, char *modes))
Definition: ircd.c:773
E void pmodule_private_cmode(int mode)
Definition: ircd.c:1191
E void display_news(User *u, int16 type)
Definition: news.c:269
int anope_event_privmsg(char *source, int ac, char **av)
Definition: viagra.c:1047
#define CAPAB_NSJOIN
Definition: services.h:1370
#define CMODE_x
Definition: ultimate2.h:37
E Server * findserver(Server *s, const char *name)
Definition: servers.c:261
CMMode myCmmodes[128]
Definition: viagra.c:266
IRCDVar myIrcd[]
Definition: viagra.c:19
E void pmodule_cmd_svid_umode(void(*func)(char *nick, time_t ts))
Definition: ircd.c:1023
E int m_privmsg(char *source, char *receiver, char *msg)
Definition: messages.c:130
int viagra_valid_nick(char *nick)
Definition: viagra.c:1575
E void pmodule_ircd_csmodes(char mode[128])
Definition: ircd.c:1151
E void pmodule_cmd_242(void(*func)(char *buf))
Definition: ircd.c:914
int anope_event_hs(char *source, int ac, char **av)
Definition: viagra.c:1020
#define NI_MSG
Definition: services.h:1292
E int debug
Definition: extern.h:775
int anope_event_setident(char *source, int ac, char **av)
Definition: viagra.c:479
E void set_limit(Channel *chan, char *value)
Definition: channels.c:2011
E void finish_sync(Server *serv, int sync_links)
Definition: servers.c:531
E void pmodule_cmd_311(void(*func)(char *buf))
Definition: ircd.c:884
E void pmodule_cmd_join(void(*func)(char *user, char *channel, time_t chantime))
Definition: ircd.c:848
int anope_event_chghost(char *source, int ac, char **av)
Definition: viagra.c:579
E int NSDefFlags
Definition: extern.h:377
void viagra_cmd_unsgline(char *mask)
Definition: viagra.c:757
#define CUS_OWNER
Definition: services.h:1344
E void del_exception(Channel *chan, char *mask)
Definition: channels.c:1808
E void pmodule_cmd_318(void(*func)(char *source, char *who))
Definition: ircd.c:909
void viagra_cmd_svsmode(User *u, int ac, char **av)
Definition: viagra.c:915
#define CAPAB_BURST
Definition: services.h:1372
void viagra_cmd_376(char *source)
Definition: viagra.c:1378
E char * s_HostServ
Definition: extern.h:303
E void pmodule_cmd_250(void(*func)(char *buf))
Definition: ircd.c:874
int anope_event_join(char *source, int ac, char **av)
Definition: viagra.c:1126
void viagra_cmd_privmsg(char *source, char *dest, char *buf)
Definition: viagra.c:1170
void viagra_cmd_250(char *buf)
Definition: viagra.c:1214
E void pmodule_ircd_version(char *version)
Definition: ircd.c:1107
E const char version_number[]
Definition: extern.h:767
void viagra_cmd_372_error(char *source)
Definition: viagra.c:1366
void viagra_cmd_burst()
Definition: viagra.c:964
int anope_event_part(char *source, int ac, char **av)
Definition: viagra.c:1055
#define CAPAB_DOZIP
Definition: services.h:1376
void viagra_cmd_svinfo()
Definition: viagra.c:941
#define CMODE_m
Definition: bahamut.h:45
IRCDCAPAB myIrcdcap[]
Definition: viagra.c:119
E void pmodule_cmd_unszline(void(*func)(char *mask))
Definition: ircd.c:996
E void cs_set_key(ChannelInfo *ci, char *value)
Definition: chanserv.c:2538
E void anope_cmd_mode(char *source, char *dest, const char *fmt,...)
Definition: ircd.c:211
void viagra_cmd_notice(char *source, char *dest, char *buf)
Definition: viagra.c:1152
int anope_event_ping(char *source, int ac, char **av)
Definition: viagra.c:907
E void pmodule_cmd_401(void(*func)(char *source, char *who))
Definition: ircd.c:904
E Server * serv_uplink
Definition: extern.h:1053
E int WallOper
Definition: extern.h:448
E void pmodule_cmd_svso(void(*func)(char *source, char *nick, char *flag))
Definition: ircd.c:949
E void pmodule_cmd_serv_privmsg(void(*func)(char *source, char *dest, char *msg))
Definition: ircd.c:821
E void pmodule_cmd_317(void(*func)(char *buf))
Definition: ircd.c:894
E void do_cmode(const char *source, int ac, char **av)
Definition: channels.c:1183
E void pmodule_secret_cmode(int mode)
Definition: ircd.c:1186
E void pmodule_cmd_391(void(*func)(char *source, char *timestr))
Definition: ircd.c:869
E void pmodule_cmd_remove_akill(void(*func)(char *user, char *host))
Definition: ircd.c:701
E void pmodule_ircd_cbmodes(CBMode modes[128])
Definition: ircd.c:1135
#define SERVER_JUPED
Definition: services.h:866
#define UMODE_C
Definition: ratbox.h:15
void viagra_cmd_nc_change(User *u)
Definition: viagra.c:1465
E void pmodule_cmd_szline(void(*func)(char *mask, char *reason, char *whom))
Definition: ircd.c:1002
#define UMODE_r
Definition: bahamut.h:20
void viagra_cmd_serv_notice(char *source, char *dest, char *msg)
Definition: viagra.c:1184
void viagra_cmd_svid_umode3(User *u, char *ts)
Definition: viagra.c:1476
int anope_event_capab(char *source, int ac, char **av)
Definition: viagra.c:1398
E void pmodule_cmd_notice_ops(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:787
E void pmodule_cmd_release_svshold(void(*func)(char *nick))
Definition: ircd.c:986
#define UMODE_N
Definition: plexus3.h:22
void viagra_cmd_kick(char *source, char *chan, char *user, char *buf)
Definition: viagra.c:1343
uint32 tsmode
Definition: services.h:381
#define UMODE_A
Definition: bahamut.h:22
E void add_exception(Channel *chan, char *mask)
Definition: channels.c:1377
int anope_event_gnotice(char *source, int ac, char **av)
Definition: viagra.c:627
#define CAPAB_TS5
Definition: services.h:1374
#define CBM_NO_USER_MLOCK
Definition: services.h:930
#define UMODE_S
Definition: charybdis.h:23
#define CMODE_k
Definition: bahamut.h:50
E void pmodule_cmd_unban(void(*func)(char *name, char *nick))
Definition: ircd.c:1012
E void pmodule_cmd_notice(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:792
E Server * servlist
Definition: extern.h:1051
#define UMODE_h
Definition: bahamut.h:17
#define DEFAULT_MLOCK
Definition: bahamut.h:59
E void pmodule_cmd_akill(void(*func)(char *user, char *host, char *who, time_t when, time_t expires, char *reason))
Definition: ircd.c:718
E void capab_parse(int ac, char **av)
Definition: servers.c:451
E int check_valid_op(User *user, Channel *chan, int servermode)
Definition: chanserv.c:1290
int anope_event_server(char *source, int ac, char **av)
Definition: viagra.c:1037
E char * cs_get_limit(ChannelInfo *ci)
Definition: chanserv.c:2458
#define UMODE_n
Definition: bahamut.h:37
uint32 mode
Definition: services.h:889
void viagra_cmd_serv_privmsg(char *source, char *dest, char *msg)
Definition: viagra.c:1189
int anope_event_svinfo(char *source, int ac, char **av)
Definition: viagra.c:617
E void pmodule_cmd_guest_nick(void(*func)(char *nick, char *user, char *host, char *real, char *modes))
Definition: ircd.c:761
E void common_svsmode(User *u, char *modes, char *arg)
Definition: actions.c:228
E char * ServerName
Definition: extern.h:274
#define CMODE_c
Definition: bahamut.h:54
void viagra_cmd_guest_nick(char *nick, char *user, char *host, char *real, char *modes)
Definition: viagra.c:1425
void viagra_cmd_invite(char *source, char *chan, char *nick)
Definition: viagra.c:1384
void viagra_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
Definition: viagra.c:819
void viagra_cmd_211(char *buf)
Definition: viagra.c:1318
int anope_event_mode(char *source, int ac, char **av)
Definition: viagra.c:1096
int viagra_flood_mode_check(char *value)
Definition: viagra.c:1522
E void pmodule_valid_chan(int(*func)(char *chan))
Definition: ircd.c:1087
E void pmodule_cmd_privmsg(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:804
E char * s_ChanServ
Definition: extern.h:285
void viagra_cmd_eob()
Definition: viagra.c:1547
E void pmodule_cmd_svshold(void(*func)(char *nick))
Definition: ircd.c:981
void viagra_cmd_svso(char *source, char *nick, char *flag)
Definition: viagra.c:1432
#define SERVER_ISME
Definition: services.h:865
void viagra_cmd_svsnick(char *source, char *guest, time_t when)
Definition: viagra.c:1417
void viagra_cmd_akill(char *user, char *host, char *who, time_t when, time_t expires, char *reason)
Definition: viagra.c:848
int anope_event_ms(char *source, int ac, char **av)
Definition: viagra.c:1011
int anope_event_nick(char *source, int ac, char **av)
Definition: viagra.c:541
char * vhostchar
Definition: services.h:365
void viagra_cmd_svsadmin(char *server, int set)
Definition: viagra.c:777
void viagra_cmd_part(char *nick, char *chan, char *buf)
Definition: viagra.c:793
E void pmodule_cmd_serv_notice(void(*func)(char *source, char *dest, char *msg))
Definition: ircd.c:816
int anope_event_pass(char *source, int ac, char **av)
Definition: viagra.c:612
E char * s_NickServ
Definition: extern.h:284
void viagra_cmd_391(char *source, char *timestr)
Definition: viagra.c:1205
E char * get_key(Channel *chan)
Definition: channels.c:1874
E int m_whois(char *source, char *who)
Definition: messages.c:366
E char * RemotePassword2
Definition: extern.h:267
E void pmodule_cmd_topic(void(*func)(char *whosets, char *chan, char *whosetit, char *topic, time_t when))
Definition: ircd.c:706
E void pmodule_cmd_quit(void(*func)(char *source, char *buf))
Definition: ircd.c:837
E char * ServiceUser
Definition: extern.h:276
E Server * me_server
Definition: extern.h:1052
time_t timestamp
Definition: services.h:886
E void pmodule_ircd_useTSMode(int use)
Definition: ircd.c:1164
E void pmodule_oper_umode(int mode)
Definition: ircd.c:1176
E Server * new_server(Server *uplink, const char *name, const char *desc, uint16 flags, char *suid)
Definition: servers.c:119
E void pmodule_flood_mode_check(int(*func)(char *value))
Definition: ircd.c:1092
#define NEWS_OPER
Definition: services.h:1050
E void change_user_realname(User *user, const char *realname)
Definition: users.c:147
E void pmodule_ircd_cbmodeinfos(CBModeInfo *modeinfos)
Definition: ircd.c:1112
E void pmodule_cmd_sqline(void(*func)(char *mask, char *reason))
Definition: ircd.c:939
E void pmodule_cmd_privmsg2(void(*func)(char *source, char *dest, char *msg))
Definition: ircd.c:810
E User * do_nick(const char *source, char *nick, char *username, char *host, char *server, char *realname, time_t ts, uint32 svid, uint32 ip, char *vhost, char *uid)
Definition: users.c:500
E void pmodule_cmd_connect(void(*func)(int servernum))
Definition: ircd.c:971
E void pmodule_cmd_global_legacy(void(*func)(char *source, char *fmt))
Definition: ircd.c:934
E void pmodule_cmd_mode(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:768
void viagra_cmd_401(char *source, char *who)
Definition: viagra.c:1279
#define CAPAB_ZIP
Definition: services.h:1371
E void pmodule_limit_mode(int mode)
Definition: ircd.c:1201
#define CMODE_i
Definition: bahamut.h:44
#define CMODE_S
Definition: hybrid.h:46
#define UMODE_Q
Definition: charybdis.h:21
E void pmodule_cmd_svskill(void(*func)(char *source, char *user, char *buf))
Definition: ircd.c:726
E void pmodule_cmd_svsmode_chan(void(*func)(char *name, char *mode, char *nick))
Definition: ircd.c:1018
E void pmodule_ircd_flood_mode_char_set(char *mode)
Definition: ircd.c:1125
E void pmodule_cmd_312(void(*func)(char *buf))
Definition: ircd.c:889
E const char version_build[]
Definition: extern.h:769
E void change_user_host(User *user, const char *host)
Definition: users.c:129
#define CMODE_s
Definition: bahamut.h:48
#define CUS_OP
Definition: services.h:1341
E char * normalizeBuffer(char *)
Definition: botserv.c:1101
#define CMODE_P
Definition: charybdis.h:38
E void anope_cmd_global(char *source, const char *fmt,...)
Definition: ircd.c:506
E void pmodule_cmd_global(void(*func)(char *source, char *buf))
Definition: ircd.c:929
#define UMODE_d
Definition: bahamut.h:34
#define CUF_PROTECT_BOTSERV
Definition: services.h:956
void viagra_cmd_bob()
Definition: viagra.c:987
void moduleAddAnopeCmds()
Definition: viagra.c:1611
#define UMODE_O
Definition: bahamut.h:28
void viagra_cmd_swhois(char *source, char *who, char *mask)
Definition: viagra.c:1517
#define UMODE_o
Definition: bahamut.h:19
E void pmodule_cmd_219(void(*func)(char *source, char *letter))
Definition: ircd.c:899