Closed JUNNETWORKS closed 2 years ago
client_max_body_size ディレクティブのユニットテストを追加する
参考 (このテストはこのIssueが実装されたときにはパスしちゃいけない)
TEST(ParserTest, ClientMaxBodyIsUnsignedLongMax) {
Parser parser;
parser.LoadData(
"server { "
" listen 8080; "
" server_name localhost; "
" "
" location / { "
" root /var/www/html; "
" index index.html; "
" client_max_body_size 18446744073709551615;"
" } "
"} ");
Config config = parser.ParseConfig();
const VirtualServerConf *vserver = config.GetVirtualServerConf("8080", "");
const LocationConf *location = vserver->GetLocation("/");
EXPECT_EQ(location->GetClientMaxBodySize(), ULONG_MAX);
}
ファイルのアップロード処理などの都合でINT_MAXまでに制限したほうが都合が良いので。
コンフィグパーサー側で INT_MAX を超えたら弾くようにする。
location.GetClientMaxBodySize()
は他の処理の都合上unsigned long
を返す仕様は変更しない。