Exemplo n.º 1
0
int dns_packet_check_valid_response(struct dns_packet *p) {
    uint16_t flags;
    assert(p);
    
    if (dns_packet_check_valid(p) < 0)
        return -1;

    flags = dns_packet_get_field(p, DNS_FIELD_FLAGS);

    if (!(flags & DNS_FLAG_QR))
        return -1;

    return 0;
}
Exemplo n.º 2
0
int dns_packet_check_valid(struct dns_packet *p) {
    uint16_t flags;
    assert(p);

    if (p->size < 12)
        return -1;

    flags = dns_packet_get_field(p, DNS_FIELD_FLAGS);

    if (flags & DNS_FLAG_OPCODE || flags & DNS_FLAG_RCODE)
        return -1;

    return 0;
}
Exemplo n.º 3
0
Arquivo: dns.c Projeto: acml/cvsnt
int dns_packet_check_valid_request(struct dns_packet *p)
{
    uint16_t flags;
    assert(p);
    
    if (dns_packet_check_valid(p) < 0)
	{
        return -1;
	}

    flags = dns_packet_get_field(p, DNS_FIELD_FLAGS);

    if (flags & DNS_FLAG_QR)
	{
        return -1;
	}

    return 0;
}