Skip to content

Commit

Permalink
* Update for MQ 9.3.4
Browse files Browse the repository at this point in the history
  - Support for JWT Token authentication
* Change the postinstall to use genmqpkg on Linux
* Can configure postinstall to download client from local URL
* Updated postinstall to support http proxy environment variables (#167)
* Fix calling the MQI within message delivery callback (#169)
* Update documentation links
  • Loading branch information
ibmmqmet committed Oct 20, 2023
1 parent dd85424 commit f0f07cb
Show file tree
Hide file tree
Showing 58 changed files with 525 additions and 484 deletions.
2 changes: 2 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ doc/
tests.untracked/
samples.untracked/
defects/
issues/
redist/
archive/
redist.full/
Expand All @@ -29,3 +30,4 @@ samples/mykey.*

ibmmq*tar.gz

t
6 changes: 5 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# Changelog
Newest updates are at the top of this file.

## xx xxx 2023: v2.0.2
## 19 Oct 2023: v2.0.2
* Update for MQ 9.3.4
- Support for JWT Token authentication
* Change the postinstall to use genmqpkg on Linux
* Can configure postinstall to download client from local URL
* Updated postinstall to support http proxy environment variables (#167)
* Fix calling the MQI within message delivery callback (#169)
* Update documentation links

## 05 Jul 2023: v2.0.1
* Added LinuxARM definitions
Expand Down
459 changes: 214 additions & 245 deletions README.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions lib/mqcd.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ var MQC = require('./mqidefs.js');
* @classdesc
* This is a class containing the fields needed for the MQCD
* (MQ Channel Definition) structure. See the
* {@link https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q108220_.htm|MQ Knowledge Center}
* {@link https://www.ibm.com/docs/en/ibm-mq/latest?topic=definition-fields|MQ Documentation}
* for more details on the usage of each field.
* Not all of the underlying fields may be exposed in this object.
*/
Expand All @@ -61,7 +61,7 @@ exports.MQCD = function() {
/** @member {String} */
this.SSLPeerName = null;
/** @member {number} */
this.SSLClientAuth = MQC.MQSCA_REQUIRED;
this.SSLClientAuth = MQC.MQSCA_REQUIRED; // Not used by client, but leave in here for compatibility
/** @member {number} */
this.KeepAliveInterval = -1;
/** @member {number} */
Expand Down
2 changes: 1 addition & 1 deletion lib/mqcno.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ var MQCSP = require('./mqcsp.js'); // Security Parms
* @classdesc
* This is a class containing the fields needed for the MQCNO
* (MQ Connection Options) structure. See the
* {@link https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q095410_.htm|MQ Knowledge Center}
* {@link https://www.ibm.com/docs/en/ibm-mq/latest?topic=mqi-mqcno-connect-options|MQ Documentation}
* for more details on the usage of each field.
* Not all of the underlying fields may be exposed in this object.
*/
Expand Down
4 changes: 2 additions & 2 deletions lib/mqcsp.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ var MQC = require('./mqidefs.js');
* @classdesc
* This is a class containing the fields needed for the MQCSP
* (MQ Connection Security Parameters) structure. See the
* {@link https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q095610_.htm|MQ Knowledge Center}
* {@link https://www.ibm.com/docs/en/ibm-mq/latest?topic=mqi-mqcsp-security-parameters|MQ Documentation}
* for more details on the usage of each field.
* Not all of the underlying fields may be exposed in this object. For example,
* unlike the regular MQI, we don't bother exposing the authenticationType
Expand All @@ -47,7 +47,7 @@ exports.MQCSP = function() {
this.UserId = null;
/** @member {String} */
this.Password = null;
this._authenticationType = MQC.MQCSP_NONE;
this._authenticationType = MQC.MQCSP_AUTH_NONE;
/** @member {String} */
this.InitialKey = null;
/** @member {String} */
Expand Down
2 changes: 1 addition & 1 deletion lib/mqgmo.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const log = require('./mqilogger.js');
* @classdesc
* This is a class containing the fields needed for the MQGMO
* (MQ Get Message Options) structure. See the
* {@link https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q096710_.htm|MQ Knowledge Center}
* {@link https://www.ibm.com/docs/en/ibm-mq/latest?topic=mqi-mqgmo-get-message-options|MQ Documentation}
* for more details on the usage of each field.
* Not all of the underlying fields may be exposed in this object.
* <p>Note: This sets the FIQ flag by default, which is not standard in the MQI
Expand Down
8 changes: 3 additions & 5 deletions lib/mqi.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
* same verbs and structures as the C or COBOL interface, but with a more
* natural syntax, removing the need for a JavaScript developer to worry about
* how to map to the native C libraries.
* <p>This contrasts with the MQ Light API and MQTT interface
* <p>This contrasts with the AMQP and MQTT interface
* that are also available for Node.js, but are tied to a publish/subscribe
* messaging model. MQ also incorporates a simple REST API for direct access to
* the messaging service, but that too does not give the full flexibility of
Expand All @@ -53,9 +53,7 @@
* field names are rejected.
*
* <p>Sample programs are included with the package to demonstrate how to use it.
* See {@link https://marketaylor.synology.me/?p=505|here} for
* more discussion of the interface.
*
*
* @author Mark Taylor
* @copyright Copyright (c) IBM Corporation 2017, 2023
*/
Expand Down Expand Up @@ -452,7 +450,7 @@ function _connx(jsqMgrName, jscno, async, cb) {
throw new TypeError('Parameter must be of type MQBNO');
}
savedBnoOptions = jsbno.Options;
jsbno.Options = mqt.flagsToNumber('MQCNO', jscno.Options);
jsbno.Options = mqt.flagsToNumber('MQBNO', jsbno.Options);
}

if (async) {
Expand Down
16 changes: 11 additions & 5 deletions lib/mqidefs_aix.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
*
*
* <BEGIN_BUILDINFO>
* Generated on: 5/31/23 12:58 PM
* Build Level: p933-L230531
* Generated on: 9/27/23 11:53 AM
* Build Level: p934-L230927
* Build Type: Production
* <END_BUILDINFO>
*/
Expand Down Expand Up @@ -1034,7 +1034,7 @@ module.exports = Object.freeze ({
, MQCMDI_SEC_SIGNOFF_ERROR :17
, MQCMDI_SEC_TIMER_ZERO :14
, MQCMDI_SEC_UPPERCASE :21
, MQCMDL_CURRENT_LEVEL :933
, MQCMDL_CURRENT_LEVEL :934
, MQCMDL_LEVEL_1 :100
, MQCMDL_LEVEL_101 :101
, MQCMDL_LEVEL_110 :110
Expand Down Expand Up @@ -1085,6 +1085,7 @@ module.exports = Object.freeze ({
, MQCMDL_LEVEL_931 :931
, MQCMDL_LEVEL_932 :932
, MQCMDL_LEVEL_933 :933
, MQCMDL_LEVEL_934 :934
, MQCMD_ACCOUNTING_MQI :167
, MQCMD_ACCOUNTING_Q :168
, MQCMD_ACTIVITY_MSG :69
Expand Down Expand Up @@ -1372,14 +1373,17 @@ module.exports = Object.freeze ({
, MQCRC_PROGRAM_NOT_AVAILABLE :7
, MQCRC_SECURITY_ERROR :6
, MQCRC_TRANSID_NOT_AVAILABLE :9
, MQCSP_AUTH_ID_TOKEN :2
, MQCSP_AUTH_NONE :0
, MQCSP_AUTH_USER_ID_AND_PWD :1
, MQCSP_CURRENT_LENGTH :80
, MQCSP_CURRENT_VERSION :2
, MQCSP_CURRENT_LENGTH :104
, MQCSP_CURRENT_VERSION :3
, MQCSP_LENGTH_1 :56
, MQCSP_LENGTH_2 :80
, MQCSP_LENGTH_3 :104
, MQCSP_VERSION_1 :1
, MQCSP_VERSION_2 :2
, MQCSP_VERSION_3 :3
, MQCSRV_CONVERT_NO :0
, MQCSRV_CONVERT_YES :1
, MQCSRV_DLQ_NO :0
Expand Down Expand Up @@ -4137,6 +4141,7 @@ module.exports = Object.freeze ({
, MQRC_TERMINATION_FAILED :2287
, MQRC_TMC_ERROR :2191
, MQRC_TM_ERROR :2265
, MQRC_TOKEN_TIMESTAMP_NOT_VALID :2064
, MQRC_TOPIC_NOT_ALTERABLE :2510
, MQRC_TOPIC_STRING_ERROR :2425
, MQRC_TRIGGER_CONTROL_ERROR :2075
Expand Down Expand Up @@ -4993,6 +4998,7 @@ module.exports = Object.freeze ({
, MQ_CREATION_DATE_LENGTH :12
, MQ_CREATION_TIME_LENGTH :8
, MQ_CSP_PASSWORD_LENGTH :256
, MQ_CSP_TOKEN_LENGTH :8192
, MQ_CUSTOM_LENGTH :128
, MQ_DATA_SET_NAME_LENGTH :44
, MQ_DATE_LENGTH :12
Expand Down
16 changes: 11 additions & 5 deletions lib/mqidefs_darwin.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
*
*
* <BEGIN_BUILDINFO>
* Generated on: 5/31/23 12:58 PM
* Build Level: p933-L230531
* Generated on: 9/27/23 11:53 AM
* Build Level: p934-L230927
* Build Type: Production
* <END_BUILDINFO>
*/
Expand Down Expand Up @@ -1034,7 +1034,7 @@ module.exports = Object.freeze ({
, MQCMDI_SEC_SIGNOFF_ERROR :17
, MQCMDI_SEC_TIMER_ZERO :14
, MQCMDI_SEC_UPPERCASE :21
, MQCMDL_CURRENT_LEVEL :933
, MQCMDL_CURRENT_LEVEL :934
, MQCMDL_LEVEL_1 :100
, MQCMDL_LEVEL_101 :101
, MQCMDL_LEVEL_110 :110
Expand Down Expand Up @@ -1085,6 +1085,7 @@ module.exports = Object.freeze ({
, MQCMDL_LEVEL_931 :931
, MQCMDL_LEVEL_932 :932
, MQCMDL_LEVEL_933 :933
, MQCMDL_LEVEL_934 :934
, MQCMD_ACCOUNTING_MQI :167
, MQCMD_ACCOUNTING_Q :168
, MQCMD_ACTIVITY_MSG :69
Expand Down Expand Up @@ -1372,14 +1373,17 @@ module.exports = Object.freeze ({
, MQCRC_PROGRAM_NOT_AVAILABLE :7
, MQCRC_SECURITY_ERROR :6
, MQCRC_TRANSID_NOT_AVAILABLE :9
, MQCSP_AUTH_ID_TOKEN :2
, MQCSP_AUTH_NONE :0
, MQCSP_AUTH_USER_ID_AND_PWD :1
, MQCSP_CURRENT_LENGTH :80
, MQCSP_CURRENT_VERSION :2
, MQCSP_CURRENT_LENGTH :104
, MQCSP_CURRENT_VERSION :3
, MQCSP_LENGTH_1 :56
, MQCSP_LENGTH_2 :80
, MQCSP_LENGTH_3 :104
, MQCSP_VERSION_1 :1
, MQCSP_VERSION_2 :2
, MQCSP_VERSION_3 :3
, MQCSRV_CONVERT_NO :0
, MQCSRV_CONVERT_YES :1
, MQCSRV_DLQ_NO :0
Expand Down Expand Up @@ -4137,6 +4141,7 @@ module.exports = Object.freeze ({
, MQRC_TERMINATION_FAILED :2287
, MQRC_TMC_ERROR :2191
, MQRC_TM_ERROR :2265
, MQRC_TOKEN_TIMESTAMP_NOT_VALID :2064
, MQRC_TOPIC_NOT_ALTERABLE :2510
, MQRC_TOPIC_STRING_ERROR :2425
, MQRC_TRIGGER_CONTROL_ERROR :2075
Expand Down Expand Up @@ -4993,6 +4998,7 @@ module.exports = Object.freeze ({
, MQ_CREATION_DATE_LENGTH :12
, MQ_CREATION_TIME_LENGTH :8
, MQ_CSP_PASSWORD_LENGTH :256
, MQ_CSP_TOKEN_LENGTH :8192
, MQ_CUSTOM_LENGTH :128
, MQ_DATA_SET_NAME_LENGTH :44
, MQ_DATE_LENGTH :12
Expand Down
16 changes: 11 additions & 5 deletions lib/mqidefs_linuxARM.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
*
*
* <BEGIN_BUILDINFO>
* Generated on: 5/31/23 12:58 PM
* Build Level: p933-L230531
* Generated on: 9/27/23 11:53 AM
* Build Level: p934-L230927
* Build Type: Production
* <END_BUILDINFO>
*/
Expand Down Expand Up @@ -1034,7 +1034,7 @@ module.exports = Object.freeze ({
, MQCMDI_SEC_SIGNOFF_ERROR :17
, MQCMDI_SEC_TIMER_ZERO :14
, MQCMDI_SEC_UPPERCASE :21
, MQCMDL_CURRENT_LEVEL :933
, MQCMDL_CURRENT_LEVEL :934
, MQCMDL_LEVEL_1 :100
, MQCMDL_LEVEL_101 :101
, MQCMDL_LEVEL_110 :110
Expand Down Expand Up @@ -1085,6 +1085,7 @@ module.exports = Object.freeze ({
, MQCMDL_LEVEL_931 :931
, MQCMDL_LEVEL_932 :932
, MQCMDL_LEVEL_933 :933
, MQCMDL_LEVEL_934 :934
, MQCMD_ACCOUNTING_MQI :167
, MQCMD_ACCOUNTING_Q :168
, MQCMD_ACTIVITY_MSG :69
Expand Down Expand Up @@ -1372,14 +1373,17 @@ module.exports = Object.freeze ({
, MQCRC_PROGRAM_NOT_AVAILABLE :7
, MQCRC_SECURITY_ERROR :6
, MQCRC_TRANSID_NOT_AVAILABLE :9
, MQCSP_AUTH_ID_TOKEN :2
, MQCSP_AUTH_NONE :0
, MQCSP_AUTH_USER_ID_AND_PWD :1
, MQCSP_CURRENT_LENGTH :80
, MQCSP_CURRENT_VERSION :2
, MQCSP_CURRENT_LENGTH :104
, MQCSP_CURRENT_VERSION :3
, MQCSP_LENGTH_1 :56
, MQCSP_LENGTH_2 :80
, MQCSP_LENGTH_3 :104
, MQCSP_VERSION_1 :1
, MQCSP_VERSION_2 :2
, MQCSP_VERSION_3 :3
, MQCSRV_CONVERT_NO :0
, MQCSRV_CONVERT_YES :1
, MQCSRV_DLQ_NO :0
Expand Down Expand Up @@ -4137,6 +4141,7 @@ module.exports = Object.freeze ({
, MQRC_TERMINATION_FAILED :2287
, MQRC_TMC_ERROR :2191
, MQRC_TM_ERROR :2265
, MQRC_TOKEN_TIMESTAMP_NOT_VALID :2064
, MQRC_TOPIC_NOT_ALTERABLE :2510
, MQRC_TOPIC_STRING_ERROR :2425
, MQRC_TRIGGER_CONTROL_ERROR :2075
Expand Down Expand Up @@ -4993,6 +4998,7 @@ module.exports = Object.freeze ({
, MQ_CREATION_DATE_LENGTH :12
, MQ_CREATION_TIME_LENGTH :8
, MQ_CSP_PASSWORD_LENGTH :256
, MQ_CSP_TOKEN_LENGTH :8192
, MQ_CUSTOM_LENGTH :128
, MQ_DATA_SET_NAME_LENGTH :44
, MQ_DATE_LENGTH :12
Expand Down
16 changes: 11 additions & 5 deletions lib/mqidefs_linuxIntel.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
*
*
* <BEGIN_BUILDINFO>
* Generated on: 5/31/23 12:58 PM
* Build Level: p933-L230531
* Generated on: 9/27/23 11:53 AM
* Build Level: p934-L230927
* Build Type: Production
* <END_BUILDINFO>
*/
Expand Down Expand Up @@ -1034,7 +1034,7 @@ module.exports = Object.freeze ({
, MQCMDI_SEC_SIGNOFF_ERROR :17
, MQCMDI_SEC_TIMER_ZERO :14
, MQCMDI_SEC_UPPERCASE :21
, MQCMDL_CURRENT_LEVEL :933
, MQCMDL_CURRENT_LEVEL :934
, MQCMDL_LEVEL_1 :100
, MQCMDL_LEVEL_101 :101
, MQCMDL_LEVEL_110 :110
Expand Down Expand Up @@ -1085,6 +1085,7 @@ module.exports = Object.freeze ({
, MQCMDL_LEVEL_931 :931
, MQCMDL_LEVEL_932 :932
, MQCMDL_LEVEL_933 :933
, MQCMDL_LEVEL_934 :934
, MQCMD_ACCOUNTING_MQI :167
, MQCMD_ACCOUNTING_Q :168
, MQCMD_ACTIVITY_MSG :69
Expand Down Expand Up @@ -1372,14 +1373,17 @@ module.exports = Object.freeze ({
, MQCRC_PROGRAM_NOT_AVAILABLE :7
, MQCRC_SECURITY_ERROR :6
, MQCRC_TRANSID_NOT_AVAILABLE :9
, MQCSP_AUTH_ID_TOKEN :2
, MQCSP_AUTH_NONE :0
, MQCSP_AUTH_USER_ID_AND_PWD :1
, MQCSP_CURRENT_LENGTH :80
, MQCSP_CURRENT_VERSION :2
, MQCSP_CURRENT_LENGTH :104
, MQCSP_CURRENT_VERSION :3
, MQCSP_LENGTH_1 :56
, MQCSP_LENGTH_2 :80
, MQCSP_LENGTH_3 :104
, MQCSP_VERSION_1 :1
, MQCSP_VERSION_2 :2
, MQCSP_VERSION_3 :3
, MQCSRV_CONVERT_NO :0
, MQCSRV_CONVERT_YES :1
, MQCSRV_DLQ_NO :0
Expand Down Expand Up @@ -4137,6 +4141,7 @@ module.exports = Object.freeze ({
, MQRC_TERMINATION_FAILED :2287
, MQRC_TMC_ERROR :2191
, MQRC_TM_ERROR :2265
, MQRC_TOKEN_TIMESTAMP_NOT_VALID :2064
, MQRC_TOPIC_NOT_ALTERABLE :2510
, MQRC_TOPIC_STRING_ERROR :2425
, MQRC_TRIGGER_CONTROL_ERROR :2075
Expand Down Expand Up @@ -4993,6 +4998,7 @@ module.exports = Object.freeze ({
, MQ_CREATION_DATE_LENGTH :12
, MQ_CREATION_TIME_LENGTH :8
, MQ_CSP_PASSWORD_LENGTH :256
, MQ_CSP_TOKEN_LENGTH :8192
, MQ_CUSTOM_LENGTH :128
, MQ_DATA_SET_NAME_LENGTH :44
, MQ_DATE_LENGTH :12
Expand Down
Loading

0 comments on commit f0f07cb

Please sign in to comment.