Settings RdoitSettings/en

Aus expecco Wiki (Version 2.x)
Version vom 22. Dezember 2021, 09:24 Uhr von Sv (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Remote Doits Enabled == If enabled, a server process is started within expecco, which handles and serves "RDoit" requests. These allow JavaScript/Smalltalk…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Remote Doits Enabled[Bearbeiten]

If enabled, a server process is started within expecco, which handles and serves "RDoit" requests. These allow JavaScript/Smalltalk expressions to be evaluated via the rdoit shell command. This is especially useful, to start expecco actions via the window manager or from shell/batch scripts. It can also be used to access expecco services from other foreign applications.

Warning[Bearbeiten]

RDoit expressions are not evaluated in a secure environment; if enabled, any expression (even destructive) can be evaluated via the rdoit command. Although exceptions are caught, a bad guy could send you something like "Smalltalk exit" and finish your expecco session. Even worse, attacks are possible by sending something like "OperatingSystem removeFile" to harm your system, or "OperatingSystem executeCommand", to install a virus.

In order to provide a bit of security, the RDoitServer opens a confirmation dialog for every new host trying to connect. This allows denying requests from other hosts.

Also, the rdoit server can be configured to either serve a TCP socket or a unix-domain socket (only in Linux). For TCP sockets you can restrict rdoit access to programs running in the local machine. This is always the case when you use unix domain sockets under Linux. Do not enable acces from remote hosts, if your machine can be reached via untrusted machines (i.e. the internet). Only enable this to a limited set of machines in controlled environments. For example, to partners in a programming team, or to a cooperating host in a secure, controlled multi-machine control application. Never allow for untrusted humans to enter the rDoit command string without validation against a set of allowed, harmless commands.

The "rdoit" command[Bearbeiten]

The rdoit command is provided in the "bin" directory, in parallel with expecco. (In expecco before version 22.1 it is installed as "packages\stx\goodies\rdoit\rdoit.exe").

The other check boxes in the settings dialog control if logging information is to be sent to Smalltalk's transcript or standard output.

Example[Bearbeiten]

Suppose, you have installed the rdoit executable program in your path, you can evaluate Smalltalk expressions from the Windows Powershell or UNIX shell as:

   rdoit "SystemBrowser open"

or, to print the result of some expression:

   rdoit -p "1000 factorial"

or, to open a dialog:

   rdoit -p "Dialog request:'How are you '"



Copyright © 2014-2024 eXept Software AG