-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: rxvt-unicode-sixel
action: commit
revision:
path_from:
revision_from: d6604101ac10794b77742e5fcae0965229fac025:
path_to:
revision_to:

git.thebackupbox.net

rxvt-unicode-sixel

git://git.thebackupbox.net/rxvt-unicode-sixel

commit d6604101ac10794b77742e5fcae0965229fac025
Author: Marc Lehmann <schmorp@schmorp.de>
Date:   Mon Jan 9 02:06:43 2006 +0000

    *** empty log message ***

diff --git a/src/perl/selection-popup b/src/perl/selection-popup

index 3233d47f02775dd2bd18b0d01299494acf907553..

index ..4d21cb9fbc39cf3e352898df17e0292fedf44355 100644

--- 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

index 52d8d8c055bf224318708b1d7ad5e68d1bcff36f..

index ..ea65dd50b755e771173fad37d47aee3e7f38f133 100644

--- 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

index 9a31f0ad1cd82296f71245c7e8f8b58c2d4cfaaf..

index ..19ff76966152ce2f9d4b8909219b76288f3f9349 100644

--- 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-----

-- Response ended

-- Page fetched on Sun Jun 2 13:27:57 2024