Forked from
briar / briar
6785 commits behind the upstream repository.
silvertunnel.org-netlib-0.14.patch 16.92 KiB
Only in silvertunnel.org_netlib/lib/main: bcprov-jdk15-145.jar
Only in silvertunnel.org-netlib-0.14-briar/lib/main: sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar
Only in silvertunnel.org-netlib-0.14-briar/lib/main: scpkix-jdk15on-1.47.0.3-SNAPSHOT.jar
Only in silvertunnel.org-netlib-0.14-briar/lib/main: scprov-jdk15on-1.47.0.3-SNAPSHOT.jar
diff -Bbur silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/api/impl/SocketTimeoutInputStream.java silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/api/impl/SocketTimeoutInputStream.java
--- silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/api/impl/SocketTimeoutInputStream.java 2012-01-19 16:46:10.000000000 +0000
+++ silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/api/impl/SocketTimeoutInputStream.java 2012-12-18 02:51:40.167913821 +0000
@@ -111,7 +111,7 @@
synchronized (this) {
throwLastPendingIOException();
if (thread != null) {
- throw new SocketTimeoutException();
+ throw new SocketTimeoutException(String.valueOf(timeout));
}
}
}
@@ -217,7 +217,9 @@
}
notify();
try {
- wait(timeout);
+ long atomic = timeout;
+ if(atomic == 0) wait();
+ else wait(atomic);
} catch (InterruptedException e) {
// unexpected
Thread.currentThread().interrupt();
@@ -231,7 +233,7 @@
// EOF reached
return false;
}
- throw new SocketTimeoutException();
+ throw new SocketTimeoutException(String.valueOf(timeout));
}
/**
diff -Bbur silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/circuit/TLSDispatcherThread.java silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/circuit/TLSDispatcherThread.java
--- silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/circuit/TLSDispatcherThread.java 2012-08-24 15:57:00.000000000 +0100
+++ silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/circuit/TLSDispatcherThread.java 2012-12-17 21:58:30.943914693 +0000
@@ -70,13 +70,13 @@
public void run() {
boolean dispatched = false;
- while(!stopped) {
+ for(int i = 0; !stopped; i++) {
// read next data-packet
Cell cell = null;
try {
cell = new Cell(sin);
} catch (IOException e) {
- log.info("TLSDispatcher.run: connection error: "+e.getMessage());
+ log.log(Level.INFO, "TLSDispatcher.run: connection error after " + i + " cells", e);
stopped = true;
break;
}
diff -Bbur silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/clientimpl/Tor.java silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/clientimpl/Tor.java
--- silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/clientimpl/Tor.java 2012-01-20 11:16:16.000000000 +0000
+++ silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/clientimpl/Tor.java 2012-11-16 18:38:24.138140251 +0000
@@ -131,11 +131,11 @@
private void initLocalSystem(boolean noLocalFileSystemAccess) throws IOException {
- // install BC, if not already done
- if (Security.getProvider("BC") == null) {
- Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
+ // install SC, if not already done
+ if (Security.getProvider("SC") == null) {
+ Security.addProvider(new org.spongycastle.jce.provider.BouncyCastleProvider());
// Security.insertProviderAt(new
- // org.bouncycastle.jce.provider.BouncyCastleProvider(),2);
+ // org.spongycastle.jce.provider.BouncyCastleProvider(),2);
}
// logger and config
log.info("Tor implementation of silvertunnel.org is starting up");
diff -Bbur silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/directory/HiddenServiceProperties.java silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/directory/HiddenServiceProperties.java
--- silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/directory/HiddenServiceProperties.java 2011-03-25 09:56:20.000000000 +0000
+++ silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/directory/HiddenServiceProperties.java 2012-11-16 18:48:45.354224491 +0000
@@ -64,7 +64,7 @@
minimumNumberOfIntroPoints = 3;
try {
// generates a new random key pair on every start.
- KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "BC");
+ KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "SC");
generator.initialize(1024, new SecureRandom());
KeyPair keypair = generator.generateKeyPair();
pub = (RSAPublicKey) keypair.getPublic();
diff -Bbur silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/directory/RouterImpl.java silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/directory/RouterImpl.java
--- silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/directory/RouterImpl.java 2012-09-02 11:58:16.000000000 +0100
+++ silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/directory/RouterImpl.java 2013-01-04 00:34:36.209293886 +0000
@@ -156,7 +156,7 @@
PLATFORM_PATTERN = Parsing.compileRegexPattern("^platform (.*?)$");
PUBLISHED_PATTERN = Parsing.compileRegexPattern("^published (.*?)$");
UPTIME_PATTERN = Parsing.compileRegexPattern("^uptime (\\d+)");
- FINGERPRINT_PATTERN = Parsing.compileRegexPattern("^opt fingerprint (.*?)$");
+ FINGERPRINT_PATTERN = Parsing.compileRegexPattern("^(?:opt )?fingerprint (.*?)$");
CONTACT_PATTERN = Parsing.compileRegexPattern("^contact (.*?)$");
ROUTER_PATTERN2 = Parsing.compileRegexPattern("^bandwidth (\\d+) (\\d+) (\\d+)?");
ONIONKEY_PATTERN = Parsing.compileRegexPattern("^onion-key\n(.*?END RSA PUBLIC KEY......)");
@@ -477,7 +477,7 @@
try {
fingerprint = new FingerprintImpl(Encoding.parseHex(Parsing.parseStringByRE(rd, FINGERPRINT_PATTERN, "")));
} catch (Exception e) {
- throw new TorException("Server " + nickname + " skipped as router");
+ throw new TorException("Server " + nickname + " skipped as router: " + e);
}
contact = Parsing.parseStringByRE(rd, CONTACT_PATTERN, "");
diff -Bbur silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/util/Encoding.java silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/util/Encoding.java
--- silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/util/Encoding.java 2012-01-19 16:46:10.000000000 +0000
+++ silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/util/Encoding.java 2012-11-16 18:37:17.762139243 +0000
@@ -250,7 +250,7 @@
/** creates an base64-string out of a byte[] */
public static String toBase64(byte[] data) {
- return new String(org.bouncycastle.util.encoders.Base64.encode(data));
+ return new String(org.spongycastle.util.encoders.Base64.encode(data));
}
/**
diff -Bbur silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/util/Encryption.java silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/util/Encryption.java
--- silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/util/Encryption.java 2012-01-19 16:46:10.000000000 +0000
+++ silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/util/Encryption.java 2012-11-20 15:27:08.128469232 +0000
@@ -60,21 +60,22 @@
import javax.crypto.Cipher;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1OutputStream;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.x509.RSAPublicKeyStructure;
-import org.bouncycastle.crypto.InvalidCipherTextException;
-import org.bouncycastle.crypto.encodings.OAEPEncoding;
-import org.bouncycastle.crypto.encodings.PKCS1Encoding;
-import org.bouncycastle.crypto.engines.RSAEngine;
-import org.bouncycastle.crypto.params.RSAKeyParameters;
-import org.bouncycastle.jce.provider.JCERSAPrivateCrtKey;
-import org.bouncycastle.jce.provider.JCERSAPrivateKey;
-import org.bouncycastle.jce.provider.JCERSAPublicKey;
-import org.bouncycastle.openssl.PEMReader;
-import org.bouncycastle.openssl.PEMWriter;
-import org.bouncycastle.util.encoders.Base64;
+import org.spongycastle.asn1.ASN1InputStream;
+import org.spongycastle.asn1.ASN1OutputStream;
+import org.spongycastle.asn1.ASN1Sequence;
+import org.spongycastle.asn1.x509.RSAPublicKeyStructure;
+import org.spongycastle.crypto.InvalidCipherTextException;
+import org.spongycastle.crypto.encodings.OAEPEncoding;
+import org.spongycastle.crypto.encodings.PKCS1Encoding;
+import org.spongycastle.crypto.engines.RSAEngine;
+import org.spongycastle.crypto.params.RSAKeyParameters;
+import org.spongycastle.jcajce.provider.asymmetric.rsa.BCRSAPublicKey;
+import org.spongycastle.jce.provider.JCERSAPrivateCrtKey;
+import org.spongycastle.jce.provider.JCERSAPrivateKey;
+import org.spongycastle.jce.provider.JCERSAPublicKey;
+import org.spongycastle.openssl.PEMReader;
+import org.spongycastle.openssl.PEMWriter;
+import org.spongycastle.util.encoders.Base64;
@@ -94,11 +95,11 @@
static {
try {
- // install BC, if not already done
- if (Security.getProvider("BC") == null) {
- Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
+ // install SC, if not already done
+ if (Security.getProvider("SC") == null) {
+ Security.addProvider(new org.spongycastle.jce.provider.BouncyCastleProvider());
// Security.insertProviderAt(new
- // org.bouncycastle.jce.provider.BouncyCastleProvider(),2);
+ // org.spongycastle.jce.provider.BouncyCastleProvider(),2);
}
} catch (Throwable t) {
log.log(Level.SEVERE, "Cannot initialize class Encryption", t);
@@ -340,11 +341,15 @@
try {
PEMReader reader = new PEMReader(new StringReader(s));
Object o = reader.readObject();
- if (!(o instanceof JCERSAPublicKey)) {
+ if (o instanceof JCERSAPublicKey) {
+ JCERSAPublicKey jceKey = (JCERSAPublicKey) o;
+ theKey = getRSAPublicKey(jceKey.getModulus(), jceKey.getPublicExponent());
+ } else if (o instanceof BCRSAPublicKey) {
+ BCRSAPublicKey bcKey = (BCRSAPublicKey) o;
+ theKey = getRSAPublicKey(bcKey.getModulus(), bcKey.getPublicExponent());
+ } else {
throw new IOException("Encryption.extractPublicRSAKey: no public key found in string '" + s + "'");
}
- JCERSAPublicKey JCEKey = (JCERSAPublicKey) o;
- theKey = getRSAPublicKey(JCEKey.getModulus(), JCEKey.getPublicExponent());
} catch (Exception e) {
log.warning("Encryption.extractPublicRSAKey: Caught exception:" + e.getMessage());
diff -Bbur silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/util/PrivateKeyHandler.java silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/util/PrivateKeyHandler.java
--- silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/layer/tor/util/PrivateKeyHandler.java 2011-03-25 09:56:22.000000000 +0000
+++ silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/layer/tor/util/PrivateKeyHandler.java 2012-11-16 18:48:53.282158910 +0000
@@ -50,7 +50,7 @@
*/
public PrivateKeyHandler() {
try {
- KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "BC");
+ KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "SC");
generator.initialize(1024, new SecureRandom());
keypair = generator.generateKeyPair();
} catch (Exception e) {
@@ -78,16 +78,16 @@
public java.security.cert.X509Certificate[] getCertificateChain(String alias) {
try {
- org.bouncycastle.x509.X509V3CertificateGenerator generator = new org.bouncycastle.x509.X509V3CertificateGenerator();
+ org.spongycastle.x509.X509V3CertificateGenerator generator = new org.spongycastle.x509.X509V3CertificateGenerator();
generator.reset();
generator.setSerialNumber(BigInteger.valueOf(42));
generator.setNotBefore(new Date( System.currentTimeMillis() - 24L * 3600 * 1000));
generator.setNotAfter(new Date(System.currentTimeMillis() + 365L * 24 * 3600 * 1000));
- generator.setIssuerDN(new org.bouncycastle.asn1.x509.X509Name( "CN="+Util.MYNAME));
- generator.setSubjectDN(new org.bouncycastle.asn1.x509.X509Name("CN="+Util.MYNAME));
+ generator.setIssuerDN(new org.spongycastle.asn1.x509.X509Name( "CN="+Util.MYNAME));
+ generator.setSubjectDN(new org.spongycastle.asn1.x509.X509Name("CN="+Util.MYNAME));
generator.setPublicKey(keypair.getPublic());
generator.setSignatureAlgorithm("SHA1WITHRSA");
- java.security.cert.X509Certificate x509 = generator.generate(keypair.getPrivate(), "BC");
+ java.security.cert.X509Certificate x509 = generator.generate(keypair.getPrivate(), "SC");
java.security.cert.X509Certificate[] x509s = new java.security.cert.X509Certificate[2];
// send the same certificate twice works fine with the default implementation of tor!
diff -Bbur silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/util/Base64.java silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/util/Base64.java
--- silvertunnel.org_netlib/src/main/java/org/silvertunnel/netlib/util/Base64.java 2012-01-19 16:46:10.000000000 +0000
+++ silvertunnel.org-netlib-0.14-briar/src/main/java/org/silvertunnel/netlib/util/Base64.java 2012-11-16 18:37:46.506222108 +0000
@@ -34,7 +34,7 @@
*/
public static String encode(byte[] input) {
try {
- return new String(org.bouncycastle.util.encoders.Base64.encode(input), UTF8);
+ return new String(org.spongycastle.util.encoders.Base64.encode(input), UTF8);
} catch (Exception e) {
return null;
}
@@ -48,7 +48,7 @@
*/
public static byte[] decode(String input) {
try {
- return org.bouncycastle.util.encoders.Base64.decode(input);
+ return org.spongycastle.util.encoders.Base64.decode(input);
} catch (Exception e) {
return null;
}
diff -Bbur silvertunnel.org_netlib/src/test/java/org/silvertunnel/netlib/layer/tor/directory/AuthorityKeyCertificatesLocalTest.java silvertunnel.org-netlib-0.14-briar/src/test/java/org/silvertunnel/netlib/layer/tor/directory/AuthorityKeyCertificatesLocalTest.java
--- silvertunnel.org_netlib/src/test/java/org/silvertunnel/netlib/layer/tor/directory/AuthorityKeyCertificatesLocalTest.java 2012-01-19 16:46:08.000000000 +0000
+++ silvertunnel.org-netlib-0.14-briar/src/test/java/org/silvertunnel/netlib/layer/tor/directory/AuthorityKeyCertificatesLocalTest.java 2012-11-16 18:38:10.338141454 +0000
@@ -53,9 +53,9 @@
@BeforeClass
public static void setUpClass() throws Exception {
- // install BC, if not already done
- if(Security.getProvider("BC")==null) {
- Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
+ // install SC, if not already done
+ if(Security.getProvider("SC")==null) {
+ Security.addProvider(new org.spongycastle.jce.provider.BouncyCastleProvider());
}
}
diff -Bbur silvertunnel.org_netlib/src/test/java/org/silvertunnel/netlib/layer/tor/directory/DirectoryConsensusLocalTest.java silvertunnel.org-netlib-0.14-briar/src/test/java/org/silvertunnel/netlib/layer/tor/directory/DirectoryConsensusLocalTest.java
--- silvertunnel.org_netlib/src/test/java/org/silvertunnel/netlib/layer/tor/directory/DirectoryConsensusLocalTest.java 2012-01-19 16:46:08.000000000 +0000
+++ silvertunnel.org-netlib-0.14-briar/src/test/java/org/silvertunnel/netlib/layer/tor/directory/DirectoryConsensusLocalTest.java 2012-11-16 18:38:16.654139552 +0000
@@ -60,9 +60,9 @@
@BeforeClass
public static void setUpClass() throws Exception {
- // install BC, if not already done
- if (Security.getProvider("BC")==null) {
- Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
+ // install SC, if not already done
+ if (Security.getProvider("SC")==null) {
+ Security.addProvider(new org.spongycastle.jce.provider.BouncyCastleProvider());
}
}