aboutsummaryrefslogtreecommitdiff
path: root/src/org/xbill/DNS/DHCIDRecord.java
blob: e160a8c940f608dda3b318a9fdd9d5a94281fdc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Copyright (c) 2008 Brian Wellington (bwelling@xbill.org)

package org.xbill.DNS;

import java.io.*;
import org.xbill.DNS.utils.base64;

/**
 * DHCID - Dynamic Host Configuration Protocol (DHCP) ID (RFC 4701)
 *
 * @author Brian Wellington
 */

public class DHCIDRecord extends Record {

private static final long serialVersionUID = -8214820200808997707L;

private byte [] data;

DHCIDRecord() {}

Record
getObject() {
	return new DHCIDRecord();
}

/**
 * Creates an DHCID Record from the given data
 * @param data The binary data, which is opaque to DNS.
 */
public
DHCIDRecord(Name name, int dclass, long ttl, byte [] data) {
	super(name, Type.DHCID, dclass, ttl);
	this.data = data;
}

void
rrFromWire(DNSInput in) throws IOException {
	data = in.readByteArray();
}

void
rdataFromString(Tokenizer st, Name origin) throws IOException {
	data = st.getBase64();
}

void
rrToWire(DNSOutput out, Compression c, boolean canonical) {
	out.writeByteArray(data);
}

String
rrToString() {
	return base64.toString(data);
}

/**
 * Returns the binary data.
 */
public byte []
getData() {
	return data;
}

}