• Transparent task to task

    From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to All on Mon Jun 2 19:01:51 2025
    Now the topic is up.

    Am I the only one wondering why so much documentation use the
    TYPE command to activate?

    It bothers me a bit to have the TYPE command execute code.

    $ type 0"myusername mypassword"::srv.com
    $ define/nolog sys$output sys$net
    $ show time
    $ write sys$output "Deleting all files"
    $ exit

    $ type 0"myusername mypassword"::"task=srv.com"
    2-JUN-2025 18:56:35
    Deleting all files

    $ type 0"myusername mypassword"::"srv.com"
    $ define/nolog sys$output sys$net
    $ show time
    $ write sys$output "Deleting all files"
    $ exit

    $ type 0"myusername mypassword"::"0=srv.com"
    2-JUN-2025 18:56:35
    Deleting all files

    Inserting two characters and type becomes execute.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Townley@21:1/5 to All on Tue Jun 3 00:40:06 2025
    On 03/06/2025 00:01, Arne Vajhøj wrote:
    Now the topic is up.

    Am I the only one wondering why so much documentation use the
    TYPE command to activate?

    It bothers me a bit to have the TYPE command execute code.

    $ type 0"myusername mypassword"::srv.com
    $ define/nolog sys$output sys$net
    $ show time
    $ write sys$output "Deleting all files"
    $ exit

    $ type 0"myusername mypassword"::"task=srv.com"
       2-JUN-2025 18:56:35
    Deleting all files

    $ type 0"myusername mypassword"::"srv.com"
    $ define/nolog sys$output sys$net
    $ show time
    $ write sys$output "Deleting all files"
    $ exit

    $ type 0"myusername mypassword"::"0=srv.com"
       2-JUN-2025 18:56:35
    Deleting all files

    Inserting two characters and type becomes execute.

    Arne


    Interestingly, although I have seen the reference before, that is shown
    in the last of HELP TYPE examples

    --
    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Tue Jun 3 00:29:45 2025
    On Mon, 2 Jun 2025 19:01:51 -0400, Arne Vajhøj wrote:

    Am I the only one wondering why so much documentation use the TYPE
    command to activate?

    It bothers me a bit to have the TYPE command execute code.

    The fact is, it can. It’s obviously an easy command to use to demonstrate
    the concept.

    Remember, VMS originated in far more trusting days, when if network node A
    told network node B “user X is privileged for me”, then node B would happily trust communications ostensibly coming from that user X.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marc Van Dyck@21:1/5 to All on Tue Jun 3 10:44:01 2025
    Arne Vajhj was thinking very hard :
    Now the topic is up.

    Am I the only one wondering why so much documentation use the
    TYPE command to activate?

    It bothers me a bit to have the TYPE command execute code.

    $ type 0"myusername mypassword"::srv.com
    $ define/nolog sys$output sys$net
    $ show time
    $ write sys$output "Deleting all files"
    $ exit

    $ type 0"myusername mypassword"::"task=srv.com"
    2-JUN-2025 18:56:35
    Deleting all files

    $ type 0"myusername mypassword"::"srv.com"
    $ define/nolog sys$output sys$net
    $ show time
    $ write sys$output "Deleting all files"
    $ exit

    $ type 0"myusername mypassword"::"0=srv.com"
    2-JUN-2025 18:56:35
    Deleting all files

    Inserting two characters and type becomes execute.

    Arne

    I don't see anything wrong with that. In the first syntax you are
    activating the FAL object (implicitely, because it is tightly
    integrated
    with RMS) to display the contents of the file ; in the second syntax
    you are activating the TASK object and are asking to display (hence the
    TYPE command) the output from the execution of a procedure on the
    remote
    system. It's the equivalent of talking to two different IP ports. For
    the first systax you would be talking to FTP (nothing really closer to
    FAL than that, sorry) while for the second one you would be talking to,
    for example, REXEC...

    --
    Marc Van Dyck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to arne@vajhoej.dk on Tue Jun 3 13:10:27 2025
    On 2025-06-02, Arne Vajhj <arne@vajhoej.dk> wrote:
    Now the topic is up.

    Am I the only one wondering why so much documentation use the
    TYPE command to activate?

    It bothers me a bit to have the TYPE command execute code.


    What is the difference between that and performing a read operation on
    a URL that causes a script on the server to execute in the background ? :-)

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Simon Clubley on Tue Jun 3 11:23:06 2025
    On 6/3/2025 9:10 AM, Simon Clubley wrote:
    On 2025-06-02, Arne Vajhøj <arne@vajhoej.dk> wrote:
    Now the topic is up.

    Am I the only one wondering why so much documentation use the
    TYPE command to activate?

    It bothers me a bit to have the TYPE command execute code.

    What is the difference between that and performing a read operation on
    a URL that causes a script on the server to execute in the background ? :-)

    It is true that a HTTP GET can result in different actions: web server returning static HTML, web server running code that produce dynamic
    HTML without changing anything, web server running code that produce
    dynamic HTML and do change something.

    But not sure that I see the TYPE command being similar to a
    HTTP GET.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Marc Van Dyck on Tue Jun 3 11:31:15 2025
    On 6/3/2025 4:44 AM, Marc Van Dyck wrote:
    Arne Vajhøj was thinking very hard :
    Now the topic is up.

    Am I the only one wondering why so much documentation use the
    TYPE command to activate?

    It bothers me a bit to have the TYPE command execute code.

    $ type 0"myusername mypassword"::srv.com
    $ define/nolog sys$output sys$net
    $ show time
    $ write sys$output "Deleting all files"
    $ exit

    $ type 0"myusername mypassword"::"task=srv.com"
        2-JUN-2025 18:56:35
    Deleting all files

    $ type 0"myusername mypassword"::"srv.com"
    $ define/nolog sys$output sys$net
    $ show time
    $ write sys$output "Deleting all files"
    $ exit

    $ type 0"myusername mypassword"::"0=srv.com"
        2-JUN-2025 18:56:35
    Deleting all files

    Inserting two characters and type becomes execute.

    I don't see anything wrong with that. In the first syntax you are
    activating the FAL object (implicitely, because it is tightly integrated
    with RMS) to display the contents of the file ; in the second syntax
    you are activating the TASK object and are asking to display (hence the
    TYPE command) the output from the execution of a procedure on the remote system. It's the equivalent of talking to two different IP ports. For
    the first systax you would be talking to FTP (nothing really closer to
    FAL than that, sorry) while for the second one you would be talking to,
    for example, REXEC...

    I know the mechanics.

    And I realize that:
    * it is not something in TYPE - it is all in RMS and
    DECNet
    * TYPE is convenient for task, because it reads until
    EOF and displays

    But it still bother me to have TYPE execute. It is syntax in
    the P1 argument that fundamentally changes behavior of the verb.
    From a "common" non-modifying verb to a potential modifying verb.

    But I can count. So far 3 does not see a problem while 0 see a
    problem.

    :-)

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Wed Jun 4 00:26:31 2025
    On Tue, 3 Jun 2025 11:23:06 -0400, Arne Vajhøj wrote:

    It is true that a HTTP GET can result in different actions: web server returning static HTML, web server running code that produce dynamic HTML without changing anything, web server running code that produce dynamic
    HTML and do change something.

    Ah, now you’re getting into something called “REST”, where HTTP is being used essentially as a sort of RPC mechanism.

    This involves the addition of more commands besides GET and POST: you also
    have PUT and DELETE (and possibly others as well). GET is not supposed to
    cause any (user-visible) state changes; it’s only supposed to return info.
    As I understand it, POST is supposed to be the mechanism for creating
    objects, PUT is supposed to be used for changing the state of objects, and DELETE is to be used for deleting objects.

    But of course there is no way of firmly enforcing semantics like this.

    But not sure that I see the TYPE command being similar to a HTTP GET.

    As pointed out already, it’s not the fault of the TYPE command, it’s the fault of the underlying comms architecture that allows for this behaviour.
    It works with any other command that can open an arbitrary user-specified
    file through the same API layer (i.e. RMS).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Wed Jun 4 02:47:48 2025
    On Tue, 3 Jun 2025 22:20:00 -0400, Arne Vajhøj wrote:

    On 6/3/2025 8:26 PM, Lawrence D'Oliveiro wrote:

    As pointed out already, it’s not the fault of the TYPE command, it’s
    the fault of the underlying comms architecture that allows for this
    behaviour. It works with any other command that can open an arbitrary
    user-specified file through the same API layer (i.e. RMS).

    Yes.

    Furthermore, this is not actually a common thing. It is a unique feature
    of VMS that the standard filespec syntax allows for a DECnet node name
    plus optional accompanying username and password, so any code that
    accesses files through RMS (and who doesn’t?) automatically gets network- transparent access to remote data this way.

    There are a lot of tools in the *nix world that will accept URLs instead
    of filename specs, but they have to use some additional layer on top of
    stdio in order to get this capability.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Tue Jun 3 22:20:00 2025
    On 6/3/2025 8:26 PM, Lawrence D'Oliveiro wrote:
    On Tue, 3 Jun 2025 11:23:06 -0400, Arne Vajhøj wrote:
    It is true that a HTTP GET can result in different actions: web server
    returning static HTML, web server running code that produce dynamic HTML
    without changing anything, web server running code that produce dynamic
    HTML and do change something.

    Ah, now you’re getting into something called “REST”, where HTTP is being
    used essentially as a sort of RPC mechanism.

    It applies to both web apps and web services and to any
    web service style - RESTful or RPC (RESTful is not RPC).

    This involves the addition of more commands besides GET and POST: you also have PUT and DELETE (and possibly others as well). GET is not supposed to cause any (user-visible) state changes; it’s only supposed to return info. As I understand it, POST is supposed to be the mechanism for creating objects, PUT is supposed to be used for changing the state of objects, and DELETE is to be used for deleting objects.

    And POST is expected to return the created object.

    That is how a well behaved RESTful web service should be.

    Some also support PATCH for a single request doing the equivalent of
    multiple low level PUT's. But one need to be careful about PATCH, some
    in between boxes (proxies, firewalls etc.) does not support them.

    But not sure that I see the TYPE command being similar to a HTTP GET.

    As pointed out already, it’s not the fault of the TYPE command, it’s the fault of the underlying comms architecture that allows for this behaviour.
    It works with any other command that can open an arbitrary user-specified file through the same API layer (i.e. RMS).

    Yes.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)