HLDJOB or ENDJOB should work sufficiently well, to stop a coded loop. However two things about the proposed loop.

First, I am not entirely sure that the default handler for a CLP [in sending the CPA0701] will effect the described hard loop on the failed attempt to send that inquiry to the QSYSOPR message queue. Regardless of whether that would be an origin for a loop, a better idea IMO is to code the loop in the program itself. That means the request should have a MONMSG coded to ignore the failure, and a GOTO to try again; or coded in a while or another supported loop syntax.

Second, I think a better choice is to minimize the amount of work to cause the T-AF entry. There should be no reason to send a message, and especially not to a system message queue, and even more importantly not to the *SYSOPR message queue since every message if it actually made it there will then be copied to QHST thus flooding the history log files with the useless impromptu message... making interrogating the history log seriously painful; understood that the setup should prevent that, but why take the chance? Using just CHKOBJ against an object, even QSYSOPR *MSGQ, should cause the authority failure entry to be logged; presumably with less processing by the OS code, to effect that request.

For example:

pgm /* replace ## to reflect the 'not aut' msg */
again:
chkobj qsys/qsysopr *msgq
monmsg cpf98## exec(rcvmsg ... rmv(*yes))
goto again
endpgm

Regards, Chuck

John Earl wrote:
<<SNIP>>

Here is one idea that I had, but I don't know how to stop it once we begin. Any ideas on this particular approach would be greatly appreciated. Here is the plan:

1. Create a User called "Fred" 2. Give "Fred" *EXCLUDE authority to > the QSYSOPR message queue.
3. Have "Fred" submit a batch job that does a
SNDMSG 'Hello World' TOMSGQ(QSYSOPR).

Because "Fred" has *EXCLUDE authority to QSYSOPR, this command will generate an 'T' 'AF' audit journal entry in QAUDJRN. Because it is
done in a batch job, the batch job attempt to throw and exception
error message into QSYSOPR, but because "Fred" is still *EXCLUDED
from message queue QSYSOPR, the process will generate another 'T'
'AF', and yet another error message headed for QSYSOPR, etc. etc.
in a very tight little loop.

This seems like a good way to generate a ton of audit log entries,
but the question is this: How do you stop it before it runs away
with your system? Can anyone think of a way to interrupt this
process?

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].