Fix client parse errors with '=' in remark strings (#632)

Replace every '=' with '-' in the remark string to avoid parse errors from the clients.
This commit is contained in:
Mi Tom 2023-10-03 18:24:32 +08:00 committed by GitHub
parent 0ba0cdd18e
commit 09bb2909d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -157,6 +157,11 @@ bool applyMatcher(const std::string &rule, std::string &real_rule, const Proxy &
void processRemark(std::string &oldremark, std::string &newremark, string_array &remarks_list, bool proc_comma = true)
{
// Replace every '=' with '-' in the remark string to avoid parse errors from the clients.
// Surge is tested to yield an error when handling '=' in the remark string,
// not sure if other clients have the same problem.
std::replace(oldremark.begin(), oldremark.end(), '=', '-');
if(proc_comma)
{
if(oldremark.find(',') != std::string::npos)