You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2015/11/10 02:00:59 UTC
svn commit: r1713572 - in /commons/proper/validator/trunk/src:
changes/changes.xml
main/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigit.java
test/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigitTest.java
Author: sebb
Date: Tue Nov 10 01:00:59 2015
New Revision: 1713572
URL: http://svn.apache.org/viewvc?rev=1713572&view=rev
Log:
VALIDATOR-330 IBANCheckDigit.isValid() returns True for some invalid IBANs
Modified:
commons/proper/validator/trunk/src/changes/changes.xml
commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigit.java
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigitTest.java
Modified: commons/proper/validator/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/changes/changes.xml?rev=1713572&r1=1713571&r2=1713572&view=diff
==============================================================================
--- commons/proper/validator/trunk/src/changes/changes.xml (original)
+++ commons/proper/validator/trunk/src/changes/changes.xml Tue Nov 10 01:00:59 2015
@@ -90,6 +90,9 @@ The dependencies for Validator have not
For the current list of dependencies, please see
http://commons.apache.org/validator/dependencies.html
">
+ <action issue="VALIDATOR-330" type="fix" dev="sebb">
+ IBANCheckDigit.isValid() returns True for some invalid IBANs
+ </action>
<action issue="VALIDATOR-380" type="fix" dev="sebb">
UrlValidator does not allow for optional port digits
</action>
Modified: commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigit.java
URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigit.java?rev=1713572&r1=1713571&r2=1713572&view=diff
==============================================================================
--- commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigit.java (original)
+++ commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigit.java Tue Nov 10 01:00:59 2015
@@ -68,6 +68,10 @@ public final class IBANCheckDigit implem
if (code == null || code.length() < 5) {
return false;
}
+ String check = code.substring(2,4);
+ if ("00".equals(check) || "01".equals(check) || "99".equals(check)) {
+ return false;
+ }
try {
int modulusResult = calculateModulus(code);
return (modulusResult == 1);
Modified: commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigitTest.java
URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigitTest.java?rev=1713572&r1=1713571&r2=1713572&view=diff
==============================================================================
--- commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigitTest.java (original)
+++ commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigitTest.java Tue Nov 10 01:00:59 2015
@@ -101,7 +101,12 @@ public class IBANCheckDigitTest extends
* https://intranet.birmingham.ac.uk/finance/documents/public/IBAN.pdf
* http://www.paymentscouncil.org.uk/resources_and_publications/ibans_in_europe/
*/
- invalid = new String[] {"510007+47061BE63"};
+ invalid = new String[] {
+ "510007+47061BE63",
+ "IE01AIBK93118702569045",
+ "AA0000000000089",
+ "AA9900000000053",
+ };
zeroSum = null;
missingMessage = "Invalid Code length=0";