repo: rxvt-unicode-sixel action: commit revision: path_from: revision_from: d6604101ac10794b77742e5fcae0965229fac025: path_to: revision_to:
commit d6604101ac10794b77742e5fcae0965229fac025 Author: Marc LehmannDate: Mon Jan 9 02:06:43 2006 +0000 *** empty log message *** diff --git a/src/perl/selection-popup b/src/perl/selection-popup
--- a/src/perl/selection-popup
+++ b/src/perl/selection-popup
@@ -37,6 +37,9 @@ sub on_button_press {
for ($text) {
$add_button->("rot13" => sub { y/A-Za-z/N-ZA-Mn-za-m/ });
+ urxvt::safe
+ and $add_button->("eval perl expression" => sub { $_ = eval urxvt::untaint $_ });
+
/^(\S+):(\d+):?$/
and $add_button->("vi-commands to load '$1'" => sub { s/^(\S+):(\d+):?$/\x1b:e $1\x0d:$2\x0d/ });
diff --git a/src/rxvtperl.xs b/src/rxvtperl.xs
--- a/src/rxvtperl.xs
+++ b/src/rxvtperl.xs
@@ -717,6 +717,13 @@ untaint (SV *sv)
OUTPUT:
RETVAL
+bool
+safe ()
+ CODE:
+ RETVAL = !rxvt_tainted ();
+ OUTPUT:
+ RETVAL
+
NV
NOW ()
CODE:
diff --git a/src/urxvt.pm b/src/urxvt.pm
--- a/src/urxvt.pm +++ b/src/urxvt.pm @@ -335,6 +335,12 @@ that calls this function. Using this function has the advantage that its output ends up in the correct place, e.g. on stderr of the connecting urxvtc client. +=item $is_safe = urxvt::safe + +Returns true when it is safe to do potentially unsafe things, such as +evaluating perl code specified by the user. This is true when urxvt was +started setuid or setgid. + =item $time = urxvt::NOW Returns the "current time" (as per the event loop).
-----END OF PAGE-----