updates for nsec3-08 (wire format changes)
git-svn-id: https://svn.verisignlabs.com/jdnssec/tools/trunk@108 4cbd57fe-54e5-0310-bd9a-f30fe5ea5e6e
This commit is contained in:
		
							parent
							
								
									661f31cdba
								
							
						
					
					
						commit
						1b778f279d
					
				
										
											Binary file not shown.
										
									
								
							| @ -36,8 +36,8 @@ import org.xbill.DNS.utils.base32; | |||||||
| public class ProtoNSEC3 | public class ProtoNSEC3 | ||||||
| { | { | ||||||
|   private Name    originalOwner; |   private Name    originalOwner; | ||||||
|   private boolean optInFlag; |  | ||||||
|   private byte    hashAlg; |   private byte    hashAlg; | ||||||
|  |   private byte    flags; | ||||||
|   private int     iterations; |   private int     iterations; | ||||||
|   private byte[]  salt; |   private byte[]  salt; | ||||||
|   private byte[]  next; |   private byte[]  next; | ||||||
| @ -50,21 +50,17 @@ public class ProtoNSEC3 | |||||||
| 
 | 
 | ||||||
|   /** |   /** | ||||||
|    * Creates an NSEC3 Record from the given data. |    * Creates an NSEC3 Record from the given data. | ||||||
|    *  |  | ||||||
|    * @param originalOwner TODO |  | ||||||
|    * @param next The following name in an ordered list of the zone |  | ||||||
|    * @param types An array containing the types present. |  | ||||||
|    */ |    */ | ||||||
|   public ProtoNSEC3(byte[] owner, Name originalOwner, Name zone, int dclass, |   public ProtoNSEC3(byte[] owner, Name originalOwner, Name zone, int dclass, | ||||||
|       long ttl, boolean optInFlag, byte hashAlg, int iterations, byte[] salt, |       long ttl, byte hashAlg, byte flags, int iterations, byte[] salt, | ||||||
|       byte[] next, TypeMap typemap) |       byte[] next, TypeMap typemap) | ||||||
|   { |   { | ||||||
|     this.zone = zone; |     this.zone = zone; | ||||||
|     this.owner = owner; |     this.owner = owner; | ||||||
|     this.dclass = dclass; |     this.dclass = dclass; | ||||||
|     this.ttl = ttl; |     this.ttl = ttl; | ||||||
|     this.optInFlag = optInFlag; |  | ||||||
|     this.hashAlg = hashAlg; |     this.hashAlg = hashAlg; | ||||||
|  |     this.flags = flags; | ||||||
|     this.iterations = iterations; |     this.iterations = iterations; | ||||||
|     this.salt = salt; |     this.salt = salt; | ||||||
|     this.next = next; |     this.next = next; | ||||||
| @ -73,10 +69,10 @@ public class ProtoNSEC3 | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   public ProtoNSEC3(byte[] owner, Name originalOwner, Name zone, int dclass, |   public ProtoNSEC3(byte[] owner, Name originalOwner, Name zone, int dclass, | ||||||
|       long ttl, boolean optInFlag, byte hashAlg, int iterations, byte[] salt, |       long ttl, byte hashAlg, byte flags, int iterations, byte[] salt, | ||||||
|       byte[] next, int[] types) |       byte[] next, int[] types) | ||||||
|   { |   { | ||||||
|     this(owner, originalOwner, zone, dclass, ttl, optInFlag, hashAlg, |     this(owner, originalOwner, zone, dclass, ttl, hashAlg, flags, | ||||||
|         iterations, salt, next, TypeMap.fromTypes(types)); |         iterations, salt, next, TypeMap.fromTypes(types)); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @ -113,14 +109,20 @@ public class ProtoNSEC3 | |||||||
|     this.next = next; |     this.next = next; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   public byte getFlags()  | ||||||
|  |   { | ||||||
|  |     return flags; | ||||||
|  |   } | ||||||
|  |    | ||||||
|   public boolean getOptInFlag() |   public boolean getOptInFlag() | ||||||
|   { |   { | ||||||
|     return optInFlag; |     return (flags & NSEC3Record.OPT_OUT_FLAG) != 0; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   public void setOptInFlag(boolean optInFlag) |   public void setOptInFlag(boolean optInFlag) | ||||||
|   { |   { | ||||||
|     this.optInFlag = optInFlag; |     if (optInFlag) this.flags |= NSEC3Record.OPT_OUT_FLAG; | ||||||
|  |     else this.flags &= ~NSEC3Record.OPT_OUT_FLAG; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   public long getTTL() |   public long getTTL() | ||||||
| @ -183,7 +185,7 @@ public class ProtoNSEC3 | |||||||
|     String comment = (originalOwner == null) |     String comment = (originalOwner == null) | ||||||
|         ? "(unknown original ownername)" |         ? "(unknown original ownername)" | ||||||
|         : originalOwner.toString(); |         : originalOwner.toString(); | ||||||
|     return new NSEC3Record(getName(), dclass, ttl, optInFlag, hashAlg, |     return new NSEC3Record(getName(), dclass, ttl, hashAlg, flags, | ||||||
|         iterations, salt, next, getTypes(), comment); |         iterations, salt, next, getTypes(), comment); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @ -218,7 +220,7 @@ public class ProtoNSEC3 | |||||||
|     sb.append(' '); |     sb.append(' '); | ||||||
|     sb.append(DClass.string(dclass)); |     sb.append(DClass.string(dclass)); | ||||||
|     sb.append(" NSEC3 "); |     sb.append(" NSEC3 "); | ||||||
|     sb.append(optInFlag ? '1' : '0'); |     sb.append(flags); | ||||||
|     sb.append(' '); |     sb.append(' '); | ||||||
|     sb.append(hashAlg); |     sb.append(hashAlg); | ||||||
|     sb.append(' '); |     sb.append(' '); | ||||||
|  | |||||||
| @ -731,7 +731,7 @@ public class SignUtils | |||||||
|     records.addAll(nsec3s); |     records.addAll(nsec3s); | ||||||
| 
 | 
 | ||||||
|     NSEC3PARAMRecord nsec3param = new NSEC3PARAMRecord(zonename, DClass.IN, |     NSEC3PARAMRecord nsec3param = new NSEC3PARAMRecord(zonename, DClass.IN, | ||||||
|         nsec3param_ttl, NSEC3Record.SHA1_DIGEST_ID, iterations, salt); |         nsec3param_ttl, NSEC3Record.SHA1_DIGEST_ID, (byte) 0, iterations, salt); | ||||||
|     records.add(nsec3param); |     records.add(nsec3param); | ||||||
| 
 | 
 | ||||||
|   } |   } | ||||||
| @ -836,7 +836,7 @@ public class SignUtils | |||||||
|     records.addAll(nsec3s); |     records.addAll(nsec3s); | ||||||
| 
 | 
 | ||||||
|     NSEC3PARAMRecord nsec3param = new NSEC3PARAMRecord(zonename, DClass.IN, |     NSEC3PARAMRecord nsec3param = new NSEC3PARAMRecord(zonename, DClass.IN, | ||||||
|         nsec3param_ttl, NSEC3Record.SHA1_DIGEST_ID, iterations, salt); |         nsec3param_ttl, NSEC3Record.SHA1_DIGEST_ID, (byte) 0, iterations, salt); | ||||||
|     records.add(nsec3param); |     records.add(nsec3param); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @ -886,9 +886,10 @@ public class SignUtils | |||||||
|         NSEC3Record.SHA1_DIGEST_ID, |         NSEC3Record.SHA1_DIGEST_ID, | ||||||
|         iterations, |         iterations, | ||||||
|         salt); |         salt); | ||||||
| 
 |     byte flags = (byte) (optIn ? 0x01 : 0x00); | ||||||
|  |      | ||||||
|     ProtoNSEC3 r = new ProtoNSEC3(hash, name, zonename, DClass.IN, ttl, |     ProtoNSEC3 r = new ProtoNSEC3(hash, name, zonename, DClass.IN, ttl, | ||||||
|         optIn, NSEC3Record.SHA1_DIGEST_ID, iterations, salt, null, types); |         flags, NSEC3Record.SHA1_DIGEST_ID, iterations, salt, null, types); | ||||||
| 
 | 
 | ||||||
|     log.finer("Generated: " + r); |     log.finer("Generated: " + r); | ||||||
|     return r; |     return r; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user