added a comment - - edited
Thomas, my original patch relied on filter_var() which may not be installed on each system, therefore I used the original implementation with inet_ntop() as a fallback. However, because my new fix (which I committed to trunk) does not rely on any extensions that may, or may not be installed, there's no need for any such fallback.
Then there's the issue of performance; I did not benchmark my fix against the old implementation. The reason why I neglected to do so is because the old implementation is flawed (hence this issue) and is never going to work for each ipv6 address. The main problem basically is that inet_ntop() only returns IP's in their standard notation (which is compressed). However, when validating a non-compressed IP, it will be be outputted as compressed (if possible), and therefore always differ from the original input (invalidating it where it actually is valid). Though noncompressed IP's are no standard notation, they are entirely valid acc. to the relevant specs. Besides that, with the new implementation only one (tiny) regex is used max, so there can never be a noticeable slowdown.
The reason I committed it to trunk was because I am pretty certain of my fix being right since all unittests pass, my test actually adds 15 assertions.
<|thomas_1> Problem with I18n is that most people only think of THEIR environment or server settings and not is I18n as complete API with effect to about 20 components
<|thomas_1> He attached an issue from me to himself, ... without a solution for 4 days... no good behaviour in my eyes..
This obviously is not an environment/server setting, and I did introduce a solution within minutes after assigning it to myself. Besides that I made sure all unittests passed (to make sure trunk was still 'stable'), and I did not commit it to any release branch so you would have the option of reviewing/changing stuff.
Fwiw; I never signed an NDA for ZF related stuff, only a CLA.
p.s. I could forward you that conversation, but I am not convinced of any such need, and like to keep emails as confidential as possible (which is why I forwarded them to Matthew only).
Attached tiny reproduction script using Zend_Validate