Debian 验证码don';不随新版本的GWAN而改变

Debian 验证码don';不随新版本的GWAN而改变,debian,g-wan,Debian,G Wan,为什么此页面captcha.c没有随着新版本的gwan而更改?(画面不变) 此示例在旧版本中运行良好 没错 但是httpdate.c示例按预期工作(每次调用时都会更改),因此这不是缓存问题 我已经给G-WAN的团队写了一封信,也许你可以自己写。马雷克是对的,其他图像生成器可以工作(data\u uri.c,fractal.c,charts.c,等等) captcha.cservlet是唯一使用PRNG的servlet,在本例中,PRNG的初始化保持不变(因此结果不变)。通过添加printf(),

为什么此页面
captcha.c
没有随着新版本的
gwan
而更改?(画面不变)

此示例在旧版本中运行良好

没错

但是
httpdate.c
示例按预期工作(每次调用时都会更改),因此这不是缓存问题


我已经给G-WAN的团队写了一封信,也许你可以自己写。

马雷克是对的,其他图像生成器可以工作(
data\u uri.c
fractal.c
charts.c
,等等)

captcha.c
servlet是唯一使用PRNG的servlet,在本例中,PRNG的初始化保持不变(因此结果不变)。通过添加
printf()
,您可以在代码中看到这一点:


顺便说一句,这是一个很好的例子,说明程序员应该自己发现什么(并向程序作者报告)。

什么图片?你在说什么代码?G-WAN中web服务器页面“captcha.c”上的代码在新版本中不起作用!(对不起我的英语..我是法语)getns()错误被证明是一个绕过计算的编译器优化(其他调用,如getus()和getms()工作正常)。getns()已在v4.21中修复,该版本可能会在今天或明天发布。该错误是一个绕过计算的编译器优化。
   u32 seed = (u32)getns();
   prnd_t rnd; // pseudo-random generator (period: 1 << 158)
   sw_init(&rnd, seed); // EPOCH time in nano-seconds

   printf("seed:%u, sw_rnd:%u getns():%lu\n", seed, sw_rand(&rnd), getns());
seed:0, sw_rnd:4048109956 getns():1358679437704429568
seed:0, sw_rnd:4048109956 getns():1358679437704429568
seed:0, sw_rnd:4048109956 getns():1358679437704429568
...