TAA Tools
PRTPGMSTK       PRINT PROGRAM STACK                    TAASECW

The Print  Program Stack command  is a  testing aid.   It lets you  see
what  is  in the  program  stack  during the  running  of a  particular
program  and the security implications as best  they can be found.  The
command  is  particularly  useful  in  a  situation  involving  program
adoption.

The   command  supports   an  optional   capability  to   describe  the
authorizations to an object.

The  command is intended to  be compiled into a  program where you want
to determine what the  program stack looks  like to assist in  testing.
A typical command would be:

        PRTPGMSTK     OBJ(xxxx) OBJTYPE(*FILE)

When the  command is executed,  it prints a  spooled file with  as much
information  about  the current  user,  the object  specified,  and the
program stack.

Retrieving the  program stack  information provides  the program  names
that are  in  the stack,  but not  the library.   Each  program in  the
program  stack is  attempted to  be accessed  using *LIBL  to determine
additional  information  such as  the owner,  does it  adopt authority,
and the use of USEADPAUT(*NO).   A pictorial view of adoption  is shown
with asterisks  for each  program that is  affected by a  prior program
adoption.

You  may have  multiple PRTPGMSTK  commands in the  same program  or at
any point in the program stack.

It is valid  to enter PRTPGMSTK  during a debug  breakpoint.   However,
debug drops  any adopted authorization so  the security aspects  of the
output will be misleading.

Command parameters                                    *CMD
------------------

   OBJ           The  qualified   object  name  of  the  object  to  be
                 checked for  security.   The default  is *NONE.    The
                 library value defaults to *LIBL.

   OBJTYPE       The  object  type  of  the   object  described.    The
                 default  is *NONE.   Any type  valid on CHKOBJ  may be
                 specified.

   TEXT          An  optional text  description that will  print in the
                 spooled output.   The default is  *NONE.  If you  have
                 multiple  uses   of  PRTPGMSTK,  the   text  can  help
                 identify the correct output.

Restrictions
------------

The  program stack provides the  name of the program,  but not the name
of the library  where the  program was  found.  The  program object  is
attempted to  be accessed  by use of  the library list.   A  program in
the stack  may be in a  library that is no longer  in the library list,
was  accessed  via  a  qualified  name,  or  your  job  no  longer  has
authorization  to  access.    If  a  program  is  found,  there  is  no
guarantee that it is the same program that is in the program stack.

Therefore,   it  is   possible   that  PRTPGMSTK   cannot   access  the
information  you need  and/or that  a different  program object  of the
same name will be accessed to provide the information.

It is  valid to enter  PRTPGMSTK during a  debug breakpoint.   However,
debug drops  any adopted authorization  so the security aspects  of the
output will be misleading.

Prerequisites
-------------

The following TAA Tools must be on your system:

     EDTVAR       Edit variable
     RTVPGMA      Retrieve program attributes
     RTVPGMNAM    Retrieve program name
     RTVPGMSTK    Retrieve program stack
     RTVOBJAUT    Retrieve object authorizations
     SNDCOMPMSG   Send completion message
     SNDESCMSG    Send escape message
     SNDSTSMSG    Send status message

Implementation
--------------

None, the tool is ready to use.

Objects used by the tool
------------------------

   Object        Type    Attribute      Src member    Src file
   ------        ----    ---------      ----------    ----------

   PRTPGMSTK     *CMD                   TAASECW       QATTCMD
   TAASECWC      *PGM       CLP         TAASECWC      QATTCL
   TAASECWR      *PGM       RPG         TAASECWR      QATTRPG
					

Added to TAA Productivity tools April 1, 1995


Home Page Up to Top