[ http://issues.apache.org/jira/browse/HARMONY-465?page=all ] Alexander Kleymenov updated HARMONY-465: ---------------------------------------- Attachment: exception_patch.txt I found out that proposed patch causes some performance degradations of API. I suggest another one: It fixes the problem and contains regression tests (both newly created and from the original patch). Thank You, Alexander > [classlib][security] Harmony should follow the "Exception-throwing compatibility" guidelines. > --------------------------------------------------------------------------------------------- > > Key: HARMONY-465 > URL: http://issues.apache.org/jira/browse/HARMONY-465 > Project: Harmony > Type: Bug > Components: Classlib > Reporter: Dmitry M. Kononov > Assignee: Mikhail Loenko > Priority: Minor > Attachments: Test.java, exception_patch.txt, fix.diff.txt > > 1) > java.security.cert.X509CertSelector.setSubjectPublicKeyAlgID(String oid): > Harmony throws java.lang.StringIndexOutOfBoundsException when oid is invalid, > while RI throws java.lang.NumberFormatException. > Specification says: > "Throws: > IOException - if the OID is invalid, such as the first component > being not 0, 1 or 2 or the second component being greater than 39". > It's a bug as we should comply with spec. > 2) > java.security.cert.X509CRLSelector.addIssuer(X500Principal issuer): > Harmony does not throw any Exception when issuer =null, while RI throws NullPointerException. > Specification does not mention NullPointerException throwing. > It's a bug as we should comply with RI if spec is not clear. > 3) > java.security.cert.X509CRLSelector.addIssuerName(byte[] name): > Harmony throws java.lang.IllegalArgumentException when name is not valid name in ASN.1 > DER encoded form, while RI throws java.io.IOException. > Specification does not mention java.lang.IllegalArgumentException throwing, but says: > "Throws: > IOException - if a parsing error occurs". > It's a bug as we should comply with spec like RI does. > 4) > java.security.cert.X509CRLSelector.addIssuerName(byte[] name): > Harmony throws IllegalArgumentException when name=null, while RI throws NullPointerException. > Specification mentions neither IllegalArgumentException nor NullPointerException throwing. > It's a bug as we should comply with RI if spec is not clear. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira