SQLite v3.10.0 Released

D. Richard Hipp has just released SQLite v3.10.0.
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, macOS (Mac OS X), Open Source, Programming, Unix, Windows Comments Off on SQLite v3.10.0 Released

A Comparison of Capitalware’s MQAUSX to MQ V8 Authentication

This is an update to a posting I made last year which includes new features in MQAUSX & z/MQAUSX and updates made to MQ V8 via Fix Packs.

The following is a comparison of Capitalware’s MQ Authenticate User Security Exit (MQAUSX) to IBM’s MQ V8 new authentication feature. By authentication, I mean UserId and Password authentication against a target system (i.e. Local OS, LDAP, etc.).

Authentication IBM MQ V8 MQAUSX
& z/MQAUSX
Authentication against Local OS Yes Yes
Authentication against LDAP Server Yes Yes
Authentication against LDAP Server using SSL Yes Yes
Authentication against MS Active Directory from Windows No Yes
Number of LDAP calls to perform Authentication 2 1*
Authentication against Quest Authentication Services No Yes
Authentication against Centrify’s DirectControl No Yes
Authentication against PAM Yes** Yes
Authentication against RACF – z/OS only Yes Yes
Authentication against ACF2 – z/OS only Yes Yes
Authentication against TopSecret – z/OS only Yes Yes
Authentication against File Based Authentication No Yes
Ability to use more than 1 authentication type per Queue Manager No Yes
Ability to set authentication order No Yes
Group Functionality IBM MQ V8 MQAUSX
& z/MQAUSX
Only allow the connection if the UserId exists in a particular LDAP Group No Yes
Only allow the connection if the UserId exists in a particular Local OS Group No Yes
Only allow the connection if the UserId exists in a particular File-based Group No Yes
Control Functionality IBM MQ V8 MQAUSX
& z/MQAUSX
Assign a Password to a Queue Manager No Yes
Credential Caching No Yes
Allow/Reject by IP Address Yes Yes
Allow/Reject by Hostname (DNS) Yes Yes
Allow/Reject by Host by Name No Yes
Allow/Reject by SSL DN Yes Yes
Allow/Reject by UserId Yes Yes
Allow/Reject by MS Active Directory Name No Yes
Ability to Reject Self Signed Certificates No Yes
Limit the number of connections by Channel Yes Yes
Ability to secure cluster channels Yes Yes
Mapping Functionality IBM MQ V8 MQAUSX
& z/MQAUSX
Map incoming UserID to another UserId to be used as the connection MCAUSER value Yes Yes
Map SSL UserId to the connection MCAUSER value Yes Yes
Map the channel’s SSLCertUserID to the connection MCAUSER value – z/OS only No Yes
Logging Functionality IBM MQ V8 MQAUSX
& z/MQAUSX
Logging (& alerting) of Excessive Client Connections No Yes
Generate an alert when number of connections by Channel reaches a certain percentage No Yes
Logging of successful connections Partial Yes
Logging of failed connection attempts Yes Yes
Write event message for failed connection attempts Yes*** Yes

* A single LDAP API call is used for a standard LDAP v3 server. MQAUSX will issue 2 LDAP API calls to Microsoft Active Directory as an LDAP server.

** Requires MQ v8 with Fix Pack 3 or higher

*** Event messages must be enabled first.

MQ V8 offers basic UserId and Password authentication and control over access granted to an incoming connection (CHLAUTH) whereas MQAUSX offers a robust solution that includes authentication to a variety of different targets and a wide variety of secondary features to control incoming connections.

I hope the above information is useful.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Linux, MQ Authenticate User Security Exit, Security, Unix, Windows, z/OS Comments Off on A Comparison of Capitalware’s MQAUSX to MQ V8 Authentication

New: Universal File Mover v1.2.2

Capitalware is pleased to announce the release of Universal File Mover v1.2.2. It is a free open source project.

Universal File Mover is more than a simple tool to manage the transfer of files. It allows the user to combine business processes into a workflow. The user combines a series of Action commands to create the UFM Workflow XML file. UFM is supported on AIX, HP-UX, IBM i (OS/400), Linux, Mac OS X, Solaris and Windows.

    Changes:

  • Fixed an issue with Zip Action not honoring the createdir attribute
  • Fixed the reported filesize value for MQSend action
  • Added try/catch for MQ version check because not everyone uses UFM with MQ

For more information on Universal File Mover, please go to:
https://www.capitalware.com/ufm_overview.html

Note: When upgrading UFM from an ealier release, please remember to deploy the receiver side first because the MQSend action defaults to use MQ properties. There is a new MQSend attribute called ‘usev7prop’. It defaults to ‘Y’. The user can set the ‘usev7prop’ attribute to ‘N’ and it will use the old style handling for the Remote FileName and Directory.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Java, Linux, macOS (Mac OS X), Open Source, Universal File Mover, Unix, Windows Comments Off on New: Universal File Mover v1.2.2

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 Comments Off on Merry Christmas and Happy New Year

Mozilla Firefox 43.0 Released

Mozilla Firefox has just released Mozilla Firefox v43.0.
http://www.mozilla.com/firefox/

Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. To display web pages, Firefox uses the Gecko layout engine, which implements most current web standards in addition to several features that are intended to anticipate likely additions to the standards

Regards,
Roger Lacroix
Capitalware Inc.

Linux, macOS (Mac OS X), Open Source, Windows Comments Off on Mozilla Firefox 43.0 Released

Missing Channel Names issue in CCDTE Program

An issue was reported today with CCDTE (Client Channel Definition Table Editor) program not displaying all of the channel names from a CCDT file.

The issue has been fixed. If anyone is having this particular issue then send an email to support@capitalware.com and we will send you the latest release of CCDTE.

Note: CCDTE is include with MQAUSX, MQCE & MQCT products.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM MQ, MQ Authenticate User Security Exit, MQ Channel Encryption, MQ Channel Throttler, Windows Comments Off on Missing Channel Names issue in CCDTE Program

WebSphere MQ Fix Pack 7.1.0.7 Released

IBM has just released FixPack 7.1.0.7 for WebSphere MQ
http://www.ibm.com/support/docview.wss?uid=swg21965293

Regards,
Roger Lacroix
Capitalware Inc.

Fix Packs for MQ, IBM i (OS/400), IBM MQ, Linux, Unix, Windows Comments Off on WebSphere MQ Fix Pack 7.1.0.7 Released

How to Create and Empty a NULL Queue in a Queue Manager

The other day, an old consulting colleague emailed me with an interesting question.

A client of mine has an application with no source code that sends messages to the MQ queue specified in a property file. They don’t want this message to be received by the message listener any longer. Code change is not an option. Does MQ have have a “null” queue which would cause the messages to disappear right away?

Without the source code, the number of options are limited. Obviously, if you had the source code, you could simply comment out the MQ code in the program. But in this case, life is not so simple.

My first thought was to have the application use an invalid queue name. This would cause the application to receive Reason Code ‘2085’ (Unknown Object Name). The only problem is that the application needs to continue running rather than error exit.

Then I thought, if Linux/Unix can have /dev/null and Windows has NUL for commands and/or scripts then why shouldn’t MQ have a NULL.Q for throw away messages. This is really easy to implement in MQ with a simple piece of C code called ‘EmptyQ’.

Step #1: Go get the EmptyQ program from my web site at: https://www.capitalware.com/mq_code_c.html

Note: The EmptyQ program is a simple program that retrieves every message from a particular queue and does nothing with the messages (throws the data away). You will need to compile and link the EmptyQ program for the particular platform you require it for.

Step #2: Define the local queue called ‘NULL.Q’ in the queue manager. Use runmqsc and issue the following command:

DEFINE QLOCAL(NULL.Q)

Step #3: Define the queue manager service to run the EmptyQ program. Use runmqsc and issue the following command on Windows:

DEFINE SERVICE(EMPTY_NULL.Q) +
       DESCR('Continuously empty the NULL.Q') +
       STARTCMD('C:\apps\EmptyQ\emptyq.exe') +
       STARTARG('NULL.Q +QMNAME+') +
       STOPCMD(' ') +
       STOPARG(' ') +
       STDOUT('C:\apps\EmptyQ\stdout.log') +
       STDERR('C:\apps\EmptyQ\stderr.log') +
       CONTROL(STARTONLY) +
       SERVTYPE(SERVER) +
       REPLACE

For Linux/Unix use the following command:

DEFINE SERVICE(EMPTY_NULL.Q) +
       DESCR('Continuously empty the NULL.Q') +
       STARTCMD('/apps/EmptyQ/emptyq') +
       STARTARG('NULL.Q +QMNAME+') +
       STOPCMD(' ') +
       STOPARG(' ') +
       STDOUT('/apps/EmptyQ/stdout.log') +
       STDERR('/apps/EmptyQ/stderr.log') +
       CONTROL(STARTONLY) +
       SERVTYPE(SERVER) +
       REPLACE

Note: There is no stop command. The MQGET is coded with MQGMO_FAIL_IF_QUIESCING, hence, when the queue manager is shutting down, the EmptyQ program will receive the appropriate Reason Code and terminate.

Step #4: Start the service with the following command on Windows:

START SERVICE(EMPTY_NULL.Q)

You have now created a ‘NULL.Q’ queue and any message put to this queue will be immediately consumed. The service has been setup so that each time the queue manager is restarted, the service will immediately start consuming messages.

Regards,
Roger Lacroix
Capitalware Inc.

———————-

All,

Paul Clarke says the following MQSC command will also do the job:

DEFINE TOPIC(NULLTOPIC) TOPICSTR(‘.NULL.’) SUB(DISABLED)
DEFINE QALIAS(NULLQ) TARGTYPE(TOPIC) TARGET(NULLTOPIC)

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Linux, Open Source, Programming, Unix, Windows, z/OS 1 Comment

New: MQ Authenticate User Security Exit v3.1.0

Capitalware Inc. would like to announce the official release of MQ Authenticate User Security Exit v3.1.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 a WebSphere 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:
https://www.capitalware.com/mqausx_overview.html

Changes for MQ Authenticate User Security Exit v3.1.0:

    Server-side:

  • Added Credential Cache – MQAUSX will cache (when enabled) the user credentials (in an encrypted format) for ‘x’ minutes (default is 5 minutes) in shared memory.
  • Fixed an issue on Windows with freeing environment variable memory (error with FreeEnvironmentStrings Windows API call)
  • Fixed an issue with auxiliary memory (if used) not being freed on a connection rejection
  • Fixed an issue with using “size_t” variable type when it should have been “int”
    Client-side:

  • Fixed an issue with the Login window (mqausxclnt) not being displayed from .NET.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM i (OS/400), IBM MQ, Linux, MQ Authenticate User Security Exit, Security, Unix, Windows Comments Off on New: MQ Authenticate User Security Exit v3.1.0

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

Capitalware Inc. would like to announce the official release of MQ Authenticate User Security Exit for z/OS v3.1.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 a WebSphere 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:
https://www.capitalware.com/mqausx_zos_overview.html

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

    Server-side:

  • Added Credential Cache – MQAUSX will cache (when enabled) the user credentials (in an encrypted format) for ‘x’ minutes (default is 5 minutes) in shared memory.
  • Fixed an issue with auxiliary memory (if used) not being freed on a connection rejection
  • Fixed an issue with using “size_t” variable type when it should have been “int”
    Client-side:

  • Fixed an issue with the Login window (mqausxclnt) not being displayed from .NET.

Regards,
Roger Lacroix
Capitalware Inc.

Capitalware, IBM MQ, MQ Authenticate User Security Exit, Security, z/OS Comments Off on New: MQ Authenticate User Security Exit for z/OS v3.1.0