| Author | Message | 
		
		  | pfarrel | 
			  
				|  Posted: Fri Dec 03, 2010 9:08 am Post subject: Event Message for MQCMD_INQUIRE_Q |   |  | 
		
		  | Centurion
 
 
 Joined: 16 Mar 2004Posts: 120
 Location: Kansas City
 
 | 
			  
				| I keep getting an event message written to SYSTEM.ADMIN.QMGR.EVENT, and I can't figure it out. The reason is MQRQ_CMD_NOT_AUTHORIZED, the command is MQCMD_INQUIRE_Q. Also in the message is the queue manager name and the userid. There is no queue name in the event message. The userid is OP, and its primary group is SUPER. I have tried several setmqaut commands for group SUPER, but it won't stop.
 Here are some I have tried:
 setmqaut -m HPQMP1 -t qmgr -g SUPER +all +alladm +allmqi
 setmqaut -m HPQMP1 -t q -n \*\* -g SUPER +all +alladm +allmqi
 Any ideas ?
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | exerk | 
			  
				|  Posted: Fri Dec 03, 2010 9:46 am Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 02 Nov 2006Posts: 6339
 
 
 | 
			  
				| As it's group SUPER, am I correct to assume this is HP-NSS? _________________
 It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | pfarrel | 
			  
				|  Posted: Fri Dec 03, 2010 11:17 am Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 16 Mar 2004Posts: 120
 Location: Kansas City
 
 | 
			  
				| Yes, it is WMQ version 5.3.1.5 on NSK. It looks somewhat similar to MQ on other UNIX platforms.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | exerk | 
			  
				|  Posted: Fri Dec 03, 2010 11:50 am Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 02 Nov 2006Posts: 6339
 
 
 | 
			  
				| 
   
	| pfarrel wrote: |  
	| Yes, it is WMQ version 5.3.1.5 on NSK. It looks somewhat similar to MQ on other UNIX platforms.
 |  
 What does a dump of the auths for the queue manager and queues show for SUPER.SUPER and SUPER.OP?
 _________________
 It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | pfarrel | 
			  
				|  Posted: Fri Dec 03, 2010 12:31 pm Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 16 Mar 2004Posts: 120
 Location: Kansas City
 
 | 
			  
				| Here it is: 
 /G/SYS1/MQSERIES: amqoamd -m HPQMP1 -s|grep SUPER
 setmqaut -m HPQMP1 -n PMQR -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n PMQS -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n PMQX -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n BES.WIRE.FROMBESS -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n BES.SERVICE.REPLY -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n BES.MAGNET.BAT.REPLY -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n BES.WIRE.TOBESS -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n BES.SERVICE.REQUEST -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n BES.MAGNET.BAT.REQUEST -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n BES.SAMEDAY.REPORTING -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid
 setmqaut -m HPQMP1 -n BES.CIF.REPLY -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid +chg +clr +dlt +dsp
 setmqaut -m HPQMP1 -n BES.BAL.REPLY -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid +chg +clr +dlt +dsp
 setmqaut -m HPQMP1 -n SYSTEM.ADMIN.COMMAND.QUEUE -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid +chg +clr +dlt +dsp
 setmqaut -m HPQMP1 -n SYSTEM.DEFAULT.MODEL.QUEUE -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid +chg +clr +dlt +dsp
 setmqaut -m HPQMP1 -t qmgr -g SUPER +altusr +connect +inq +set +setall +setid +chg +dlt +dsp
 setmqaut -m HPQMP1 -n ** -t queue -g SUPER +browse +get +inq +passall +passid +put +set +setall +setid +chg +clr +dlt +dsp
 setmqaut -m HPQMP1 -t qmgr -g SUPER +None
 setmqaut -m HPQMP1 -n SYSTEM.DEFAULT.LOCAL.QUEUE -t queue -g SUPER +None
 /G/SYS1/MQSERIES:
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | exerk | 
			  
				|  Posted: Fri Dec 03, 2010 1:50 pm Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 02 Nov 2006Posts: 6339
 
 
 | 
			  
				| I'd say that there is a better than even chance the queue being inquired upon is not in that list. Unfortunately, this being that 'funny' platform, you can't use the MQS_REPORT_NOAUTH variable to find out exactly which resource has the attempted access. 
 What did you use to read the event message, amqsbcg? Can you paste the output of what you got please?
 _________________
 It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | pfarrel | 
			  
				|  Posted: Fri Dec 03, 2010 2:19 pm Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 16 Mar 2004Posts: 120
 Location: Kansas City
 
 | 
			  
				| I was using the utility MO71 to display and format the messages. Here is one of them: 
 [  364 bytes] Message Descriptor (MQMD)
 StrucId      :'MD  '
 Version      :2
 Report       :00000000
 Message Type :8 (Datagram)
 Expiry       :-1
 Feedback     :0 (None)
 MQEncoding   :0x'111'
 CCSID        :819
 Format       :'MQEVENT '
 Priority     :0
 Persistence  :0 (Not Persistent)
 Message Id   :A M Q   H P Q M P 1             . . . . . . . .
 414D51204850514D50312020202020200F0DBEDEDDB7E0BA
 'AMQ HPQMP1      ........'
 Correl. Id   :. . . . . . . . . . . . . . . . . . . . . . . .
 000000000000000000000000000000000000000000000000
 '........................'
 Backout Cnt. :0
 ReplyToQ     :'                                                '
 ReplyToQMgr  :'HPQMP1                                          '
 UserId       :'            '
 AccountingTkn:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 0000000000000000000000000000000000000000000000000000000000000000
 ApplIndentity:'                                '
 PutApplType  :7 (Queue Manager)
 PutApplName  :'HPQMP1                      '
 Put Date     :'20101203'
 Put Time     :'16554797'
 ApplOriginDat:'    '
 Group Id     :. . . . . . . . . . . . . . . . . . . . . . . .
 000000000000000000000000000000000000000000000000
 Msg Seq No.  :1
 Offset       :0
 MsgFlags     :00000000
 Original Len.:-1
 [  168 bytes] Event Header (MQCFH)
 Type         :7 (Event)
 Struc Length :36
 Version      :1
 Command      :44 (QMgr Event)
 Sequence No. :1
 Control      :1 (Last)
 CompCode     :1 (Warning)
 Reason       :2035 (Not authorized.)
 Parm Count   :4
 [  132 bytes] String (MQCFST)
 Type         :4 (String)
 Struc Length :68
 Parameter Id :2015 (QMgr Name)
 CCSID        :0
 String Length:48
 Value        :'HPQMP1                                          '
 [   64 bytes] Integer (MQCFIN)
 Type         :3 (Integer)
 Struc Length :16
 Parameter Id :1020 (Reason Qualifier)
 Value        :4 [0x'4'] MQRQ_CMD_NOT_AUTHORIZED
 [   48 bytes] Integer (MQCFIN)
 Type         :3 (Integer)
 Struc Length :16
 Parameter Id :1021 (Command)
 Value        :13 [0x'D'] MQCMD_INQUIRE_Q
 [   32 bytes] String (MQCFST)
 Type         :4 (String)
 Struc Length :32
 Parameter Id :3025 (User Identifier)
 CCSID        :0
 String Length:12
 Value        :'OP          '
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | pfarrel | 
			  
				|  Posted: Fri Dec 03, 2010 2:53 pm Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 16 Mar 2004Posts: 120
 Location: Kansas City
 
 | 
			  
				| I should probably add that the program this is attempting this access is HP/Openview, it is supposed to be reporting on queue depths for some queues. So it is probably trying to inspect the current depth of all queues. |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | exerk | 
			  
				|  Posted: Fri Dec 03, 2010 3:13 pm Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 02 Nov 2006Posts: 6339
 
 
 | 
			  
				| What does the Openview documentation state in relation to setting it up for WMQ, and was there anything in the 'payload' of the event message? Does amqsbcg throw up any further information? _________________
 It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | pfarrel | 
			  
				|  Posted: Mon Dec 06, 2010 4:40 am Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 16 Mar 2004Posts: 120
 Location: Kansas City
 
 | 
			  
				| Here is a printout of one of the messages using the MA96 utility: 
 MD:(364=x16C bytes)
 00000000:4D442020 02000000 00000000 08000000  [MD  ............]
 00000010:FFFFFFFF 00000000 11010000 33030000  [............3...]
 00000020:4D514556 454E5420 00000000 00000000  [MQEVENT ........]
 00000030:414D5120 4850514D 50312020 20202020  [AMQ HPQMP1      ]
 00000040:0F0DBF17 902E4D72 00000000 00000000  [..¿..Mr........]
 00000050:00000000 00000000 00000000 00000000  [................]
 00000060:00000000 20202020 20202020 20202020  [....            ]
 00000070:20202020 20202020 20202020 20202020  [                ]
 00000080-0000008F same as above
 00000090:20202020 4850514D 50312020 20202020  [    HPQMP1      ]
 000000A0:20202020 20202020 20202020 20202020  [                ]
 000000B0-000000CF same as above
 000000D0:00000000 00000000 00000000 00000000  [................]
 000000E0-000000EF same as above
 000000F0:20202020 20202020 20202020 20202020  [                ]
 00000100-0000010F same as above
 00000110:07000000 4850514D 50312020 20202020  [....HPQMP1      ]
 00000120:20202020 20202020 20202020 20202020  [                ]
 00000130:32303130 31323036 31323334 32303234  [2010120612342024]
 00000140:20202020 00000000 00000000 00000000  [    ............]
 00000150:00000000 00000000 00000000 01000000  [................]
 00000160:00000000 00000000 FFFFFFFF           [............]
 |> Version                  : 2
 |> Report                   : (none)
 |> MsgType                  : DATAGRAM
 |> Expiry                   : -1
 |> Feedback                 : 0
 |> Encoding                 : 273 INTEGER_NORMAL / DECIMAL_NORMAL / FLOAT_IEEE_NORMAL
 |> CodedCharSetId           : 819 (ISO 8859-1 ASCII)
 |> Format                   : MQEVENT (Event)
 |> Priority                 : 0
 |> Persistence              : NOT_PERSISTENT
 |> MsgId                    : 414D5120 4850514D 50312020 20202020 0F0DBF17 902E4D72  [AMQ HPQMP1      ..¿..Mr]
 |> CorrelId                 : (null)
 |> BackoutCount             : 0
 |> ReplyToQ                 :
 |> ReplyToQMgr              : HPQMP1
 |> UserIdentifier           :
 |> AccountingToken          : (null)
 |> ApplIdentityData         :
 |> PutApplType              : queue manager
 |> PutApplName              : HPQMP1
 |> PutDate                  : 20101206
 |> PutTime                  : 12342024
 |> ApplOriginData           :
 |> --- MD version 2----------
 |> GroupId                  : (null)
 |> MsgSeqNumber             : 1
 |> Offset                   : 0
 |> MsgFlags                 : (none)
 |> OriginalLength           : -1
 
 DataLength:168
 Buffer:(168=xA8 bytes)
 00000000:00000007 00000024 00000001 0000002C  [.......$.......,]
 00000010:00000001 00000001 00000001 000007F3  [...............ó]
 00000020:00000004 00000004 00000044 000007DF  [...........D...ß]
 00000030:00000000 00000030 4850514D 50312020  [.......0HPQMP1  ]
 00000040:20202020 20202020 20202020 20202020  [                ]
 00000050-0000005F same as above
 00000060:20202020 20202020 00000003 00000010  [        ........]
 00000070:000003FC 00000004 00000003 00000010  [...ü............]
 00000080:000003FD 0000000D 00000004 00000020  [...ý........... ]
 00000090:00000BD1 00000000 0000000C 4F502020  [...Ñ........OP  ]
 000000A0:20202020 20202020                    [        ]
 |> ----- offset 0-167 (=x0-xA7) length 168 (=xA8) - MQCFH (PCF header and parameters)
 |> Type                     : EVENT
 |> StrucLength              :     36
 |> Version                  :      1
 |> Command                  :     44 (Q_MGR_EVENT)
 |> MsgSeqNumber             :      1
 |> Control                  : LAST
 |> CompCode                 :      1
 |> Reason                   :   2035 (MQRC_NOT_AUTHORIZED)
 |> ParameterCount           :      4
 |> ------------------------ : --- 1 --- offset 36-103 (=x24-x67) length 68 (=x44)
 |> (parm) - Type            : STRING
 |> (parm) - Length          :     68
 |> (parm) - Parameter       :   2015 (Q_MGR_NAME)
 |> (parm) - CodedCharSetId  :      0 (default / queue_manager)
 |> (parm) - Length          :     48
 |> (parm) - Value           : HPQMP1
 |> ------------------------ : --- 2 --- offset 104-119 (=x68-x77) length 16 (=x10)
 |> (parm) - Type            : INTEGER
 |> (parm) - Length          :     16
 |> (parm) - Parameter       :   1020 (IACF_REASON_QUALIFIER)
 |> (parm) - Value           :      4 (cmd not authorized)
 |> ------------------------ : --- 3 --- offset 120-135 (=x78-x87) length 16 (=x10)
 |> (parm) - Type            : INTEGER
 |> (parm) - Length          :     16
 |> (parm) - Parameter       :   1021 (IACF_COMMAND)
 |> (parm) - Value           :     13 (INQUIRE_Q)
 |> ------------------------ : --- 4 --- offset 136-167 (=x88-xA7) length 32 (=x20)
 |> (parm) - Type            : STRING
 |> (parm) - Length          :     32
 |> (parm) - Parameter       :   3025 (CACF_USER_IDENTIFIER)
 |> (parm) - CodedCharSetId  :      0 (default / queue_manager)
 |> (parm) - Length          :     12
 |> (parm) - Value           : OP
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | exerk | 
			  
				|  Posted: Mon Dec 06, 2010 4:59 am Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 02 Nov 2006Posts: 6339
 
 
 | 
			  
				| OK. I'm all out of ideas as to how to identify the 'offending' resource, sorry  _________________
 It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | gbaddeley | 
			  
				|  Posted: Mon Dec 06, 2010 2:32 pm Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 25 Mar 2003Posts: 2538
 Location: Melbourne, Australia
 
 | 
			  
				| 
   
	| exerk wrote: |  
	| OK. I'm all out of ideas as to how to identify the 'offending' resource, sorry  |  
 Could it be that user 'OP' does not have authority to open the Queue Manager object for inquiry?
 
 Its very common for monitoring s/w to do this, to obtain the actual qmgr name, version, description, ccsid, etc.
 _________________
 Glenn
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | exerk | 
			  
				|  Posted: Mon Dec 06, 2010 3:06 pm Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 02 Nov 2006Posts: 6339
 
 
 | 
			  
				| 
   
	| gbaddeley wrote: |  
	| Could it be that user 'OP' does not have authority to open the Queue Manager object for inquiry? |  
 Also my last thought, but for...
 
 
 
   
	| Quote: |  
	| The userid is OP, and its primary group is SUPER |  
 ...and
 
 
 
   
	| Quote: |  
	| setmqaut -m HPQMP1 -t qmgr -g SUPER +altusr +connect +inq +set +setall +setid +chg +dlt +dsp |  _________________
 It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | gbaddeley | 
			  
				|  Posted: Mon Dec 06, 2010 7:53 pm Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 25 Mar 2003Posts: 2538
 Location: Melbourne, Australia
 
 | 
			  
				| 
   
	| exerk wrote: |  
	| I'd say that there is a better than even chance the queue being inquired upon is not in that list. Unfortunately, this being that 'funny' platform, you can't use the MQS_REPORT_NOAUTH variable to find out exactly which resource has the attempted access. |  
 Refer to http://www-01.ibm.com/support/docview.wss?uid=swg21299319
 MQS_REPORT_NOAUTH environment variable can be used to better diagnose return code 2035 (MQRC_NOT_AUTHORIZED)
 and http://www-01.ibm.com/support/docview.wss?uid=swg21377578
 Using MQSAUTHERRORS to generate FDC files related to RC 2035 (MQRC_NOT_AUTHORIZED)
 
 MQ trace can show where the authorization error occurs. Look for kqiAuthorityChecks in trace of amqzlaa0 process, and text like
 
 
   
	| Code: |  
	| Principal(fredb     ) EntityType(1) ObjectName(SYSTEM.DEAD.LETTER.QUEUE                        ) ObjectType(5)
 PrimaryOnly(0) AccessTemplate(8) Authorization(100018)
 |  
 EntityType 1=Userl 2=Group
 AccessTemplate is auths needed (sum of MQZAO_ values)
 Authorization is auths they have
 
 I haven't used this technique for a long time!
 _________________
 Glenn
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |