}
uint16_t ParseDNSAnswer(const unsigned char* data,
- uint16_t /*data_size*/,
uint16_t bytes_unused,
DNSData* dnsSessionData)
{
return bytes_unused;
}
-uint16_t ParseDNSRData(Packet*,
- const unsigned char* data,
+uint16_t ParseDNSRData(const unsigned char* data,
uint16_t bytes_unused,
DNSData* dnsSessionData)
{
case DNS_RESP_STATE_ANS_RR: /* ANSWERS section */
for (i=dnsSessionData->curr_rec; i<dnsSessionData->hdr.answers; i++)
{
- bytes_unused = ParseDNSAnswer(data, p->dsize,
- bytes_unused, dnsSessionData);
+ bytes_unused = ParseDNSAnswer(data, bytes_unused, dnsSessionData);
if (bytes_unused == 0)
{
case DNS_RESP_STATE_RR_RDATA_MID:
/* Data now points to the beginning of the RDATA */
data = p->data + (p->dsize - bytes_unused);
- bytes_unused = ParseDNSRData(p, data, bytes_unused, dnsSessionData);
+ bytes_unused = ParseDNSRData(data, bytes_unused, dnsSessionData);
if (dnsSessionData->curr_rec_state != DNS_RESP_STATE_RR_COMPLETE)
{
/* Out of data, pick up on the next packet */
case DNS_RESP_STATE_AUTH_RR: /* AUTHORITIES section */
for (i=dnsSessionData->curr_rec; i<dnsSessionData->hdr.authorities; i++)
{
- bytes_unused = ParseDNSAnswer(data, p->dsize,
- bytes_unused, dnsSessionData);
+ bytes_unused = ParseDNSAnswer(data, bytes_unused, dnsSessionData);
if (bytes_unused == 0)
{
case DNS_RESP_STATE_RR_RDATA_MID:
/* Data now points to the beginning of the RDATA */
data = p->data + (p->dsize - bytes_unused);
- bytes_unused = ParseDNSRData(p, data, bytes_unused, dnsSessionData);
+ bytes_unused = ParseDNSRData(data, bytes_unused, dnsSessionData);
if (dnsSessionData->curr_rec_state != DNS_RESP_STATE_RR_COMPLETE)
{
/* Out of data, pick up on the next packet */
case DNS_RESP_STATE_ADD_RR: /* ADDITIONALS section */
for (i=dnsSessionData->curr_rec; i<dnsSessionData->hdr.authorities; i++)
{
- bytes_unused = ParseDNSAnswer(data, p->dsize,
- bytes_unused, dnsSessionData);
+ bytes_unused = ParseDNSAnswer(data, bytes_unused, dnsSessionData);
if (bytes_unused == 0)
{
case DNS_RESP_STATE_RR_RDATA_MID:
/* Data now points to the beginning of the RDATA */
data = p->data + (p->dsize - bytes_unused);
- bytes_unused = ParseDNSRData(p, data, bytes_unused, dnsSessionData);
+ bytes_unused = ParseDNSRData(data, bytes_unused, dnsSessionData);
if (dnsSessionData->curr_rec_state != DNS_RESP_STATE_RR_COMPLETE)
{
/* Out of data, pick up on the next packet */
void Dns::eval(Packet* p)
{
// precondition - what we registered for
- assert(p->is_udp() && p->is_tcp() && p->dsize && p->data);
+ assert((p->is_udp() || p->is_tcp()) && p->dsize && p->data);
++dnsstats.total_packets;
snort_dns(p);