Record rdataFromString(Name name, short dclass, int ttl, MyStringTokenizer st, Name origin) throws TextParseException { SIGRecord rec = new SIGRecord(name, dclass, ttl); rec.covered = Type.value(st.nextToken()); rec.alg = Byte.parseByte(st.nextToken()); rec.labels = Byte.parseByte(st.nextToken()); rec.origttl = TTL.parseTTL(st.nextToken()); rec.expire = parseDate(st.nextToken()); rec.timeSigned = parseDate(st.nextToken()); rec.footprint = (short) Integer.parseInt(st.nextToken()); rec.signer = Name.fromString(st.nextToken(), origin); if (st.hasMoreTokens()) rec.signature = base64.fromString(st.remainingTokens()); return rec; }
Record rrFromWire( Name name, short type, short dclass, int ttl, int length, DataByteInputStream in) throws IOException { SIGRecord rec = new SIGRecord(name, dclass, ttl); if (in == null) return rec; int start = in.getPos(); rec.covered = in.readShort(); rec.alg = in.readByte(); rec.labels = in.readByte(); rec.origttl = in.readInt(); rec.expire = new Date(1000 * (long) in.readInt()); rec.timeSigned = new Date(1000 * (long) in.readInt()); rec.footprint = in.readShort(); rec.signer = new Name(in); rec.signature = new byte[length - (in.getPos() - start)]; in.read(rec.signature); return rec; }