Skip to content

Punycode branch drops some 0s when setting from an IP address #866

@MitchellBot

Description

@MitchellBot

We're using the punycode branch to parse URIs and recently stumbled upon an issue where IP addresses with multiple 0s will drop some of them during parsing.

For instance, given the IP address 192.168.108.100, if you either set_host or set_host_address and then re-print the object, it will come out as 192.168.18.10.

Example:

    boost::urls::url someUrl;
    someUrl.set_host("192.168.108.100");
    std::cout << "URL is: " << someUrl.c_str() << std::endl;

Output:
URL is: //192.168.18.10

Interestingly, even using an ipv4 object directly doesn't work:

        boost::urls::url someUrl;
        someUrl.set_host_ipv4(boost::urls::ipv4_address("192.168.108.100"));
        std::cout << "Boost url (by IP) is: " << someUrl.c_str() << std::endl;

Output:
Boost url (by IP) is: //192.168.18.10

I see that the punycode branch hasn't been updated in quite some time, is it possible that this is already known and has been fixed in develop?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions