Author: nextgens
Date: 2006-09-06 18:10:55 +0000 (Wed, 06 Sep 2006)
New Revision: 10412
Modified:
trunk/freenet/src/freenet/node/PeerNode.java
Log:
Some work for #730 : pick up dsaGroup and pubkey from ark if not already set.
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2006-09-06 16:45:33 UTC
(rev 10411)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2006-09-06 18:10:55 UTC
(rev 10412)
@@ -618,12 +618,35 @@
FreenetURI uri = new FreenetURI(arkPubKey);
ClientSSK ssk = new ClientSSK(uri);
ark = new USK(ssk, arkNo);
+
+ // Maybe synchronize ?
+ if(peerCryptoGroup == null){
+ SimpleFieldSet sfs = fs.subset("dsaGroup");
+ Logger.normal(this, "Picking up peerCrypto
group from ark for "+this.privateDarknetComment);
+ if(sfs == null)
+ this.peerCryptoGroup = null;
+ else
+ this.peerCryptoGroup =
DSAGroup.create(sfs);
+ }
+
+ if(peerPubKey == null){
+ SimpleFieldSet sfs = fs.subset("dsaGroup");
+ Logger.normal(this, "Picking up dsaGroup from
ark for "+this.privateDarknetComment);
+
+ sfs = fs.subset("dsaPubKey");
+ if(sfs == null)
+ this.peerPubKey = null;
+ else
+ this.peerPubKey =
DSAPublicKey.create(sfs, peerCryptoGroup);
+ }
}
} catch (MalformedURLException e) {
Logger.error(this, "Couldn't parse ARK info for "+this+": "+e,
e);
} catch (NumberFormatException e) {
Logger.error(this, "Couldn't parse ARK info for "+this+": "+e,
e);
- }
+ } catch (IllegalBase64Exception e) {
+ Logger.error(this, "Couldn't parse ARK info for "+this+": "+e,
e);
+ }
synchronized(this) {
if(ark != null) {