Skip to content

API does not accept punycode domains #2837

@jacklul

Description

@jacklul

Versions

Core version is v6.4.1 (Latest: v6.4.1)
Web version is v6.5 (Latest: v6.5)
FTL version is v6.6 (Latest: v6.6)

Platform

Discovered on my instance but verified that it also happens in latest Docker release.
VM: Linux alpine 6.12.16-0-virt #1-Alpine SMP PREEMPT_DYNAMIC 2025-02-21 15:23:09 x86_64 Linux

Expected behavior

To be able to add domains like xn--gi8h42h.ws (🍆🥵.ws meme domain) to blocked/allowed.

Actual behavior / bug

You cannot do that currently, API responds that the domain is invalid.

Payload: {"domain":"xn--gi8h42h.ws","comment":"Added from Query Log","type":"deny","kind":"exact"}
Response: {"error":{"key":"bad_request","message":"Invalid request: Invalid domain name","hint":"string contains a disallowed character"},"took":0.00011467933654785156}

Steps to reproduce

Attempt to add any such domain (I've checked few from this wikipedia article) to allowed/blocked and see the result.

Debug Token

I don't think is relevant here but: https://tricorder.pi-hole.net/bATrGjCV/

Additional context

Discovered by accident - I have a regex rule (^|\.)xn--.*$ to block all domains like this - wanted to whitelist that meme site temporarily and encountered this.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions