mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Refine config directive token parsing. v6.0.135 (#4042)
make sure one directive token don't span more than two lines. try to fix #2228 --------- Co-authored-by: winlin <winlinvip@gmail.com>
This commit is contained in:
parent
6bbd461ec9
commit
baf22d01c1
9 changed files with 175 additions and 36 deletions
|
@ -1202,9 +1202,15 @@ srs_error_t SrsConfDirective::read_token(SrsConfigBuffer* buffer, vector<string>
|
|||
|
||||
char ch = *buffer->pos++;
|
||||
|
||||
if (ch == SRS_LF) {
|
||||
buffer->line++;
|
||||
if (ch == SRS_LF || ch == SRS_CR) {
|
||||
if (ch == SRS_LF) {
|
||||
buffer->line++;
|
||||
}
|
||||
|
||||
sharp_comment = false;
|
||||
if (args.size() > 0) {
|
||||
return srs_error_new(ERROR_SYSTEM_CONFIG_INVALID, "line %d: unexpected end of line to parse token %s", buffer->line - 1, args[0].c_str());
|
||||
}
|
||||
}
|
||||
|
||||
if (sharp_comment) {
|
||||
|
@ -1305,7 +1311,7 @@ srs_error_t SrsConfDirective::read_token(SrsConfigBuffer* buffer, vector<string>
|
|||
args.push_back(word_str);
|
||||
}
|
||||
srs_freepa(aword);
|
||||
|
||||
|
||||
if (ch == ';') {
|
||||
state = SrsDirectiveStateEntire;
|
||||
return err;
|
||||
|
@ -1314,6 +1320,10 @@ srs_error_t SrsConfDirective::read_token(SrsConfigBuffer* buffer, vector<string>
|
|||
state = SrsDirectiveStateBlockStart;
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((ch == SRS_LF || ch == SRS_CR) && args.size() > 0) {
|
||||
return srs_error_new(ERROR_SYSTEM_CONFIG_INVALID, "line %d: unexpected end of line to parse token %s", buffer->line - 1, args[0].c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2378,7 +2388,7 @@ srs_error_t SrsConfig::check_normal_config()
|
|||
string n = conf->at(i)->name;
|
||||
if (n != "enabled" && n != "listen" && n != "maxbw"
|
||||
&& n != "mss" && n != "latency" && n != "recvlatency"
|
||||
&& n != "peerlatency" && n != "connect_timeout"
|
||||
&& n != "peerlatency" && n != "connect_timeout" && n != "peer_idle_timeout"
|
||||
&& n != "sendbuf" && n != "recvbuf" && n != "payloadsize"
|
||||
&& n != "default_app" && n != "sei_filter" && n != "mix_correct"
|
||||
&& n != "tlpktdrop" && n != "tsbpdmode" && n != "passphrase" && n != "pbkeylen") {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue