/** * @param javaVersion * Current Java version * @return An appropriate {@link MasterSecretValidator} per the Java version in use */ public static MasterSecretValidator getMasterSecretValidator(JavaVersion javaVersion) { switch (javaVersion.getKnownVersion()) { case JAVA_6: if (javaVersion.compareTo(FIXED_JAVA_6) < 0) { return new PrivilegedMasterSecretValidator(); } break; case JAVA_7: if (javaVersion.compareTo(FIXED_JAVA_7) < 0) { return new PrivilegedMasterSecretValidator(); } break; case JAVA_8: if (javaVersion.compareTo(FIXED_JAVA_8) < 0) { return new PrivilegedMasterSecretValidator(); } break; default: break; } return new NoOpMasterSecretValidator(); }
/** * @return True if the current JVM version is subject to the bug described above, false * otherwise. */ private boolean isJvmAffected() { switch (javaVersion.getKnownVersion()) { case JAVA_6: // Java 6 was not and will not be patched for this bug return true; case JAVA_7: return javaVersion.compareTo(FIXED_JAVA_7) < 0; case JAVA_8: return javaVersion.compareTo(FIXED_JAVA_8) < 0; case JAVA_9: // No Java 9 version is affected return false; case UNKNOWN: // If we can't determine the Java version err on the side of caution and apply the fix return true; } return true; }
/** * @param javaVersion * Current Java version * @return An appropriate {@link MasterSecretValidator} per the Java version in use */ public static MasterSecretValidator getMasterSecretValidator(JavaVersion javaVersion) { switch (javaVersion.getKnownVersion()) { case JAVA_6: if (javaVersion.compareTo(FIXED_JAVA_6) < 0) { return new PrivilegedMasterSecretValidator(); } break; case JAVA_7: if (javaVersion.compareTo(FIXED_JAVA_7) < 0) { return new PrivilegedMasterSecretValidator(); } break; case JAVA_8: if (javaVersion.compareTo(FIXED_JAVA_8) < 0) { return new PrivilegedMasterSecretValidator(); } break; default: break; } return new NoOpMasterSecretValidator(); }
/** * @return True if the current JVM version is subject to the bug described above, false * otherwise. */ private boolean isJvmAffected() { switch (javaVersion.getKnownVersion()) { case JAVA_6: // Java 6 was not and will not be patched for this bug return true; case JAVA_7: return javaVersion.compareTo(FIXED_JAVA_7) < 0; case JAVA_8: return javaVersion.compareTo(FIXED_JAVA_8) < 0; case JAVA_9: // No Java 9 version is affected return false; case UNKNOWN: // If we can't determine the Java version err on the side of caution and apply the fix return true; } return true; }
/** * @param javaVersion * Current Java version * @return An appropriate {@link MasterSecretValidator} per the Java version in use */ public static MasterSecretValidator getMasterSecretValidator(JavaVersion javaVersion) { switch (javaVersion.getKnownVersion()) { case JAVA_6: if (javaVersion.compareTo(FIXED_JAVA_6) < 0) { return new PrivilegedMasterSecretValidator(); } break; case JAVA_7: if (javaVersion.compareTo(FIXED_JAVA_7) < 0) { return new PrivilegedMasterSecretValidator(); } break; case JAVA_8: if (javaVersion.compareTo(FIXED_JAVA_8) < 0) { return new PrivilegedMasterSecretValidator(); } break; default: break; } return new NoOpMasterSecretValidator(); }
/** * @return True if the current JVM version is subject to the bug described above, false * otherwise. */ private boolean isJvmAffected() { switch (javaVersion.getKnownVersion()) { case JAVA_6: // Java 6 was not and will not be patched for this bug return true; case JAVA_7: return javaVersion.compareTo(FIXED_JAVA_7) < 0; case JAVA_8: return javaVersion.compareTo(FIXED_JAVA_8) < 0; case JAVA_9: // No Java 9 version is affected return false; case UNKNOWN: // If we can't determine the Java version err on the side of caution and apply the fix return true; } return true; }