Changeset a36083a


Ignore:
Timestamp:
Jan 17, 2017 2:08:47 PM (3 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
60c93f1
Parents:
7cae467
Message:

Utils: Java 9 yakkety workarounds

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • apps/jrobin/java/src/engine/misc/DeallocationHelper.java

    r7cae467 ra36083a  
    331331                        // an early access build (Ubuntu)
    332332                        javaVersionElements[0] = javaVersionElements[0].substring(0, indexOfEarlyAccessSuffix);
     333                    } else {
     334                        indexOfEarlyAccessSuffix = javaVersionElements[0].lastIndexOf("-Ubuntu");
     335                        if (indexOfEarlyAccessSuffix != -1) {
     336                            // drops the "-Ubuntu suffix from the major version number for
     337                            // an early access build (Ubuntu)
     338                            javaVersionElements[0] = javaVersionElements[0].substring(0, indexOfEarlyAccessSuffix);
     339                        }
    333340                    }
    334341                }
     
    336343                if (javaVersionElements.length >= 2) {
    337344                    major = Integer.parseInt(javaVersionElements[0]);
    338                     minor = Integer.parseInt(javaVersionElements[1]);
     345                    int min;
     346                    try {
     347                        min = Integer.parseInt(javaVersionElements[1]);
     348                    } catch (NumberFormatException nfe) {
     349                        min = 7;
     350                    }
     351                    minor = min;
    339352                } else {
    340353                    major = 1;
    341                     minor = Integer.parseInt(javaVersionElements[0]);
     354                    int min;
     355                    try {
     356                        min = Integer.parseInt(javaVersionElements[0]);
     357                    } catch (NumberFormatException nfe) {
     358                        min = 7;
     359                    }
     360                    minor = min;
    342361                }
    343362                final String directBufferAttachmentFieldName;
  • core/java/src/net/i2p/crypto/CryptoCheck.java

    r7cae467 ra36083a  
    66
    77/**
    8  * Moved from CryptixAESEngine and net.i2p.router.tasks.CryptoChecker
     8 * Moved from CryptixAESEngine and net.i2p.router.tasks.CryptoChecker.
     9 * This class does not do any logging. See CryptoChecker for the logging.
    910 *
    1011 * @since 0.9.23
     
    2930            } catch (GeneralSecurityException gse) {
    3031            }
     32        } catch (ExceptionInInitializerError eiie) {
     33            // Java 9 b134 bug
     34            // > java -jar build/i2p.jar cryptocheck
     35            // Exception in thread "main" java.lang.ExceptionInInitializerError
     36            //  at javax.crypto.JceSecurityManager.<clinit>(java.base@9-Ubuntu/JceSecurityManager.java:65)
     37            //  at javax.crypto.Cipher.getConfiguredPermission(java.base@9-Ubuntu/Cipher.java:2595)
     38            //  at javax.crypto.Cipher.getMaxAllowedKeyLength(java.base@9-Ubuntu/Cipher.java:2619)
     39            //  at net.i2p.crypto.CryptoCheck.<clinit>(CryptoCheck.java:19)
     40            //  at java.lang.Class.forName0(java.base@9-Ubuntu/Native Method)
     41            //  at java.lang.Class.forName(java.base@9-Ubuntu/Class.java:374)
     42            //  at net.i2p.util.CommandLine.exec(CommandLine.java:66)
     43            //  at net.i2p.util.CommandLine.main(CommandLine.java:51)
     44            // Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
     45            //  at javax.crypto.JceSecurity.<clinit>(java.base@9-Ubuntu/JceSecurity.java:91)
     46            //  ... 8 more
     47            // Caused by: java.lang.NullPointerException
     48            //  at sun.nio.fs.UnixPath.normalizeAndCheck(java.base@9-Ubuntu/UnixPath.java:75)
     49            //  at sun.nio.fs.UnixPath.<init>(java.base@9-Ubuntu/UnixPath.java:69)
     50            //  at sun.nio.fs.UnixFileSystem.getPath(java.base@9-Ubuntu/UnixFileSystem.java:280)
     51            //  at java.nio.file.Paths.get(java.base@9-Ubuntu/Paths.java:84)
     52            //  at javax.crypto.JceSecurity.setupJurisdictionPolicies(java.base@9-Ubuntu/JceSecurity.java:254)
     53            //  at javax.crypto.JceSecurity.access$000(java.base@9-Ubuntu/JceSecurity.java:49)
     54            //  at javax.crypto.JceSecurity$1.run(java.base@9-Ubuntu/JceSecurity.java:82)
     55            //  at javax.crypto.JceSecurity$1.run(java.base@9-Ubuntu/JceSecurity.java:79)
     56            //  at java.security.AccessController.doPrivileged(java.base@9-Ubuntu/Native Method)
     57            //  at javax.crypto.JceSecurity.<clinit>(java.base@9-Ubuntu/JceSecurity.java:78)
     58            //  ... 8 more
    3159        }
    3260        _isUnlimited = unlimited;
  • router/java/src/net/i2p/router/tasks/CryptoChecker.java

    r7cae467 ra36083a  
    5858                    log.logAlways(Log.WARN, s);
    5959                System.out.println(s);
     60            } else if (SystemVersion.isJava9()) {
     61                s = "Java 9 support is beta, check for Java updates";
     62                if (log != null)
     63                    log.logAlways(Log.WARN, s);
     64                System.out.println("Warning: " + s);
    6065            }
    61             if (!CryptoCheck.isUnlimited()) {
     66            if (!CryptoCheck.isUnlimited() && !SystemVersion.isJava9()) {
    6267                s = "Please consider installing the Java Cryptography Unlimited Strength Jurisdiction Policy Files from ";
    6368                //if (SystemVersion.isJava8())
Note: See TracChangeset for help on using the changeset viewer.