2 # Copyright (c) 2021, PostgreSQL Global Development Group
4 # src/pl/plperl/plc_trusted.pl
6 #<<< protect next line from perltidy so perlcritic annotation works
7 package PostgreSQL
::InServer
::safe
; ## no critic (RequireFilenameMatchesPackage)
10 # Load widely useful pragmas into plperl to make them available.
14 # Since these modules are free to compile unsafe opcodes they must
15 # be trusted to now allow any code containing unsafe opcodes to be abused.
16 # That's much harder than it sounds.
18 # Be aware that perl provides a wide variety of ways to subvert
19 # pre-compiled code. For some examples, see this presentation:
20 # http://www.slideshare.net/cdman83/barely-legal-xxx-perl-presentation
22 # If in ANY doubt about a module, or ANY of the modules down the chain of
23 # dependencies it loads, then DO NOT add it to this list.
25 # To check if any of these modules use "unsafe" opcodes you can compile
26 # plperl with the PLPERL_ENABLE_OPMASK_EARLY macro defined. See plperl.c
32 require feature
if $] >= 5.010000;