mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-07-07 06:43:13 +02:00
Update hunt_server() so command is really the command (eg "LUSERS") and
not a format string (eg ":%s LUSERS %s"). It now simply concats all parv[]'s. That is, up to parc count. And it automatically does the :stuff for the last parameter if it contains spaces or starts with a : etc. This gets rid of a bit sketchy code with an arbitrary maximum etc. Now it's just: if (hunt_server(client, NULL, "REHASH", 1, parc, parv) != HUNTED_ISME) return; This has one side effect, though: Previously we used the format string, so it may be possible for S2S traffic to now have more arguments then before here and there. Eg: * It could be that the caller was using a format string to intentionally cut off an extra parameter at the end. You can still do that if you call with eg parc-1 instead of parc. I don't think there were any such cases though, but hard to rule out. * Extranous parameters may show up in S2S traffic where it was previously unexpected.
This commit is contained in:
+2
-2
@@ -73,7 +73,7 @@ CMD_FUNC(cmd_trace)
|
||||
labeled_response_inhibit = 1;
|
||||
|
||||
if (parc > 2)
|
||||
if (hunt_server(client, NULL, ":%s TRACE %s :%s", 2, parc, parv))
|
||||
if (hunt_server(client, NULL, "TRACE", 2, parc, parv))
|
||||
return;
|
||||
|
||||
if (parc > 1)
|
||||
@@ -98,7 +98,7 @@ CMD_FUNC(cmd_trace)
|
||||
}
|
||||
}
|
||||
|
||||
switch (hunt_server(client, NULL, ":%s TRACE :%s", 1, parc, parv))
|
||||
switch (hunt_server(client, NULL, "TRACE", 1, parc, parv))
|
||||
{
|
||||
case HUNTED_PASS: /* note: gets here only if parv[1] exists */
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user