예제 #1
0
        public void TestValidation()
        {
            DnsRequest request = DnsRequest.CreateA("foo.com");

            Assert.Null(Record.Exception(() => request.Validate()));
            request.Header.IsRequest = false;
            Assert.Throws <DnsProtocolException>(() => request.Validate());
        }
예제 #2
0
        protected void Validate(DnsRequest request)
        {
            request.Validate();
            if (request.Header.QuestionCount < 1)
            {
                throw new DnsProtocolException(DnsProtocolError.InvalidQuestionCount);
            }

            if (request.Header.QuestionCount > this.Settings.MaxQuestionCount)
            {
                throw new DnsServerException(DnsStandard.ResponseCode.Refused);
            }
        }