diff options
author | Test_User <hax@andrewyu.org> | 2024-05-06 07:17:17 -0400 |
---|---|---|
committer | Test_User <hax@andrewyu.org> | 2024-05-06 07:17:17 -0400 |
commit | cd01eeadcbf5e5e1c81244b69b5c9079a3b58675 (patch) | |
tree | b7ea9ebb130ec6b5ca88954cd4c377eaba2816d4 /client_network.c | |
parent | 73e340fff91d0bea73048556367ae7b42e42bc78 (diff) | |
download | coupserv-cd01eeadcbf5e5e1c81244b69b5c9079a3b58675.tar.gz coupserv-cd01eeadcbf5e5e1c81244b69b5c9079a3b58675.zip |
multi-haxserv priv escalation fixed
Diffstat (limited to '')
-rw-r--r-- | client_network.c | 11 |
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; |