[srvx-commits] CVS: services/src opserv.c,1.275,1.276
Brought to you by:
entrope
|
From: Entrope <en...@us...> - 2002-09-16 14:57:38
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv3070/src
Modified Files:
opserv.c
Log Message:
add subcommand checking for ?gtrace and ?csearch commands
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.275
retrieving revision 1.276
diff -C2 -r1.275 -r1.276
*** opserv.c 14 Sep 2002 03:48:58 -0000 1.275
--- opserv.c 16 Sep 2002 14:57:35 -0000 1.276
***************
*** 3384,3387 ****
--- 3384,3389 ----
unsigned int matches;
cdiscrim_search_func action;
+ struct svccmd *subcmd;
+ char buf[MAXLEN];
OPSERV_MIN_PARMS(3, false);
***************
*** 3396,3399 ****
--- 3398,3407 ----
}
+ sprintf(buf, "%s %s", argv[0], argv[0]);
+ if ((subcmd = opserv_get_command(buf))
+ && !svccmd_can_invoke(user, cmd->parent->bot, subcmd, channel, 0)) {
+ return 0;
+ }
+
discrim = opserv_cdiscrim_create(user, argc - 2, argv + 2);
if(!discrim) {
***************
*** 3470,3477 ****
unsigned int matches;
struct gline_extra extra;
OPSERV_MIN_PARMS(3, false);
- extra.user = user;
- extra.glines = alloc_string_list(4);
if (!irccasecmp(argv[1], "print")) {
action = gtrace_print_func;
--- 3478,3485 ----
unsigned int matches;
struct gline_extra extra;
+ struct svccmd *subcmd;
+ char buf[MAXLEN];
OPSERV_MIN_PARMS(3, false);
if (!irccasecmp(argv[1], "print")) {
action = gtrace_print_func;
***************
*** 3484,3487 ****
--- 3492,3500 ----
return 0;
}
+ sprintf(buf, "%s %s", argv[0], argv[0]);
+ if ((subcmd = opserv_get_command(buf))
+ && !svccmd_can_invoke(user, cmd->parent->bot, subcmd, channel, 0)) {
+ return 0;
+ }
discrim = gline_discrim_create(user, opserv, argc-2, argv+2);
***************
*** 3494,3497 ****
--- 3507,3512 ----
}
+ extra.user = user;
+ extra.glines = alloc_string_list(4);
matches = gline_discrim_search(discrim, action, &extra);
***************
*** 3940,3943 ****
--- 3955,3961 ----
opserv_define_func("CLONE", cmd_clone, 999, 0);
opserv_define_func("COLLIDE", cmd_collide, 800, 0);
+ opserv_define_func("CSEARCH", cmd_csearch, 100, 0);
+ opserv_define_func("CSEARCH COUNT", cmd_csearch, 0, 0);
+ opserv_define_func("CSEARCH PRINT", cmd_csearch, 0, 0);
opserv_define_func("DELALERT", cmd_delalert, 800, 0);
opserv_define_func("DELBAD", cmd_delbad, 800, 0);
***************
*** 3951,3954 ****
--- 3969,3977 ----
opserv_define_func("GAG", cmd_gag, 600, 0);
opserv_define_func("GLINE", cmd_gline, 600, 0);
+ opserv_define_func("GSYNC", cmd_gsync, 600, 0);
+ opserv_define_func("GTRACE", cmd_gtrace, 100, 0);
+ opserv_define_func("GTRACE COUNT", NULL, 0, 0);
+ opserv_define_func("GTRACE PRINT", NULL, 0, 0);
+ modcmd_register(opserv_module, "GTRACE UNGLINE", NULL, 0, 0, "template", "ungline", NULL);
opserv_define_func("INVITEME", cmd_inviteme, 100, 0);
opserv_define_func("JOIN", cmd_join, 601, 1);
***************
*** 3996,4002 ****
opserv_define_func("TRACE GAG", NULL, 600, 0);
opserv_define_func("TRACE KILL", NULL, 600, 0);
- opserv_define_func("CSEARCH", cmd_csearch, 100, 0);
- opserv_define_func("GSYNC", cmd_gsync, 600, 0);
- opserv_define_func("GTRACE", cmd_gtrace, 100, 0);
opserv_define_func("UNBAN", cmd_unban, 100, 2);
opserv_define_func("UNGAG", cmd_ungag, 600, 0);
--- 4019,4022 ----
|