if (!cmd)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "FACILITY");
- command_fail(si, fault_needmoreparams, "Syntax: FACILITY LIST|ADD|DEL|SET|ADDBL|RMBL [parameters]");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "FACILITY");
+ syn_respond(si, "Syntax: FACILITY LIST|ADD|DEL|SET|ADDBL|RMBL [parameters]");
return;
}
c = command_find(&syn_facility_cmds, cmd);
if (c == NULL)
{
- command_fail(si, fault_badparams, "Invalid command. Possible commands are LIST ADD DEL SET ADDBL RMBL");
+ syn_respond(si, "Invalid command. Possible commands are LIST ADD DEL SET ADDBL RMBL");
return;
}
if (match && 0 != strncmp(match, f->hostpart, strlen(match)))
continue;
- command_success_nodata(si, "[%d] %s (cloaking %s, %s, throttle %d/%d)",
+ syn_respond(si, "[%d] %s (cloaking %s, %s, throttle %d/%d)",
++count, f->hostpart, string_from_cloak_type(f->cloaking),
(f->blocked > 0 ? "blocked" : (f->blocked < 0 ? "unblocked" : "not blocked")),
f->throttle[0], f->throttle[1]);
}
- command_success_nodata(si, "%d facilit%s configured", count, count == 1 ? "y" : "ies");
+ syn_respond(si, "%d facilit%s configured", count, count == 1 ? "y" : "ies");
}
void syn_cmd_facility_add(sourceinfo_t *si, int parc, char **parv)
{
if (parc < 1)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "FACILITY ADD");
- command_fail(si, fault_needmoreparams, "Syntax: FACILITY ADD <hostpart> [cloaktype]");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "FACILITY ADD");
+ syn_respond(si, "Syntax: FACILITY ADD <hostpart> [cloaktype]");
return;
}
syn_report("\002FACILITY ADD\002 %s by %s", f->hostpart, get_oper_name(si));
- command_success_nodata(si, "Added facility %s", f->hostpart);
+ syn_respond(si, "Added facility %s", f->hostpart);
save_facilities();
}
{
if (parc < 1)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "FACILITY DEL");
- command_fail(si, fault_needmoreparams, "Syntax: FACILITY DEL <hostpart>");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "FACILITY DEL");
+ syn_respond(si, "Syntax: FACILITY DEL <hostpart>");
return;
}
if (f == NULL)
{
- command_fail(si, fault_badparams, "No such facility %s was found.", parv[0]);
+ syn_respond(si, "No such facility %s was found.", parv[0]);
return;
}
syn_report("\002FACILITY DEL\002 %s by %s", parv[0], get_oper_name(si));
- command_success_nodata(si, "Facility %s deleted", parv[0]);
+ syn_respond(si, "Facility %s deleted", parv[0]);
save_facilities();
}
{
if (parc < 3)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "FACILITY SET");
- command_fail(si, fault_needmoreparams, "Syntax: FACILITY SET <hostpart> <setting> [arguments]");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "FACILITY SET");
+ syn_respond(si, "Syntax: FACILITY SET <hostpart> <setting> [arguments]");
return;
}
facility_t *f = mowgli_dictionary_retrieve(facilities, parv[0]);
if (f== NULL)
{
- command_fail(si, fault_badparams, "No such facility %s", parv[0]);
+ syn_respond(si, "No such facility %s", parv[0]);
return;
}
syn_report("\002FACILITY SET\002 cloaking->%s for %s by %s",
string_from_cloak_type(cloak), f->hostpart, get_oper_name(si));
- command_success_nodata(si, "Cloaking method for %s set to %s", f->hostpart, string_from_cloak_type(cloak));
+ syn_respond(si, "Cloaking method for %s set to %s", f->hostpart, string_from_cloak_type(cloak));
return;
}
syn_report("\002FACILITY SET\002 blocked->%d for %s by %s",
f->blocked, f->hostpart, get_oper_name(si));
- command_success_nodata(si, "Blocked for %s was set to %d", f->hostpart, f->blocked);
+ syn_respond(si, "Blocked for %s was set to %d", f->hostpart, f->blocked);
return;
}
if (p == NULL)
{
- command_fail(si, fault_badparams, STR_INVALID_PARAMS, "FACILITY SET THROTTLE");
- command_fail(si, fault_badparams, "Syntax: FACILITY SET <name> THROTTLE n,m");
+ syn_respond(si, STR_INVALID_PARAMS, "FACILITY SET THROTTLE");
+ syn_respond(si, "Syntax: FACILITY SET <name> THROTTLE n,m");
return;
}
*p++ = '\0';
syn_report("\002FACILITY SET\002 throttle->%d/%d for %s by %s",
f->throttle[0], f->throttle[1], f->hostpart, get_oper_name(si));
- command_success_nodata(si, "Throttle for %s was set to %d seconds, burst %d",
+ syn_respond(si, "Throttle for %s was set to %d seconds, burst %d",
f->hostpart, f->throttle[0], f->throttle[1]);
return;
}
syn_report("\002FACILITY SET\002 block message->%s for %s by %s",
f->blockmessage, f->hostpart, get_oper_name(si));
- command_success_nodata(si, "Block message for %s was set to %s", f->hostpart, f->blockmessage);
+ syn_respond(si, "Block message for %s was set to %s", f->hostpart, f->blockmessage);
return;
}
syn_report("\002FACILITY SET\002 throttle message->%s for %s by %s",
f->throttlemessage, f->hostpart, get_oper_name(si));
- command_success_nodata(si, "Throttle message for %s was set to %s", f->hostpart, f->throttlemessage);
+ syn_respond(si, "Throttle message for %s was set to %s", f->hostpart, f->throttlemessage);
return;
}
- command_fail(si, fault_badparams, "Unknown setting name");
+ syn_respond(si, "Unknown setting name");
save_facilities();
}
{
if (parc < 2)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "FACILITY ADDBL");
- command_fail(si, fault_needmoreparams, "Syntax: FACILITY ADDBL <hostpart> <regex>");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "FACILITY ADDBL");
+ syn_respond(si, "Syntax: FACILITY ADDBL <hostpart> <regex>");
return;
}
facility_t *f = mowgli_dictionary_retrieve(facilities, parv[0]);
if (f== NULL)
{
- command_fail(si, fault_badparams, "No such facility %s", parv[0]);
+ syn_respond(si, "No such facility %s", parv[0]);
return;
}
node_add(bl, node_create(), &f->blacklist);
syn_report("\002FACILITY ADDBL\002 %s to %s by %s", bl->regex, f->hostpart, get_oper_name(si));
- command_success_nodata(si, "Added blacklist \"%s\" for %s", bl->regex, f->hostpart);
+ syn_respond(si, "Added blacklist \"%s\" for %s", bl->regex, f->hostpart);
save_facilities();
}
{
if (parc < 2)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "FACILITY RMBL");
- command_fail(si, fault_needmoreparams, "Syntax: FACILITY RMBL <hostpart> <regex>");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "FACILITY RMBL");
+ syn_respond(si, "Syntax: FACILITY RMBL <hostpart> <regex>");
return;
}
facility_t *f = mowgli_dictionary_retrieve(facilities, parv[0]);
if (f== NULL)
{
- command_fail(si, fault_badparams, "No such facility %s", parv[0]);
+ syn_respond(si, "No such facility %s", parv[0]);
return;
}
node_free(n);
syn_report("\002FACILITY RMBL\002 %s from %s by %s", parv[1], f->hostpart, get_oper_name(si));
- command_success_nodata(si, "Removed blacklist \"%s\" from %s", parv[1], f->hostpart);
+ syn_respond(si, "Removed blacklist \"%s\" from %s", parv[1], f->hostpart);
}
save_facilities();
{
if (parc < 1)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "FACILITY SHOW");
- command_fail(si, fault_needmoreparams, "Syntax: FACILITY SHOW <hostpart>");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "FACILITY SHOW");
+ syn_respond(si, "Syntax: FACILITY SHOW <hostpart>");
return;
}
facility_t *f = mowgli_dictionary_retrieve(facilities, parv[0]);
if (f== NULL)
{
- command_fail(si, fault_badparams, "No such facility %s", parv[0]);
+ syn_respond(si, "No such facility %s", parv[0]);
return;
}
- command_success_nodata(si, "Facility %s:", f->hostpart);
- command_success_nodata(si, " cloaking method: %s", string_from_cloak_type(f->cloaking));
- command_success_nodata(si, " %s, block message \"%s\"",
+ syn_respond(si, "Facility %s:", f->hostpart);
+ syn_respond(si, " cloaking method: %s", string_from_cloak_type(f->cloaking));
+ syn_respond(si, " %s, block message \"%s\"",
f->blocked > 0 ? "blocked" : ( f->blocked < 0 ? "unblocked" : "not blocked"),
f->blockmessage);
- command_success_nodata(si, " Throttle rate %d/%d, throttle message \"%s\"",
+ syn_respond(si, " Throttle rate %d/%d, throttle message \"%s\"",
f->throttle[0], f->throttle[1], f->throttlemessage);
- command_success_nodata(si, "Blacklist:");
+ syn_respond(si, "Blacklist:");
int count = 0;
node_t *n;
LIST_FOREACH(n, f->blacklist.head)
{
bl_entry_t *bl = n->data;
- command_success_nodata(si, "[%d] %s", ++count, bl->regex);
+ syn_respond(si, "[%d] %s", ++count, bl->regex);
}
- command_success_nodata(si, "%d blacklist entries for %s", count, f->hostpart);
+ syn_respond(si, "%d blacklist entries for %s", count, f->hostpart);
}
{
if (parc == 0)
{
- command_success_nodata(si, "Global warning threshold is %d seconds, %d burst", default_rate, default_burst);
+ syn_respond(si, "Global warning threshold is %d seconds, %d burst", default_rate, default_burst);
return;
}
if (!ce || !ce->use_custom)
{
- command_success_nodata(si, "No custom warning threshold is set for %s", parv[0]);
+ syn_respond(si, "No custom warning threshold is set for %s", parv[0]);
return;
}
- command_success_nodata(si, "Warning threshold for %s is %d seconds, %d burst", ce->chname, ce->rate[0], ce->rate[1]);
+ syn_respond(si, "Warning threshold for %s is %d seconds, %d burst", ce->chname, ce->rate[0], ce->rate[1]);
}
{
if (parc < 2)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "SETRATE");
- command_fail(si, fault_needmoreparams, _("Syntax: SETRATE [#channel] default|(<rate> <burst>)"));
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "SETRATE");
+ syn_respond(si, _("Syntax: SETRATE [#channel] default|(<rate> <burst>)"));
return;
}
if (r * b == 0)
{
- command_fail(si, fault_badparams, STR_INVALID_PARAMS, "SETRATE");
- command_fail(si, fault_needmoreparams, _("Syntax: SETRATE [#channel] default|(<rate> <burst>)"));
+ syn_respond(si, STR_INVALID_PARAMS, "SETRATE");
+ syn_respond(si, _("Syntax: SETRATE [#channel] default|(<rate> <burst>)"));
return;
}
default_burst = b;
syn_report("\002SETRATE\002 default->%d/%d by %s", default_rate, default_burst, get_oper_name(si));
- command_success_nodata(si, "Warning threshold set to %d seconds, with a burst of %d", default_rate, default_burst);
+ syn_respond(si, "Warning threshold set to %d seconds, with a burst of %d", default_rate, default_burst);
return;
}
{
if (!ce || !ce->use_custom)
{
- command_fail(si, fault_nochange, "No custom rate settings were defined for %s", parv[0]);
+ syn_respond(si, "No custom rate settings were defined for %s", parv[0]);
return;
}
ce->use_custom = false;
syn_report("\002SETRATE\002 %s->default by %s", parv[0], get_oper_name(si));
- command_success_nodata(si, "Custom rate settings have been disabled for %s", parv[0]);
+ syn_respond(si, "Custom rate settings have been disabled for %s", parv[0]);
return;
}
if (parc < 3)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "SETRATE");
- command_fail(si, fault_needmoreparams, _("Syntax: SETRATE [#channel] default|(<rate> <burst>)"));
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "SETRATE");
+ syn_respond(si, _("Syntax: SETRATE [#channel] default|(<rate> <burst>)"));
return;
}
if (r * b == 0)
{
- command_fail(si, fault_badparams, STR_INVALID_PARAMS, "SETRATE");
- command_fail(si, fault_needmoreparams, _("Syntax: SETRATE [#channel] default|(<rate> <burst>)"));
+ syn_respond(si, STR_INVALID_PARAMS, "SETRATE");
+ syn_respond(si, _("Syntax: SETRATE [#channel] default|(<rate> <burst>)"));
return;
}
ce->rate[1] = b;
syn_report("\002SETRATE\002 %s->%d/%d by %s", parv[0], r, b, get_oper_name(si));
- command_success_nodata(si, "Warning threshold for %s set to %d seconds, with a burst of %d", parv[0], r, b);
+ syn_respond(si, "Warning threshold for %s set to %d seconds, with a burst of %d", parv[0], r, b);
}
if (args == NULL)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "ADDMASK");
- command_fail(si, fault_needmoreparams, "Syntax: ADDMASK /<regex>/[i] <type>");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "ADDMASK");
+ syn_respond(si, "Syntax: ADDMASK /<regex>/[i] <type>");
return;
}
pattern = regex_extract(args, &args, &flags);
if (pattern == NULL)
{
- command_fail(si, fault_badparams, STR_INVALID_PARAMS, "ADDMASK");
- command_fail(si, fault_badparams, "Syntax: ADDMASK /<regex>/[i] <type>");
+ syn_respond(si, STR_INVALID_PARAMS, "ADDMASK");
+ syn_respond(si, "Syntax: ADDMASK /<regex>/[i] <type>");
return;
}
if (*stype == '\0')
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "ADDMASK");
- command_fail(si, fault_needmoreparams, "Syntax: ADDMASK /<regex>/[i] <type>");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "ADDMASK");
+ syn_respond(si, "Syntax: ADDMASK /<regex>/[i] <type>");
return;
}
type = mask_type_from_string(stype);
if (type == mask_unknown)
{
- command_fail(si, fault_badparams, "Invalid mask type \2%s\2.", stype);
+ syn_respond(si, "Invalid mask type \2%s\2.", stype);
return;
}
if (0 == strcmp(m->regex, pattern))
{
- command_fail(si, fault_nochange, "\2%s\2 was already added (%s); not re-adding", pattern, string_from_mask_type(m->type));
+ syn_respond(si, "\2%s\2 was already added (%s); not re-adding", pattern, string_from_mask_type(m->type));
return;
}
}
atheme_regex_t *regex = regex_create(pattern, flags);
if (regex == NULL)
{
- command_fail(si, fault_badparams, "The provided regex \2%s\2 is invalid.", pattern);
+ syn_respond(si, "The provided regex \2%s\2 is invalid.", pattern);
return;
}
syn_report("\002ADDMASK\002 %s (%s) by %s, expires %s",
pattern, stype, get_oper_name(si), syn_format_expiry(newmask->expires));
- command_success_nodata(si, "Added \2%s\2 to %s mask list, expiring %s.",
+ syn_respond(si, "Added \2%s\2 to %s mask list, expiring %s.",
pattern, stype, syn_format_expiry(newmask->expires));
}
if (!args)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "DELMASK");
- command_fail(si, fault_needmoreparams, "Syntax: DELMASK /<regex>/");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "DELMASK");
+ syn_respond(si, "Syntax: DELMASK /<regex>/");
return;
}
if (!pattern)
{
- command_fail(si, fault_badparams, STR_INVALID_PARAMS, "DELMASK");
- command_fail(si, fault_needmoreparams, "Syntax: DELMASK /<regex>/");
+ syn_respond(si, STR_INVALID_PARAMS, "DELMASK");
+ syn_respond(si, "Syntax: DELMASK /<regex>/");
return;
}
if (0 == strcmp(pattern, m->regex))
{
syn_report("\002DELMASK\002 %s (%s) by %s", pattern, string_from_mask_type(m->type), get_oper_name(si));
- command_success_nodata(si, "Removing \2%s\2 from %s mask list", pattern, string_from_mask_type(m->type));
+ syn_respond(si, "Removing \2%s\2 from %s mask list", pattern, string_from_mask_type(m->type));
regex_destroy(m->re);
free(m->regex);
free(m);
}
}
- command_fail(si, fault_nochange, "\2%s\2 was not found in any mask list", pattern);
+ syn_respond(si, "\2%s\2 was not found in any mask list", pattern);
}
void syn_cmd_setmask(sourceinfo_t *si, int parc, char **parv)
if (!args)
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "SETMASK");
- command_fail(si, fault_needmoreparams, "Syntax: SETMASK /<regex>/");
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "SETMASK");
+ syn_respond(si, "Syntax: SETMASK /<regex>/");
return;
}
if (!pattern)
{
- command_fail(si, fault_badparams, STR_INVALID_PARAMS, "SETMASK");
- command_fail(si, fault_needmoreparams, "Syntax: SETMASK /<regex>/");
+ syn_respond(si, STR_INVALID_PARAMS, "SETMASK");
+ syn_respond(si, "Syntax: SETMASK /<regex>/");
return;
}
if (!m)
{
- command_fail(si, fault_nochange, "\2%s\2 was not found in any mask list", pattern);
+ syn_respond(si, "\2%s\2 was not found in any mask list", pattern);
return;
}
{
m->type = t;
syn_report("\002SETMASK\002 %s type->%s by %s", pattern, nextarg, get_oper_name(si));
- command_success_nodata(si, "Changed type of mask \2%s\2 to %s", pattern, nextarg);
+ syn_respond(si, "Changed type of mask \2%s\2 to %s", pattern, nextarg);
return;
}
{
m->expires = CURRTIME + duration * 60;
syn_report("\002SETMASK\002 %s duration->%d by %s", pattern, duration, get_oper_name(si));
- command_success_nodata(si, "Changed expiry of mask \2%s\2 to %ld minutes", pattern, duration);
+ syn_respond(si, "Changed expiry of mask \2%s\2 to %ld minutes", pattern, duration);
}
else
{
m->expires = 0;
syn_report("\002SETMASK\002 %s expiry->off by %s", pattern, get_oper_name(si));
- command_success_nodata(si, "Expiry disabled for mask \2%s\2.", pattern);
+ syn_respond(si, "Expiry disabled for mask \2%s\2.", pattern);
}
return;
}
- command_fail(si, fault_badparams, STR_INVALID_PARAMS, "SETMASK");
- command_fail(si, fault_badparams, "Syntax: SETMASK /<regex>/ <type>");
+ syn_respond(si, STR_INVALID_PARAMS, "SETMASK");
+ syn_respond(si, "Syntax: SETMASK /<regex>/ <type>");
}
void syn_cmd_listmask(sourceinfo_t *si, int parc, char **parv)
if (t != mask_unknown && t != m->type)
continue;
- command_success_nodata(si, "\2%s\2 (%s), expires %s",
+ syn_respond(si, "\2%s\2 (%s), expires %s",
m->regex, string_from_mask_type(m->type), syn_format_expiry(m->expires));
++count;
}
- command_success_nodata(si, "%d masks found", count);
+ syn_respond(si, "%d masks found", count);
}
{
if (!parv[0])
{
- command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "CHECKTOR");
- command_fail(si, fault_needmoreparams, _("Syntax: CHECKTOR <IP|user>"));
+ syn_respond(si, STR_INSUFFICIENT_PARAMS, "CHECKTOR");
+ syn_respond(si, _("Syntax: CHECKTOR <IP|user>"));
return;
}
user_t *target_u = user_find_named(parv[0]);
if (!target_u)
{
- command_fail(si, fault_nosuch_target, _("\2%s\2 is not online."), parv[0]);
+ syn_respond(si, _("\2%s\2 is not online."), parv[0]);
return;
}
test = target_u->ip;
p = mowgli_patricia_retrieve(torlist, test);
- command_success_nodata(si, _("\2%s\2 is %s as a tor node."), test, p != NULL ? "listed" : "not listed");
+ syn_respond(si, _("\2%s\2 is %s as a tor node."), test, p != NULL ? "listed" : "not listed");
}