NAME

Firefox::Marionette::DNS - Constants for calls to the resolve method

VERSION

Version 1.60

SYNOPSIS

use Firefox::Marionette();
use Firefox::Marionette::DNS qw(:all);
use v5.10;

my $firefox = Firefox::Marionette->new();

foreach my $address ($firefox->resolve('metacpan.org', type => RESOLVE_TYPE_DEFAULT(), flags => RESOLVE_BYPASS_CACHE())) {
   ...
}

DESCRIPTION

This module handles the implementation of the Firefox Marionette DNS constants

CONSTANTS

RESOLVE_TYPE_DEFAULT

returns the value of RESOLVE_TYPE_DEFAULT, which is 0, this is the standard A/AAAA lookup.

RESOLVE_TYPE_TXT

returns the value of RESOLVE_TYPE_TXT, which is 1 << 4 = 16, this is a TXT lookup.

RESOLVE_TYPE_HTTPSSVC = 65,

returns the value of RESOLVE_TYPE_HTTPSSVC, which is 65, this is Service Binding and Parameter Specification via DNS.

RESOLVE_DEFAULT_FLAGS

returns the value of RESOLVE_DEFAULT_FLAGS, which is 0, this is the default.

RESOLVE_BYPASS_CACHE

returns the value of RESOLVE_BYPASS_CACHE, which is 1 << 0 = 1, this suppresses the internal DNS lookup cache.

RESOLVE_CANONICAL_NAME

returns the value of RESOLVE_CANONICAL_NAME, which is 1 << 1 = 2, this queries the canonical name of the specified host.

RESOLVE_PRIORITY_MEDIUM

returns the value of RESOLVE_PRIORITY_MEDIUM, which is 1 << 2 = 4, this gives the query lower priority.

RESOLVE_PRIORITY_LOW

returns the value of RESOLVE_PRIORITY_LOW, which is 1 << 3 = 8, this gives the query lower priority still.

RESOLVE_SPECULATE

returns the value of RESOLVE_SPECULATE, which is 1 << 4 = 16, indicates request is speculative. Speculative requests return errors if prefetching is disabled by configuration.

RESOLVE_DISABLE_IPV6

returns the value of RESOLVE_DISABLE_IPV6, which is 1 << 5 = 32, this only returns IPv4 addresses.

RESOLVE_OFFLINE

return 64, only literals and cached entries will be returned.

RESOLVE_DISABLE_IPV4

returns 128, only IPv6 addresses will be returned from resolve/asyncResolve.

RESOLVE_ALLOW_NAME_COLLISION

returns the value of RESOLVE_ALLOW_NAME_COLLISION, which is 1 << 8 = 256, this allows name collision results (127.0.53.53) which are normally filtered.

RESOLVE_DISABLE_TRR

returns the value of RESOLVE_DISABLE_TRR, which is 1 << 9 = 512, this stops using TRR for resolving the host name.

RESOLVE_REFRESH_CACHE

returns the value of RESOLVE_REFRESH_CACHE, which is 1 << 10 = 1024, when set (together with RESOLVE_BYPASS_CACHE), invalidate the DNS existing cache entry first (if existing) then make a new resolve.

RESOLVE_TRR_MODE_MASK

returns the value of RESOLVE_TRR_MODE_MASK, which is ((1 << 11) | (1 << 12)) = 6144, these two bits encode the TRR mode of the request

RESOLVE_TRR_DISABLED_MODE

returns the value of RESOLVE_TRR_DISABLED_MODE, which is 1 << 11 = 2048.

RESOLVE_IGNORE_SOCKS_DNS

returns the value of RESOLVE_IGNORE_SOCKS_DNS, which is 1 << 13 = 8192, this will orce resolution even when SOCKS proxy with DNS forwarding is configured. Only to be used for the proxy host resolution.

RESOLVE_IP_HINT

returns the value of RESOLVE_IP_HINT, which is 1 << 14 = 16384, this will only return cached IP hint addresses from resolve.

RESOLVE_WANT_RECORD_ON_ERROR

returns the value of RESOLVE_WANT_RECORD_ON_ERROR, which is 1 << 16 = 65536, this will pass a DNS record to even when there was a resolution error.

RESOLVE_DISABLE_NATIVE_HTTPS_QUERY

returns the value of RESOLVE_DISABLE_NATIVE_HTTPS_QUERY, which is 1 << 17 = 131072, this disables the native HTTPS queries.

RESOLVE_CREATE_MOCK_HTTPS_RR

returns the value of RESOLVE_CREATE_MOCK_HTTPS_RR, which is 1 << 18 = 262144, this creates a mock HTTPS RR and use it. This is only for testing purposes

ALL_DNSFLAGS_BITS

returns the value of ALL_DNSFLAGS_BITS, which is ((1 << 19) - 1) = 524287, this is all flags turned on.

SUBROUTINES/METHODS

None.

DIAGNOSTICS

None.

CONFIGURATION AND ENVIRONMENT

Firefox::Marionette::DNS requires no configuration files or environment variables.

DEPENDENCIES

None.

INCOMPATIBILITIES

None reported.

BUGS AND LIMITATIONS

To report a bug, or view the current list of bugs, please visit https://github.com/david-dick/firefox-marionette/issues

AUTHOR

David Dick <ddick@cpan.org>

LICENSE AND COPYRIGHT

Copyright (c) 2024, David Dick <ddick@cpan.org>. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See "perlartistic" in perlartistic.

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.