diff --git a/core/src/main/groovy/com/muwire/core/filecert/Certificate.groovy b/core/src/main/groovy/com/muwire/core/filecert/Certificate.groovy index d91a9c5d..bcae8549 100644 --- a/core/src/main/groovy/com/muwire/core/filecert/Certificate.groovy +++ b/core/src/main/groovy/com/muwire/core/filecert/Certificate.groovy @@ -115,11 +115,13 @@ class Certificate { daos.write(infoHash.getRoot()) name.write(daos) issuer.write(daos) - if (comment == null) - daos.write((byte) 0) - else { - daos.write((byte) 1) - comment.write(daos) + if (version == 2) { + if (comment == null) + daos.write((byte) 0) + else { + daos.write((byte) 1) + comment.write(daos) + } } daos.write(sig) daos.close() @@ -131,7 +133,7 @@ class Certificate { @Override public int hashCode() { - version.hashCode() ^ infoHash.hashCode() ^ timestamp.hashCode() ^ name.hashCode() ^ issuer.hashCode() + version.hashCode() ^ infoHash.hashCode() ^ timestamp.hashCode() ^ name.hashCode() ^ issuer.hashCode() ^ Objects.hashCode(comment) } @Override diff --git a/core/src/main/groovy/com/muwire/core/filecert/CertificateClient.groovy b/core/src/main/groovy/com/muwire/core/filecert/CertificateClient.groovy index d6d8922e..abc2312c 100644 --- a/core/src/main/groovy/com/muwire/core/filecert/CertificateClient.groovy +++ b/core/src/main/groovy/com/muwire/core/filecert/CertificateClient.groovy @@ -73,6 +73,7 @@ class CertificateClient { try { cert = new Certificate(new ByteArrayInputStream(tmp)) } catch (IOException | InvalidSignatureException ignore) { + log.log(Level.WARNING, "certificate creation failed",ignore) continue } if (cert.infoHash == e.infoHash)