Skip to content

Wild IP App: Add hexadecimal IPv4 support#2056

Open
swimlane-marty wants to merge 1 commit into
TechnitiumSoftware:masterfrom
swimlane-marty:agent/wildip-ipv4-hex
Open

Wild IP App: Add hexadecimal IPv4 support#2056
swimlane-marty wants to merge 1 commit into
TechnitiumSoftware:masterfrom
swimlane-marty:agent/wildip-ipv4-hex

Conversation

@swimlane-marty

Copy link
Copy Markdown

Summary

Add support for nip.io-style, eight-character hexadecimal IPv4 labels to the Wild IP App.

For example:

  • c0a864d3.ip.example.com192.168.100.211
  • C0A864D3.ip.example.com192.168.100.211
  • service.c0a864d3.ip.example.com192.168.100.211

Root cause

Wild IP already recognizes compact 32-character hexadecimal IPv6 labels, but its IPv4 parsing path only collects four decimal octets separated by dots or dashes. A single eight-character IPv4 hexadecimal label therefore failed parsing and produced no synthesized A record.

Changes

  • recognize an exact eight-character hexadecimal IPv4 label after the existing decimal parser
  • decode it in network byte order into an IPv4 address
  • retain existing dotted, dashed, prefixed, and IPv6 parsing behavior
  • pass decoded addresses through the existing allowedNetworks check
  • bump the Wild IP App version from 6.0 to 6.1
  • document compact hexadecimal IPv4 examples

Validation

  • built TechnitiumLibrary.Net and Apps/WildIpApp/WildIpApp.csproj in Release mode using .NET SDK 10.0.302
  • build completed with 0 warnings and 0 errors
  • packaged and installed the resulting app on Technitium DNS Server v15.4
  • live-tested dotted IPv4, dashed IPv4, lowercase and uppercase hexadecimal IPv4, arbitrary prefixes, dashed IPv6, compact hexadecimal IPv6, and allowedNetworks enforcement
  • independently reviewed and approved by @mohammed-asadd in the fork staging PR

@swimlane-marty
swimlane-marty marked this pull request as ready for review July 21, 2026 05:36
@ShreyasZare

Copy link
Copy Markdown
Member

Thanks for the PR. Will test it out soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants