devel/p5-Lexical-SealRequireHints - The NetBSD Packages Collection

Perl5 module to prevent leakage of lexical hints

There is a bug in Perl's handling of the %^H (lexical hints) variable that
causes lexical state in one file to leak into another that is required/used
from it. This bug will probably be fixed in Perl 5.10.2, and is definitely
fixed in Perl 5.11.0, but in any earlier version it is necessary to work
around it. On versions of Perl that require a fix, this module globally
changes the behaviour of require and use so that they no longer exhibit the
bug. This is the most convenient kind of workaround, and is meant to be
invoked by modules that make use of lexical state.

The workaround supplied by this module takes effect the first time its
import method is called. Typically this will be done by means of a use
statement. This should be done before putting anything into %^H that would
have a problem with leakage; usually it suffices to do this when loading
the module that supplies the mechanism to set up the vulnerable lexical
state. Invoking this module multiple times, from multiple lexical-related
modules, is not a problem: the workaround is only applied once, and applies
to everything.

Build dependencies

devel/p5-Module-Build pkgtools/mktools pkgtools/cwrappers

Runtime dependencies

lang/perl5 lang/perl5

Binary packages

OSArchitectureVersion
NetBSD 10.0aarch64p5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0aarch64p5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 10.0aarch64p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 10.0aarch64ebp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 10.0aarch64ebp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0alphap5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0earmv4p5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0earmv6hfp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0earmv6hfp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 10.0earmv6hfp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 10.0earmv7hfp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0earmv7hfp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 10.0earmv7hfp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 10.0i386p5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0i386p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 10.0m68kp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0powerpcp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 10.0sh3elp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0sparcp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0vaxp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 10.0vaxp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0x86_64p5-Lexical-SealRequireHints-0.012.tgz
NetBSD 10.0_BETAx86_64p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 8.0i386p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 8.0i386p5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 8.0i386p5-Lexical-SealRequireHints-0.012.tgz
NetBSD 8.0powerpcp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 8.0powerpcp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 8.0powerpcp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 8.0x86_64p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 8.0x86_64p5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 8.0x86_64p5-Lexical-SealRequireHints-0.012.tgz
NetBSD 9.0aarch64p5-Lexical-SealRequireHints-0.012.tgz
NetBSD 9.0aarch64p5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0aarch64p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.0alphap5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0alphap5-Lexical-SealRequireHints-0.012.tgz
NetBSD 9.0earmp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0earmv4p5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0earmv4p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.0earmv6hfp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 9.0earmv6hfp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0earmv6hfp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.0earmv7hfp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 9.0earmv7hfp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0earmv7hfp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.0i386p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.0i386p5-Lexical-SealRequireHints-0.012.tgz
NetBSD 9.0m68kp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0mips64ebp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0mipselp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0powerpcp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 9.0powerpcp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0powerpcp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.0sh3elp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0sh3elp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.0sparc64p5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0sparcp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0sparcp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.0vaxp5-Lexical-SealRequireHints-0.011nb5.tgz
NetBSD 9.0vaxp5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.0vaxp5-Lexical-SealRequireHints-0.012.tgz
NetBSD 9.0x86_64p5-Lexical-SealRequireHints-0.012.tgz
NetBSD 9.0x86_64p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.3x86_64p5-Lexical-SealRequireHints-0.011nb6.tgz
NetBSD 9.3x86_64p5-Lexical-SealRequireHints-0.012.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

(none)

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.


Problem reports, updates or suggestions for this package should be reported with send-pr.