为什么get_env(US_VHOST_DATA)在handler /main.c中第一次调用main()时为NULL



我使用的是G-Wan v4.12.31。

有人知道为什么get_env(US_VHOST_DATA)在处理程序/main.c中首次调用main()时返回NULL吗?

int init(int argc, char *argv[])
{
  u32 *states = (u32 *)get_env(argv, US_HANDLER_STATES);
  *states = (1 << HDL_AFTER_READ);
  return 0;
}
int main(int argc, char *argv[])
{
  void **vhost = (void **)get_env(argv, US_VHOST_DATA);
  printf(%pn", vhost); //NULL first time, non-NULL all other times
  return 255;
}

get_env(US_VHOST_DATA)调用返回虚拟主机信息。

只要client request不为parsed, G-WAN就没有可用的host information

这就是为什么在HDL_AFTER_PARSE处理程序状态之前不能返回有意义的主机以及为什么G-WAN返回NULL的原因。

相关内容

  • 没有找到相关文章

最新更新