Author: toad
Date: 2007-02-09 23:39:04 +0000 (Fri, 09 Feb 2007)
New Revision: 11725

Modified:
   trunk/freenet/src/freenet/crypt/CryptoElement.java
   trunk/freenet/src/freenet/crypt/DHGroup.java
   trunk/freenet/src/freenet/crypt/DSAGroup.java
   trunk/freenet/src/freenet/crypt/DSAPrivateKey.java
   trunk/freenet/src/freenet/crypt/DSAPublicKey.java
   trunk/freenet/src/freenet/crypt/DSASignature.java
Log:
Don't cache hex versions of DSA parameters.
writeAsField -> toLongString

Modified: trunk/freenet/src/freenet/crypt/CryptoElement.java
===================================================================
--- trunk/freenet/src/freenet/crypt/CryptoElement.java  2007-02-09 23:24:41 UTC 
(rev 11724)
+++ trunk/freenet/src/freenet/crypt/CryptoElement.java  2007-02-09 23:39:04 UTC 
(rev 11725)
@@ -12,8 +12,8 @@

     //public void write(OutputStream o) throws IOException;

-    public String writeAsField();
+    //public String writeAsField();

+       public String toLongString();

-
 }

Modified: trunk/freenet/src/freenet/crypt/DHGroup.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DHGroup.java        2007-02-09 23:24:41 UTC 
(rev 11724)
+++ trunk/freenet/src/freenet/crypt/DHGroup.java        2007-02-09 23:39:04 UTC 
(rev 11725)
@@ -27,7 +27,7 @@
 //             super.write(out, getClass().getName());
 //     }
 //
-       public String writeAsField() {
+       public String toLongString() {
                String pStr = HexUtil.biToHex(p);
                String gStr = HexUtil.biToHex(g);
                StringBuffer b = new StringBuffer(pStr.length() + gStr.length() 
+ 1);

Modified: trunk/freenet/src/freenet/crypt/DSAGroup.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAGroup.java       2007-02-09 23:24:41 UTC 
(rev 11724)
+++ trunk/freenet/src/freenet/crypt/DSAGroup.java       2007-02-09 23:39:04 UTC 
(rev 11725)
@@ -27,8 +27,6 @@

     private final BigInteger p, q, g;

-    private String pAsHexString, gAsHexString, qAsHexString; //Cached versions
-
     // of the
     // hexadecimal
     // string
@@ -45,10 +43,6 @@

     public DSAGroup(String pAsHexString, String qAsHexString,
             String gAsHexString) throws NumberFormatException {
-        this.pAsHexString = pAsHexString;
-        this.qAsHexString = qAsHexString;
-        this.gAsHexString = gAsHexString;
-
         //Sanity check. Needed because of the Kaffe workaround further down
         if ((pAsHexString == null) || (qAsHexString == null)
                 || (gAsHexString == null))
@@ -69,14 +63,6 @@
                throw new IllegalArgumentException();
     }

-    private void updateCachedHexStrings() {
-       if(pAsHexString != null && qAsHexString != null && gAsHexString != null)
-               return;
-        pAsHexString = HexUtil.biToHex(p);
-        qAsHexString = HexUtil.biToHex(q);
-        gAsHexString = HexUtil.biToHex(g);
-    }
-
     /**
      * Parses a DSA Group from a string, where p, q, and g are in unsigned
      * hex-strings, separated by a commas
@@ -109,15 +95,6 @@
     //         writeForWire(out);
     //    }

-    public String writeAsField() {
-       updateCachedHexStrings();
-        StringBuffer b = new StringBuffer();
-        b.append(pAsHexString).append(',');
-        b.append(qAsHexString).append(',');
-        b.append(gAsHexString);
-        return b.toString();
-    }
-
     public String keyType() {
         return "DSA.g-" + p.bitLength();
     }
@@ -134,21 +111,6 @@
         return g;
     }

-    public String getPAsHexString() {
-       updateCachedHexStrings();
-        return pAsHexString;
-    }
-
-    public String getQAsHexString() {
-       updateCachedHexStrings();
-        return qAsHexString;
-    }
-
-    public String getGAsHexString() {
-       updateCachedHexStrings();
-        return gAsHexString;
-    }
-
     public byte[] fingerprint() {
         BigInteger fp[] = new BigInteger[3];
         fp[0] = p;
@@ -341,4 +303,16 @@
                if(dg.equals(Global.DSAgroupBigA)) return Global.DSAgroupBigA;
                return dg;
        }
+       
+       public String toString() {
+               if(this == Global.DSAgroupBigA)
+                       return "Global.DSAgroupBigA";
+               else return super.toString();
+       }
+       
+       public String toLongString() {
+               if(this == Global.DSAgroupBigA)
+                       return "Global.DSAgroupBigA";
+               return "p="+HexUtil.biToHex(p)+", q="+HexUtil.biToHex(q)+", 
g="+HexUtil.biToHex(g);
+       }
 }

Modified: trunk/freenet/src/freenet/crypt/DSAPrivateKey.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAPrivateKey.java  2007-02-09 23:24:41 UTC 
(rev 11724)
+++ trunk/freenet/src/freenet/crypt/DSAPrivateKey.java  2007-02-09 23:39:04 UTC 
(rev 11725)
@@ -51,8 +51,8 @@
         return new DSAPrivateKey(Util.readMPI(i));
     }

-    public String writeAsField() {
-        return HexUtil.biToHex(x);
+    public String toLongString() {
+        return "x="+HexUtil.biToHex(x);
     }

     // what?  why is DSAGroup passed in?

Modified: trunk/freenet/src/freenet/crypt/DSAPublicKey.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAPublicKey.java   2007-02-09 23:24:41 UTC 
(rev 11724)
+++ trunk/freenet/src/freenet/crypt/DSAPublicKey.java   2007-02-09 23:39:04 UTC 
(rev 11725)
@@ -16,8 +16,6 @@
        private static final long serialVersionUID = -1;

     private final BigInteger y;
-       /** A cache of the hexadecimal string representation of y */
-    private String yAsHexString; 

     public static final int PADDED_SIZE = 1024;

@@ -39,7 +37,6 @@
        public DSAPublicKey(DSAGroup g, String yAsHexString) throws 
NumberFormatException {
                this.y=new NativeBigInteger(yAsHexString,16);
        if(y.signum() != 1) throw new IllegalArgumentException();
-               this.yAsHexString = yAsHexString;
                this.group=g;
                if(g == null) throw new NullPointerException();
        }
@@ -61,36 +58,18 @@
                return y;
     }

-       public String getYAsHexString() {
-               if(yAsHexString == null)
-                       this.yAsHexString = HexUtil.biToHex(y);
-               return yAsHexString;
-       }
-
     public BigInteger getP() {
                return group.getP();
     }

-       public String getPAsHexString() {
-               return group.getPAsHexString();
-       }
-    
     public BigInteger getQ() {
                return group.getQ();
     }

-       public String getQAsHexString() {
-               return group.getQAsHexString();
-       }
-
     public BigInteger getG() {
                return group.getG();
     }

-       public String getGAsHexString() {
-               return group.getGAsHexString();
-       }
-
     public String keyType() {
                return "DSA.p";
     }
@@ -123,8 +102,8 @@
                return y.intValue();
     }

-    public String writeAsField() {
-        return yAsHexString;
+    public String toLongString() {
+        return "y="+HexUtil.biToHex(y);
     }

     // this won't correctly read the output from writeAsField

Modified: trunk/freenet/src/freenet/crypt/DSASignature.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSASignature.java   2007-02-09 23:24:41 UTC 
(rev 11724)
+++ trunk/freenet/src/freenet/crypt/DSASignature.java   2007-02-09 23:39:04 UTC 
(rev 11725)
@@ -48,13 +48,6 @@
                Util.writeMPI(s, o);
     }

-    /** @deprecated
-      * @see #toString()
-      */
-    public String writeAsField() {
-        return toString();
-    }
-    
     public DSASignature(BigInteger r, BigInteger s) {
                this.r=r;
                this.s=s;
@@ -71,7 +64,7 @@
                return s;
     }

-    public String toString() {
+    public String toLongString() {
                if(toStringCached == null)
                        toStringCached = HexUtil.biToHex(r) + ',' + 
HexUtil.biToHex(s);
         return toStringCached;


Reply via email to