I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit e2aa2aff authored by zzz's avatar zzz
Browse files

* LookaheadInputStream: Fix bug causing gunzip fails, esp. on Android

 * SSLEepGet: Fix on Android (ticket #668)
parent 7f18d25d
No related branches found
No related tags found
No related merge requests found
......@@ -44,7 +44,7 @@ public class LookaheadInputStream extends FilterInputStream {
Arrays.fill(_footerLookahead, (byte)0x00);
int footerRead = 0;
while (footerRead < _footerLookahead.length) {
int read = in.read(_footerLookahead);
int read = in.read(_footerLookahead, footerRead, _footerLookahead.length - footerRead);
if (read == -1) throw new IOException("EOF reading the footer lookahead");
footerRead += read;
}
......
......@@ -90,6 +90,8 @@ public class SSLEepGet extends EepGet {
/** may be null if init failed */
private SavingTrustManager _stm;
private static final boolean _isAndroid = System.getProperty("java.vendor").contains("Android");
/**
* A new SSLEepGet with a new SSLState
*/
......@@ -192,12 +194,23 @@ public class SSLEepGet extends EepGet {
String override = System.getProperty("javax.net.ssl.keyStore");
if (override != null)
success = loadCerts(new File(override), ks);
if (!success)
success = loadCerts(new File(System.getProperty("java.home"), "lib/security/jssecacerts"), ks);
if (!success)
success = loadCerts(new File(System.getProperty("java.home"), "lib/security/cacerts"), ks);
if (!success) {
if (_isAndroid) {
// thru API 13. As of API 14 (ICS), the file is gone, but
// ks.load(null, pw) will bring in the default certs?
success = loadCerts(new File(System.getProperty("java.home"), "etc/security/cacerts.bks"), ks);
} else {
success = loadCerts(new File(System.getProperty("java.home"), "lib/security/jssecacerts"), ks);
if (!success)
success = loadCerts(new File(System.getProperty("java.home"), "lib/security/cacerts"), ks);
}
}
if (!success) {
try {
// must be initted
ks.load(null, "changeit".toCharArray());
} catch (Exception e) {}
_log.error("All key store loads failed, will only load local certificates");
} else if (_log.shouldLog(Log.INFO)) {
int count = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment