[srvx-commits] CVS: services/src opserv.c,1.280,1.281
Brought to you by:
entrope
|
From: Entrope <en...@us...> - 2002-10-21 03:19:09
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv9909/src
Modified Files:
opserv.c
Log Message:
add ?kill reaction for ?alert notice
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.280
retrieving revision 1.281
diff -C2 -r1.280 -r1.281
*** opserv.c 21 Oct 2002 02:32:52 -0000 1.280
--- opserv.c 21 Oct 2002 03:19:06 -0000 1.281
***************
*** 199,204 ****
#define OSMSG_UNGAG_ADDED "Ungagged $b%s$b."
#define OSMSG_TIMEQ_INFO "%u events in timeq; next in %lu seconds."
! #define OSMSG_ALERT_TRIGGERED "Alert $b%s$b triggered by user $b%s$b (%s)."
! #define OSMSG_ALERT_EXISTS "An alert named $b%s$b already exists!"
#define OSMSG_UNKNOWN_REACTION "Unknown reaction to alert $b%s$b."
#define OSMSG_ADDED_ALERT "Added alert named $b%s$b."
--- 199,204 ----
#define OSMSG_UNGAG_ADDED "Ungagged $b%s$b."
#define OSMSG_TIMEQ_INFO "%u events in timeq; next in %lu seconds."
! #define OSMSG_ALERT_TRIGGERED "Alert $b%s$b triggered by user $b%s$b!%s@%s (%s)."
! #define OSMSG_ALERT_EXISTS "An alert named $b%s$b already exists."
#define OSMSG_UNKNOWN_REACTION "Unknown reaction to alert $b%s$b."
#define OSMSG_ADDED_ALERT "Added alert named $b%s$b."
***************
*** 334,337 ****
--- 334,338 ----
typedef enum {
REACT_NOTICE,
+ REACT_KILL,
REACT_GLINE
} opserv_alert_reaction;
***************
*** 1516,1519 ****
--- 1517,1521 ----
switch (alert->reaction) {
case REACT_NOTICE: reaction = "notice"; break;
+ case REACT_KILL: reaction = "kill"; break;
case REACT_GLINE: reaction = "gline"; break;
default: reaction = "<unknown>"; break;
***************
*** 2516,2524 ****
discrim = database_get_data(alert_dict, KEY_DISCRIM, RECDB_QSTRING);
react = database_get_data(alert_dict, KEY_REACTION, RECDB_QSTRING);
! if (!react || !irccasecmp(react, "notice")) {
! reaction = REACT_NOTICE;
! } else if (!irccasecmp(react, "gline")) {
! reaction = REACT_GLINE;
! } else {
log(OS_LOG, LOG_ERROR, "Invalid reaction %s for alert %s\n", react, key);
return 0;
--- 2518,2525 ----
discrim = database_get_data(alert_dict, KEY_DISCRIM, RECDB_QSTRING);
react = database_get_data(alert_dict, KEY_REACTION, RECDB_QSTRING);
! if (!react || !irccasecmp(react, "notice")) reaction = REACT_NOTICE;
! else if (!irccasecmp(react, "kill")) reaction = REACT_KILL;
! else if (!irccasecmp(react, "gline")) reaction = REACT_GLINE;
! else {
log(OS_LOG, LOG_ERROR, "Invalid reaction %s for alert %s\n", react, key);
return 0;
***************
*** 2711,2714 ****
--- 2712,2716 ----
switch (alert->reaction) {
case REACT_NOTICE: reaction = "notice"; break;
+ case REACT_KILL: reaction = "kill"; break;
case REACT_GLINE: reaction = "gline"; break;
default:
***************
*** 3567,3579 ****
if (discrim_match(alert->discrim, user)) {
switch (alert->reaction) {
! case REACT_NOTICE:
! opserv_alert(OSMSG_ALERT_TRIGGERED, key, user->nick, alert->discrim->reason);
! break;
case REACT_GLINE:
opserv_block(user, alert->owner, alert->discrim->reason, alert->discrim->duration);
break;
default:
- opserv_alert(OSMSG_ALERT_TRIGGERED, key, user->nick, alert->discrim->reason);
log(OS_LOG, LOG_ERROR, "Invalid reaction type %d for alert %s\n", alert->reaction, key);
break;
}
--- 3569,3583 ----
if (discrim_match(alert->discrim, user)) {
switch (alert->reaction) {
! case REACT_KILL:
! DelUser(user, opserv, 1, alert->discrim->reason);
! break;
case REACT_GLINE:
opserv_block(user, alert->owner, alert->discrim->reason, alert->discrim->duration);
break;
default:
log(OS_LOG, LOG_ERROR, "Invalid reaction type %d for alert %s\n", alert->reaction, key);
+ /* fall through to REACT_NOTICE case */
+ case REACT_NOTICE:
+ opserv_alert(OSMSG_ALERT_TRIGGERED, key, user->nick, user->ident, user->hostname, alert->discrim->reason);
break;
}
***************
*** 3764,3767 ****
--- 3768,3772 ----
}
if (!irccasecmp(argv[2], "notice")) reaction = REACT_NOTICE;
+ else if (!irccasecmp(argv[2], "kill")) reaction = REACT_KILL;
else if (!irccasecmp(argv[2], "gline")) reaction = REACT_GLINE;
else {
|