summaryrefslogtreecommitdiff
path: root/client_network.c
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2024-05-06 07:17:17 -0400
committerTest_User <hax@andrewyu.org>2024-05-06 07:17:17 -0400
commitcd01eeadcbf5e5e1c81244b69b5c9079a3b58675 (patch)
treeb7ea9ebb130ec6b5ca88954cd4c377eaba2816d4 /client_network.c
parent73e340fff91d0bea73048556367ae7b42e42bc78 (diff)
downloadcoupserv-cd01eeadcbf5e5e1c81244b69b5c9079a3b58675.tar.gz
coupserv-cd01eeadcbf5e5e1c81244b69b5c9079a3b58675.zip
multi-haxserv priv escalation fixed
Diffstat (limited to 'client_network.c')
-rw-r--r--client_network.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/client_network.c b/client_network.c
index f333344..93ad1d9 100644
--- a/client_network.c
+++ b/client_network.c
@@ -156,10 +156,6 @@ int add_local_client(struct string uid, struct string nick_arg, struct string vh
SEND(NULSTR(string_time));
SEND(STRING(" +k :"));
SEND(realname);
- SEND(STRING("\n:"));
- SEND(uid);
- SEND(STRING(" OPERTYPE "));
- SEND(opertype);
SEND(STRING("\n"));
if (fake_cert) {
SEND(STRING(":1HC METADATA "));
@@ -168,6 +164,13 @@ int add_local_client(struct string uid, struct string nick_arg, struct string vh
SEND(client_cert);
SEND(STRING("\n"));
}
+ if (!STRING_EQ(uid, STRING("1HC000000"))) { // Don't oper haxserv, because echo is unprivileged
+ SEND(STRING(":"));
+ SEND(uid);
+ SEND(STRING(" OPERTYPE "));
+ SEND(opertype);
+ SEND(STRING("\n"));
+ }
return 0;