or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/dnslib@0.9.x
tile.json

tessl/pypi-dnslib

tessl install tessl/pypi-dnslib@0.9.0

Simple library to encode/decode DNS wire-format packets

Agent Success

Agent success rate when using this tile

97%

Improvement

Agent success rate improvement when using this tile compared to baseline

1.76x

Baseline

Agent success rate without this tile

55%

task.mdevals/scenario-1/

DNS Query Type Validator

Build a DNS query type validation and conversion utility that helps validate and convert DNS query types between their numeric and string representations.

Capabilities

Query Type Validation

  • Validates that a query type name (e.g., "A", "AAAA", "MX") is a recognized standard DNS query type @test
  • Validates that a query type number (e.g., 1, 28, 15) is a valid DNS query type @test
  • Returns False when given an unrecognized query type name @test

Query Type Conversion

  • Converts a query type name to its numeric code (e.g., "A" → 1, "AAAA" → 28) @test
  • Converts a query type numeric code to its name (e.g., 1 → "A", 28 → "AAAA") @test
  • Handles unknown query type numbers by returning a formatted string (e.g., 9999 → "TYPE9999") @test

Response Code Lookup

  • Converts response code names to their numeric values (e.g., "NOERROR" → 0, "NXDOMAIN" → 3) @test
  • Converts response code numbers to their names (e.g., 0 → "NOERROR", 3 → "NXDOMAIN") @test

Implementation

@generates

API

def is_valid_query_type_name(qtype_name: str) -> bool:
    """
    Check if a query type name is a recognized standard DNS query type.

    Args:
        qtype_name: The query type name to validate (e.g., "A", "AAAA", "MX")

    Returns:
        True if the query type name is recognized, False otherwise
    """
    pass


def is_valid_query_type_number(qtype_num: int) -> bool:
    """
    Check if a query type number is a valid DNS query type.

    Args:
        qtype_num: The query type number to validate (e.g., 1, 28, 15)

    Returns:
        True if the query type number is valid, False otherwise
    """
    pass


def query_type_to_number(qtype_name: str) -> int:
    """
    Convert a DNS query type name to its numeric code.

    Args:
        qtype_name: The query type name (e.g., "A", "AAAA", "MX")

    Returns:
        The numeric query type code

    Raises:
        ValueError: If the query type name is not recognized
    """
    pass


def query_type_to_name(qtype_num: int) -> str:
    """
    Convert a DNS query type numeric code to its name.
    For unknown types, returns a formatted string like "TYPE9999".

    Args:
        qtype_num: The numeric query type code

    Returns:
        The query type name or formatted unknown type string
    """
    pass


def response_code_to_number(rcode_name: str) -> int:
    """
    Convert a DNS response code name to its numeric value.

    Args:
        rcode_name: The response code name (e.g., "NOERROR", "NXDOMAIN")

    Returns:
        The numeric response code

    Raises:
        ValueError: If the response code name is not recognized
    """
    pass


def response_code_to_name(rcode_num: int) -> str:
    """
    Convert a DNS response code number to its name.

    Args:
        rcode_num: The numeric response code

    Returns:
        The response code name

    Raises:
        ValueError: If the response code number is not recognized
    """
    pass

Dependencies { .dependencies }

dnslib { .dependency }

Provides DNS protocol support and bidirectional mappings for DNS constants.