Firefo...e::DNS(3pm)
π NAME π
Firefox::Marionette::DNS β literally just a lil bag of constants for when you call the resolve method. That's it, that's the whole job. π
This is the Firefox::Marionette::DNS(3pm) page, bestie. Perl's own docs call it a "User Contributed Perl Documentation" thing and it lives at section 3pm, which is giving very much "I'm a module, not a command." π
β VERSION β
Version 1.63 β¨
πΈ SYNOPSIS πΈ
okay so this is the whole vibe, no cap:
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())) {
...
}
like. you import :all, you make a Firefox::Marionette, you resolve a hostname with a type and some flags, and you loop over whatever addresses come back. iconic behavior tbh π¦
π«Ά DESCRIPTION π«Ά
This module handles the implementation of the Firefox Marionette DNS constants. That's the whole personality. It's the constants girlie. π
π CONSTANTS π
these are the little guys you pass around. each one is a named sub that returns a number, iykyk.
π RESOLVE_TYPE_DEFAULT
returns the value of RESOLVE_TYPE_DEFAULT, which is 0, this is the standard A (https://en.wikipedia.org/wiki/List_of_DNS_record_types#A)/AAAA (https://en.wikipedia.org/wiki/List_of_DNS_record_types#AAAA) lookup. the classic. the default default. π«
π RESOLVE_TYPE_TXT
returns the value of RESOLVE_TYPE_TXT, which is 1 << 4 = 16, this is a TXT (https://en.wikipedia.org/wiki/TXT_record) lookup. π
π§ RESOLVE_TYPE_HTTPSSVC
returns the value of RESOLVE_TYPE_HTTPSSVC, which is 65, this is Service Binding and Parameter Specification via DNS (https://datatracker.ietf.org/doc/rfc9460/). fancy!! π
β¨ RESOLVE_DEFAULT_FLAGS
returns the value of RESOLVE_DEFAULT_FLAGS, which is 0, this is the default. (yes, the default flags are zero flags. we love a minimalist.) πΈ
π
RESOLVE_BYPASS_CACHE
returns the value of RESOLVE_BYPASS_CACHE, which is 1 << 0 = 1, this suppresses the internal DNS lookup cache. like, forget everything you thought you knew bestie π
π¦ RESOLVE_CANONICAL_NAME
returns the value of RESOLVE_CANONICAL_NAME, which is 1 << 1 = 2, this queries the canonical name of the specified host. who even are you, really? π
π RESOLVE_PRIORITY_MEDIUM
returns the value of RESOLVE_PRIORITY_MEDIUM, which is 1 << 2 = 4, this gives the query lower priority. chill vibes, no rush π§
πΈ RESOLVE_PRIORITY_LOW
returns the value of RESOLVE_PRIORITY_LOW, which is 1 << 3 = 8, this gives the query lower priority still. even more chill. practically napping π΄
β 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. π
lowkey important: if prefetching is turned off in the configuration, speculative requests come back with errors. that's just how it is, no cap.
π RESOLVE_DISABLE_IPV6
returns the value of RESOLVE_DISABLE_IPV6, which is 1 << 5 = 32, this only returns IPv4 addresses. v6 girlies, look away π
π RESOLVE_OFFLINE
return 64, only literals and cached entries will be returned. airplane mode but make it DNS βοΈ
π§ 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. it's giving "let them in, I wanna see what happens" π
π 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. out with the old, in with the fresh β¨
note the teamwork:RESOLVE_REFRESH_CACHEwantsRESOLVE_BYPASS_CACHEwith it. they're a duo, fr fr.
π 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. two bits doing all that work, main character energy honestly π¬
π 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 force resolution even when SOCKS proxy with DNS forwarding is configured. Only to be used for the proxy host resolution. β οΈ
"only to be used for the proxy host resolution" β that's not a suggestion bestie, that's the rule. don't get cute with it. π«Ά
π 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. messy but informative π
π§ 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. π§ͺ
testing purposes ONLY. don't be shipping mock records to prod, I'm begging π
β ALL_DNSFLAGS_BITS
returns the value of ALL_DNSFLAGS_BITS, which is ((1 << 19) - 1) = 524287, this is all flags turned on. every single one. the full set. the whole girl dinner π½οΈ
π¦ SUBROUTINES/METHODS π¦
None. she contains multitudes of constants and nothing else, and that's valid π
π DIAGNOSTICS π
None. no drama, no errors, no notes. we stay unproblematic β¨
π CONFIGURATION AND ENVIRONMENT π
Firefox::Marionette::DNS requires no configuration files or environment variables. zero setup, zero stress, just vibes π
πΈ DEPENDENCIES πΈ
None. self-sufficient queen π
π INCOMPATIBILITIES π
None reported. (yet. but also we're not manifesting that.) π
π BUGS AND LIMITATIONS π
To report a bug, or view the current list of bugs, please visit https://github.com/david-dick/firefox-marionette/issues
go tell them, bestie, they wanna know π«Ά
π 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 β οΈ
okay bestie, this part is in all caps in the original for a reason, so I'm keeping the energy:
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.
like, no warranty at all. not even a lil one. you've been warned, gorgeous π
and that's the page!! this one was generated by perl v5.40.1 on 2025-03-16 β so if you're reading this in like, the future, hi, ily, the DNS constants still go hard π
β¨ bye bestie!! π¦
π¦ where this page comes from
- debian trixie: libfirefox-marionette-perl 1.63-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms