gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] storm/org/nongnu/storm BlockId.java BlockId.test


From: Benja Fallenstein
Subject: [Gzz-commits] storm/org/nongnu/storm BlockId.java BlockId.test
Date: Tue, 15 Apr 2003 04:48:11 -0400

CVSROOT:        /cvsroot/storm
Module name:    storm
Changes by:     Benja Fallenstein <address@hidden>      03/04/15 04:48:11

Modified files:
        org/nongnu/storm: BlockId.java BlockId.test 

Log message:
        disallow x- and x. content types

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/storm/storm/org/nongnu/storm/BlockId.java.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/storm/storm/org/nongnu/storm/BlockId.test.diff?tr1=1.5&tr2=1.6&r1=text&r2=text

Patches:
Index: storm/org/nongnu/storm/BlockId.java
diff -u storm/org/nongnu/storm/BlockId.java:1.8 
storm/org/nongnu/storm/BlockId.java:1.9
--- storm/org/nongnu/storm/BlockId.java:1.8     Tue Apr  8 04:03:32 2003
+++ storm/org/nongnu/storm/BlockId.java Tue Apr 15 04:48:11 2003
@@ -52,7 +52,9 @@
 
         int dot = uri.lastIndexOf('.');
        int comma = uri.lastIndexOf(',');
-       
+
+       checkContentType(uri);
+
        if(!uri.startsWith(PREFIX) || dot < 0 || 
           comma < 0 || dot < comma)
            throw new IllegalArgumentException("Bad block URN: "+uri);
@@ -64,6 +66,8 @@
 
     public BlockId(String contentType, 
                   byte[] sha1, byte[] tigertree) {
+       checkContentType(contentType);
+       
        this.sha1 = sha1;
        this.tigertree = tigertree;
        this.contentType = contentType;
@@ -154,6 +158,16 @@
                           dig_tt.digest());
     }
 
+
+    private void checkContentType(String s) {
+       s = s.toLowerCase();
+       int slash = s.indexOf('/');
+       if(s.substring(slash+1, slash+3).equals("x-") ||
+          s.substring(slash+1, slash+3).equals("x."))
+           throw new IllegalArgumentException("x- and x. content types "
+                                              + "not allowed in "
+                                              + "Storm URNs");
+    }
 
     /** Create a new SHA-1 message digest; throw an error
      *  if this algorithm isn't available. 
Index: storm/org/nongnu/storm/BlockId.test
diff -u storm/org/nongnu/storm/BlockId.test:1.5 
storm/org/nongnu/storm/BlockId.test:1.6
--- storm/org/nongnu/storm/BlockId.test:1.5     Tue Apr  8 04:03:32 2003
+++ storm/org/nongnu/storm/BlockId.test Tue Apr 15 04:48:11 2003
@@ -20,7 +20,7 @@
 # 
 # 
 
-import java
+import java, com
 from org.nongnu.storm import BlockId
 from jarray import array
 
@@ -58,6 +58,39 @@
     assert id3.getContentType() == "text/plain"
     assert id != id3
     assert id.hashCode() != id3.hashCode()
+
+def testXType():
+    """X- content types must throw exceptions"""
+
+    BlockId("urn:x-storm:1.0:text/plain,"
+            "u7uu5zpmkoeykkwhxd4unlqycc36gvl7."
+            "jtlcbiy2r6gfsznbgj42yzqbqk4ti373bqs5qyy")
+
+    try: BlockId("urn:x-storm:1.0:text/x-java,"
+                 "u7uu5zpmkoeykkwhxd4unlqycc36gvl7."
+                 "jtlcbiy2r6gfsznbgj42yzqbqk4ti373bqs5qyy")
+    except java.lang.IllegalArgumentException: pass
+    else: assert 0
+
+    try: BlockId("urn:x-storm:1.0:text/x.java,"
+                 "u7uu5zpmkoeykkwhxd4unlqycc36gvl7."
+                 "jtlcbiy2r6gfsznbgj42yzqbqk4ti373bqs5qyy")
+    except java.lang.IllegalArgumentException: pass
+    else: assert 0
+
+    sha1 = com.bitzi.util.Base32.decode(
+        "u7uu5zpmkoeykkwhxd4unlqycc36gvl7")
+    tiger = com.bitzi.util.Base32.decode(
+        "jtlcbiy2r6gfsznbgj42yzqbqk4ti373bqs5qyy")
+    BlockId("text/plain", sha1, tiger)
+
+    try: BlockId("text/x-java", sha1, tiger)
+    except java.lang.IllegalArgumentException: pass
+    else: assert 0
+
+    try: BlockId("text/x.java", sha1, tiger)
+    except java.lang.IllegalArgumentException: pass
+    else: assert 0
 
 def testGetIdForData():
     id_1 = BlockId(uri_1)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]