誰かがMAX_ENTITY_SIZEでこの問題を抱えていますか?私はかなり長い間これと戦っています。私はただ愚かなことをしている、または誰かがこれに対する解決策を見つけたことを願っています。
Ubuntu64ビットの最新バージョンでG-WAN4.2.7を使用しています。
これがテストケースです。textareaにテキストを貼り付けて、[送信]をクリックするだけです。4KB未満(または3.2KB未満)の場合は正常に動作します。4KBを超える場合は、404が見つからない状態で返されますが、MAX_ENTITY_SIZEを200KBに設定したため、機能するはずです。
#include "gwan.h" // G-WAN exported functions
#include <string.h>
int main(int argc, char *argv[])
{
xbuf_t *reply = get_reply(argv);
int *entity = (int*)get_env(argv, MAX_ENTITY_SIZE);
char *text = NULL;
get_arg("stext=", &text, argc, argv);
if(text) // Check if text exist.
xbuf_xcat(reply, "Text: %s<br/><br/>%d", text, strlen(text));
static char form[] =
"<form method=\"post\">"
"<textarea name=\"stext\"></textarea><br/>"
"<input name=\"button\" type=\"submit\" value=\"Submit\" />"
"</form><br/>Entity Size: %d";
xbuf_xcat(reply, form, *entity);
return 200;
}
MAX_ENTITY_SIZEの制限を増やすことを忘れないでください。
int init(int argc, char *argv[])
{
int *entity = (int*)get_env(argv, MAX_ENTITY_SIZE);
*entity = 200 * 1024;
return 0;
}
アップデート:
同じ問題でUbuntu10.10でテストされました。