Folder structure reconstruction
This commit is contained in:
94
MailServer/DNSClient/Enums/NsClass.cs
Normal file
94
MailServer/DNSClient/Enums/NsClass.cs
Normal file
@ -0,0 +1,94 @@
|
||||
/**********************************************************************
|
||||
* Copyright (c) 2010, j. montgomery *
|
||||
* All rights reserved. *
|
||||
* *
|
||||
* Redistribution and use in source and binary forms, with or without *
|
||||
* modification, are permitted provided that the following conditions *
|
||||
* are met: *
|
||||
* *
|
||||
* + Redistributions of source code must retain the above copyright *
|
||||
* notice, this list of conditions and the following disclaimer. *
|
||||
* *
|
||||
* + Redistributions in binary form must reproduce the above copyright*
|
||||
* notice, this list of conditions and the following disclaimer *
|
||||
* in the documentation and/or other materials provided with the *
|
||||
* distribution. *
|
||||
* *
|
||||
* + Neither the name of j. montgomery's employer nor the names of *
|
||||
* its contributors may be used to endorse or promote products *
|
||||
* derived from this software without specific prior written *
|
||||
* permission. *
|
||||
* *
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS*
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE *
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,*
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR *
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) *
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,*
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) *
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED*
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE. *
|
||||
**********************************************************************/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace DnDns.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// RFC 1035:
|
||||
///
|
||||
/// 3.2.4. CLASS values
|
||||
///
|
||||
/// CLASS fields appear in resource records. The following CLASS mnemonics
|
||||
/// and values are defined:
|
||||
///
|
||||
/// IN 1 the Internet
|
||||
///
|
||||
/// CS 2 the CSNET class (Obsolete - used only for examples in
|
||||
/// some obsolete RFCs)
|
||||
///
|
||||
/// CH 3 the CHAOS class
|
||||
///
|
||||
/// HS 4 Hesiod [Dyer 87]
|
||||
///
|
||||
/// 3.2.5. QCLASS values
|
||||
///
|
||||
/// QCLASS fields appear in the question section of a query. QCLASS values
|
||||
/// are a superset of CLASS values; every CLASS is a valid QCLASS. In
|
||||
/// addition to CLASS values, the following QCLASSes are defined:
|
||||
///
|
||||
/// * 255 any class
|
||||
/// </summary>
|
||||
public enum NsClass : byte
|
||||
{
|
||||
/// <summary>
|
||||
/// Cookie?? - NOT IMPLEMENTED
|
||||
/// </summary>
|
||||
INVALID = 0,
|
||||
/// <summary>
|
||||
/// // Internet (inet), RFC 1035
|
||||
/// </summary>
|
||||
INET = 1,
|
||||
/// <summary>
|
||||
/// MIT Chaos-net, RFC 1035 - NOT IMPLEMENTED
|
||||
/// </summary>
|
||||
CHAOS = 3,
|
||||
/// <summary>
|
||||
/// MIT Hesiod, RFC 1035 - NOT IMPLEMENTED
|
||||
/// </summary>
|
||||
HS = 4,
|
||||
/// <summary>
|
||||
/// RFC 2136 - None
|
||||
/// prereq sections in update requests -- NOT IMPLEMENTED
|
||||
/// </summary>
|
||||
NONE = 254,
|
||||
/// <summary>
|
||||
/// Any QCLASS only, Wildcard match, RFC 1035 - IMPLEMENTED for INET only
|
||||
/// </summary>
|
||||
ANY = 255
|
||||
}
|
||||
}
|
298
MailServer/DNSClient/Enums/NsFlags.cs
Normal file
298
MailServer/DNSClient/Enums/NsFlags.cs
Normal file
@ -0,0 +1,298 @@
|
||||
/**********************************************************************
|
||||
* Copyright (c) 2010, j. montgomery *
|
||||
* All rights reserved. *
|
||||
* *
|
||||
* Redistribution and use in source and binary forms, with or without *
|
||||
* modification, are permitted provided that the following conditions *
|
||||
* are met: *
|
||||
* *
|
||||
* + Redistributions of source code must retain the above copyright *
|
||||
* notice, this list of conditions and the following disclaimer. *
|
||||
* *
|
||||
* + Redistributions in binary form must reproduce the above copyright*
|
||||
* notice, this list of conditions and the following disclaimer *
|
||||
* in the documentation and/or other materials provided with the *
|
||||
* distribution. *
|
||||
* *
|
||||
* + Neither the name of j. montgomery's employer nor the names of *
|
||||
* its contributors may be used to endorse or promote products *
|
||||
* derived from this software without specific prior written *
|
||||
* permission. *
|
||||
* *
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS*
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE *
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,*
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR *
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) *
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,*
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) *
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED*
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE. *
|
||||
**********************************************************************/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace DnDns.Enums
|
||||
{
|
||||
// DNS HEADER: http://www.faqs.org/rfcs/rfc1035.html
|
||||
// 1 1 1 1 1 1
|
||||
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
|
||||
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
// | Query Identifier |
|
||||
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
// |QR| Opcode |AA|TC|RD|RA| Z|AD|CD| RCODE | <-- The Enums below are combined to create this 16 bit (2 byte) field
|
||||
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
// | QDCOUNT |
|
||||
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
// | ANCOUNT |
|
||||
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
// | NSCOUNT |
|
||||
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
// | ARCOUNT |
|
||||
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
|
||||
/// <summary>
|
||||
/// FlagMasks are used as a bitmask to isolate bits 16 through 31 of the DNS header to convert
|
||||
/// them to their appropriate Enum types
|
||||
/// </summary>
|
||||
internal enum FlagMasks : ushort
|
||||
{
|
||||
QueryResponseMask = 0x8000,
|
||||
OpCodeMask = 0x7800,
|
||||
NsFlagMask = 0x07F0,
|
||||
RCodeMask = 0x000F
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// |QR| - Starts at bit 16 of DNS Header, size: 1 bit
|
||||
///
|
||||
/// RFC 1035:
|
||||
/// A one bit field that specifies whether this message is a
|
||||
/// query (0), or a response (1).
|
||||
///
|
||||
/// </summary>
|
||||
[Flags()]
|
||||
public enum QueryResponse : ushort
|
||||
{
|
||||
/// <summary>
|
||||
/// // QR Query or Response [RFC1035] ( 0 = Query )
|
||||
/// </summary>
|
||||
Query = 0x0,
|
||||
/// <summary>
|
||||
/// // QR Query or Response [RFC1035] ( 1 = Response )
|
||||
/// </summary>
|
||||
Response = 0x8000
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// | OpCode | - 4 bits of Dns header, Bit 17 - 20, see RFC 1035
|
||||
///
|
||||
/// RFC 1035:
|
||||
///
|
||||
/// A four bit field that specifies kind of query in this
|
||||
/// message. This value is set by the originator of a query
|
||||
/// and copied into the response.
|
||||
///
|
||||
/// The values are:
|
||||
///
|
||||
/// 0 a standard query (QUERY)
|
||||
///
|
||||
/// 1 an inverse query (IQUERY)
|
||||
///
|
||||
/// 2 a server status request (STATUS)
|
||||
///
|
||||
/// 3-15 reserved for future
|
||||
/// </summary>
|
||||
[Flags()]
|
||||
public enum OpCode : ushort
|
||||
{
|
||||
/// <summary>
|
||||
/// Standard query
|
||||
/// [RFC1035] (QUERY)
|
||||
/// </summary>
|
||||
QUERY = 0x0000,
|
||||
/// <summary>
|
||||
/// Inverse query
|
||||
/// [RFC1035] (IQUERY)
|
||||
/// </summary>
|
||||
IQUERY = 0x0800,
|
||||
/// <summary>
|
||||
/// Server status request
|
||||
/// [RFC1035] (STATUS)
|
||||
/// </summary>
|
||||
STATUS = 0x1000,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// |AA|TC|RD|RA| Z|AD|CD| - 8 bits (1 byte) flag fields
|
||||
///
|
||||
/// reference: http://www.networksorcery.com/enp/protocol/dns.htm
|
||||
/// </summary>
|
||||
[Flags()]
|
||||
public enum NsFlags : ushort
|
||||
{
|
||||
/// <summary>
|
||||
/// AA - Authorative Answer [RFC1035] ( 0 = Not authoritative, 1 = Is authoritative )
|
||||
/// Authoritative Answer - this bit is valid in responses,
|
||||
/// and specifies that the responding name server is an
|
||||
/// authority for the domain name in question section.
|
||||
///
|
||||
/// Note that the contents of the answer section may have
|
||||
/// multiple owner names because of aliases. The AA bit
|
||||
/// corresponds to the name which matches the query name, or
|
||||
/// the first owner name in the answer section.
|
||||
/// </summary>
|
||||
AA = 0x0400,
|
||||
/// <summary>
|
||||
/// TC - Truncated Response [RFC1035] ( 0 = Not truncated, 1 = Message truncated )
|
||||
///
|
||||
/// TrunCation - specifies that this message was truncated
|
||||
/// due to length greater than that permitted on the
|
||||
/// transmission channel.
|
||||
/// </summary>
|
||||
TC = 0x0200,
|
||||
/// <summary>
|
||||
/// RD - Recursion Desired [RFC1035] ( 0 = Recursion not desired, 1 = Recursion desired )
|
||||
///
|
||||
/// Recursion Desired - this bit may be set in a query and
|
||||
/// is copied into the response. If RD is set, it directs
|
||||
/// the name server to pursue the query recursively.
|
||||
/// Recursive query support is optional.
|
||||
/// </summary>
|
||||
RD = 0x0100,
|
||||
/// <summary>
|
||||
/// RA - Recursion Allowed [RFC1035] ( 0 = Recursive query support not available, 1 = Recursive query support available )
|
||||
///
|
||||
/// Recursion Available - this be is set or cleared in a
|
||||
/// response, and denotes whether recursive query support is
|
||||
/// available in the name server.
|
||||
/// </summary>
|
||||
RA = 0x0080,
|
||||
/// <summary>
|
||||
/// AD - Authentic Data [RFC4035] ( Authenticated data. 1 bit ) [NOT IMPLEMENTED]
|
||||
///
|
||||
/// Indicates in a response that all data included in the answer and authority
|
||||
/// sections of the response have been authenticated by the server according to
|
||||
/// the policies of that server. It should be set only if all data in the response
|
||||
/// has been cryptographically verified or otherwise meets the server's local security
|
||||
/// policy.
|
||||
/// </summary>
|
||||
AD = 0x0020,
|
||||
/// <summary>
|
||||
/// CD - Checking Disabled [RFC4035] ( Checking Disabled. 1 bit ) [NOT IMPLEMENTED]
|
||||
/// </summary>
|
||||
CD = 0x0010
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// | RCODE | - 4 bits error codes
|
||||
///
|
||||
/// Response code - this 4 bit field is set as part of
|
||||
/// responses. The values have the following interpretation:
|
||||
///
|
||||
/// Fields 6-15 Reserved for future use.
|
||||
///
|
||||
/// reference: http://www.networksorcery.com/enp/protocol/dns.htm
|
||||
/// </summary>
|
||||
[Flags()]
|
||||
public enum RCode : ushort
|
||||
{
|
||||
/// <summary>
|
||||
/// No error condition
|
||||
/// </summary>
|
||||
NoError = 0,
|
||||
/// <summary>
|
||||
/// Format error - The name server was unable to
|
||||
/// interpret the query.
|
||||
/// </summary>
|
||||
FormatError = 1,
|
||||
/// <summary>
|
||||
/// Server failure - The name server was unable to process
|
||||
/// this query due to a problem with the name server.
|
||||
/// </summary>
|
||||
ServerFailure = 2,
|
||||
/// <summary>
|
||||
/// Name Error - Meaningful only for responses from an
|
||||
/// authoritative name server, this code signifies that
|
||||
/// the domain name referenced in the query does not
|
||||
/// exist.
|
||||
/// </summary>
|
||||
NameError = 3,
|
||||
/// <summary>
|
||||
/// Not Implemented - The name server does not support
|
||||
/// the requested kind of query.
|
||||
/// </summary>
|
||||
NotImplemented = 4,
|
||||
/// <summary>
|
||||
/// Refused - The name server refuses to perform the
|
||||
/// specified operation for policy reasons. For example,
|
||||
/// a name server may not wish to provide the information
|
||||
/// to the particular requester, or a name server may not
|
||||
/// wish to perform a particular operation (e.g., zone
|
||||
/// transfer) for particular data.
|
||||
/// </summary>
|
||||
Refused = 5,
|
||||
/// <summary>
|
||||
/// RFC 2136
|
||||
/// Name Exists when it should not.
|
||||
/// </summary>
|
||||
YXDomain = 6,
|
||||
/// <summary>
|
||||
/// RFC 2136
|
||||
/// RR Set Exists when it should not.
|
||||
/// </summary>
|
||||
YXRRSet = 7,
|
||||
/// <summary>
|
||||
/// RFC 2136
|
||||
/// RR Set that should exist does not.
|
||||
/// </summary>
|
||||
NXRRSet = 8,
|
||||
/// <summary>
|
||||
/// RFC 2136
|
||||
/// Server Not Authoritative for zone.
|
||||
/// </summary>
|
||||
NotAuth = 9,
|
||||
/// <summary>
|
||||
/// RFC 2136
|
||||
/// Name not contained in zone.
|
||||
/// </summary>
|
||||
NotZone = 10,
|
||||
/// <summary>
|
||||
/// RFC 2671
|
||||
/// RFC 2845
|
||||
///
|
||||
/// BADVERS Bad OPT Version.
|
||||
/// BADSIG TSIG Signature Failure.
|
||||
/// </summary>
|
||||
BADVERS_BADSIG = 16,
|
||||
/// <summary>
|
||||
/// RFC 2845
|
||||
/// Key not recognized.
|
||||
/// </summary>
|
||||
BADKEY = 17,
|
||||
/// <summary>
|
||||
/// RFC 2845
|
||||
/// Signature out of time window.
|
||||
/// </summary>
|
||||
BADTIME = 18,
|
||||
/// <summary>
|
||||
/// RFC 2930
|
||||
/// Bad TKEY Mode.
|
||||
/// </summary>
|
||||
BADMODE = 19,
|
||||
/// <summary>
|
||||
/// RFC 2930
|
||||
/// Duplicate key name.
|
||||
/// </summary>
|
||||
BADNAME = 20,
|
||||
/// <summary>
|
||||
/// RFC 2930
|
||||
/// Algorithm not supported.
|
||||
/// </summary>
|
||||
BADALG = 21
|
||||
}
|
||||
}
|
305
MailServer/DNSClient/Enums/NsType.cs
Normal file
305
MailServer/DNSClient/Enums/NsType.cs
Normal file
@ -0,0 +1,305 @@
|
||||
/**********************************************************************
|
||||
* Copyright (c) 2010, j. montgomery *
|
||||
* All rights reserved. *
|
||||
* *
|
||||
* Redistribution and use in source and binary forms, with or without *
|
||||
* modification, are permitted provided that the following conditions *
|
||||
* are met: *
|
||||
* *
|
||||
* + Redistributions of source code must retain the above copyright *
|
||||
* notice, this list of conditions and the following disclaimer. *
|
||||
* *
|
||||
* + Redistributions in binary form must reproduce the above copyright*
|
||||
* notice, this list of conditions and the following disclaimer *
|
||||
* in the documentation and/or other materials provided with the *
|
||||
* distribution. *
|
||||
* *
|
||||
* + Neither the name of j. montgomery's employer nor the names of *
|
||||
* its contributors may be used to endorse or promote products *
|
||||
* derived from this software without specific prior written *
|
||||
* permission. *
|
||||
* *
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS*
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE *
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,*
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR *
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) *
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,*
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) *
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED*
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE. *
|
||||
**********************************************************************/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace DnDns.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// Currently defined type values for resources and queries.
|
||||
///
|
||||
/// RFC 1034
|
||||
///
|
||||
/// 3.2.2. TYPE values
|
||||
///
|
||||
/// TYPE fields are used in resource records. Note that these types are a
|
||||
/// subset of QTYPEs.
|
||||
///
|
||||
/// TYPE value and meaning
|
||||
///
|
||||
/// A 1 a host address, Implemented
|
||||
///
|
||||
/// NS 2 an authoritative name server, Implemented
|
||||
///
|
||||
/// MD 3 a mail destination (Obsolete - use MX), NOT Implemented
|
||||
///
|
||||
/// MF 4 a mail forwarder (Obsolete - use MX), NOT Implemented
|
||||
///
|
||||
/// CNAME 5 the canonical name for an alias, Implemented
|
||||
///
|
||||
/// SOA 6 marks the start of a zone of authority, Implemented
|
||||
///
|
||||
/// MB 7 a mailbox domain name (EXPERIMENTAL), Implemented
|
||||
///
|
||||
/// MG 8 a mail group member (EXPERIMENTAL), Implemented
|
||||
///
|
||||
/// MR 9 a mail rename domain name (EXPERIMENTAL), Implemented
|
||||
///
|
||||
/// NULL 10 a null RR (EXPERIMENTAL), NOT IMPLEMENTED
|
||||
///
|
||||
/// WKS 11 a well known service description
|
||||
///
|
||||
/// PTR 12 a domain name pointer
|
||||
///
|
||||
/// HINFO 13 host information
|
||||
///
|
||||
/// MINFO 14 mailbox or mail list information
|
||||
///
|
||||
/// MX 15 mail exchange
|
||||
///
|
||||
/// TXT 16 text strings
|
||||
///
|
||||
/// 3.2.3. QTYPE values
|
||||
///
|
||||
/// QTYPE fields appear in the question part of a query. QTYPES are a
|
||||
/// superset of TYPEs, hence all TYPEs are valid QTYPEs. In addition, the
|
||||
/// following QTYPEs are defined:
|
||||
///
|
||||
/// AXFR 252 A request for a transfer of an entire zone
|
||||
///
|
||||
/// MAILB 253 A request for mailbox-related records (MB, MG or MR)
|
||||
///
|
||||
/// MAILA 254 A request for mail agent RRs (Obsolete - see MX)
|
||||
///
|
||||
/// * 255 A request for all records
|
||||
///
|
||||
/// </summary>
|
||||
public enum NsType : uint
|
||||
{
|
||||
/// <summary>
|
||||
/// Invalid
|
||||
/// </summary>
|
||||
INVALID = 0,
|
||||
/// <summary>
|
||||
/// Host address
|
||||
/// </summary>
|
||||
A = 1,
|
||||
/// <summary>
|
||||
/// Authoritative server
|
||||
/// </summary>
|
||||
NS = 2,
|
||||
/// <summary>
|
||||
/// Mail destination - NOT IMPLEMENTED
|
||||
/// </summary>
|
||||
MD = 3,
|
||||
/// <summary>
|
||||
/// Mail forwarder, NOT IMPLEMENTED
|
||||
/// </summary>
|
||||
MF = 4,
|
||||
/// <summary>
|
||||
/// Canonical name
|
||||
/// </summary>
|
||||
CNAME = 5,
|
||||
/// <summary>
|
||||
/// Start of authority zone
|
||||
/// </summary>
|
||||
SOA = 6,
|
||||
// Mailbox domain name
|
||||
MB = 7,
|
||||
/// <summary>
|
||||
/// Mail group member
|
||||
/// </summary>
|
||||
MG = 8,
|
||||
/// <summary>
|
||||
/// Mail rename name
|
||||
/// </summary>
|
||||
MR = 9,
|
||||
/// <summary>
|
||||
/// Null resource record
|
||||
/// </summary>
|
||||
NULL = 10,
|
||||
/// <summary>
|
||||
/// Well known service
|
||||
/// </summary>
|
||||
WKS = 11,
|
||||
/// <summary>
|
||||
/// Domain name pointer
|
||||
/// </summary>
|
||||
PTR = 12,
|
||||
/// <summary>
|
||||
/// Host information
|
||||
/// </summary>
|
||||
HINFO = 13,
|
||||
/// <summary>
|
||||
/// Mailbox information
|
||||
/// </summary>
|
||||
MINFO = 14,
|
||||
/// <summary>
|
||||
/// Mail routing information
|
||||
/// </summary>
|
||||
MX = 15,
|
||||
/// <summary>
|
||||
/// Text strings, RFC 1464
|
||||
/// </summary>
|
||||
TXT = 16,
|
||||
/// <summary>
|
||||
/// Responsible person, RFC 1183, Implemented
|
||||
/// </summary>
|
||||
RP = 17,
|
||||
/// <summary>
|
||||
/// AFS cell database, RFC 1183, Implemented
|
||||
/// </summary>
|
||||
AFSDB = 18,
|
||||
/// <summary>
|
||||
/// X_25 calling address, RFC 1183, Implemented
|
||||
/// </summary>
|
||||
X25 = 19,
|
||||
/// <summary>
|
||||
/// ISDN calling address, RFC 1183, Implemented
|
||||
/// </summary>
|
||||
ISDN = 20,
|
||||
/// <summary>
|
||||
/// Router, RFC 1183, Implemented
|
||||
/// </summary>
|
||||
RT = 21,
|
||||
/// <summary>
|
||||
/// NSAP address, RFC 1706
|
||||
/// </summary>
|
||||
NSAP = 22,
|
||||
/// <summary>
|
||||
/// Reverse NSAP lookup - deprecated by PTR ?
|
||||
/// </summary>
|
||||
NSAP_PTR = 23,
|
||||
/// <summary>
|
||||
/// Security signature, RFC 2535
|
||||
/// </summary>
|
||||
SIG = 24,
|
||||
/// <summary>
|
||||
/// Security key, RFC 2535
|
||||
/// </summary>
|
||||
KEY = 25,
|
||||
/// <summary>
|
||||
/// X.400 mail mapping, RFC ?
|
||||
/// </summary>
|
||||
PX = 26,
|
||||
/// <summary>
|
||||
/// Geographical position - withdrawn, RFC 1712
|
||||
/// </summary>
|
||||
GPOS = 27,
|
||||
/// <summary>
|
||||
/// Ip6 Address, RFC 1886 -- Implemented
|
||||
/// </summary>
|
||||
AAAA = 28,
|
||||
/// <summary>
|
||||
/// Location Information, RFC 1876, Implemented
|
||||
/// </summary>
|
||||
LOC = 29,
|
||||
/// <summary>
|
||||
/// Next domain (security), RFC 2065
|
||||
/// </summary>
|
||||
NXT = 30,
|
||||
/// <summary>
|
||||
/// Endpoint identifier,RFC ?
|
||||
/// </summary>
|
||||
EID = 31,
|
||||
/// <summary>
|
||||
/// Nimrod Locator, RFC ?
|
||||
/// </summary>
|
||||
NIMLOC = 32,
|
||||
/// <summary>
|
||||
/// Server Record, RFC 2052, Implemented
|
||||
/// </summary>
|
||||
SRV = 33,
|
||||
/// <summary>
|
||||
/// ATM Address, RFC ?, Implemented
|
||||
/// </summary>
|
||||
ATMA = 34,
|
||||
/// <summary>
|
||||
/// Naming Authority PoinTeR, RFC 2915
|
||||
/// </summary>
|
||||
MAPTR = 35,
|
||||
/// <summary>
|
||||
/// Key Exchange, RFC 2230
|
||||
/// </summary>
|
||||
KX = 36,
|
||||
/// <summary>
|
||||
/// Certification record, RFC 2538
|
||||
/// </summary>
|
||||
CERT = 37,
|
||||
/// <summary>
|
||||
/// IPv6 address (deprecates AAAA), RFC 3226
|
||||
/// </summary>
|
||||
A6 = 38,
|
||||
/// <summary>
|
||||
/// Non-terminal DNAME (for IPv6), RFC 2874
|
||||
/// </summary>
|
||||
DNAME = 39,
|
||||
/// <summary>
|
||||
/// Kitchen sink (experimentatl), RFC ?
|
||||
/// </summary>
|
||||
SINK = 40,
|
||||
/// <summary>
|
||||
/// EDNS0 option (meta-RR), RFC 2671
|
||||
/// </summary>
|
||||
OPT = 41,
|
||||
/// <summary>
|
||||
/// Transaction key, RFC 2930
|
||||
/// </summary>
|
||||
TKEY = 249,
|
||||
/// <summary>
|
||||
/// Transaction signature, RFC 2845
|
||||
/// </summary>
|
||||
TSIG = 250,
|
||||
/// <summary>
|
||||
/// Incremental zone transfer, RFC 1995
|
||||
/// </summary>
|
||||
IXFR = 251,
|
||||
/// <summary>
|
||||
/// Transfer zone of authority, RFC 1035
|
||||
/// </summary>
|
||||
AXFR = 252,
|
||||
/// <summary>
|
||||
/// Transfer mailbox records, RFC 1035
|
||||
/// </summary>
|
||||
MAILB = 253,
|
||||
/// <summary>
|
||||
/// Transfer mail agent records, RFC 1035
|
||||
/// </summary>
|
||||
MAILA = 254,
|
||||
/// <summary>
|
||||
/// All of the above, RFC 1035
|
||||
/// </summary>
|
||||
ANY = 255,
|
||||
/// <summary>
|
||||
/// DNSSEC Trust Authorities
|
||||
/// </summary>
|
||||
DNSSECTrustAuthorities = 32768,
|
||||
/// <summary>
|
||||
/// DNSSEC Lookaside Validation, RFC4431
|
||||
/// </summary>
|
||||
DNSSECLookasideValidation = 32769
|
||||
}
|
||||
}
|
51
MailServer/DNSClient/Enums/TcpServices.cs
Normal file
51
MailServer/DNSClient/Enums/TcpServices.cs
Normal file
@ -0,0 +1,51 @@
|
||||
/**********************************************************************
|
||||
* Copyright (c) 2010, j. montgomery *
|
||||
* All rights reserved. *
|
||||
* *
|
||||
* Redistribution and use in source and binary forms, with or without *
|
||||
* modification, are permitted provided that the following conditions *
|
||||
* are met: *
|
||||
* *
|
||||
* + Redistributions of source code must retain the above copyright *
|
||||
* notice, this list of conditions and the following disclaimer. *
|
||||
* *
|
||||
* + Redistributions in binary form must reproduce the above copyright*
|
||||
* notice, this list of conditions and the following disclaimer *
|
||||
* in the documentation and/or other materials provided with the *
|
||||
* distribution. *
|
||||
* *
|
||||
* + Neither the name of j. montgomery's employer nor the names of *
|
||||
* its contributors may be used to endorse or promote products *
|
||||
* derived from this software without specific prior written *
|
||||
* permission. *
|
||||
* *
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS*
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE *
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,*
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR *
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) *
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,*
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) *
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED*
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE. *
|
||||
**********************************************************************/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace DnDns.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines Well Known TCP Ports for Services
|
||||
/// </summary>
|
||||
public enum TcpServices : short
|
||||
{
|
||||
/// <summary>
|
||||
/// Domain Name Server Port
|
||||
/// </summary>
|
||||
Domain = 53
|
||||
}
|
||||
}
|
51
MailServer/DNSClient/Enums/UdpServices.cs
Normal file
51
MailServer/DNSClient/Enums/UdpServices.cs
Normal file
@ -0,0 +1,51 @@
|
||||
/**********************************************************************
|
||||
* Copyright (c) 2010, j. montgomery *
|
||||
* All rights reserved. *
|
||||
* *
|
||||
* Redistribution and use in source and binary forms, with or without *
|
||||
* modification, are permitted provided that the following conditions *
|
||||
* are met: *
|
||||
* *
|
||||
* + Redistributions of source code must retain the above copyright *
|
||||
* notice, this list of conditions and the following disclaimer. *
|
||||
* *
|
||||
* + Redistributions in binary form must reproduce the above copyright*
|
||||
* notice, this list of conditions and the following disclaimer *
|
||||
* in the documentation and/or other materials provided with the *
|
||||
* distribution. *
|
||||
* *
|
||||
* + Neither the name of j. montgomery's employer nor the names of *
|
||||
* its contributors may be used to endorse or promote products *
|
||||
* derived from this software without specific prior written *
|
||||
* permission. *
|
||||
* *
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS*
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE *
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,*
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR *
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) *
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,*
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) *
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED*
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE. *
|
||||
**********************************************************************/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace DnDns.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines Well Known UDP Ports for Services
|
||||
/// </summary>
|
||||
public enum UdpServices : short
|
||||
{
|
||||
/// <summary>
|
||||
/// Domain Name Server Protocol Port
|
||||
/// </summary>
|
||||
Domain = 53
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user