Today I received a report of a bug in how the Opera.com startup page was presented to some browsers. In particular, people with Brazilian language.
This was traced down to being a bug in the accept-language.vcl extension that we are using on both My Opera and Opera.com.
In particular, the bug had to do with static buffers being reused and overwritten during the Accept-Language
string parsing, essentially due to my non-optimal C skills :) Now this bug is fixed and new test cases were added, so to hopefully avoid regressions in the future.
So now clients with Accept-Language containing strings like pt-BR
, es-ca
, zh-CN
, etc… will be correctly recognized by the VCL code, and they will get the correct page served by varnish.
As always, thanks to Opera, the code is freely available, and I have to say it's not really experimental dangerous stuff anymore. It's been quite proven in the last few months (these few bugs excluded). At least your Varnish server shouldn't explode :-) Have fun!