The 1st Little Birdie to Leave the Nest

Richard (son #1) is in 4th year engineering at the University of Western Ontario in the Mechatronic Systems Engineering program. He has done very well in the program maintaining a high 90’s average.

Over the last few months, he has been applying for a full-time job with a number of companies in North America (i.e. Microsoft, Amazon, Facebook, Google, IBM, Cisco, etc.). Several companies flew him out to the west coast for interviews. In mid-December, he received several job offers and just before Christmas, he accepted the job offer from Google. So, at the beginning of May 2016, Richard will be moving to Silicon Valley in California to start his new job with Google.

Hence, the 1st of 5 kids will be leaving the nest in a few months. Cynthia (my wife, his mom) and I would like to say great job at University and congratulation on the job with Google.

On an interesting side note, Richard won’t be lonely in Silicon Valley (at least in the summer). Tyler (son #2) has gotten an internship with Facebook in Silicon Valley. So, they plan on sharing an apartment during the summer. Tyler is currently in 3rd year engineering at the University of Western Ontario in the Mechatronic Systems Engineering program.

Regards,
Roger Lacroix
Capitalware Inc.

Education 1 Comment

SQLite v3.16.1 Released

D. Richard Hipp has just released SQLite v3.16.1.
http://www.sqlite.org/news.html

SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.

Regards,
Roger Lacroix
Capitalware Inc.

C, Database, IBM i (OS/400), Linux, Mac OS X, Open Source, Programming, Unix, Windows Leave a comment

MQ not honoring MQGMO_PROPERTIES_IN_HANDLE

Summary: For an MQGET with the option of MQGMO_PROPERTIES_IN_HANDLE on a subscription, MQ does not honor the option when a message is published from an MQTT client. Note: This does not happen when a regular MQ client program publishes a message to the same topic.

Setup: MQ v8.0.0.4 (on Windows 64-bit) and the latest SupportPac MA9C.

I am using the ‘Sample.java’ from SupportPac MA9C. Note: I did not modify the ‘Sample.java’ program. I used it as is. It defaults to a topic string of ‘Sample/Java/v3’.

Note: I have not defined the topic in the queue manager.

So here’s my issue: when I run my MQ program that subscribes to a topic (‘Sample/Java/v3’) that the MQTT ‘Sample.java’ program (from SupportPac MA9C) is publishing to, the message is always an MQRFH2 message. Very weird.

MQ Code Snippet:

int openOptionsForGet = CMQC.MQSO_CREATE | CMQC.MQSO_FAIL_IF_QUIESCING | CMQC.MQSO_MANAGED | CMQC.MQSO_NON_DURABLE;
MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.options = CMQC.MQGMO_PROPERTIES_IN_HANDLE | CMQC.MQGMO_FAIL_IF_QUIESCING;
MQMessage getMsg = new MQMessage();

MQQueueManager qMgr = new MQQueueManager("MQA1");
MQTopic subscriber = qMgr.accessTopic( "Sample/Java/v3",
                                       null,
                                       CMQC.MQTOPIC_OPEN_AS_SUBSCRIPTION,
                                       openOptionsForGet);
subscriber.get(getMsg, gmo);

The ‘getMsg’ message has a format of MQRFH2 with a single folder called: ‘mqtt’ with 3 elements: clientid, qos and msgid. There is 1 Named Property called: ‘mqps.Top’.

This is wrong. The message format should not be MQRFH2 but rather ‘blank’ and there should be 4 Named Properties: ‘mqtt.clientId’, ‘mqtt.qos’, ‘mqtt.msgid’ and ‘mqps.Top’.

But if I change the ‘gmo.options’ line to be:

gmo.options = CMQC.MQGMO_PROPERTIES_FORCE_MQRFH2 + CMQC.MQGMO_FAIL_IF_QUIESCING;

Then the ‘getMsg’ message has a format of MQRFH2 with 2 folders called: ‘mqtt’ and ‘mqps’. The ‘mqtt’ folder has the (same) 3 elements: clientid, qos and msgid. The ‘mqps’ folder has 1 element called ‘Top’. There are zero Named Properties. This is the expected result.

So, does anybody know why MQ would not honor the MQGET option of MQGMO_PROPERTIES_IN_HANDLE when the message originates from an MQTT client publisher?

Regards,
Roger Lacroix
Capitalware Inc.

Java, MQ, Programming, Windows 2 Comments

Merry Christmas and Happy New Year

I would like to wish everyone a Merry Christmas, Happy Hanukkah, Happy Kwanzaa, etc… and a Happy New Year. πŸ™‚

Regards,
Roger Lacroix
Capitalware Inc.

General Leave a comment

MQ Visual Edit V2 – Prompt for Password

A customer emailed me the other day saying that their security policy does not allow applications to store passwords (even in encrypted format) on their local PCs. Their security policy states that the user must be prompted for his/her password (like MQ Explorer).

I thought this was a good idea, so I have made a small update to MQ Visual Edit V2.1.0. I added a ‘Prompt for Password’ checkbox on the UserID panel of the Queue Manager Access Profile window. Note: The password field is grayed out when ‘Prompt for Password’ checkbox is selected.

For a connection request to a remote queue manager, when the checkbox is selected, the user will be presented with a popup window requesting the user’s credentials.

This feature will be in the next release of MQ Visual Edit V2. If you would like try it out now then send an email to support@capitalware.com

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, Linux, Mac OS X, MQ, Security, Windows Leave a comment

Capitalware Products 2016 Release Train

Yesterday, Capitalware Inc. released updates to all of the products that involve MQ Exits.

The logging framework used by the commercial products is also implemented in the ‘License as Free’ (LAF) products. This only affects the LAF products on distributed platforms but I also rebuild the LAF products on z/OS just to keep everything in sink.

    Updated ‘License as Free’ products:

  • MQ Channel Auto Creation Manager v1.0.3
  • MQ Channel Auto Creation Manager for z/OS v1.0.3
  • MQ Set UserID v1.0.2
  • MQ Set UserID for z/OS v1.0.2
  • Client-side Security Exit for Depository Trust Clearing Corporation v1.0.2
  • Client-side Security Exit for Depository Trust Clearing Corporation for z/OS v1.0.2

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), Licensed As Free, MQ, MQ Auditor, MQ Authenticate User Security Exit, MQ Channel Encryption, MQ Channel Throttler, MQ Enterprise Security Suite, MQ Message Encryption, MQ Message Replication, MQ Standard Security Exit, Security, Unix, Windows, z/OS Leave a comment

New: MQ Auditor v2.4.0

Capitalware Inc. would like to announce the official release of MQ Auditor v2.4.0. This is a FREE upgrade for ALL licensed users of MQ Auditor. MQ Auditor is a solution that allows a company to audit/track all MQ API calls performed by MQ applications that are connected to a queue manager.

For more information about MQ Auditor go to:
http://www.capitalware.com/mqa_overview.html

    Changes for MQ Auditor v2.4.0:

  • Added the ability to exclude applications – new keywords: UseExcludeApplications & ExcludeApplications
  • Added UserIDFormatting flag to force lowercase/uppercase/as_is UserID formatting on all platforms
  • Enhanced logging – the LogFile keyword now supports the following tokens: %QM%, %UID%, %PID% & %TID%
  • Added code to clear hostname field before use
  • Fixed memory allocation when MQOPEN has a non-zero reason code
  • Fixed issue for MQPUT1 freeing memory twice

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), Linux, MQ, MQ Auditor, Unix, Windows Leave a comment

New: MQ Authenticate User Security Exit v3.2.0

Capitalware Inc. would like to announce the official release of MQ Authenticate User Security Exit v3.2.0. This is a FREE upgrade for ALL licensed users of MQ Authenticate User Security Exit. MQ Authenticate User Security Exit is a solution that allows a company to fully authenticate a user who is accessing an IBM MQ resource. It authenticates the user’s UserID and Password (and possibly Domain Name) against the server’s native OS system, LDAP server, Microsoft’s Active Directory, Quest Authentication Services, Centrify’s DirectControl or an encrypted MQAUSX FBA file.

For more information about MQ Authenticate User Security Exit go to:
http://www.capitalware.com/mqausx_overview.html

Changes for MQ Authenticate User Security Exit v3.2.0:

    Server-side:

  • Added support for log disconnect message (new keyword: LogDiscMessage)
  • Added support for single or double quotes for log message (new keyword: LogMessageQuote)
  • Added support when the auxiliary memory is to be freed – immediately vs on termination (new keyword: FreeAuxOnTerm)
  • Enhanced logging – the LogFile keyword now supports the following tokens: %QM%, %CHL%, %UID%, %PID% & %TID%
  • Fixed an issue with Credential Cache shared memory
  • Fixed an issue with ECC shared memory
  • Fixed an issue with MCC shared memory

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), Linux, MQ, MQ Authenticate User Security Exit, Security, Unix, Windows Leave a comment

New: MQ Authenticate User Security Exit for z/OS v3.2.0

Capitalware Inc. would like to announce the official release of MQ Authenticate User Security Exit for z/OS v3.2.0. This is a FREE upgrade for ALL licensed users of MQ Authenticate User Security Exit for z/OS. MQ Authenticate User Security Exit for z/OS is a solution that allows a company to fully authenticate a user who is accessing an IBM MQ for z/OS resource. It authenticates the user’s UserID and Password against the native z/OS system or an encrypted MQAUSX FBA file.

For more information about MQ Authenticate User Security Exit for z/OS go to:
http://www.capitalware.com/mqausx_zos_overview.html

Changes for MQ Authenticate User Security Exit for z/OS v3.2.0:

    Server-side:

  • Added support for log disconnect message (new keyword: LogDiscMessage)
  • Added support for single or double quotes for log message (new keyword: LogMessageQuote)
  • Added support when the auxiliary memory is to be freed – immediately vs on termination (new keyword: FreeAuxOnTerm)

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, MQ, MQ Authenticate User Security Exit, Security, z/OS Leave a comment

New: MQ Channel Encryption v3.1.2

Capitalware Inc. would like to announce the official release of MQ Channel Encryption (MQCE) v3.1.2. This is a FREE upgrade for ALL licensed users of MQCE. MQCE provides encryption for message data over IBM MQ channels.

MQCE operates with Sender, Receiver, Server, Requester, Cluster-Sender, Cluster-Receiver, Server Connection and Client Connection channels of the WMQ queue managers. MQCE uses Advanced Encryption Standard (AES) to encrypt the data and SHA-2 to create a digital signature.

For more information about MQCE go to:
http://www.capitalware.com/mqce_overview.html

    Changes for MQ Channel Encryption v3.1.2:

  • Enhanced logging – the LogFile keyword now supports the following tokens: %QM%, %CHL%, %UID%, %PID% & %TID%

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), Linux, MQ, MQ Channel Encryption, Security, Unix, Windows Leave a comment