Merge branch 'v0.1'

Conflicts:
	src/main/java/de/measite/minidns/Record.java
This commit is contained in:
Rene Treffer 2014-07-23 22:49:36 +02:00
commit 1665f2e1b3
3 changed files with 24 additions and 2 deletions

View File

@ -515,7 +515,10 @@ public class DNSMessage {
public String toString() { public String toString() {
return "-- DNSMessage " + id + " --\n" + return "-- DNSMessage " + id + " --\n" +
Arrays.toString(answers); "Q" + Arrays.toString(questions) +
"NS" + Arrays.toString(nameserverRecords) +
"A" + Arrays.toString(answers) +
"ARR" + Arrays.toString(additionalResourceRecords);
} }
} }

View File

@ -134,4 +134,9 @@ public class Question {
byte o[] = ((Question)other).toByteArray(); byte o[] = ((Question)other).toByteArray();
return Arrays.equals(t, o); return Arrays.equals(t, o);
} }
@Override
public String toString() {
return "Question/" + clazz + "/" + type + ": " + name;
}
} }

View File

@ -222,6 +222,11 @@ public class Record {
*/ */
protected Data payloadData; protected Data payloadData;
/**
* MDNS defines the highest bit of the class as the unicast query bit.
*/
protected boolean unicastQuery;
/** /**
* Parse a given record based on the full message data and the current * Parse a given record based on the full message data and the current
* stream position. * stream position.
@ -233,7 +238,8 @@ public class Record {
this.name = NameUtil.parse(dis, data); this.name = NameUtil.parse(dis, data);
this.type = TYPE.getType(dis.readUnsignedShort()); this.type = TYPE.getType(dis.readUnsignedShort());
int clazzValue = dis.readUnsignedShort(); int clazzValue = dis.readUnsignedShort();
this.clazz = CLASS.getClass(clazzValue); this.clazz = CLASS.getClass(clazzValue & 0x7fff);
this.unicastQuery = (clazzValue & 0x8000) > 0;
if (this.clazz == null) { if (this.clazz == null) {
System.out.println("Unknown class " + clazzValue); System.out.println("Unknown class " + clazzValue);
} }
@ -298,6 +304,14 @@ public class Record {
(q.getName().equals(name)); (q.getName().equals(name));
} }
/**
* See if this query/response was a unicast query (highest class bit set).
* @return True if it is a unicast query/response record.
*/
public boolean isUnicastQuery() {
return unicastQuery;
}
/** /**
* The generic record name, e.g. "measite.de". * The generic record name, e.g. "measite.de".
* @return The record name. * @return The record name.