Minor changed needed to doc on untrusted pl/perl example

From: Bob <luckyratfoot(at)gmail(dot)com>
To: pgsql-docs(at)postgresql(dot)org
Subject: Minor changed needed to doc on untrusted pl/perl example
Date: 2005-10-21 18:06:05
Message-ID: 762e5c0510211106m12896b11t5d6ab62865620b5d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

I know this is minor but we all long for perfection.:)

The current doc shows
37.5. Trusted and Untrusted PL/Perl

Normally, PL/Perl is installed as a "trusted" programming language named
plperl. In this setup, certain Perl operations are disabled to preserve
security. In general, the operations that are restricted are those that
interact with the environment. This includes file handle operations, require,
and use (for external modules). There is no way to access internals of the
database server process or to gain OS-level access with the permissions of
the server process, as a C function can do. Thus, any unprivileged database
user may be permitted to use this language.

Here is an example of a function that will not work because file system
operations are not allowed for security reasons:

CREATE FUNCTION badfunc() RETURNS integer AS $$
open(TEMP, ">/tmp/badfile");
print TEMP "Gotcha!\n";
return 1;
$$ LANGUAGE plperl;

I believe the code snippet should look like this for it to work correctly:

CREATE FUNCTION badfunc() RETURNS integer AS $$
open(TEMP, ">/tmp/badfile");
print TEMP "Gotcha!\n";
close(TEMP);
return 1;
$$ LANGUAGE plperl;

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Michael Fuhr 2005-10-21 20:51:16 Re: Minor changed needed to doc on untrusted pl/perl example
Previous Message Oleg Bartunov 2005-10-21 14:40:03 Re: Multicolumn index doc out of date?