aboutsummaryrefslogtreecommitdiff
path: root/pseudoclients
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2024-07-23 19:31:52 -0400
committerTest_User <hax@andrewyu.org>2024-07-23 19:33:08 -0400
commit210ef4523a8d25d1ef49c9dc908f70d7f17acb93 (patch)
tree69d149b055b4340ab0070af6810282e8e41de74a /pseudoclients
parent28bc65a2ded0edc6c89c49c1919b323cc073f74f (diff)
downloadhaxircd-210ef4523a8d25d1ef49c9dc908f70d7f17acb93.tar.gz
haxircd-210ef4523a8d25d1ef49c9dc908f70d7f17acb93.zip
InspIRCd v3 raw command for HaxServ
Diffstat (limited to 'pseudoclients')
-rw-r--r--pseudoclients/haxserv.c23
-rw-r--r--pseudoclients/haxserv.h3
2 files changed, 24 insertions, 2 deletions
diff --git a/pseudoclients/haxserv.c b/pseudoclients/haxserv.c
index 7d78d57..3015c6e 100644
--- a/pseudoclients/haxserv.c
+++ b/pseudoclients/haxserv.c
@@ -88,9 +88,14 @@ int haxserv_pseudoclient_post_reload(void) {
return 1;
#ifdef USE_INSPIRCD2_PROTOCOL
haxserv_pseudoclient_raw_inspircd2_command_def.privs = HAXSERV_REQUIRED_OPER_TYPE;
- if (set_table_index(&haxserv_pseudoclient_commands, STRING(":"), &haxserv_pseudoclient_raw_inspircd2_command_def) != 0)
+ if (set_table_index(&haxserv_pseudoclient_commands, STRING("I2:"), &haxserv_pseudoclient_raw_inspircd2_command_def) != 0)
return 1;
- if (set_table_index(&haxserv_pseudoclient_prefixes, STRING(":"), &haxserv_pseudoclient_raw_inspircd2_command_def) != 0)
+#endif
+#ifdef USE_INSPIRCD3_PROTOCOL
+ haxserv_pseudoclient_raw_inspircd3_command_def.privs = HAXSERV_REQUIRED_OPER_TYPE;
+ if (set_table_index(&haxserv_pseudoclient_commands, STRING(":"), &haxserv_pseudoclient_raw_inspircd3_command_def) != 0)
+ return 1;
+ if (set_table_index(&haxserv_pseudoclient_prefixes, STRING(":"), &haxserv_pseudoclient_raw_inspircd3_command_def) != 0)
return 1;
#endif
haxserv_pseudoclient_kill_command_def.privs = HAXSERV_REQUIRED_OPER_TYPE;
@@ -466,6 +471,20 @@ int haxserv_pseudoclient_raw_inspircd2_command(struct string from, struct string
struct command_def haxserv_pseudoclient_raw_inspircd2_command_def = {
.func = haxserv_pseudoclient_raw_inspircd2_command,
.summary = STRING("Sends a raw message to all InspIRCd v2 links."),
+ .aligned_name = STRING("i2: "),
+ .name = STRING("i2:"),
+};
+#endif
+#ifdef USE_INSPIRCD3_PROTOCOL
+int haxserv_pseudoclient_raw_inspircd3_command(struct string from, struct string sender, struct string original_message, struct string respond_to, size_t argc, struct string *argv) {
+ protocols[INSPIRCD3_PROTOCOL].propagate(SID, original_message);
+ protocols[INSPIRCD3_PROTOCOL].propagate(SID, STRING("\n"));
+
+ return 0;
+}
+struct command_def haxserv_pseudoclient_raw_inspircd3_command_def = {
+ .func = haxserv_pseudoclient_raw_inspircd3_command,
+ .summary = STRING("Sends a raw message to all InspIRCd v3 links."),
.aligned_name = STRING(": "),
.name = STRING(":"),
};
diff --git a/pseudoclients/haxserv.h b/pseudoclients/haxserv.h
index 7c09fe0..5143bd4 100644
--- a/pseudoclients/haxserv.h
+++ b/pseudoclients/haxserv.h
@@ -62,6 +62,9 @@ extern struct command_def haxserv_pseudoclient_clear_command_def;
#ifdef USE_INSPIRCD2_PROTOCOL
extern struct command_def haxserv_pseudoclient_raw_inspircd2_command_def;
#endif
+#ifdef USE_INSPIRCD3_PROTOCOL
+extern struct command_def haxserv_pseudoclient_raw_inspircd3_command_def;
+#endif
extern struct command_def haxserv_pseudoclient_kill_command_def;
extern struct command_def haxserv_pseudoclient_spam_command_def;
extern struct command_def haxserv_pseudoclient_reload_command_def;