package org.exobel.routerkeygen.utils.dns;
/*
* Java Network Programming, Second Edition
* Merlin Hughes, Michael Shoffner, Derek Hamner
* Manning Publications Company; ISBN 188477749X
*
* http://nitric.com/jnp/
*
* Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner;
* all rights reserved; see license.txt for details.
*/
final class DNS {
public static final int
DEFAULT_PORT = 53;
public static final int
TYPE_A = 1, // address
TYPE_NS = 2, // nameserver
TYPE_MD = 3, // mail domain
TYPE_MF = 4, // mail forwarder
TYPE_CNAME = 5, // canonical name
TYPE_SOA = 6, // start of authority
TYPE_MB = 7, // mail box
TYPE_MG = 8, // mail group
TYPE_MR = 9, // mail rename
TYPE_NULL = 10, // null
TYPE_WKS = 11, // well-known services
TYPE_PTR = 12, // pointer
TYPE_HINFO = 13, // host info
TYPE_MINFO = 14, // mail info
TYPE_MX = 15, // mail exchanger
TYPE_TXT = 16, // text
TYPE_IPV6 = 28, //ipv6
TYPE_AXFR = 252, // zone transfer request
TYPE_MAILB = 253, // mailbox request
TYPE_MAILA = 254, // mail agent request
TYPE_ANY = 255; // request any
public static final int
CLASS_IN = 1, // internet
CLASS_CS = 2, // csnet
CLASS_CH = 3, // chaos
CLASS_HS = 4, // hesiod
CLASS_ANY = 255; // request any
public static final int
SHIFT_QUERY = 15,
SHIFT_OPCODE = 11,
SHIFT_AUTHORITATIVE = 10,
SHIFT_TRUNCATED = 9,
SHIFT_RECURSE_PLEASE = 8,
SHIFT_RECURSE_AVAILABLE = 7,
SHIFT_RESERVED = 4,
SHIFT_RESPONSE_CODE = 0;
public static final int
OPCODE_QUERY = 0,
OPCODE_IQUERY = 1,
OPCODE_STATUS = 2;
private static final String[] typeNames = {
"Address", "NameServer", "MailDomain", "MailForwarder",
"CanonicalName", "StartOfAuthority", "MailBox", "MailGroup",
"MailRename", "Null", "WellKnownServices", "Pointer",
"HostInfo", "MailInfo", "MailExchanger", "Text"
};
public static String typeName(int type) {
if (type == 28) return "IPv6";
else return ((type >= 1) && (type <= 16)) ? typeNames[type - 1] : "Unknown";
}
private static final String[] codeNames = {
"Format error", "Server failure", "Name not known",
"Not implemented", "Refused"
};
public static String codeName(int code) {
return ((code >= 1) && (code <= 5)) ?
codeNames[code - 1] : "Unknown error";
}
}