IBM ConnectDirect For UNIX 6.1
IBM ConnectDirect For UNIX 6.1
6.1
Documentation
IBM
This edition applies to Version 5 Release 3 of IBM® Connect:Direct and to all subsequent releases and modifications until
otherwise indicated in new editions.
© Copyright International Business Machines Corporation 1993, 2018.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
Contents
iii
Installing...............................................................................................................................................53
Post-installation tasks..........................................................................................................................70
Upgrade, Rollback, and Uninstall.........................................................................................................70
Known Limitations................................................................................................................................71
Migrating to Connect:Direct for UNIX using Certified Container Software......................................... 72
Migration from Helm 2 to Helm 3 ........................................................................................................73
Troubleshooting your deployment in an IBM Certified container and Docker environment................... 73
Troubleshooting IBM Certified container and Docker Container issues.............................................73
Troubleshooting in a Docker Container environment..........................................................................76
Troubleshooting your IBM certified Containerized environment........................................................77
Managing Files with Sterling Connect:Direct File Agent...........................................................................79
Connect:Direct File Agent Operation................................................................................................... 80
Connect:Direct File Agent Logging Capabilities...................................................................................80
Connect:Direct File Agent Configuration Interface and Help............................................................. 80
Planning the Connect:Direct File Agent Configuration........................................................................80
IBM Connect:Direct Worksheet........................................................................................................... 81
Sterling Connect:Direct File Agent Configuration Examples...............................................................82
Connect:Direct Manual Pages....................................................................................................................84
Accessing IBM Connect:Direct Manual Pages.....................................................................................85
Virtualization support................................................................................................................................ 85
IBM Control Center Director Support........................................................................................................ 85
Configuring Connect:Direct for UNIX for Server and Upgrade Management......................................86
Configuring Connect:Direct for UNIX for License Governance........................................................... 87
Configuring Connect:Direct for Unix for New Install Task...................................................................87
Configuring Connect:Direct for Unix for Custom Locations of Connect:Direct Backups and
Installation Programs......................................................................................................................88
iv
Host Names........................................................................................................................................ 134
Port Numbers..................................................................................................................................... 134
Multiple Addresses, Host Names, and Ports..................................................................................... 134
About Using Masks for IP Address Ranges....................................................................................... 134
Using Connect:Direct in a test mode.......................................................................................................135
Processing Flow of the Test Mode..................................................................................................... 135
Preparing the NDMPXTBL Parameter Table...................................................................................... 136
Sample Test Scenarios.......................................................................................................................138
Chapter 5. Using FASP with IBM Aspera High-Speed Add-on for Connect:Direct
for UNIX (V4.2.0.3 or later) ............................................................................219
Activating FASP........................................................................................................................................219
Licensed bandwidth for FASP transactions............................................................................................ 219
FASP Process Language.......................................................................................................................... 220
v
Using Connect:Direct for UNIX with IBM Aspera High-Speed Add-on and Secure Proxy (V4.2.0.4
or later)............................................................................................................................................... 221
Configuring FASP..................................................................................................................................... 223
FASP Messages........................................................................................................................................ 226
Monitoring FASP transactions................................................................................................................. 227
Limitations............................................................................................................................................... 228
Chapter 6. Using S3 object store providers with IBM Connect:Direct for UNIX .....229
Setting up Connect:Direct Node on S3 object store providers...............................................................229
Using IBM Connect:Direct® for Unix with AWS S3.................................................................................. 234
Limitations............................................................................................................................................... 235
vi
Access Secure+ Parameters File Audit Logs..................................................................................... 276
Secure+ Parameters File Audit Log Entries.......................................................................................276
IBM Connect:Direct Secure Plus Certificate Auditing....................................................................... 277
Troubleshooting.......................................................................................................................................279
Configuration Worksheets....................................................................................................................... 282
Local Node Security Feature Definition Worksheet.......................................................................... 282
Remote Node Security Feature Definition Worksheet...................................................................... 282
Certificate File Layout..............................................................................................................................283
Formats.............................................................................................................................................. 284
Sample Certificate Files..................................................................................................................... 285
Automation Scripts.................................................................................................................................. 286
Configure Connect:Direct Secure Plus to Use the TLS Protocol....................................................... 286
Use the LCU to Configure Encrypted Passwords.................................................................................... 288
Notices..............................................................................................................297
Trademarks.............................................................................................................................................. 298
Terms and conditions for product documentation................................................................................. 299
vii
viii
Chapter 1. Release Notes
The IBM® Connect:Direct® for UNIX Release Notes document supplements Connect:Direct for UNIX
documentation. Release notes are updated with each release of the product and contain last-minute
changes and product requirements, as well as other information pertinent to installing and implementing
Connect:Direct for UNIX.
iFix013 (v6.1.0.2)
FixPack 2 (v6.1.0.2)
FixPack 1 (v6.1.0.1)
* When upgrading Connect:Direct for UNIX through Control Center Directer, an extra 3 GB is required for
temporary storage.
** IBM does not formally test and certify Connect:Direct on CentOS. However as CentOS is derived from
the sources of Red Hat Enterprise Linux (RHEL), we believe that the product should work correctly. IBM
will investigate and troubleshoot a problem until it is determined that the problem caused by a difference
in behavior between CentOS and RHEL. Defect support will only be available for problems that can be
reproduced on a certified platform as documented in the Software Product Compatibility Reports (link:
https://www.ibm.com/software/reports/compatibility/clarity/index.html?
lnk=uctug_ratl_dw_2013-02-01_clarity_updated).
Support statement for IBM Connect:Direct for UNIX certified containers for Red Hat
that are deployed using OpenShift Container Platform
IBM Connect:Direct for UNIX certified containers for Red Hat are built to deploy on the Red Hat OpenShift
Container Platform. The product containers and deployment model are certified by IBM to be production
ready, enterprise-grade, resilient, secure and compliant in many public and private clouds which the
OpenShift Container Platform supports. IBM Technical Support supports this delivery model across the
lifecycle management of IBM Connect:Direct for UNIX certified containers, including container
orchestration scripts in OpenShift Container Platform and product documentation.
Support statement for IBM Connect:Direct for UNIX certified containers deployed
on non-OpenShift Container Platform
For users who choose to deploy the IBM certified containers on; proprietary container orchestration tools
such as EKS/GKE/AKS/PCF, on public cloud such as Amazon/Azure/ Google or in their private cloud using
native Kubernetes, the IBM Technical Support is limited to the base Connect:Direct for UNIX software,
certified containers, and HELM package manager. IBM provides limited support for the container editions
that are deployed in proprietary renderings for Kubernetes. The non-conformant characteristics of such
tools hinder the ability for IBM to assist users in all scenarios.
Known Restrictions
Connect:Direct for UNIX has the following restrictions when using third-party hardware or software:
• Due to a system library change on Red Hat Enterprise Linux version 8, you must set your current
working directory (CWD) to {CDU install dir}/ndm/bin to invoke the executable modules there.
To invoke these modules from another CWD, there are two options:
xset fp default
This command maps all unknown fonts to a default value and prevents IBM Connect:Direct for UNIX
from performing a core dump if it is unable to locate a font.
• Connect:Direct Secure Plus Connect Direct for UNIX is administered through Java and a graphical user
interface (GUI). The standard UNIX telnet server does not support a GUI client session. To use the UNIX
GUI you must be connected to the UNIX server via an X Windows client session, such as xterm. If you
are connected to the UNIX server using a telnet session, you will not be able to run the GUI sessions
required to install and administer IBM Connect:Direct for UNIX. If you do not have access to X Windows,
you can use the Connect:Direct Secure Plusfor UNIX Command Line Interface (Secure+ CLI).
• Connect:Direct Secure Plus IBM Connect Direct for UNIX does not support server gated crypto (SGC)
certificates.
• The Secure+ CLI does not support using $HOME or the tilde (~) to specify the path to your home
directory.
• When using the Secure+ CLI on the Solaris platform, command entries may be limited by the buffer size.
To resolve this limitation, add line breaks to a command entry. For example, enter the following
command with line breaks:
SslTlsEnableCipher=(TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_RC4_128_MD5,
SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA,
SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5,
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_RSA_WITH_NULL_MD5);
• On the HP-UX, IBM System pSeries, and Linux platforms, when a run task defines an invalid UNIX
command, the operating system return code is 127 and the completion code (CCOD) reported by
Connect:Direct for UNIX is displayed in hexadecimal (7F) in the statistics output. This return code is
correct for the error received, even though most return codes are defined as 0, 4, 8, or 16.
If the return code value of 127 is the highest step return code, the Process End (PRED) statistics record
message ID is set to the Message ID of the run task step. On other platforms, the run task return code is
1, resulting in the message ID of XSMG252I in the PRED statistics record.
• Connect:Direct Browser User Interface IBM Connect Direct for UNIX is not supported running on HP
Integrity systems with Intel Itanium processors.
• Installation on Linux platforms displays the following message:
awk: cmd. line:6: warning: escape sequence `\.' treated as plain `.'
Upgrade Considerations
If you are upgrading from an existing version of Connect:Direct for UNIX, observe the following guidelines:
• SNMP is no longer supported. If you are using SNMP and upgrade to this version, other functionality will
not be negatively impacted. However, you will no longer receive SNMP messages.
• Change the ownership on the statistics files in your work directory so that these files are owned by the
user who starts the cdpmgr daemon. Use the following command sequence to change the ownership of
the statistics files:
$ su root
Password: root_password
# cd cddir/work/node
# chown user_who_starts_cdpmgr S*.???
The upgrade considerations for installing Connect:Direct for UNIX on EC2 are described in section "
Prerequisites for activating Connect:Direct Unix on AWS cloud".
The following variable definitions apply:
– root_password - Root user's password
– cddir - Directory in which Connect:Direct for UNIX is installed
– node - Your Connect:Direct for UNIX node name
– user_who_starts_cdpmgr - User name of the user who will start the cdpmgr daemon
• If you are upgrading a collection of Connect:Direct for UNIX nodes in a load-balancing environment,
stop all of the nodes before you begin the upgrade. You can restart the nodes after they have been
upgraded.
• If you are upgrading on HPUXIT and SOLARIS, the netmap must be reconfigured. Add rpc.pmgr.port
to the local.node entry in the netmap.cfg file. If this entry is not added, the RPC Server utilizes port
1367 by default. If the default port is busy, the connection with Connect:Direct Server does not come
up.
Special Considerations
This section contains considerations in addition to the procedures defined. Refer to the following notes
before installing the product.
• Although Connect:Direct for UNIX Process names can be up to 255 characters long, some IBM
Connect:Direct platforms, such as Connect:Direct for z/OS® limit Process names to eight characters.
Libraries to Install
Ensure that you have the following libraries installed:
The getting started with IBM Connect:Direct for UNIX workflow describes steps to set it up. This workflow
describes how to plan, install, and manage a Connect:Direct over UNIX deployment.
Process Manager
The Process Manager (PMGR) is the daemon that initializes the Connect:Direct for UNIX server
environment. Any application, including End User Applications (EUA), can run on any computer as long as
it can connect to the PMGR. The PMGR provides the following functions:
• Initializes Connect:Direct for UNIX
• Accepts connection requests from Connect:Direct for UNIX client APIs and remote nodes
• Creates Command Manager and Session Manager child Processes to communicate with APIs and
remote nodes
• Accepts requests from Command Managers and Session Managers when centralized Connect:Direct for
UNIX functions are required
• Stops Connect:Direct for UNIX
Command Manager
Command Manager
A Command Manager (CMGR) is created for every API connection that is successfully established. The
number of Command Managers that a PMGR can create is system-dependent and limited by the number
of file descriptors available for each UNIX Process. The number of file descriptors set up by the UNIX
operating system may affect Connect:Direct for UNIX operation. You must define enough file descriptors
to handle the number of concurrent Connect:Direct for UNIX sessions allowed, which can be as many as
999.
The CMGR provides the following functions:
• Executes commands sent by the API and sends the results back to the API
• Carries out the Connect:Direct for UNIX authentication procedure, in conjunction with the API, to
determine access to Connect:Direct for UNIX
• Interacts with the PMGR when executing commands
User Authorization
Connect:Direct for UNIX can authorize local and remote users to perform certain Connect:Direct for UNIX
tasks. In order to use Connect:Direct for UNIX, each user must have a record defined in the user
authorization file, called userfile.cfg. Each local user must have a record in the user authorization file, and
remote users may be mapped to a local user ID in a proxy relationship.
To provide a method of preventing an ordinary user from gaining root access through Connect:Direct for
UNIX, a second access file called the Strong Access Control (SACL) file is created when you install
Connect:Direct for UNIX and is named sysacl.cfg. The root:deny.access parameter, which is specified in
the sysacl.cfg file, allows, denies, or limits root access to Connect:Direct for UNIX. If the SACL file is
deleted or corrupted, access to Connect:Direct for UNIX is denied to all users.
Process Restart
Several facilities are provided for Process recovery after a system malfunction. The purpose of Process
recovery is to resume execution as quickly as possible and to minimize redundant data transmission after
a system failure. The following Connect:Direct for UNIX facilities are available to enable Process recovery:
• Process step restart—As a Process runs, the steps are recorded in the TCQ. If a Process is interrupted
for any reason, the Process is held in the TCQ. When you release the Process to continue running, the
Process automatically begins at the step where it halted.
• Automatic session retry—Two sets of connection retry parameters are defined in the remote node
information record of the network map file: short-term and long-term. If you do not specify a value for
these parameters in the remote node information record, default values are used from the local.node
entry of the network map file. The short-term parameters allow immediate retry attempts. Long-term
parameters are used after all short-term retries are attempted. Long-term attempts assume that the
connection problem cannot be fixed quickly and retry attempts occur after a longer time period, thus
saving the overhead of connection retry attempts.
• Checkpoint restart—This feature is available with the copy statement.
Checkpoint restart can be explicitly configured within a copy step through the ckpt parameter. If it is not
configured in the copy step, it can be configured in the Initparms through the ckpt.interval parameter.
• Run Task restart—If a Process is interrupted when a run task on an SNODE step is executing,
Connect:Direct for UNIX attempts to synchronize the previous run task step on the SNODE with the
current run task step. Synchronization occurs in one of the following ways:
– If the SNODE is executing the task when the Process is restarted, it waits for the task to complete,
and then responds to the PNODE with the task completion status. Processing continues.
The following information displays the names of sample programs and a description:
• apicheck.c - Submits a Process to copy a file to a remote system. MAXDELAY is used in this example,
which means that the program will not finish execution until the file has been transferred. A standard c
compiler is used to compile this module.
• apicheck.C - Same as apicheck.c, except that it is compiled with one of the C++ compilers listed in the
Connect:Direct for UNIX User Guide.
• exit_skeleton.c - This program is a skeleton of a user exit program that works in conjunction with
Connect:Direct for UNIX. It demonstrates usage of all three user exits.
• exit_skeleton.C - Same as exit_skeleton_c, except that it is compiled with one of the C++ compilers
listed in the Connect:Direct for UNIX User Guide.
• exit_sample.c - This is the same program as the skeleton user exit program, except that the security exit
is demonstrated with code that approximates PassTicket functionality.
Installation Overview
The Installing section provides a quick reference to the installation process for Connect:Direct for UNIX
followed by a detailed process. The installation and upgrade processes both include downloading
installation items, completing prerequisites, preparing systems, running the installer, and completing the
post-installation configurations.
Note: IBM Connect:Direct for UNIX can be deployed using an IBM Certified Container.
• The certified container offers a Red Hat certified IBM Connect:Direct for UNIX image and Helm chart
and can be used to deploy a production-ready IBM Connect:Direct image into Red Hat OpenShift/
Kubernetes Service. For more information on see, “Deploying IBM Connect:Direct for UNIX using an IBM
Certified Container Software” on page 49.
• Additionally, this Red Hat certified container image can also be deployed in a standalone Docker
environment. For more information see, “Deploying IBM Connect:Direct for UNIX using a Docker
container” on page 37.
Worksheet Instructions
Before you install IBM Connect:Direct for UNIX, complete the worksheets to help you gather the
information needed to complete the installation.
Complete the following worksheets before you begin the installation.
• Installation Worksheet
• User Authorization Information File Worksheet
• CLI/API Configuration File Worksheet
The following worksheets are provided for your convenience:
• Network Map Remote Node Information File Worksheet
• Server Authentication key File Worksheet
• Client Authentication key File Worksheet
Installation Worksheet
Complete this worksheet to assist you during the installation procedure.
Parameter Value
TCP/IP host name of the computer where the IBM Connect:Direct server is installed
Directory or path on which the distribution media will be mounted
Customization Worksheet
Use this worksheet during customization. Refer to the Customizing Connect:Direct for UNIX.
IBM Connect:Direct security depends on a key (similar to a password) in a IBM Connect:Direct server and
an identical key in each API that communicates with that server. The keys are defined and coordinated by
the system administrator of the specific node or nodes, and should be kept secure. Be sure the
authentication keys are available during installation, but do not record them on this worksheet or where
they can be lost.
Procedure
1. If you downloaded the software from IBM Passport Advantage, extract the installation files from the
download folder.
Note: For information on the how to download software using Passport Advantage see, https://
www.ibm.com/software/passportadvantage/index.html.
2. Log on to the UNIX system with the privileges required to install software. You can create an account
specifically for this purpose. Do not install as root.
3. Type the following command and press Enter to change to the directory that correspond to the UNIX
platform:
cd /<platform directory>
Refer to the following information for the name of the platform directory for each platform.
HP UX Itanium
HP_Itanium
IBM System pSeries
IBM
Sun SPARC systems
Sun_Solaris
Red Hat
RedHat_linux
SuSE
SuSE_linux
Linux for zSeries
IBMS390_linux
4. Type the following command to start the installation and press Enter:
cdinstall
Installation on Linux platforms displays the following message: awk: cmd. line:6: warning: escape
sequence `\.' treated as plain `.'
This is a known issue with Install Anywhere and does not affect installation or functionality of Sterling
Connect:Direct File Agent for UNIX on Linux.
5. Read the information displayed and press Enter.
6. Type the path name of the directory where Connect:Direct for UNIX will be installed and press Enter.
7. Press Enter to confirm the location
8. Do one of the following:
Procedure
1. Read the information and press Enter. The customization menu is displayed.
2. Do one of the following. Be sure to select the same configuration you selected during the installation.
• Type 3 to customize the Server and Client and press Enter.
If you are installing both the Client and the Server, complete the procedures in Setting Up the
Connect:Direct for UNIX Server and Setting Up the Connect:Direct for UNIX Client.
• Type 2 to customize the Client only and press Enter.
If you are installing the Client only, complete the procedure Setting Up the Connect:Direct for UNIX
Client.
• Type 1 to customize the Server only and press Enter.
If you are installing the Connect:Direct for UNIX Server only, complete the procedure, Setting Up the
Connect:Direct for UNIX Server.
Procedure
1. Type the name of the node, up to 16 characters, that you want to customize and press Enter.
Important: Characters used in Netmap Node Names (or Secure+ Node Names or Secure+ Alias
Names) should be restricted to A-Z, a-z, 0-9 and @ # $ . _ - to ensure that the entries can be properly
managed by Control Center, Connect:Direct Browser User Interface, or IBM Sterling Connect:Direct
Application Interface for Java for Java (AIJ) programs. However, use of ‘@’ characters in a node name
is discouraged, as it will cause some clients to display proxy records incorrectly. If the ‘@’ character is
at the end of a node name, client display of a proxy record with this node name will fail.
2. Type the TCP/IP port number that Connect:Direct monitors for requests from remote nodes. If
available, use the default port, 1364. If the default port number is being used by another service, use
any other available port.
This value is entered into the initialization parameters file in the comm.info parameter.
3. Type the hostname or IP address that Connect:Direct Monitors for requests from remote nodes.
If you use 0.0.0.0, Connect:Direct will listen for requests from remote nodes on all network adapters
configured on the UNIX server.
This value is entered into the initialization parameters file in the comm.info parameter.
4. Type the TCP/IP port number that Connect:Direct monitors for requests from Clients. If available, use
the default value of 1363. If the default port number is being used by another service, use any other
available port.
This value is entered into the network map file in the tcp.api parameter.
5. Type the hostname or IP address that Connect:Direct monitors for requests from Clients.
This value is entered into the network map file in the tcp.api parameter.
Connect:Direct creates the network map file and displays the directory path and file name.
After you define the initialization parameters file, the customization script creates the network map
file. A remote node record is added to the network map file. The remote node record is assigned the
name of the local node you specified.
6. Type the TCP/IP port to listen for a PMGR RPC client request.
This value is entered in the network map file in the rpc.pmgr.port parameter.
Note: This prompt displays only on HPUXIT and SOLARIS-based deployments.
7. Press Enter. The netmap file is automatically created.
Procedure
1. Type the port of the Server that the Client connects to and press Enter when ready.
This value is associated with tcp.port in the Client configuration file.
2. Press Enter to accept the host name. This value is displayed in the tcp.hostname parameter in the
Client configuration file.
Procedure
1. If you know the root password or if a system administrator is standing by who knows the root
password, select option 4.
2. If you do not know the root password, but are authorized to gain root authority using sudo or a similar
utility, type 5 to exit the Connect:Direct for UNIX customization script.
A message is displayed to warn you that the SACL was not configured.
3. Read the information displayed and press Enter.
A message is displayed to notify you of the creation of the test configuration.
4. To exit the customization, type n and press Enter.
5. If you did not select option 4 above, type cdcust (located in /<product install directory>/etc) using
sudo to become root before creating the SACL and setting the owner and permissions of the
executables.
Procedure
1. Type the full path of the IBM Connect:Direct destination directory and press Enter.
2. Press Enter to continue the customization. The following screen is displayed:
3. Type 4 to select Configurations requiring root privilege and press Enter.
4. Press Enter to configure the SACL file.
5. Press Enter to use root authority to create and check the SACL file.
6. If you have already assumed root authority by using a utility such as sudo, press Enter. Otherwise,
type the root password and press Enter.
If you type the root password incorrectly, a message informs you that the configuration tasks were not
completed. Otherwise, a SACL file is created, the owner and permissions of the IBM Connect:Direct
executable files are set, and the following messages and prompt are displayed.
Procedure
1. Log on to the UNIX system with the privileges required to install software. Do not install as root.
2. Type the following command and press Enter to change to the directory for your UNIX platform:
cd /cdrom/<platform directory>
Refer to the following list for the name of the platform directory for each platform:
HP UX Itanium
HP_Itanium
IBM System pSeries
IBM
Sun SPARC systems
Sun_Solaris
Red Hat
RedHat_linux
SuSE
SuSE_linux
cdinstall
4. Read the information displayed and press Enter.
5. Type the path and press Enter. A warning that the directory exists is displayed:
6. Press Enter to continue. The following message is displayed:
Procedure
1. Log on to the UNIX system with the privileges required to install software. You can create an account
specifically for this purpose. Do not install as root.
2. From the distribution media, type the following command and press Enter to change to the directory
that correspond to the UNIX platform:
cd /cdrom/<platform directory>
Refer to the following list for the name of the platform directory for each platform:
HP UX Itanium
HP_Itanium
IBM System pSeries
IBM
cdinstall
4. Read the information displayed and press Enter.
5. Type the path and press Enter. A warning that the directory exists is displayed.
6. Press Enter to continue. The message that installed components are detected is displayed.
7. Type n and press Enter to run the full installation procedure. The following screen is displayed:
Procedure
1. Modify the following parameters:
• In the initialization parameters file (initparm.cfg), set :comm.info=0.0.0.0;nnnn:\ where nnnn is the
number of the listening port you defined during installation.
• In the api.parms record of the NDMAPI configuration file (ndmapi.cfg),
set :tcp.hostname=logical_host_ip_name:\ where logical_host_ip_name is the virtual address of the
cluster.
• In the network map file (netmap.cfg), set :tcp.api=logical_host_ip_name;nnnn:\ where nnnn is the
API port you defined during installation.
2. In the network map file (netmap.cfg), set the outgoing address parameter in the local.node record to
specify the local host IP name or address of the floating address to the following value. The remote
node will also use this value for network map checking.
scdscreate -V SCI -T cd
Use the V parameter to define the vendor ID and T parameter to define the resource ID.
2. Type the following command to configure the custom resource scripts:
scdsconfig
3. Edit the SCI.cd resource file and change the value of RT_BASEDIR as follows:
RT_BASEDIR=/opt/SCIcd/bin;
RT_BASEDIR=/global/vol1/sci/cduserk1/3.5.00/suncluster+scripts/SCIcd/bin;
Procedure
1. Place the following sample scripts and configuration files in a directory that is available to SunCluster
2.2 software:
• cd_start.sh
• cd_stop.sh
2. Update the scripts as required for your environment.
3. Copy the sample scripts to all nodes in the cluster.
4. Issue the hareg command to register the IBM Connect:Direct data service. Refer to the SunCluster
documentation for more information. Following is a sample command:
hareg -r cd \
Procedure
1. Place the following sample scripts and configuration files in a directory that is available to the IBM
HACMP software:
• cd_start_net.sh
• cd_stop_net.sh
2. Update the scripts as required for your environment.
3. Copy the sample scripts to all nodes in the cluster.
Procedure
1. Type the following command to identify the release and platform operating system release, where
d_dir is the destination directory and binaryx is a file in the bin/ directory (for example, cdpmgr):
$ d_dir/ndm/bin/cdpmgr -i d_dir/ndm/cfg/cd_node/initparm.cfg
4. Do one of the following to set the environment variable NDMAPICFG to point to the client
configuration file:
• If you are using the Bourne or Korn shell, type the following command:
$ NDMAPICFG=d_dir/ndm/cfg/cliapi/ndmapi.cfg
$ export NDMAPICFG
$ d_dir/ndm/bin/direct
6. Type the following command:
Read the statistics information and ensure that the initialization started with no errors. If any errors
are displayed, resolve the errors before continuing.
7. Type the following command to submit a sample Process:
This sample Process copies a binary file named msgfile.cfg to the file cddelete.me in your HOME
directory (your node is both the PNODE and the SNODE). The checkpointing interval is set to 2M and
extended compression is used.
8. Type the following select process command to monitor data transmission activity:
IBM Connect:Direct generates a report with the Process name and number, user, submitter node,
queue, and status.
9. After the Process is complete, type the following select statistics command to review the statistics
log for the Process:
Overview
Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. A
container image is an executable package that includes everything that is needed to run the software,
including the code itself, application settings and all required runtime files, system tools and libraries.
For more information about Docker and its commands, see https://www.docker.com/.
Components
IBM Connect:Direct for UNIX Docker Image is created with the Red Hat UBI as the base layer. It is a Red
Hat certified Docker image. The image contains the following components:
• application
• license files
• docker image help file
The deployment process for Connect:Direct for UNIX consists of several phases. Before starting
installation, roadmap for the installation must be planned.
The deployment process for Connect:Direct for UNIX consists of the following steps:
• Prerequisites
• Installation
• Post-installation configurations
Network
The IBM Connect:Direct for Unix Docker container is tested with bridge and overlay type Docker networks.
For more information, see Docker Network.
6.1.0.x-IBMConnectDirectforUNIX-Certified-Container-Linux-x86-iFix000.tar
cdu6.1_certified_container_6.1.0.x_ifix000.tar
4. Load the Docker image into registry using the downloaded image file by running the following
command.
5. Invoke the docker images command to verify if the image is loaded successfully.
Example: If you have a user, host-user having UID and GID set to 2000 and 4000 respectively on the
host system. There are 'upload' (for files to be sent) and 'download' (for files to be received) directories
created by this user. These directories can be mounted on the CDU container so that these folders are
available inside container.
In order to give cduser access to these directories inside the container, the UID and GID of cduser can
be set to 2000 and 4000 respectively.
Similarly, you can set the UID and GID of appuser which is a non-admin user of Connect:Direct for
Unix running inside container. The user appuser is created only if you have passed its password to be
set inside container using cdai_appuser_pwd parameter in cd_param_file.
• Sample parameter file
cdai_localNodeName=cd_node
cdai_serverPort=1364
cdai_clientPort=1363
cdai_localCertFile="cdcert.pem"
cdai_localCertPassphrase="certpassword"
cdai_keystorePassword="keypassword"
cdai_adminPassword="abc123"
cdai_appuser_name="appuser"
cdai_appuser_pwd="appuserpassword"
cdai_appuser_uid="9001"
cdai_appuser_gid="9001"
cdai_admin_uid="2020"
cdai_admin_gid="2020"
Note: For security reasons, passwords are removed from the parameter file at installation.
Apart from the configuration using cd_param_file, there is SACL configuration which can be done by
passing an environment variable to docker run command with correct possible values of SACL
configuration. Add following sub-command to main docker run command -
If the passed value is not correct for SACL configuration, then SACL configuration would be done using
default value which is `n`.
Related concepts
“Strong Access Control File” on page 127
Configuring Storage
The containers are ephemeral entity, all the data inside the container is lost when the containers are
destroyed/removed. So, data must be saved to Storage Volume by using the volume. For more information
see, Volumes.
ndm.pam:service=login
• The following packages are pre-installed in the container image to enable the LDAP support:
• The following default configuration file (/etc/sssd/sssd.conf) is added to the image. You must
provide the values highlighted in bold with the values of environment variables as explained in next
section.
[domain/default]
id_provider = ldap
autofs_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = LDAP_PROTOCOL://LDAP_HOST:LDAP_PORT
ldap_search_base = LDAP_DOMAIN
ldap_id_use_start_tls = True
ldap_tls_cacertdir = /etc/openldap/certs
ldap_tls_cert = /etc/openldap/certs/LDAP_TLS_CERT_FILE
ldap_tls_key = /etc/openldap/certs/LDAP_TLS_KEY_FILE
cache_credentials = True
ldap_tls_reqcert = allow
LDAP_ENABLE=True
LDAP_HOST=cddock-01
LDAP_PORT=636
LDAP_DOMAIN=dc=my-domain,dc=com
LDAP_TLS=True
LDAP_CACERT=cddockca.pem
LDAP_ENABLE_CLNT_VAL=True
LDAP_CLIENT_CERT=cddock01.pem
LDAP_CLIENT_KEY=cddock01.key
• Validation of Successful LDAP configuration: The following commands should be executed inside
container and return success for the users not present inside the container but present in the LDAP
server:
id <userid>
docker ps -a
Sample Output
• Check the docker container logs and verify the below successful logs are displayed:
Output
– Go to the installation path /opt/cdunix and complete the steps followed to configure conventional
Connect:Direct for Unix here, Administering Connect:Direct for UNIX.
• Changing Non-Admin Connect:Direct user password
The password for Non-Admin Connect:Direct user (by default appuser) can be changed by invoking the
following command on the host machine where the container is running:
docker ps -a
docker rm <container_name/id>
Container Recovery
Containers are like any other data source that needs to be protected. As your organization comes to rely
on Docker containerization technology for critical IT functions, you need to ensure appropriate safeguards
are in place to minimize disruptions to your business operations.
This section describes container backup and disaster recovery methods.
• When configuring IBM Connect:Direct for UNIX running inside a container ensure that you have mapped
it over Storage Volume. This ensures all configuration made to the container is intact and still available
on the Storage Volume when a container is no longer available.
• IBM Connect:Direct for UNIX node configurations of a destroyed container such as, cfg, security,
work, secure+ can be reused to start a new container. To start a new container with backup
configurations:
– Configuration paths for the new container must be mapped to persistent configurations.
– In cd_param_file, passwords need to be mentioned again, as they would have been deleted after
the previous deployment.
Note: cd_param_file file content should match file content at fresh deployment.
– Host name of new container must be same as the destroyed container
– Invoke the docker run command using the same host name and configuration paths as described in
the example below:
Known Limitations
• Interaction with IBM Control Center Director is not supported.
• FASP feature is not supported.
• The container does not include X-Windows support, so SPAdmin cannot run inside the container. SPCli
will run in the container and Connect Direct Web Services (CDWS) can be used outside the container
instead of using SPAdmin.
2. Create a backup of configuration data and other information such as stats and TCQ, present in installed
path of Connect:Direct instance. The backup of the following directories will be needed:
• work
• security
• cfg
• secure+
3. Copy the backup of the directories taken in Step 2 to the mount path which will be used for deploying
Connect:Direct for Unix in container.
4. After verifying the prerequisites mentioned at the beginning. Go to “Deploying IBM Connect:Direct for
UNIX using a Docker container” on page 37 section for deploying Connect:Direct for Unix in container.
5. Note: The nodename of Connect:Direct for Unix running on traditional system should be same for
migration inside container.
6. Update various values in initparm.cfg and netmap.cfg for the Connect:Direct installation path,
hostname/IP and port numbers. The installation path is /opt/cdunix/, hostname would be
hostname of the system where container is being deployed and client port is 1363 and server port is
1364.
Prerequisites
The following are prerequisites to successfully use a Certified Container:
• Installing a Kubernetes cluster and configuring kubectl client for the user
• Applying security configurations to your deployment. For minimum security configuration, see “Creating
Pod Security Policy for Kubernetes Cluster ” on page 56 (Kubernetes) and “Creating security context
constraints for OpenShift Cluster ” on page 58 for Openshift.
• Installing and configuring Helm
Note: For more information on how to install and secure a Helm installation, see Installing Helm.
Overview
A Certified Container provides the basic features of a package manager (Helm chart) to help with the
installation and maintenance of software. Using a Certified Container you can perform flowing action on
helm chart:
• Deploy
• Upgrade
• Configure
Key Components
A Certified Container Software has two major components:
• Helm Client
It manages charts and is a command line interface for end users. Use Helm client to:
– Develop charts
– Manage repositories
– Send charts to be used for deployment
– Ask for information about Releases
– Request upgrades or uninstallation of existing Releases
Network
The IBM Certified Container Software release is tested with Weave Net-type network for Kubernetes. For
more information, refer to Kubernetes Networking.
Planning
Before you deploy the application, you must use the following information to plan the deployment:
• Verifying system requirements
• Application license requirements
• IBM Licensing and Metering service
• Certificates files for Secure Plus
• PSP and SCC requirements
User Roles
Deployment tasks can be performed by cluster administrator and project administrator. The following
table illustrates the type of task that are typically associated with each administrative role. The list is not
intended to be exhaustive -
Installing
After you review the system requirements and other planning information, you install IBM Certified
Container Software for Connect Direct UNIX by completing the pre-installation tasks and installation
process. Before you begin consider the following:
• A Helm chart is organized as a collection of files inside a directory by the name of the Chart itself. For
more information see, Helm Charts.
Example Helm Chart
<Name of a Chart/>
Chart.yaml # A YAML file containing information about the Chart.
LICENSE # OPTIONAL: A plain text file containing the license for the Chart.
README.md # OPTIONAL: A README file.
requirements.yaml # OPTIONAL: A YAML file listing dependencies for the Chart.
values.yaml # The default configuration values for this Chart.
Charts/ # A directory containing any Charts upon which this Chart depends.
templates/ # A directory of templates that, when combined with values, generates
valid Kubernetes manifest files.
templates/NOTES.txt # OPTIONAL: A plain text file containing short usage notes.
– This Helm chart deploys IBM Connect:Direct for Unix on a container management platform with the
following resource deployments:
- statefulset pod <release-name>-IBM-connect-direct-0
1 replica by default
- configMap <release-name>-ibm-connect-direct
This is used to provide default configuration in cd_param_file.
- service <release-name>-ibm-connect-direct
This is used to expose the IBM Connect:Direct services for accessing using clients.
- service-account <release-name>-ibm-connect-direct-serviceaccount
This service will not be created if serviceAccount.create is false.
- persistence volume claim <release-name>-ibm-connect-direct.
• Certified Container Software commands
For more information on other commands and options, see Helm Commands.
1. To install a Chart
$ helm install
$ helm upgrade
$ helm rollback
$ helm delete
Downloading the IBM Certified Container Software image from IBM Entitled
Registry
You can pull the container image from IBM Entitled registry into your cluster or download and load the
image into your registry.
The following Container image is available on IBM Entitled Registry:
• IBM Connect Direct for Unix v6.1 Certified Container
• cp.icr.io/cp/ibm-connectdirect/connectdirect:6.1.0.3
Create the entitled registry secret
Complete the following steps to create a secret with the entitled registry key value:
1. Ensure that you have obtained the entitlement key that is assigned to your ID.
a. Log in to My IBM Container Software Library by using the IBM ID and password that are associated
with the entitled software.
b. In the Entitlement keys section, select Copy key to copy the entitlement key to the clipboard.
c. Save the entitlement key to a safe location for later use.
To confirm that your entitlement key is valid, click View library that is provided in the left of the
page. You can view the list of products that you are entitled to. If IBM Connect:Direct for Unix is not
listed, or if the View library link is disabled, it indicates that the identity with which you are logged
in to the container library does not have an entitlement for IBM Connect:Direct for Unix. In this
case, the entitlement key is not valid for installing the software.
2. Set the entitled registry information by completing the following steps:
5. Update the service account or helm chart image pull secret configurations using
`image.imageSecrets` parameter with the above secret name.
Downloading the IBM Certified Container Software for Connect:Direct for UNIX
Helm chart from IBM Chart repository
You can download the IBM CCS for CDU helm 3 chart from IBM Public chart repository.
Downloading the IBM Certified Container Software for Connect:Direct for UNIX
image from IBM Fix Central
You can download the IBM Connect:Direct for UNIX Certified container image from Fix Central. The
bundle will have both IBM Certified Container Software for Connect:Direct Container image and Helm
chart.
To download the Connect:Direct for UNIX certified container image, complete the following steps:
1. Log on to the Fix Central web site by using necessary credentials.
2. Select the item to download that is, Chart Image bundle.
6.1.0.x-IBMConnectDirectforUNIX-Certified-Container-Linux-x86-iFix000.tar
3. Extract the downloaded Chart image bundle to extract the following files:
cdu6.1_certified_container_6.1.0.x_ifix000.tar(Docker Image)
ibm-connect-direct-1.1.x.tgz (Chart Bundle)
5. Refer this image during chart installation using image.repository and image.tag keys defined in
values.yaml at Helm CLI command.
The image.repository should include <repository-url>/<image-name> value and
image.tag should include <tag> values.
Note: The steps mentioned above can also be executed in an Air-Gap environment.
The IBM Connect Direct for UNIX chart defines a custom Pod Security Policy which is the minimum set
of permissions/ capabilities needed to deploy this chart and the Connect Direct for Unix container to
function properly. This is the recommended PSP for this chart and it can be created on the cluster by
cluster administrator.
The PSP and cluster role for this chart is defined below. The cluster administrator can either use the
snippets given below or the scripts provided in the Helm chart to create the PSP, cluster role and tie it to
the namespace where deployment will be performed. In both the cases, same PSP and cluster role will
be created. It is recommended to use the scripts in the Helm chart so that required PSP and cluster role
is created without any issue.
• Below is the Custom PodSecurityPolicy definition that the cluster admin can use:
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: ibm-connect-direct-psp
labels:
app: "ibm-connect-direct-psp"
spec:
privileged: false
allowPrivilegeEscalation: true
hostPID: false
hostIPC: false
hostNetwork: false
requiredDropCapabilities:
allowedCapabilities:
- FOWNER
- SETUID
- SETGID
- DAC_OVERRIDE
- CHOWN
- IPC_OWNER
- AUDIT_WRITE
- IPC_LOCK
- SYS_CHROOT
allowedHostPaths:
runAsUser:
rule: MustRunAsNonRoot
runAsGroup:
rule: MustRunAs
ranges:
- min: 1
max: 4294967294
seLinux:
rule: RunAsAny
supplementalGroups:
rule: MustRunAs
ranges:
- min: 1
max: 4294967294
fsGroup:
rule: MustRunAs
ranges:
- min: 1
max: 4294967294
volumes:
- configMap
- emptyDir
- projected
- secret
- downwardAPI
- persistentVolumeClaim
- nfs
forbiddenSysctls:
- '*'
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
• From the command line, you can run the setup scripts included in the Helm chart as cluster admin
(untar the downloaded Helm chart archive).
ibm-connect-direct/ibm_cloud_pak/pak_extensions/pre-install/clusterAdministration/
createSecurityClusterPrereqs.sh
ibm-connect-direct/ibm_cloud_pak/pak_extensions/pre-install/namespaceAdministration/
createSecurityNamespacePrereqs.sh <Namespace where deployment will be performed>
Note: If the above scripts are not executable, you will need to make the scripts executable by executing
following commands:
ibm-connect-direct/ibm_cloud_pak/pak_extensions/pre-install/namespaceAdministration/
createSecurityNamespacePrereqs.sh
ibm-connect-direct/ibm_cloud_pak/pak_extensions/pre-install/clusterAdministration/
createSecurityClusterPrereqs.sh
Based on your organization security policy, you may need to decide the security context constraints for
your OpenShift cluster.
This chart has been verified on privileged SCC which comes with Redhat OpenShift. For more info,
please refer this link. This chart defines a custom SCC which is the minimum set of permissions/
capabilities needed to deploy this chart and the Connect Direct for Unix container to function properly.
It is based on the predefined restricted SCC with extra required privileges. This is the recommended
SCC for this chart and it can be created on the cluster by cluster administrator.
The SCC and cluster role for this chart is defined below. The cluster administrator can either use the
snippets given below or the scripts provided in the Helm chart to create the SCC, cluster role and tie it to
the project where deployment will be performed. In both the cases, same SCC and cluster role will be
created. It is recommended to use the scripts in the Helm chart so that required SCC and cluster role is
created without any issue.
• Below is the Custom SecurityContextConstraints definition that the cluster admin can use
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
metadata:
name: ibm-connect-direct-scc
labels:
app: "ibm-connect-direct-scc"
allowHostDirVolumePlugin: false
allowHostIPC: false
allowHostNetwork: false
allowHostPID: false
allowHostPorts: false
privileged: false
allowPrivilegeEscalation: true
allowedCapabilities:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: "ibm-connect-direct-scc"
labels:
app: "ibm-connect-direct-scc"
rules:
- apiGroups:
- security.openshift.io
resourceNames:
- ibm-connect-direct-scc
resources:
- securitycontextconstraints
verbs:
- use
• From the command line, you can run the setup scripts included in the Helm chart (untar the
downloaded Helm chart archive).
ibm-connect-direct/ibm_cloud_pak/pak_extensions/pre-install/clusterAdministration/
createSecurityClusterPrereqs.sh
ibm-connect-direct/ibm_cloud_pak/pak_extensions/pre-install/namespaceAdministration/
createSecurityNamespacePrereqs.sh <Project name where deployment will be perfromed>
Note: If the above scripts are not executable, you will need to make the scripts executable by executing
following commands:
ibm-connect-direct/ibm_cloud_pak/pak_extensions/pre-install/namespaceAdministration/
createSecurityNamespacePrereqs.sh
ibm-connect-direct/ibm_cloud_pak/pak_extensions/pre-install/clusterAdministration/
createSecurityClusterPrereqs.sh
As a per-requisite, create a persistent volume supported via NFS, and host path mounted across all
worker nodes. IBM Certified Container Software for CDU supports:
Apart from required Persistent Volume, you can bind extra storage mounts using the parameters provided
in values.yaml. These parameters are extraVolume and extraVolumeMounts. This can be a host path or a
NFS type.
Prerequisite
• For non-dynamic provisioning, Storage Volume should have Connect:Direct certificate files to be used
for installation. Create a directory named "CDFILES" inside mount path and place certificate files in the
created directory. Similarly, the LDAP certificates should be placed in same directory.
• When creating Persistent Volume, make a note of the storage class and metadata labels, that are
required to configure Persistent Volume Claim's storage class and label selector during deployment.
This ensures that the claims are bound to Persistent Volume based on label match. These labels can be
passed to helm chart either by --set flag or custom values.yaml file. The parameters defined in
values.yaml for label name and its value are pvClaim.selector.label and
pvClaim.selector.value respectively.
Example: Create Persistent volume using NFS server
kind: PersistentVolume
apiVersion: v1
metadata:
name: <persistent volume name>
labels:
app.kubernetes.io/name: <persistent volume name>
app.kubernetes.io/instance: <release name>
app.kubernetes.io/managed-by: <service name>
helm.sh/chart: <chart name>
release: <release name>
purpose: cdconfig
spec:
storageClassName: <storage classname>
capacity:
storage: <storage size>
accessModes:
- ReadWriteOnce
nfs:
server: <NFS server IP address>
path: <mount path>
kind: PersistentVolume
apiVersion: v1
metadata:
name: <persistent volume name>
labels:
app.kubernetes.io/name: <persistent volume name>
Kubernetes:
OpenShift:
• Option B: Alternatively, the permissions can be controlled at group level leveraging the
supplementalGroups and fsGroup setting. For example - if we want to add GID to supplementalGroups
or fsGroup, it can be done using storageSecurity.supplementalGroups or storageSecurity.fsGroup.
Apart from above recommendation, during deployment, a default admin user cduser with group cduser is
created. A mandatory parameter, cdai_adminPassword is added to cd_param_file to update the password
required by cduser at container start up. The default UID and GID of cduser is 45678.
The UID and GID of cduser can be set to some real user on the host system. By setting the same UID and
GID as on the host system, the host system user would have suitable permissions on the files present on
the host path so that this user can be used to edit any setting or configuration files related to
Connect:Direct for Unix running inside container.
Example:
If you have a user, host-user having UID and GID set to 2000 and 4000 respectively on the host system.
There are 'upload' (for files to be sent) and 'download' (for files to be received) directories created by this
user. These directories can be mounted on the CDU container so that these directories are available inside
container.
In order to give cduser access to these directories inside the container, the UID and GID of cduser can be
set to `2000` and `4000` respectively. Similarly, you can set the UID and GID of `appuser` which is a
non-admin user of Connect:Direct for Unix running inside container. The user `appuser` is created only if
you have passed its password to be set inside container using cdai_appuser_pwd parameter in
cd_param_file.
apiVersion: v1
kind: Secret
metadata:
name: <secret name>
type: Opaque
data:
admPwd: <base64 encoded password>
crtPwd: <base64 encoded password>
keyPwd: <base64 encoded password>
appUserPwd: <base64 encoded password>
Here:
• admPwd refers to the password that will be set for the Admin user 'cduser' after a successful
deployment
• crtPwd refers to the password used to decrypt certificate files
• keyPwd refers to the Key Store password
• appUserPwd refers to password for a non-admin Connect:Direct user. This user will only be created
inside container if appUserPwd is defined in secret yaml to create Connect:Direct secret object.
• After the secret is created, delete the yaml file for security reasons. The password entered for
admPwd is set as password for the user cduser at pod initialization.
Note: Base64 encoded passwords need to be generated manually by invoking the below command:
Kubernetes:
OpenShift
OpenShift
Note: The secret resource name created above. It should be referenced by Helm chart for dynamic
provisioning using parameter `secret.certSecretName'
helm version 2
helm version 3
• Alternatively, provide a YAML file with values specified for these parameters when you install a Chart.
Create a copy of values.yaml file such as, my-values.yaml and edit the values that you would like
to override. Use the my-values.yaml file for installation.
Example
helm version 2
helm version 3
extraVolumeMounts:
- name: <name>
mountPath: <path inside container>
extraVolume:
- name: <name same as name in extraVolumeMounts>
hostPath:
path: <path on host machine>
type: DirectoryOrCreate
extraVolumeMounts:
- name: <name>
mountPath: <path inside container>
extraVolume:
- name: <name same as name in extraVolumeMounts>
nfs:
path: <nfs data path>
server: <server ip>
OR
affinity.nodeAffinity.preferred k8sPodSpec.nodeAffinity.preferr
ed
DuringSchedulingIgnoredDuring
DuringSchedulingIgnoredDuring
Execution
Execution
affinity.podAffinity.preferred k8sPodSpec.podAntiAffinity.
DuringSchedulingIgnoredDuring preferredDuringScheduling
Execution IgnoredDuringExecution
affinity.podAntiAffinity.required k8sPodSpec.podAntiAffinity.
DuringSchedulingIgnoredDuring requiredDuringSchedulingIgnore
d
Execution
DuringExecution
affinity.podAntiAffinity.preferred k8sPodSpec.podAntiAffinity.
DuringSchedulingIgnoredDuring preferredDuringSchedulingIgnor
ed
Execution
DuringExecution
Affinity
The chart provides ways in form of node affinity, pod affinity and pod anti-affinity to configure advance
pod scheduling in Kubernetes. See, Kubernetes documentation for details.
ndm.pam:service=login
• The following packages are pre-installed in the container image to enable the LDAP support:
• The following default configuration file (/etc/sssd/sssd.conf) is added to the image. You must
replace the values highlighted in bold with the values of environment variables as explained in next
section.
[domain/default]
id_provider = ldap
autofs_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = LDAP_PROTOCOL://LDAP_HOST:LDAP_PORT
ldap_search_base = LDAP_DOMAIN
After completing all “Pre-installation tasks” on page 54, you can deploy the IBM Certified Container
Software for Connect:Direct for UNIX by invoking following command:
Helm version 2
This command deploys ibm-connect-direct-1.1.x.tgz chart on a Kubernetes cluster using the default
configuration. “Creating storage for Data Persistence” on page 60 lists parameters that can be configured
at deployment.
Mandatory parameters required at the helm install command:
• Wait for the pod to be ready. To verify the pods status (READY) use the dashboard or through the
command line interface by invoking the following command:
• To view the service and ports exposed to enable communication in a pod invoke the following
command:
The screen output displays the external IP and exposed ports under EXTERNAL-IP and PORT(S) column
respectively. If external LoadBalancer is not present, refer Master node IP as external IP.
Exposed Services
If required, this chart can create a service of ClusterIP for communication within the cluster. This type can
be changed while installing chart using service.type key defined in values.yaml. There are two ports where
IBM Connect:Direct processes run. API port (1363) and FT port (1364), whose values can be updated
during chart installation using service.apiport.port or service.ftport.port.
Post-installation tasks
The post deployment configuration steps can be performed via:
• Connect Direct Web services
– Login to the Connect Direct Web services using the master node IP/External IP address and the host
ports to which container API and server ports are mapped to. For configuration steps, see
Connect:Direct Web Services Help Videos.
– Issue the following command to get the external IP address
– Go to the installation path /opt/cdunix and complete the steps followed to configure conventional
Connect:Direct for Unix here, Administering Connect:Direct for UNIX.
Procedure
1. To rollback a chart with release name my-release to a previous revision invoke the following
command:
Note: The rollback is only supported to a previous release. Subsequent rollbacks are not supported.
Rollback from Connect Direct Unix v6.1 is only supported if it was upgraded from Connect Direct Unix
6.0 iFix026 and later releases.
Helm version 2
Helm version 3
Note:
This command removes all the Kubernetes components associated with the Chart and deletes the
Release. Certain Kubernetes resources created as an installation prerequisite for the Chart and a helm
hook ie ConfigMap will not be deleted using the helm delete command. Delete these resources only if
they are not required for further deployment of IBM Certified Container Software for Connect:Direct UNIX.
If deletion is required, you have to manually delete the following resources:
• The persistent volume
• The secret
• The Config Map
Known Limitations
• Scalability is supported with the conventional Connect:Direct for Unix release with load balancer
service.
• High availability can be achieved in an orchestrated environment.
A file must be created in a work directory before taking backup. The file can be created by
invoking the following command:
Helm version 2
Helm version 3
Note: The nodename of Connect:Direct for Unix running on traditional system should be same for
migration to IBM Certified Container Software. Configure the nodename using "cdArgs.nodeName"
parameter.
The certificate/password for Value not defined for the Define missing values in the
secure plus configuration is not following parameters in cd_param_file. For more
provided cd_param_file: information see, “Configuring
Docker Containers” on page 38
• cdai_localCertFile and “Deploying IBM
• cdai_localCertPassphrase Connect:Direct for UNIX using a
Docker Container” on page 44.
• cdai_keystorePassword
CD localcertfile: <cert file name> The certificate name defined in Ensure that the key certificate
do not exist at the path <path>. the cd_param_file is not and the trusted certificate are
Exiting present at the defined path. present at the path defined at
docker run command. For details
see, “Adding Certificate Files ” on
page 40 and “Deploying IBM
Connect:Direct for UNIX using a
Docker Container” on page 44.
Connect Direct not running. Installation of Connect:Direct Isolate the reason for failure in
Exiting. failed with a non-zero finalRc cdaiLog.txt file inside the
value in cdaiLog.txt. work directory present on
Storage Volume mounted path.
File "/opt/cdfiles/<certificate The certificate in use is not in Use a certificate in PEM format
name>" is not a PEM key recommended .PEM format. for installation. See, Generating
certificate. certificate in PEM format.
‘helm install’ command fails to Some mandatory parameters are Check that all mandatory
deploy C:D missing in the helm install parameters are provided when
command. executing the helm install
command. For more information
see, “Installing IBM
Connect:Direct for Unix using
Helm chart” on page 68.
Pod recovery fails when Possible reasons could be that NFS storage is the preferred
persistent volume is mapped to the pod recovered on a different storage volume. If NFS server is
the host path. worker node and the persistent not available, set the Pod Affinity
volume was mapped to a such that the pod is always
different host path. scheduled on the same worker
node where persistent volume
can be accessed.
Permission error occurs when Openshift Admin user was used Only the cluster Admin has
trying to create a persistent to create persistent volume or privileges to create persistent
volume or SecurityContextConstraints volume and
SecurityContextConstraints in an SecurityContextConstraints.
OpenShift environment Attempt creating these as a
cluster Admin. For more
information see, “Creating
security context constraints for
OpenShift Cluster ” on page 58.
Deployment fails with following The certificate file is not valid. Use the correct certificate file.
error: Check if conventional Check the chain sequence for a
Connect:Direct for UNIX can be chained certificate.
SPCLI> 20200401 17:19:17 8
installed using the automated
CDAI007E Secure+ configuration
install procedure using this
failed.
certificate.
20200401 17:19:17 0 CDAI010I
createExitStatusFile() entered.
20200401 17:19:17 0 CDAI010I
createExitStatusFile() exited.
command terminated with exit
code 137
Functional Issues
Error encountered in connecting Connect:Direct API port is not The Connect:Direct API port
to an installed Connect:Direct exposed to the host. (default 1363) running inside the
container node. container should be mapped to
an available host port.
Error encountered in performing Connect:Direct Server port is not • The server port (default 1364)
a file transfer with other exposed to host or its entry is of the Connect:Direct node
Connect:Direct nodes. missing inside the netmap.cfg running inside the container
file of the partner node. should be mapped to the
available host port.
• Define exposed port in partner
node's netmap.cfg file for a
successful file transfer.
Error encountered in file transfer Netmap check on Connect:Direct The IPs of all the worker nodes
from pod to Connect:Direct windows node is enabled and not should be mentioned in the
windows node. allowing file transfer. netmap of Connect:Direct
windows node using the
alternate.comminfo parameter,
like below:
Alternate Comminfo :
<worker node1 ip>,
<worker node2 ip>
Unable to add certificates for This functionality is not present Import the certificates using
Secure+ using Connect:Direct in the current version of Secure+ CLI by attaching to the
Web services Connect:Direct Web services and container.
will be available in the upcoming
release.
In case of migration of The local users defined in When migrating to container
Connect:Direct to container userfile.cfg are not present inside environment from a conventional
environment, local users in the container environment. Connect:Direct environment, the
userfile.cfg not available inside local users defined in
the container userfile.cfg should be added
inside the container using the
useradd command.
docker ps -a
docker rm <container-id>
• From the mapped path on Storage Volume, check the silent installation logs cdaiLog.txt inside the
work directory.
• IBM Connect:Direct for UNIX traces for PMGR, SMGR or CMGR can be enabled using the Connect:Direct
Web Services. From the mapped path on Storage Volume, check the traces generated inside the work
directory.
• IBM Connect:Direct for UNIX statistics can be checked in the work directory inside the mapped path on
Storage Volume.
Generic Checks
• Get nodes information and check the status of nodes is Ready
• Review the Persistent Volume and Persistent Volume Claim information and ensure they match with
your deployment YAML files
• Get the status of the IBM Connect:Direct for Unix containers deployment job:
• Get information about the pods after the IBM Connect:Direct for Unix containers have been deployed:
• From the mapped path on Storage Volume, check the silent installation logs cdaiLog.txt inside the
work directory.
• IBM Connect:Direct for UNIX traces for PMGR, SMGR or CMGR can be enabled using the Connect:Direct
Web Services. From the mapped path on Storage Volume, check the traces generated inside the work
directory.
• IBM Connect:Direct for UNIX stats can be checked in the work directory inside the mapped path on
Storage Volume.
Default arguments.
Argument string to pass to the default Process in
the following format:
&FA_XXXX_XXX.
The percent sign (&) and period (.) are required.
Error Process:
Error arguments
Process class (default=1) Required
Process priority (default=1)
Watched file interval (default=1 minute)
File completion delay (default=1 minute)
If you are using X Windows, the X11 display variable is used to connect to the GUI server for terminal
emulation. The Connect:Direct File Agent Configuration Interface will display on the monitor specified for
the X11 display variable. If you want to display the Connect:Direct File Agent Configuration Interface on a
Microsoft Windows computer, you must specify the network ID of the terminal you want to use for
displaying the Connect:Direct File Agent Configuration Interface.
Submit Process information Type information into the fields that will define the Process to
for system event rule “index submit and the mailbox user to notify after the Process is
out of bounds” window submitted.
Process name field Type c:\processfolder\errproc.cdp to specify the path and file
name for the Process Connect:Direct File Agent submits when
a file meets the rule criteria.
Default process Type the UNIX pathname and filename for the IBM
Connect:Direct Process that Connect:Direct File Agent is to run
when a file appears in any watched directory specified:
user/bin/admin/copynewfile.cdp
The pathname where Connect:Direct File Agent detected a new
file is passed to this Process.
Default arguments Type the Connect:Direct File Agent variable for passing a UNIX
pathname or Microsoft Windows path, including the leading
percent sign (%) and the ending period (.):
&FAP=%FA_PATH_FOUND.
In this example, &FAP is the variable to which Connect:Direct
File Agent will pass the UNIX pathname where the file was
detected. %FA_PATH_FOUND. is the IBM Connect:Direct File
Agent variable used to indicate the information to pass to the
IBM Connect:Direct Process.
% man command
Most UNIX systems store online manual pages in /usr/man/man1. IBM Connect:Direct stores its
manual pages in d_dir/ndm/man1,where d_dir is the IBM Connect:Direct installation directory.
2. Type the following command to copy the IBM Connect:Direct manual pages into the UNIX manual
pages directory:
You must have write privileges to the directory /usr/man/man1 to perform this command.
You can also use symbolic links instead of copying the files. Refer to UNIX manual pages.
3. Type the following command to access IBM Connect:Direct manual pages that you combined with
UNIX manual pages, where command can be cdpmgr, ndmxlt, or ndmmsg:
% man command
Procedure
Type the following command to access IBM Connect:Direct manual pages on IBM pSeries, or Sun Sparc
running the Solaris operating system, if the system is using the BSD version of the man command
(/usr/ucb/man). The command can be cdpmgr, ndmxlt, or ndmmsg.
Virtualization support
IBM cannot maintain all possible combinations of virtualized platforms. However, IBM generally supports
all enterprise class virtualization mechanisms, such as VMware ESX, VMware ESXi, VMware vSphere,
Citrix Xen Hypervisor, KVM (Kernel-based virtual machine), and Microsoft Hyper-V Server.
IBM investigates and troubleshoots a problem until it is determined that the problem is due to
virtualization. The following guidelines apply:
• If a specific issue is happening because the system is virtualized and the problem cannot be reproduced
on the non-virtualized environment, you can demonstrate the issue in a live meeting session. IBM can
also require that further troubleshooting is done jointly on your test environment, as there is not all
types and versions of VM software installed in-house.
• If the issue is not able to be reproduced in-house on a non-virtualized environment, and
troubleshooting together on your environment indicates that the issue is with the VM software itself, you
can open a support ticket with the VM software provider. IBM is happy to meet with the provider and
you to share any information, which would help the provider further troubleshoot the issue on your
behalf.
• If you chose to use virtualization, you must balance the virtualization benefits against its performance
impacts. IBM does not provide advice that regards configuring, administering, or tuning virtualization
platforms.
Procedure
1. Configure the Agent listening port that Control Center Director will use to communicate with the Agent.
agent.port=<port> [Default:1365]
The Agent is now set to automatically listen for incoming connections from Control Center Director.
Attention: With multiple Connect:Direct instances on the same system you’re likely to run into
port conflict issues unless you allocate a unique Agent listening port per instance.
It is also recommended that having upgraded an instance, its unique port number must be
applied before upgrading the next instance. This prevents potential errors that you could
encounter during an upgrade process due to port conflict.
2. Configure the Control Center Director Open Server Architecture (OSA) URL, the target location where
Agent posts all the events to Control Center Director.
osa.rest.url=https;//<ip/hostname;port>/osa/events/post:
[Default:<blank>]
Note: Ensure that you insert a ';' and not a ':' between hostname and port and after https.
3. Set the following property to enable Agent to post all events to Control Center Director .
osa.disable=N
4. Invoke the following script for changes to take effect. This script is available
atcdinstallation_location/install/agent/bin.
startAgent.sh
license.edition • Premium
• Standard
• Solo
• Default: Blank (undefined)
license.type • Production
• Non-Production
• Default: Non-Production
Note: All three Initparms are required, but can be unset and a user does not have to supply a value.
Solo license edition type constraints:
• A warning message is logged if the number of Netmap entries in netmap.cfg exceeds 2.
• A warning message is logged when a transfer is initiated with third or later remote entry, in order of
appearance.
• The number of concurrent sessions is restricted to 2 or fewer
For more information on how to install new Connect: Direct server for UNIX from Control Center Dir , see
Installing new Connect:Direct server for UNIX.
Password Storage
Connect:Direct for UNIX enables you to use any of the following for password storage:
• /etc/passwd file
• /etc/shadow file when supported by the operating system
• HP-UX trusted security
• Network Information Service (NIS), formerly known as Yellow Pages
• Digital UNIX Enhanced Security
• Pluggable Authentication Modules (PAM)
ndm.path:path=/ndm/users/c:
Record names and parameter names are not case sensitive. Parameter values are case sensitive.
Lines 7 through 23 illustrate a longer logical record. Line 7 contains the record name local.node
followed by an optional colon (:) and a backslash (\) character. All lines between 7 and 23 end with a
backslash (\) character. Line 23 does not contain a backslash (\) character, to indicate the end of the
record.
Configuration files allow duplicate but not identical records, in some cases. For example, you can define
more than one remote node information (rnode.listen) record in the initialization parameters file.
$ d_dir/etc/cdcust
ndm.node:name=mws_joshua_4000:
ndm.pam:service=cdlogin:
ndm.quiesce:quiesce.resume=n:
proc.prio:default=10:
restrict:cmd=y:
# TCQ information
tcq:\
:max.age=8:\
:ckpt.max.age=8:
# Authenticator
authentication:\
:server.program=/sci/users/mscarbro/cd4000/ndm/bin/ndmauths:\
:server.keyfile=/sci/users/mscarbro/cd4000/ndm/security/keys.server:
# Secure+ parameters
secure+:\
:certificate.directory=/home/nis02/jlyon/certs: \
:s+cmd.enforce.secure.connection=n:
Updating records
You can update various parameters in records that IBM Connect:Direct uses. Required parameters are
displayed in bold.
Path record
The ndm.path record identifies the path to IBM Connect:Direct files. The following table describes the
parameter available for this record:
Quiesce/resume record
The ndm.quiesce record specifies whether IBM Connect:Direct is operating in a “test” mode. Use this
record in conjunction with the NDMPXTBL table to enable the test mode. If you enable the
quiesce.resume parameter, you must have an NDMPXTBL parameter table updated for your environment
in the installation ndm/cfg/<nodename> directory. For more information on the test mode and the
NDMPXTBL table, see Processing Flow of the Test Mode.
The following table describes the parameter available for this record:
Restrict record
If a run directory restriction is defined in the user configuration file (userfile.cfg), the restrict record
determines if commands containing certain special characters are allowed. For more information on the
userfile.cfg file, see Local User Information Record Format and Remote User Information Record. The
following parameter is available for this record:
comm.transport The transport protocol for the remote node. tcp | lu62 | blklu62
tcp—For TCP/IP connections
blklu62—For other LU6.2
connections
ulimit The action taken when the limit on a user output n—Ignores the limit. n is the
file size is exceeded during a copy operation. default value.
y—Recognizes the user file size
limit. If this limit is exceeded
during a copy operation, the
operation fails.
xlate.dir The name of the directory containing the Any valid directory.
translation tables.
The default path is d_dir/ndm/
xlate.
xlate.send The default translation table used when sending Any valid directory.
data to a remote node.
The default file name is
def_send.xlt.
ecz.windowsize The size of the compression window and history Valid values are 9–15. The
buffer. The larger the window, the greater the default is 13.
compression. However, increasing the window
uses more virtual memory.
retry.msgids Identifies the message IDs to use to support a file Any of the valid file allocation
allocation retry attempt. retry messages.
Since error codes can vary from one operating
system to another and the same error code can
have different meanings, use message IDs to
identify retry conditions when communicating
between two different platforms.
When a file allocation or open error occurs on
either the local or remote node, the PNODE
searches for the message ID in the retry.msgids
parameters. If the message ID is found, the
Process is retried.
You can perform retry attempts based on codes
only, message IDs only, or a combination of the
two.
When a retry condition is detected, the session is
terminated cleanly and the Process is placed in
the Timer queue.
max.age Specifies how old a statistics file must be before it A 3-digit decimal number.
is archived. Once a day, a shell script is executed The default is 8 days.
that identifies the statistics files that are as old as
0—no archiving.
the max.age, runs the tar command and the
compress command to create a compressed
archive, and then deletes the statistics files that
have been archived.
Running a Process generates multiple statistics records. To accommodate the large number of statistics
records generated, IBM Connect:Direct closes the current statistics file and creates a new statistics file at
midnight every day. It can also close the current file before midnight if the file size exceeds the value set
for the file.size initialization parameter. The default file size is 1 megabyte.
Statistics files are stored in the d_dir/work/cd_node directory. Names of the statistics files are in the
format Syyyymmdd.ext, where yyyy indicates year, mm indicates month, and dd indicates day. The
extension (ext) begins as 001. The extension is incremented by one each time a new statistics file is
created in a single day.
Connect:Direct for UNIX provides a utility to archive and purge statistics files. You identify when to archive
a statistics file by setting the parameter, max.age. The max.age parameter defines how old a statistics
file must be before you want to archive the file. Once a day, the script called statarch.sh is started. This
script identifies the statistics files that are greater than or equal to the max.age. It then runs the tar
command and the compress command to create a compressed archived file of all the statistics records
that match the max.age parameter. Once the statistics files are archived, these files are purged.
The archived files are stored in the directory where the statistics files and TCQ are stored. The shell script,
statarch.sh, is located in the ndm/bin directory. If necessary, modify the script to customize it for your
environment.
security.exit.program The security exit program used during the user Name of the security exit
exit procedure. This exit generates and verifies program.
passtickets, and it also supports other password
support programs, such as PASSTICKET, part of
the RACF security system available on MVS hosts
and also supported by IBM on UNIX AIX and
OS/2 computers using the NETSP product.
# zFBA parameter
zFBA:\
:on=y:
Note: When zFBA is set to on, CRC checking is disabled for sessions using the DS8K device for data
transfers. If Secure+ is configured between two nodes, the transfers will use the standard TCP/IP protocol
and ignore the zFBA option.
license.edition • Premium
• Standard
• Solo
• Default: Blank (undefined)
license.type • Production
• Non-Production
• Default: Non-Production
install.agent record
The install.agent record contains IBM Sterling Connect:Direct parameters to control the Connect:Direct
Install Agent, used by Control Center Director to manage applying upgrades and maintenance.
The number of times that IBM Any numeric value from 1–255. The default
Connect:Direct scans the list of available value is 2.
tcp.src.ports.list. ports to attempt a connection before going
iterations into a retry state.
api.parms:\
:tcp.hostname=alicia:\
:tcp.port=1393:\
:wait.time=50:
# Authenticator
authentication:\
:client.program=/home/qatest/jsmith/cdunix/hp/ndm/bin/ndmauthc:\
:client.keyfile=/home/qatest/jsmith/cdunix/hp/ndm/sc/keys.client:
tcp.port The TCP/IP port number to which Port number. The default is 1363.
the API usually connects.
wait.time The number of seconds to wait for Seconds to wait. The default is 50 seconds.
responses from the server. If this
limit is exceeded, the message ID
XCMG000I is displayed.
prompt.string Identifies the CLI prompt to display on the command line when Prompt string up to
the client is started. 32 characters. The
default is “Direct”.
If the prompt string includes spaces or special characters,
enclose it in single or double quotation marks.
You can set the customized prompt in this parameter and at the
command line (using the -P parameter). If the prompt string is
specified in both places, the -P parameter at the command line
takes precedence.
When the default prompt is overridden, the new prompt string
is displayed in the Welcome banner and at the command
prompt.
client.keyfile The key file to use during authentication. Client key file. The default is
keys.client.
comm.bufsize The buffer size for transmitting data to and The value for TCP/IP has no limit (up to
from a remote node for TCP/IP 2,147,483,623).
connections.
For LU6.2, the maximum is 32000.
The default is 65536 bytes.
conn.retry.stwait The time to wait between retries The maximum value is limited to the
immediately after a connection failure highest value in the clock format,
occurs. The format is hh.mm.ss, where hh 23.59.59. The default is 00.00.30,
specifies hours, mm specifies minutes, and which is 30 seconds.
ss specifies seconds.
conn.retry.stattempt The number of times to attempt connection 0–9999
s after a connection failure occurs.
The default is 6.
pacing.send.count The number of send operations to perform No limit exists for the size of this value.
before automatically waiting for a pacing
The default is 0, which indicates no pacing
response from the remote node. The value
of this type.
for this parameter has no effect on LU6.2
connections.
This is the maximum time a CMGR waits 0–86399 (23 hours, 59 minutes, and 59
before exiting when it has not received a seconds)
tcp.api.inactivity. command from a client program.
timeout The value is in seconds. The default is 0,
which indicates no timeout occurs.
tcp.max.time.to.wait The maximum time the local node waits for 0–10000
a message from the remote node when
The value is in seconds. The default value
using TCP/IP. When the time expires, the
is 180.
Process is moved to the Timer queue and
Connect:Direct attempts to re-establish a
session with the remote node. When set to
0, wait time is unlimited unless limited by
the operating system.
pacing.send.count The number of send operations to perform No limit exists for the size of this
before automatically waiting for a pacing value.
response from the remote node.
The default is 0, which indicates no
The value for this parameter has no effect pacing of this type.
on LU6.2 connections.
comm.bufsize The buffer size for transmitting data to and The value for TCP/IP has no limit (up to
from a remote node on TCP/IP 2,147,483,623).
connections.
For LU6.2, the maximum is 32000.
The default is 65536 bytes.
comm.info The information needed to initiate For TCP/IP connections, specify the host
connection requests to remote nodes using name or the IP address and port number.
TCP/IP or LU6.2. This information refers to
The default port is 1364.
the network card that the local IBM
Connect:Direct node uses to initiate For LU6.2 connections, specify a profile
outbound requests. This value is required. name, up to 8 characters.
• For TCP/IP connections, specify the host For more information on specifying IP
name or the IP address and port number. addresses and host names, see IP
If specifying IP address and port, Addresses, Host Names, and Ports.
separate parameters with a semicolon
(;).
comm.transport The transport protocol for the remote tcp | lu62 |blklu62
node.
tcp—TCP/IP connections
blklu62—Other LU6.2 connections
conn.retry.stwait Time to wait between retries immediately The maximum value is limited to the
after a connection failure occurs. The highest value in the clock format, 23.59.59.
format is hh.mm.ss, where hh specifies
The default is 00.00.30, which is 30
hours, mm specifies minutes, and ss
seconds.
specifies seconds.
conn.retry.stattempt Number of times to attempt connection 0–9999
s after a connection failure occurs.
The default is 3.
You can generate all the records through the script-based customization procedure or generate only one
or two records and use a text editor to generate additional records. After customization, you may want to
modify some of the parameters. Use cdcust to create a new user file or a text editor to modify the file as
necessary.
[email protected]:\
:local.id=sam:\
:pstmt.upload=y:\
:pstmt.upload_dir=/home/qatest/username/ndm/uploaddir:\
:pstmt.download=y:\
:pstmt.download_dir=/home/qatest/username/ndm/downloaddir:\
:pstmt.run_dir=/home/qatest/username/ndm/rundir:\
:pstmt.submit_dir=/home/qatest/username/ndm/submitdir:\
:descrip=:
sam:\
:admin.auth=y:\
:pstmt.copy.ulimit=y:\
:pstmt.upload=y:\
:pstmt.upload_dir=/home/qatest/username/ndm/uploaddir:\
:pstmt.download=y:\
:pstmt.download_dir=/home/qatest/username/ndm/downloaddir:\
:pstmt.run_dir=/home/qatest/username/ndm/rundir:\
:pstmt.submit_dir=/home/qatest/username/ndm/submitdir:\
:name=:\
:phone=:\
:descrip=:\
:cmd.s+conf=n:
client.source_ip Use this parameter to list all of the IP A comma-separated list of client IP
addresses and/or host names that are valid addresses or host names associated with
for this user's API connection. If you client IP addresses.
specify values for this field, the IP address
The IP address of the client connection for
of this user's API connection is validated
this user must match the address
with the client.source_ip list. If the IP
configured in this field.
address does not match the one specified
on the list, the connection is rejected. For example: nnn.nnn.nnn.nnn, localhost
pstmt.copy.ulimit The action taken when the limit on a user y | n | nnnnnnnn | nnnnnnnnK | nnnnnnnM |
output file size is exceeded during a copy nnnnG
operation. The value for this parameter
y—Honors the user file size limit. If this
overrides the equivalent value for the ulimit
limit is exceeded during a copy operation,
parameter in the initialization parameters
the operation fails.
file.
n—Ignores the limit. The default is n.
nnnnnnnn, nnnnnnnnK, nnnnnnnM, or
nnnnG—Establishes a default output file
size limit for all copy operations. K denotes
1024 bytes. M denotes 1048576 bytes. G
denotes 1073741824 bytes. The
maximum value you can specify is 1 TB.
pstmt.download_dir The directory to which the user can receive Directory path name
files. If a value is set for this parameter,
then files can only be received to this
directory or subdirectories. Otherwise, they
can be received to any directory. If a file
open exit is in use, this parameter is
passed to the exit, but it is not enforced.
pstmt.run_dir The directory where IBM Connect:Direct is Directory path name
installed that contains the programs and
scripts the user executes with run job and
run task statements. Any attempt to
execute a program or script outside the
specified directory fails.
The UNIX Restricted Shell provides
enhanced security by restricting the user to
the commands contained in the
pstmt.run_dir. If the user does not specify
pstmt.run_dir, the commands are started
with the Bourne shell.
To restrict the use of special characters in
the run directory, be sure to configure Y for
the restrict:cmd initialization parameter.
For more information on specifying the
restrict:cmd initialization parameter, see
Restrict Record.
pstmt.submit_dir The directory from which the user can Directory path name
submit Processes. This is for submits
within a Process.
snode.ovrd Specifies whether the user can code the y|n
snodeid parameter on the submit
y—Allows the user to code the snodeid
command and process and submit
parameter
statements.
n—Prevents the user from coding the
snodeid parameter. The default is n.
pstmt.upload_dir The directory from which the user can Directory path name
send files. If a value is set for this
parameter, then files can only be sent
from this directory or subdirectories. If a
file open exit is in use, this parameter is
passed to the exit, but it is not enforced.
If this parameter is defined, file names
in Copy statements must be relative to
this directory. Absolute path names can
be used, but the path must coincide with
this specification.
pstmt.download Determines if the user can receive files y|n
to this local node. If a file open exit is in
y—Allows a user to receive files. The
use, this parameter is passed to the exit,
default is y.
but it is not enforced.
n—Prevents a user from receiving
files.
pstmt.download_dir The directory to which the user can Directory path name
receive files. If a value is set for this
parameter, then files can only be
received to that directory or
subdirectories. Otherwise, they can be
received to any directory. If a file open
exit is in use, this parameter is passed to
the exit, but it is not enforced.
pstmt.run_dir The directory that contains the programs Directory path name
and scripts the user can execute with
run job and run task statements. Any
attempt to execute a program or script
outside the specified directory fails.
To restrict the use of special characters
in the run directory, be sure to configure
Y for the restrict:cmd initialization
parameter. For more information on
specifying the restrict:cmd initialization
parameter, see Restrict Record.
HOME=run_dir
IFS=whitespace characters (tab, space, and newline)
PATH=/usr/rbin and run_dir
LOGNAME=user's UNIX ID
Because environment variables are not inherited from the parent Process, no data can be passed to the
script or command through shell environment variables. The restricted shell restricts access to specified
scripts and commands, but it does not restrict what the scripts and commands can do. For example, a
shell script being executed within the run_dir directory can change the value of PATH and execute
command names containing a slash (/) character. For this reason, it is important that the system
administrator controls which scripts and commands the user has access to and does not give the user
write privileges to the run_dir directory or any of the files in the run_dir directory.
Security Exit
The Security Exit in the initialization parameters file, initparm.cfg, provides an interface to password
support programs.
This exit generates and verifies passtickets and it also supports other password support programs. An
example of other programs is PASSTICKET, part of the RACF security system available on MVS hosts and
also supported by IBM on UNIX AIX and OS/2 computers using the NETSP product.
For more information on the Security Exit, see User Exit Record.
Authentication Process
The IBM Connect:Direct authentication process determines if the user is authorized to access the system.
The goal of IBM Connect:Direct security is to reliably determine the identity of each user without requiring
logon repetition. In addition, the security design ensures that all requests originate from the IBM
Connect:Direct API, to ensure that the authentication process is not bypassed by an unauthorized user.
The following figure displays the components that perform authentication:
Parameter Description
server.program The server program to use during the
authentication procedure.
server.keyfile The key file to use during the authentication
procedure.
Parameter Description
client.program The client program to use during the authentication
procedure.
client.keyfile The key file to use during the authentication
procedure.
Firewall Navigation
Firewall navigation enables controlled access to an IBM Connect:Direct system running behind a packet-
filtering firewall without compromising your security policies or those of your trading partners. You control
this access by assigning a specific TCP source port number or a range of source port numbers with a
specific destination address (or addresses) for IBM Connect:Direct sessions.
Before you configure source ports in the IBM Connect:Direct initialization parameters, you need to review
all information regarding firewall navigation and rules, especially if you are implementing firewalls.
Procedure
1. Coordinate IP address and associated source port assignment with your local firewall administrator
before updating the firewall navigation record in the initialization parameters file.
2. Add the following parameters to the IBM Connect:Direct initialization parameters file as needed, based
on whether you are using TCP:
• tcp.src.ports
• tcp.src.ports.list.iterations
Firewall Rules
Firewall rules need to be created on the local firewall to allow the local IBM Connect:Direct node to
communicate with the remote IBM Connect:Direct node. A typical packet-filtering firewall rule specifies
that the local firewall is open in one direction (inbound or outbound) to packets from a particular protocol
with particular local addresses, local ports, remote addresses, and remote ports. Firewall Navigation
differs between TCP; as a result, firewall rules for TCP should be configured differently.
Session Establishment
Session establishment for TCP affects how you set up firewall rules and configure the firewall navigation
initialization parameters in IBM Connect:Direct.
IP Addresses
IBM Connect:Direct accepts both IPv4 and IPv6 addresses. Wherever an IP address is specified in IBM
Connect:Direct, you can use either IPv4 or an IPv6 addresses.
IPv4 Addresses
IPv4 supports 232 addresses written as 4 groups of dot-separated 3 decimal numbers (0 through 9), for
example, 10.23.107.5.
IPv6 Addresses
IPv6 supports 2128 addresses written as 8 groups of colon-separated 4 hexadecimal digits, for example,
1001:0dc8:0:0:0:ff10:143e:57ab. The following guidelines apply to IPv6 addresses:
• If a four-digit group contains zeros (0000), the zeros may be omitted and replaced with two colons (::),
for example:
2001:0db8:85a3:0000:1319:8a2e:0370:1337
can be shortened as
2001:0db8:85a3::1319:8a2e:0370:1337
• Any number of successive 0000 groups may be replaced with two colons (::), but only one set of double
colons (::) can be used in an address, for example:
001:0db8:0000:0000:0000:0000:1319:58ab
Can be shortened as:
2001:0db8:0000:0000::1319:58ab
• Leading zeros in a four-zero group can be left out (0000 can be shortened to 0), for example:
2001:0db8:0000:0000:0000:0000:1319:58ab
Can be shortened as:
2001:0db8:0:0:0:0:1319:58ab
• You can write a sequence of 4 bytes that occur at the end of an IPv6 address in decimal format using
dots as separators, for example:
::ffff:102:304
Can be written as:
::ffff:1.2.3.4
Host Names
When you specify a host name, rather than an IP address, IBM Connect:Direct gets the IP address from
the operating system. The first IP address returned by the operating system is used regardless of whether
it is in IPv4 or IPv6 format.
A host name (net, host, gateway, or domain name) is a text string of up to 24 characters comprised of the
alphabet (A–Z), digits (0–9), minus sign (-), and period (.), for example, msdallas-dt.
The following guidelines also apply:
• No blank or space characters are permitted as part of the name.
• Periods are allowed only when they are used to delimit components of domain-style names.
• Host names are not case sensitive.
• The first and last character must be a letter or digit.
• Single-character names or nicknames are not allowed.
Port Numbers
Port numbers can be appended to the end of IP/host addresses when they are preceded by a semi-colon
(;), for example, 10.23.107.5;1364. This convention is specific to IBM Connect:Direct and is not an
industry standard.
A port number must be in the range of 0 through 65535. Port numbers lower than 1024 are designated as
reserved and should not be used. The following examples show port numbers appended to IP/host
addresses using these conventions:
10.23.107.5;1364
fe00:0:0:2014::7;1364
msdallas-dt;1364
You can also specify a port number for each address or host name. The port is separated from its
corresponding address/host name with a semi-colon (;), and each address/host name and port
combination is separated by a comma (,). A space may be added after the comma for readability. The
following example shows multiple address/host name and port combinations:
Multiple address/host names (and combinations with port numbers) are limited to 1024 characters.
* Execute no processes at all. Put them in the hold queue and return.
DF
I
PACH*
PDITEST01
PDITEST02
L
Procedure
1. If you have not defined the NDMAPICFG environment variable, type the following command for the
appropriate shell, where d_dir is the path to the IBM Connect:Direct subdirectory.
In the C shell:
$ NDMAPICFG=d_dir/ndm/cfg/cliapi/ndmapi.cfg
$ export NDMAPICFG
2. Type the following command to invoke IBM Connect:Direct CLI. Type options as required:
Procedure
• Stop the CLI operation by typing Control-D or quit at the prompt.
CLI Commands
Refer to the following table for a description of the command options and sample command entries:
-n name Identifies the host name of the IBM Connect:Direct host $ direct -n hostname
computer where the IBM name
Connect:Direct server (PMGR) is
running.
Note: Invoking direct with -p or -n
overrides the settings in the
ndmapi.cfg file.
-p nnnnn Identifies the communications port 1024–65535. The format $ direct -p 2222
number for the IBM Connect:Direct is nnnnn.
node.
Note: Invoking direct with -p or -n
overrides the settings in the
ndmapi.cfg file.
Command Description
!! Repeat the last command one time.
!#n Set the number of commands to store in the history
buffer. The default history buffer size is 50
commands.
!n Repeat command number <n> in the history buffer.
!<string> Repeat command beginning with the string
<string>.
!? List the contents of the history buffer.
Parameter Abbreviation
detail det
quit q
recids rec
release rel
pname pnam, pna
pnumber pnum
sunday sun
monday mon
tuesday tue
wednesday wed
thursday thu
friday fri
saturday sat
today tod
tomorrow tom
System administrators and other network operations staff can restrict the scripts and UNIX commands
that you can execute with the run task and run job Process statements. System administrators and other
network operations staff can enforce the following limits on the capabilities you have with IBM
Connect:Direct:
• The capability to send or receive files; you may be limited either to sending files only or to receiving files
only.
• The locations to or from which you can send or receive files; you may be limited to specific local or
remote nodes.
Check with the system administrator for a list of specific restrictions for your user ID.
PNAME = A?PROD5*
The generic Process name specified in the previous sample shows a specification that matches all
Processes beginning with the letter A, followed by any single character in position two with the string
PROD5 in positions three through seven. The asterisk takes the place of zero or more characters
beginning in position eight.
Submitting a Process
The submit command makes Processes available for execution and enables the software to interpret the
Process statements contained in the specified files.
Parameters specified in the submit command override the same parameters specified on the Process
statement. There are no required parameters. However, if you do not specify a file name for the file
parameter, the text of the IBM Connect:Direct Process must follow the submit command. Following are
the parameters for the submit command:
maxdelay How long the submit command waits for the unlimited | hh:mm:ss | 0
submitted Process to complete execution.
unlimited—Waits until the Process completes
This parameter is useful when the command
execution.
is issued by a shell script. When this
parameter is specified, the script waits until hh:mm:ss—Waits for an interval no longer than
the Process completes before it continues the specified hours, minutes, and seconds.
execution. The return code of the Process is
0—Waits until the Process completes execution.
stored in the $? variable if you are using the
If you specify maxdelay=0, you get the same
Bourne or Korn shell and in $status variable
results as when you specify
if you are using the C shell, which the shell
maxdelay=unlimited.
script can use to test the results of Process
execution. If you do not specify maxdelay, no
delay occurs.
If the time interval expires, the submit
command returns a warning status code and
message ID to the issuing Process or CLI/
API. The Process is not affected by the time
interval expiration and executes normally.
newname A new Process name that overrides the name A name up to 256 characters long
in the submitted Process.
pacct A string containing information about the “pnode accounting data” up to 256 characters
PNODE. Enclose the string in double
quotation marks.
pnodeid Security user IDs and passwords at the id , pswd
PNODE. The pnodeid subparameters can
id—Specifies a user ID on the PNODE.
contain 1–64 alphanumeric characters.
pswd—Specifies a user password on the PNODE.
If you specify pnodeid, you must also specify id.
Identify the ID first and the pswd last.
prty The priority of the Process in the 1–15, where fifteen is the highest priority. The
Transmission Control Queue (TCQ). A default is 10.
Process with a higher priority is selected for
execution before a Process with a lower
priority. The prty value does not affect the
priority during transmission.
sacct Specifies accounting data for the SNODE. “snode accounting data” up to 256 characters.
Setting this value in the submit statement Enclose the string in double quotation marks.
overrides any accounting data specified in
Process.
snode Identifies the name of the secondary node. name | host name | nnn.nnn.nnn.nnn or
Setting this value overrides the snode value nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn[;p
in the Process statement. The snode ort name | nnnnn]]
parameter is required either on the submit
name—Specifies the node name of the remote
command or Process statement.
node. The secondary node name corresponds to
an entry in the network map file.
host name—Specifies the name of the host
computer where the remote IBM Connect:Direct
node is running.
nnn.nnn.nnn.nnn or
nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn —
Specifies the IP address of the remote node in
IPv4 or IPv6 format: nnn.nnn.nnn.nnn (IPv4) or
nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn
(IPv6).
[;port number |nnnnn]—Identifies the
communications port. You can only use this
parameter with the host name or IP address
parameters. The nnnnn value is a decimal
number from 1,024–65,535.
Because retain=yes is specified in this sample, the Process is retained in the TCQ after execution. The
Process starts next Monday at 00:00:00 and runs every Monday thereafter. Process accounting data is
specified for the PNODE.
Because startt is specified, the Process executes on the first day of January 2008 at 11:45 a.m.
Because tracel is specified and the pnode parameter is included, an SMGR and COMM full trace is
performed on the Process. Trace information is written to the default file SMGR.TRC.
The optional parameters for the change process command are the following:
newsnode Specifies a new remote node name new remote node specification
to assign to the Process.
prty Changes the priority of the Process 1–15, where 15 is the highest priority. If you
on the TCQ. IBM Connect:Direct do not specify prty, the default is 10.
uses the prty parameter for
Process selection. A Process with a
higher priority is selected for
execution before a Process with a
lower priority. The prty value does
not affect the priority during
transmission.
release Releases the Process from a held none
state. This parameter is equivalent
to hold=no.
tracel Changes the level of trace to level = 0 | 1 | 2 | 4
perform for a Process.
level—Specifies the level of detail displayed in
If you identify the SNODE or the trace output. The default is 4.
PNODE immediately after the trace
0—Terminates the trace.
level definition, the trace level is
1—Is the basic level that provides function
turned on for all Processes
entry and function exit.
submitted to and from the node
2 —Includes level 1 plus function arguments.
identified.
4—Enables a full trace. Basic diagnostic
information, such as values of internal data
structures at key points in the execution flow,
are displayed.
The following command changes the remote node name for the Process named cdproc to a new remote
node, paris:
The following command deletes all nonexecuting Processes submitted by user ID cduser on node dallas:
snode Locate the Process to remove remote node specification | generic | (list)
by the secondary node name.
remote node specification—Identifies a specific remote
This parameter can be used
node name.
to specify a specific remote
node, a generic value for generic—Specifies a nonspecific value for the remote
matching remote node node name. This generic value, containing pattern-
names (using pattern matching characters, evaluates to a list of zero or more
matching), or a list of remote node names.
multiple remote node names.
list—Specifies a list of remote node specifications.
The secondary node name Enclose the list in parentheses, and separate each value
typically contains the 1–16 with a comma.
character remote IBM
Connect:Direct node name,
but can be any string up to
256 alphanumeric characters
long. You can also specify a
remote node name as an IP
address or hostname and a
port number.
The following command flushes all executing Processes named “Rome” from the Execution queue:
The following command flushes all executing Processes on node alma submitted by user ID jones:
The following command forcibly terminates IBM Connect:Direct and returns control to the operating
system:
stop force;
snode View the Process by the remote node specification | generic | (list)
secondary node name. This
remote node specification—Identifies a specific
parameter can be used to specify
remote node name.
a specific remote node, a generic
value for matching remote node generic—Specifies a nonspecific value for the remote
names (using pattern matching), node name. This generic value, containing pattern-
or a list of multiple remote node matching characters, evaluates to a list of zero or
names. more remote node names.
The secondary node name list—Specifies a list of remote node specifications.
typically contains the 1–16 Enclose the list in parentheses, and separate each
character remote IBM value with a comma.
Connect:Direct node name, but
can be any string up to 256
alphanumeric characters long.
You can also specify a remote
node name as an IP address or
hostname and a port number.
snode Locate the Process by the remote node specification | generic | (list)
secondary node name. This
remote node specification—Identifies a specific
parameter can be used to
remote node name.
specify a specific remote node, a
generic value for matching generic—Specifies a nonspecific value for the remote
remote node names (using node name. This generic value, containing pattern-
pattern matching), or a list of matching characters, evaluates to a list of zero or
multiple remote node names. more remote node names.
The secondary node name list—Specifies a list of remote node specifications.
typically contains the 1–16 Enclose the list in parentheses, and separate each
character remote IBM value with a comma.
Connect:Direct node name, but
can be any string up to 256
alphanumeric characters long.
You can also specify a remote
node name as an IP address or
hostname and a port number.
The following command displays a short report for the specified Process number:
===================================================================================
SELECT PROCESS
===================================================================================
PROCESS NAME NUMBER USER SUBMITTER NODE QUEUE STATUS
-----------------------------------------------------------------------------------
PR01 9 root cd.unix.pj EXEC EX
===================================================================================
The following command displays a detailed report for the specified Process number:
===================================================================================
SELECT PROCESS
===================================================================================
Process Name => pr01 Class => 9
Process Number => 9 Priority => 8
Submitter Node => cd.unix.pj PNODE => cd.unix.pj
Submitter => sub1 SNODE => cd.unix.pj
Retain Process => no Header Type => p
snode Locate the statistics file remote node specification | generic | (list)
record by the secondary node
remote node specification—Identifies a specific remote
name. This parameter can be
node name.
used to specify a specific
remote node, a generic value generic—Specifies a nonspecific value for the remote
for matching remote node node name. This generic value, containing pattern-
names (using pattern matching characters, evaluates to a list of zero or more
matching), or a list of remote node names.
multiple remote node names.
list—Specifies a list of remote node specifications.
The secondary node name Enclose the list in parentheses, and separate each value
typically contains the 1–16 with a comma.
character remote
Connect:Direct node name,
but can be any string up to
256 alphanumeric characters
long. You can also specify a
remote node name as an IP
address or hostname and a
port number.
===================================================================================
SELECT STATISTICS
===================================================================================
P RECID LOG TIME PNAME PNUMBER STEPNAME CCOD FDBK MSGID
-----------------------------------------------------------------------------------
P PSTR 08/10/2008 09:10:39 PR01 9 0 XSMG200I
P IFED 08/10/2008 09:10:44 PR01 9 0 XSMG405I
P CTRC 08/10/2008 09:10:44 PR01 9 0 XSMG405I
P IFED 08/10/2008 09:10:45 PR01 9 4 XSMG400I
P RTED 08/10/2008 09:10:45 PR01 9 0 XSMG400I
P IFED 08/10/2008 09:10:45 PR01 9 4 XSMG400I
P CTRC 08/10/2008 09:10:45 PR01 9 0 XSMG405I
P CTRC 08/10/2008 09:10:45 PR01 9 8 XSMG405I
To avoid lengthy search times when issuing the select statistics command, archive or delete statistics
files regularly. Also, use the startt and stopt parameters to bracket the desired stats as closely as
possible. Execution of a Process generates multiple statistics records. IBM Connect:Direct closes the
current statistics file and creates a new statistics file every midnight. It can also close the current file
before midnight if the file size exceeds the value set for the file.size initialization parameter. The default
file size is 1 megabyte.
Statistics files are in the d_dir/work/cd_node directory. Names of the statistics file are in the format
Syyyymmdd.ext, where yyyy indicates year, mm indicates month, and dd indicates day. The extension
(ext) begins as 001. The extension is incremented by one each time a new statistics file is created in a
single day.
The following sample trace command performs a level 2 trace on the Session Manager for the node called
ath3500ry and writes the output to the file Smgp.trc:
A partial sample trace output is illustrated in the following section. A trace identifies the Process ID and
the function, the month and day, and the time in microseconds. The first column contains the Process ID.
Column two indicates the month and day in the form of MM/DD. Column three indicates the time in the
form of HH:MM:SSSS. The last column indicates the function. An arrow pointing to the right indicates the
function was entered. An arrow pointing to the left indicates the function was exited. Some of the
functions are indented, which indicates nesting. An indented arrow indicates that the function was called
by the preceding function.
Process Queuing
The TCQ controls Process execution as IBM Connect:Direct operates. After you submit a Process, it is
stored in the TCQ. The TCQ consists of four queues: Execution, Wait, Timer, and Hold.
After you submit a Process, you can monitor the status, modify specific characteristics, and stop
execution by using the appropriate commands. The commands listed in the following table allow you to
perform these tasks:
Command Definition
change process Change the status and modify specific
characteristics of a nonexecuting Process in the
TCQ.
delete process Remove a nonexecuting Process from the Wait,
Timer, and Hold queues.
flush process Remove an executing Process from the Execution
queue.
select process Monitor Processes in the TCQ, including those
Processes that are executing.
view process View Processes in the TCQ.
Each Process in the TCQ has an associated status value. Each status value has a unique meaning that is
affected by the logical queue in which the Process is placed. Status values for each queue are shown in
the tables in the following sections. You can use the select process command to examine that status of
Processes in the TCQ. For example, the following command displays all Processes in the TCQ with
execution status:
Processes in the Execution queue can be in execution (EX) status or pending execution (PE) status.
Processes with EX status are exchanging data between two IBM Connect:Direct nodes. Processes with PE
status are waiting for Process start messages to be exchanged between the local node and the remote
node. Processes usually have PE status assigned for a very short period of time.
After a Process successfully completes, it is automatically deleted from the Execution queue. A flush
process command with hold=yes moves a Process from the Execution queue and places it in the Hold
queue. When a session is interrupted, the Process moves from the Execution queue to the Timer queue if
retry values are specified. If connection is not made before the retry values are exhausted or if retry
Element Comment
PE Pending Execution is the initial queue status when
a Process is submitted with maxdelay=0.
EX Execution status indicates that the Process is
executing.
Processes can come from the Hold queue or the Timer queue. Processes also can be placed in the Wait
queue by a submit command with no parameters specified, submit with retain=no, or submit with
hold=no.
After the connection is made, Processes automatically move to the Execution queue.
The following table shows the status values for the Wait queue:
Status Comment
WC This status indicates the Process is ready to
execute as soon as possible, but no session is
available. Other Processes may be executing with
the SNODE, and no other sessions are available.
This Process runs as soon as a new session is
created or an existing session becomes available.
WR This status indicates that the Process is in retry
status. The number of retries and intervals
between retries is specified in the network map.
WA This status indicates the initial queue status when
a Process is submitted without a hold or retain
value. This Process is ready to execute as soon as
possible.
WS This status indicates that the Process is waiting for
the PNODE to continue the session.
• If a file allocation error occurs when a Process is executing on either the local or the remote node, and
the file allocation error is identified as a condition to retry, the Process is placed in the Timer queue. The
Process is then retried using the short-term and long-term retry parameter definitions. This capability
enables a Process that was unable to execute because a file that it called was unavailable to be retried
at a later time.
Status Comment
WR This status indicates that the Process is in retry
status. The number of retries and intervals
between retries is specified in the network map.
WS This status indicates that the Process is waiting for
the PNODE to continue the session.
HR Held Retain indicates that the Process was
submitted with retain=yes or retain=initial
specified and has already executed. The Process
can be released later by a change process
command with release specified.
WC This status indicates the Process is ready to
execute as soon as possible, but no session is
available. Other Processes may be executing with
the SNODE, and no other sessions are available.
This Process runs as soon as a new session is
created or an existing session becomes available.
Processes in the Hold queue are waiting for operator intervention before they progress to the Wait queue.
This queue enables operators of the local node and remote node to coordinate and control Process
execution.
Processes are placed in the Hold queue by a submit command with retain=initial, retain=yes, or hold=yes
parameters specified. Processes submitted with hold=call also are placed in the Hold queue. Processes
are moved from the Timer queue to the Hold queue by a change process command with hold=yes
specified. Additionally, Processes are moved from the Execution queue to the Hold queue by a flush
process command with hold=yes specified.
Processes are moved from the Hold queue to the Execution queue by a change process command with
the release parameter specified.
The following table shows the status values for the Hold queue:
Status Comment
HC Held for Call indicates that the Process was
submitted with hold=call specified. A session
started from either node causes the Process to be
moved to the Wait queue in WC status. The Process
is placed in the Execution queue when the Process
is selected for execution.
Each byte stores the character value for the target character set. The source character set is used as an
index into the table. For example, an ASCII blank (Hex 20) would locate the byte at offset Hex 20 in the
translation table. If the byte at location Hex 20 contains Hex code 40, that would translate to an EBCDIC
code indicating a blank character.
The parameters for the ndmxlt command are listed in the following table:
-ffiller A filler byte value. The entire table is initialized to Any keyboard character, number,
this value before the input data is scanned and or special character, plus control
applied to the table. characters entered using a
preceding slash.
For example, “\0” is null.
-m The path and file name of a model translation Path and file name of the model
table. If specified, the model table is read in and translation table
then the input data is scanned and applied to the
table. This capability permits creating a number of
different tables that are variations from a single
base table without having to specify all 256 bytes
of input data for each table.
Procedure
1. Make a copy of the sample translation table located at cd_dir/ndm/src/def_send.sxlt.
2. Open the new translation table with a text editor.
3. Add the following lines to the bottom of the table. It should look like the table in “Creating a
Translation Table” on page 182when you have added this information.
#
# Change the lowercase characters to uppercase.
offset=61
C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7
D8 D9 E2 E3 E4 E5 E6 E7 E8 E9
6. To use this translation table, add the following sysopts parameter to the copy statement:
Procedure
1. Create a file called FourLinesUpperCase.sxlt and add the following lines to the file:
#
# Change the lowercase characters to uppercase.
offset=61
C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7
D8 D9 E2 E3 E4 E5 E6 E7 E8 E9
4. To use this translation table, add the following sysopts parameter to the copy statement:
To specify a customized table for data translation, include the following sysopts subparameter in the copy
statement, where pathname/filename identifies the translation table:
Refer to the UNIX section of the IBM Connect:Direct Processes Web site at https://www.ibm.com/
support/knowledgecenter/CD_PROC_LANG/com.ibm.help.cdprocoverview.doc/
cdprc_over_what_is_a_cd_process.html for additional details concerning translation table specification
with a copy statement.
The IBM Connect:Direct message file contains records with text for all messages, including errors and
messages from IBM Connect:Direct servers other than the host server. You can add and delete message
records with a text editor. The message file resides in d_dir/ndm/cfg/cd_node/msgfile.cfg. You can display
message text with the ndmmsg command.
XxxxnnnI
Where:
message id [long.text detailed message explanation] [mod.name issuing module name] short.text
message summary
XCPS008I:\ :mod.name=NUSMCP00.C:\
:short.text=File is not VB datatype.:\
:long.text=File is not variable block. Change sysopts datatype to\
either binary or text to transfer this file.\
\nSYSTEM ACTION-> the copy step failed and CD processing\
continued with the next process step.\
\nRESPONSE-> change the sysopts datatype to either\
binary or text.:\
Following are the parameters for the ndmmsg command. If you do not specify an l or s parameter, both
short and long text are displayed.
rc=&rc
fdbk=&fdbk
mod.name=NUCMRG00.C
func.name=ndmapi_sendcmd
short.text=CMGR RPC call returns NULL
long.text=The ndmapi_sendcmd RPC call made by the API to the CMGR returns a
NULL pointer.There is probably an RPC error.ndm.action=None
user.action=First, check if the ndmcmgr is still running; it could have
been killed accidently.If so, then abort the current CLI and restart the
CLI. If the same problem occurs again, try to increase the value of wait
time (if set) in the API configuration file (ndmapi.cfg).
cdsacomp
-i Specify the input file to precompress or full or relative path of input file
decompress. This argument is required.
-o Specify the output file to save. If the output file full or relative path of output file
already exists, it is overwritten. This argument is
required.
-z Use this option with “-m compress” to override level, window, memory
default compression values. This argument is
level—Compression level. The
optional.
range is 1–9. The default is 1.
When decompressing, the values used during
1—Provides the least
compression are used.
compression, but is the fastest.
9—Provides the most
compression, but is the slowest.
window—The size of the
compression window and history
buffer. Increasing the window
increases the compression, but
uses more virtual memory. The
range is 9–15. The default is 13.
memory—The amount of virtual
memory to allocate. The range
is 1–9. The default is 4.
1—Uses the least virtual
memory.
9—Uses the most virtual
memory.
-p Use this option to specify codepages for file source codepage, destination
conversion. Default is no codepage translation. codepage
This parameter is mutually exclusive with -xlate.
-h Use this option to display online help for the No values are available for this
utility. parameter.
cdsacomp -m compress
-d text
-i source.file
-o compressed.file
-x /home/cd/ndm/xlate/def_send.xlt
-s y
cdsacomp -m compress
-d text
-i zzz.txt
-o zzz.sac
-p EBCDIC-US,ASCII
cdsacomp -m compress
-d binary
-infile source.file
-outfile compressed.file
cdsacomp -m decompress
-d text
-i compressed.file
-o dest.file
-x /home/cd/ndm/xlate/def_recv.xlt
cdsacomp -h
pend;
Note: The Strong Access Control File (sysacl.cfg) will be validated only when the user running the
Configuration Checking Utility is a root user.
By default, cfgcheck is run with no arguments and attempts to find all five of the configuration files in the
current working directory. If all of the IBM Connect:Direct components are not installed, then some of the
$ cfgcheck -t -h -f filename.cfg
Argument Description
No arguments (default) When no arguments are specified and the cfgcheck
utility is run by a non-root user, it searches the
cfg/ directory for the following configuration
files: initparm.cfg, netmap.cfg, userfile.cfg, and
ndmapi.cfg. When a root user runs cfgcheck, the
utility also searches the SACL/ directory to
locate the sysacl.cfg file.
-h Prints the help screen and exits.
Configuration Reports
You can generate a report of your system information and IBM Connect:Direct configuration information
using the Configuration Reporting Utility (cdcustrpt). Configuration reports can be generated for the
following IBM Connect:Direct components:
• Base installation of IBM Connect:Direct
• Connect:Direct Secure Plus for UNIX
During the IBM Connect:Direct installation, cdcustrpt is installed in the <installation>/etc/ directory.
Procedure
1. Type the following command at a UNIX prompt:
% cdcustrpt
2. Type the full path where IBM Connect:Direct is installed and press Enter.
3. Type the full path and name for the report that will be generated and press Enter.
The report is generated in the location you specified, and any error messages are displayed as shown
in the following example:
% cdcustrpt
Enter full path and name for this support report file:[/sci/users/jbrown1/cd40/etc/
cd.support.rpt]:
cdcustrpt ended
In this example, the user does not have root access, so the Strong Access Control File (sysacl.cfg) can
not be accessed. The following example shows an excerpt from a sample report:
=========================================================
===== Begin: Environment and system information =====
=========================================================
Disk usage:
Filesystem 512-blocks Free %Used Iused %Iused Mounted on
/proc - - - - - /proc
Memory statistics:
System Configuration: lcpu=4 mem=3824MB
Name=.Keystore
File=/data/cd4204sp/ndm/secure+/certificates/cdkeystore.kdb
Name=.Local
BaseName=cd4204sp
Type=L
Protocol=TLS1.2
Override=Y
SecurityMode=Disable
AuthTimeout=120
SeaEnable=N
SeaCertValDef=
KeyCertLabel=MYSHA2562048ID
EncryptData=Y
ClientAuth=N
CipherSuites=(TLS_RSA_WITH_AES_256_GCM_SHA384,
TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_NULL_SHA256,TLS_RSA_WITH_NULL_SHA)
Use the commands defined in the following table to compile a custom C++ program using the C++ API
calls:
HP-Itanium
64-bit /opt/aCC/bin/aCC +DD64 -I../include -o sdksample sdksample.C ../lib/ndmapi64.a -L/usr/lib/hpux64 -
lrpcsvc -lnsl -ldld -Wl,+s -lunwind
Linux x86
64-bit g++ -I../include -O -DLINUX -o sdksample sdksample.C ../lib/ndmapi64.a -ldl -lnss_nis -lstdc++ -ltirpc
-lnsl
Note: A 64-bit Linux OS installation is required to compile 64-bit binaries.
LinuxS390
64-bit g++ -I../include -O -DLINUX -o sdksample sdksample.C ../lib/ndmapi64.a -ldl -lnss_nis -lstdc++ -ltirpc
Note: A 64-bit Linux OS installation is required to compile 64-bit binaries.
Linux ppc64le
64-bit g++ -I../include -O -DLINUX -o sdksample sdksample.C ../lib/ndmapi64.a -ldl -lstdc++ -ltirpc -lnsl
To build a C++ program using the C API calls, such as the apicheck.C sample program, replace the
sdksample.C parameter with the name of the C++ program and rename the output file parameter, -o
sdksample, to the name of the output file you want to create such as apicheck.
Use the commands defined in the following table to compile a C program:
HP-Itanium
64-bit /opt/ansic/bin/cc +DD64 -I../include -o apicheck apicheck.c ../lib/ndmapi64.a -L/usr/lib/hpux64 -
lrpcsvc -lnsl -ldld -Wl,+s -lcl -lstd_v2 -lCsup -lunwind
Linux x86
64-bit gcc -I../include -O -DLINUX -o apicheck apicheck.c ../lib/ndmapi64.a -ldl -lnss_nis -lstdc++ -ltirpc -
lnsl
Note: A 64-bit Linux OS installation is required to compile 64-bit binaries.
LinuxS390
64-bit gcc -I../include -O -DLINUX -o apicheck apicheck.c ../lib/ndmapi64.a -ldl -lnss_nis -lstdc++ -ltirpc
Note: A 64-bit Linux OS installation is required to compile 64-bit binaries.
Linux ppc64le
64-bit gcc -I../include -O -DLINUX -o apicheck apicheck.c ../lib/ndmapi64.a -ldl -lstdc++ -ltirpc -lnsl
Three types of IBM Connect:Direct command responses are returned by these functions.
• Informational responses return information about the submitted command.
• Data responses, stored in the resp_buffer, contain data records.
• Error responses return ERROR_H, a pointer to a linked list of all errors found. The ID field values are
fixed for use when debugging. The msgid, feedback, and rc fields are specified by IBM Connect:Direct
and are referred to in message text. The subst field points to a string that contains substitution variable
information to be inserted appropriately in the message text. The error control structure keeps track of
the current and total number of errors. You can move through the errors by using the next pointer in
error entry blocks.
The following code defines the ERROR_H structure:
Parameter Description
NDM_NO_ERROR A session was established with the server.
The following sample function illustrates the use of ndmapi_connect() to connect to the sun1 host:
void ndmapi_disconnect
ndmapi_disconnect ();
ICRC—CRC indicator
LCCD—Local completion code
LCLP—Local IP address and port
number
LKFL—Link fail
LMSG—Local message ID
LNOD—Local node
MSGI—Message ID
MSGT—Message text
MSST—Short text
OCCD—Other completion code
OERR—Other node in error
OMSG—Other message ID
PACC—PNODE account
PCRC—CRC indicator
PFIL—Process file
PNAM—Process name
PNOD—PNODE
PNUM—Process number
PPMN—PDS member name
PRTY—Priority
QUEU—Queue
RECC—Record category
RECI—Record ID
RETA—Retain Process
RMTP—Remote IP address and port
number
RSTR—Process restarted
RUSZ—RU Size
SACC—SNODE account
SBID—Submitter node ID
SBLR—Source file blocks sent
SUBM—Submitter ID
SUBN—Submitter node
SUMM—Summary output selector
SVCN—Source file volume count
SVOL—Source volume array
SVSQ—Source file volume sequence
number
TIME—Submit time
TZDI—Local time zone delta from GMT
XLAT—Translation
ZLVL—Zlib compress level
Zlib—memory level
Zlib—window size
resp_moreflag A pointer to the flag that indicates that more responses are Pointer to a flag
pending for the command just executed. Invoke
ndmapi_recvresp() or ndmapi_recvresp_c() to retrieve the extra
responses.
ret_data A pointer to a structure containing internal response information Pointer to a
for a command. The structure is: structure
struct sendcmd_data {
char * cmd_name;
ulong cmd_id;
long data1;
long data2;
long data3;
};
sendcmd_data Provides the caller with some information about the user request. Information
Because parsing of command text occurs at the CMGR, the End about the user
User Application (EUA) has no way to identify the command that request
was submitted, unless it generated the text.
cmd_name A pointer to a string with the name of the command submitted. The Pointer to name
CLI uses this pointer to display completion messages. This field of command
enables you to display unique completion messages without any
knowledge of a specific command in the EUA.
/**************Command IDs*******************/
#define CHANGE_PROCESS 0x43484750 /* "CHGP" */
#define DELETE_PROCESS 0x44454c50 /* "DELP"*/
#define FLUSH_PROCESS 0x464c5350 /* "FLSP" */
#define SELECT_PROCESS 0x53454c50 /* "SELP"*/
#define SELECT_STATISTICS 0x53454c53 /* "SELS" */
#define SUBMIT 0x5355424d /* "SUBM" */
#define TRACE_API 0x41504920 /* "API " */
#define TRACE_CMGR 0x434d4752 /* "CMGR" */
#define TRACE_SMGR 0x534d4752 /* "SMGR" */
#define TRACE_PMGR 0x504d4752 /* "PMGR" */
#define TRACE_COM 0x434f4d4d /* "COMM"*/
#define TRACE 0x54524143 /* "TRAC" */
#define STOPNDM 0x53544F50 /* "STOP" */
The CLI uses these identifiers to ensure that rules are being
followed. For instance, if an ndmapi_sendcmd returns with the
resp_moreflag set and the cmd_id is not SELECT_STATISTICS or
SELECT_PROCESS, the CLI generates an error.
data1, data2, For future expansion. data1 is used with the submit command to
and data3 return the Process number. data2 is used with the submit
command to return the result of the Process (0, 4, 8, or 16)
Note: The environment variable NDMAPICFG must be set to the pathname of the client configuration file.
Refer to “Starting the CLI” on page 141for instructions on setting the environment variable.
#include "cdunxsdk.h"
#include <iostream.h>
#include <string.h>
void getError(ConnectDirectSession& cdSess);
main()
{
ConnectDirectSession cdSess;
char processText[16384];
if (cdSess.SessionINF->Connect() == CD_SUCCESS)
{
strcpy(processText,"submit maxdelay=unlimited sdksample process snode=SNODENAME ");
strcat(processText,"copy00 copy from (file=sample.txt pnode)");
strcat(processText," to (file=sample.000 snode disp=rpl) ;");
if (cdSess.SessionINF->SendCommand(processText) == CD_SUCCESS)
{
printf("%s completed, pnumber = %ld.\n",
cdSess.SessionINF->GetCommandName(),
cdSess.SessionINF->GetProcessNumber());
sprintf(processText, "SELECT STATISTICS PNUMBER=%ld DETAIL=YES ;", cdSess.SessionINF-
>GetProcessNumber());
(cdSess.SessionINF->SendCommand(processText) == CD_SUCCESS)
{
}
else
{
getError(cdSess);
}
}
else
{
getError(cdSess);
}
cdSess.SessionINF->DisConnect();
}
else
{
getError(cdSess);
}
}
void getError(ConnectDirectSession& cdSess)
{
if (cdSess.SessionINF->GetFirstError())
{
printf("\nError Message: %s", cdSess.SessionINF->GetMsgID());
printf("\nError Feedback: %d", cdSess.SessionINF->GetFeedBackCode());
printf("\nError RC: %d", cdSess.SessionINF->GetReturnCode());
printf("\nError SUBST: %s\n", cdSess.SessionINF->GetSubstitute()); }
while(cdSess.SessionINF->GetNextError())
{
printf("\nError Message: %s", cdSess.SessionINF->GetMsgID());
printf("\nError Feedback: %d", cdSess.SessionINF->GetFeedBackCode());
printf("\nError RC: %d", cdSess.SessionINF->GetReturnCode());
printf("\nError SUBST: %s\n", cdSess.SessionINF->GetSubstitute());
}
}
GetCurrentError Moves the error data pointer to the void TRUE—If successful
current error in the list. FALSE—If no current
error exists.
GetNextError Moves the error data pointer to the void TRUE—If successful
next error in the list.
FALSE—If no more
errors are found.
GetPreviousError Moves the error data pointer to the void TRUE—If successful
previous error in the list.
FALSE—If no previous
error exists.
GetFirstError Moves the error data pointer to the void TRUE—If successful
first error in the list.
FALSE—If no error is
found.
#include <stdio.h>
// Error enumeration.
typedef enum CDErrorCode
{
CD_SUCCESS = 0,
CD_FAILURE = -1
} CDErrorCode;
// <<Interface>>
class CDSession
{
public:
// Communication methods...
virtual CDErrorCode Connect(void) = 0;
virtual CDErrorCode Connect(char *IpAddress, char *IpPort) = 0;
virtual CDErrorCode DisConnect(void) = 0;
virtual CDErrorCode SendCommand(char *CmdText) = 0;
virtual CDErrorCode ReceiveResponse(void) = 0;
class ConnectDirectSession
{
public:
// Interface classes
CDSession *SessionINF;
ConnectDirectSession();
~ConnectDirectSession();
};
Note: exit_skeleton.c and exit_skeleton.C contain working examples of all three exits and can be made
with the make_exit_c and make_exit_C make files.
The user exit programs are described in the following:
Program Description
File Open Exit IBM Connect:Direct sends a message to this user
exit program to open the source or destination file
during processing of the copy statement. The File
Open Exit opens the source file and identifies the
file descriptor. This exit can perform any sort of
processing to file names or directory names. It can
also redirect the open request to other files as
needed.
The File Open Exit program (named “exit_skeleton”
in this example) must be owned by root and the
setuid bit must be set. Use the following
commands:
% chown root exit_skeleton
% chmod u+s exit_skeleton
The exit_child_init() or exit_child_init_c() function have the following return codes. Return codes for the
function are defined in ndmapi.h.
The recv_exit_msg()or recv_exit_msg_c() functions have the following return codes. Return codes for the
function are defined in ndmapi.h.
The send_exit_file() or send_exit_file_c() function calls have the following return codes. Return codes for
the function are defined in ndmapi.h.
Following are the return codes for send_exit_msg() or send_exit_msg_c(). Return codes for the function
are defined in ndmapi.h.
FILE_OPEN_OUTPUT_MSG
During the copy statement process, IBM Connect:Direct sends a FILE_OPEN_OUTPUT_MSG to the user
exit program to open the destination file. The FILE_OPEN_OUTPUT_MSG contains:
FILE_OPEN_OUTPUT_REPLY_MSG
The user exit program sends a reply message to the IBM Connect:Direct FILE_OPEN_OUTPUT_MSG. The
FILE_OPEN_OUTPUT_REPLY_MSG contains:
FILE_OPEN_INPUT_MSG
During the copy statement Process, IBM Connect:Direct sends a FILE_OPEN_INPUT_MSG to the user exit
program to open the source file. The FILE_OPEN_INPUT_MSG contains:
FILE_OPEN_INPUT_REPLY_MSG
This message type is used when the user exit program sends a reply message to the IBM Connect:Direct
FILE_OPEN_INPUT_MSG. The FILE_OPEN_INPUT_REPLY_MSG contains:
GENERATE_MSG
IBM Connect:Direct sends a generate message to the user exit program at the start of a session to
establish a security environment. The PNODE sends the GENERATE_MSG to the security exit to determine
a user ID and security token to use for authentication on the SNODE. The GENERATE_MSG contains:
• Submitter ID
• PNODE ID
GENERATE_REPLY_MSG
The user exit program sends a reply message to IBM Connect:Direct. The GENERATE_REPLY_MSG
contains:
VALIDATE_MSG
IBM Connect:Direct sends a validate message to the user exit program. The SNODE sends the
VALIDATE_MSG to the security exit to validate the user ID and security token received from the PNODE.
The VALIDATE_MSG contains:
• Submitter ID
• PNODE ID
• PNODE ID password, if user specified one
• SNODE ID
• SNODE ID password, if user specified one
• PNODE name
• SNODE name
• ID to use with security token
• Security token (password, PASSTICKET, or other security token)
VALIDATE_REPLY_MSG
The user exit program sends a reply message to the IBM Connect:Direct VALIDATE_MSG. The
VALIDATE_REPLY_MSG contains:
• stat_exit.log
• file_exit.log
• security_exit.log
Note: You can access the log files through the normal printf() and fprintf (stderr,...) functions.
The log files are located in the installed (d_dir) working directory:
.../d_dir/work/cd_node
Activating FASP
By default, IBM Aspera High-Speed Add-on for Connect:Direct is not enabled. To enable it, you must
download a license key and install Connect:Direct for UNIX V4.2.0.4 iFix 13 or later.
Procedure
1. Download the IBM Aspera High-Speed Add-on for Connect:Direct license key for your Connect:Direct
node from Passport Advantage.
2. Rename the file aspera-license.
3. Save the renamed file to the <cd_dir>/ndm/cfg/<nodename> directory.
4. Download and install Connect:Direct for UNIX V4.2.0, Fix Pack 3 (or later) from Fix Central.
Important: The Connect:Direct install package includes the IBM Aspera High-Speed Add-on for
Connect:Direct configuration file (aspera.conf). It contains the minimum necessary basic configuration
statements to use FASP on Connect:Direct. It is always installed even if you do not purchase IBM
Aspera High-Speed Add-on for Connect:Direct. Do NOT make any changes to this file.
Optional Parameters
FASP Parameters:
• FASP (Yes | No)
• FASP POLICY (Values are the same as the FASP Local and Remote node record parameters)
• FASP.FILESIZE.THRESHOLD (Values are the same as the FASP Local and Remote node record
parameters)
• FASP.BANDWIDTH (Values are the same as the FASP Local and Remote node record parameters)
FASP Parameters are applicable in three different contexts:
• COPY statement - The four FASP parameters may be used individually or as a group within a COPY
statement. This will set FASP values for the duration of that COPY statement and will not have any effect
on statements within the submitted Process
• PROCESS statement - The four FASP parameters may be used individually or as a group at the end of a
PROCESS statement. This will set the FASP parameters for all of the COPY statements in the process
• SUBMIT command - The four FASP parameters may be set individually or as a group at the end of a
SUBMIT command. This will set the FASP parameters for all COPY statements in the process being
submitted These settings will set FASP information for their relevant part of the scope, potentially
overriding the Local Node settings, Remote Node settings and each other.
Examples
Copy statement example:
step01 copy
from
(
file = /tmp/exampleout
pnode
)
ckpt = 2M
compress extended
fasp=yes
fasp.policy=fixed
fasp.bandwidth=500M
fasp.filesize.threshold=10G
to
(
file = /tmp/examplein
snode
disp = rpl
)
Hierarchy Settings
The system uses the following hierarchy to process overrides:
1. Remote node record overrides local node record.
2. Process parameters override remote node record.
3. Submit statement overrides the process parameters.
4. Each Copy statement overrides the effective settings of the session established by the node settings,
Process or Submit statements. The Copy statement override is effective only for the duration of the
Copy step.
fasp=(yes|no|ssp,yes|no|ssp)
The first parameter is the default for Connect:Direct as the PNODE. The second parameter is the default
for Connect:Direct as the SNODE.
This parameter can now be used in the netmap local node record and remote node trading partner record
in Connect:Direct for UNIX.
The following table shows results when Connect:Direct FASP protocol is used between two
Connect:Direct nodes with no Sterling Secure Proxy involved.
Chapter 5. Using FASP with IBM Aspera High-Speed Add-on for Connect:Direct for UNIX (V4.2.0.3 or later) 221
Y TCP N
Y C:D FASP Y
Y TCP SSP
SSP TCP N
SSP TCP Y
SSP TCP SSP
The following table shows results when Connect:Direct FASP protocol is used with two Connect:Direct
nodes going through a single instance of Sterling Secure Proxy.
The following table shows results when Connect:Direct FASP protocol is used with two Connect:Direct
nodes going through two instances of Sterling Secure Proxy.
For more information on using Sterling Secure Proxy with FASP, see Using FASP with Sterling Secure Proxy
(V3.4.3 or later).
Procedure
1. Do one of the following steps:
• If you installed Connect:Direct for UNIX V4.2.0.4 as a new installation (you did not upgrade from a
previous version), go to Step 2. The initparm.cfg file is already configured for FASP listen ports.
• If you upgraded from a previous version of Connect:Direct for UNIX to V4.2.0.4, you must configure
the initparm.cfg file by specifying a FASP listen port or port ranges.
Format is listen.ports=(nnnnn, nnnnn-nnnnn).
Example:
Note: The number of concurrent FASP processes is limited to the number of ports designated in this
file. If you attempt to use more concurrent FASP processes than there are ports available fails, FASP
fails.
2. Configure the netmap.cfg file by specifying FASP values for the local node record. Use the following
chart.
Example:
local.node:\
…
:fasp=yes:\
:fasp.policy=fair:\
:fasp.bandwidth=500MB:\
:fasp.filesize.threshold=2GB:\
Parameter Value
fasp Optional. Default is no if the parameter is not
present. Enables FASP.
• If set to no, FASP is disabled.
• If set to yes, yes, FASP is enabled. This sets the
default for all Connect:Direct file transfers.
fasp=(pnode value, snode value), for example,
fasp=(yes, ssp)
• This setting can be overridden by the remote
node record or process parameters.
• The remote server must have FASP enabled.
Chapter 5. Using FASP with IBM Aspera High-Speed Add-on for Connect:Direct for UNIX (V4.2.0.3 or later) 223
Parameter Value
• Default is 1GB.
• You can use KB, MB, or GB designators. If no
designator is included, the system uses bits.
• This setting can be overridden by the remote
node record or process parameters.
3. (Optional) Configure the netmap.cfg file by specifying FASP values for the remote node record. Use the
following chart. Configure the remote node if you need to override your local node settings. For
example, if you want to exclude a trading partner from using FASP. You can also configure the remote
node record later.
Example:
myRmtNodePartner:\
…
:fasp=yes:\
:fasp.policy=fair:\
:fasp.bandwidth=1GB:\
:fasp.filesize.threshold=1GB:\
Parameter Value
fasp Optional. Valid values are yes and no. Enables
FASP.
• If set to no, files sent to this remote node will
not use FASP.
• If set to yes, files sent to this remote node will
default to use FASP instead of TCP/IP.
• This setting can be overridden by the process
parameters.
• The remote server must have FASP enabled.
Chapter 5. Using FASP with IBM Aspera High-Speed Add-on for Connect:Direct for UNIX (V4.2.0.3 or later) 225
Parameter Value
FASP Messages
Use the following table to obtain FASP error message information.
Note: Long text message files for these message IDs can be viewed using the Connect:Direct Requester
Message Lookup utility.
Chapter 5. Using FASP with IBM Aspera High-Speed Add-on for Connect:Direct for UNIX (V4.2.0.3 or later) 227
• FSBW=>1000000000 is the bandwidth negotiated for this file transfer (in bits per second).
• FMBC =>2 is the high water mark for the number of FASP buffers used
• FBCS =>16777216 is the FASP buffer size
• FSTH =>1073741824 is filesize threshold
• FSLP =>23708 is listen port used for FASP
Example:
Limitations
The following features cannot be used with FASP and Connect:Direct for UNIX:
• Firewall navigation source ports should not be used with FASP
• Silent installation does not support the FASP configuration parameters
IBM Connect:Direct for UNIX can be configured to extend support to S3 object storage providers including
AWS, Minio, Dell EMC ECS, and Red Hat Ceph to execute public and on-premise cloud-based operations.
Users can now continue using the benefits of Connect:Direct features like security, reliability, and point-
to-point file transfers optimized for high-volume delivery along with versatility that comes with a S3
storage backend.
Note that by default, Connect:Direct for Unix uses AWS S3 object store to transfer data between nodes
installed on an EC2 instance or On-prem nodes, using pre-defined AWS S3 buckets. For more information
on how to configure Connect:Direct to use other S3 object store providers see, “Setting up Connect:Direct
Node on S3 object store providers” on page 229.
The Linux platform supports managed file transfers between the node and the AWS S3 object store. It is
required to be installed on an EC2 instance in the same region as the source and destination S3 buckets.
The EC2 instance requires the minimum configuration for SUSE or Red Hat Linux specified in the table
above. To set up AWS account, EC2 instance, S3 bucket configuration and credentials contact your IT
Administrator.
A Connect:Direct for Unix node running this release could either be located on-premise or be running on
an EC2 instance on the cloud. The user can also configure both the Pnode and Snode on two EC2
instances on Cloud. An Amazon S3 object can serve as a source or as a destination to send and receive
files.
Note: Connect:Direct for UNIX supports only Amazon Web Services. It does not yet support MS Azure,
Google Cloud, and IBM SoftLayer.
# S3 IO Exit parameters
file.ioexit:\
:name=s3:\
:library=/cdunix/ndm/lib/libcdjnibridge.so:\
:home.dir=/cdunix/ndm/ioexit-plugins/s3:\
:options=-Djava.class.path=/cdunix/ndm/ioexit-plugins/s3/
cd-s3-ioexit.jar com.aricent.ibm.mft.connectdirect.s3ioexit.S3IOExitFactory:
# S3 IO Exit parameters
file.ioexit:\
:name=new:\...
– To define another S3 object store provider, declare the provider name in Initparms as a separate
entry.
Note: AWS is defined as the default S3 provider in Initparms.
[profile new]
aws_access_key_id = anaccesskey
aws_secret_access_key
=asecretaccesskey
Chapter 6. Using S3 object store providers with IBM Connect:Direct for UNIX 231
Parameter Description Example
Example declaration
The following parameters are used for tuning or diagnostics in rare situations -
Note: To enable Multipart upload, set ckpt parameter value to 0. Checkpoint restart can be explicitly
configured within a copy step through the ckpt parameter. If it is not configured in the copy step, it
can be configured in the Initparms through the ckpt.interval parameter.
2. Alternatively, S3 configuration can also be added as values in sysopts using the :variable=value:
syntax.
S3 parameters set in sysopts will override default values or values set in initparms.cfg file for the
referenced entry in the copy step statement that is, s3:// for an S3 entry and ascheme:// for an
ascheme entry.
Using sysopts and S3 parameters can provide flexibility when managing more than one profile or more
than one S3 provider. The following example assumed that an s3 entry in initparms.cfg file is the
default one and copy step uses S3:// as the scheme name.
• sysopts=”:s3.profileName=anotherprofile:” will request to use this specific profile.
• sysopts=”:s3.sseS3=YES:” requests server side encryption for this S3 object.
• sysopts=”:s3.profileName=newentry:s3.endPointUrl=10.120.133.151:s3.endPoint
Port= 9020:s3.profilePath=’/home/some user/s3io/credentials’:” will point to
another S3 provider but default is on AWS.
Note: Parameter declaration names is not case sensitive. Also for sysopts, names are not case
sensitive.
3. AWS Credentials Management -
With AWS cloud support being extended on Connect:Direct for UNIX the user is required to manage
AWS credentials.
Chapter 6. Using S3 object store providers with IBM Connect:Direct for UNIX 233
A simple method of associating credentials with a Connect:Direct user is to use the AWS CLI Configure
command, which places the credential in ~/.aws/credentials, for example, /home/ec2-user/.aws/
credentials.
The AWS credentials are only required to access S3 during a pnode or snode copy step. During the
copy step, the user is impersonated by the S3 IO Exit and the users home directory is used to access
AWS credentials.
On AWS and with the default s3 entry in initparms.cfg file that is, with no extra parameters,
Connect:Direct for UNIX uses the following default credential providers chain:
• Environment variables: AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
• Java system properties: aws.accessKeyId and aws.secretKey
• The default credential profiles file path: ~/.aws/credentials
• Amazon ECS container credentials: loaded from the Amazon ECS when environment variable
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI is set
• Instance profile credentials: used on EC2 instances and delivered through the Amazon EC2
metadata service. Instance profile credentials are used only when
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI is not set
• Web Identity Token credentials from the environment or container
Note: The default credential providers chain implementation described above may not apply to other
S3 providers.
4. Functional User Authorities Configuration -
The user authorities file; userfile.cfg has been updated to support restricted S3 upload and download
directories. When defined, only the S3 bucket defined may be used to send files from (upload) or
receive files to (download).
cd-cloud-user:\
:admin.auth=n:\
:pstmt.copy.ulimit=n:\
:pstmt.upload=y:\
:pstmt.upload_dir=s3://uploadBucket:\
:pstmt.download=y:\
:pstmt.download_dir=s3://downloadBucket:\
:pstmt.run_dir=:\
:pstmt.submit_dir=:\
:name=:\
:phone=:\
:descrip=:
S3 File transfers are limited to user file data and are not supported by Run Task/Job or other areas that
specify a filename, for example, run_dir and submit_dir in the above example can only refer to
standard file system locations.
sample PROCESS
SNODE=cd-ec2
SNODEID=(cd-proxy-user)
upld COPY
FROM (
FILE=sample.bin
)
CKPT=10M
TO (
FILE=s3://myBucket/sample.bin
DISP=RPL
)
PEND;
Limitations
When running Connect:Direct for UNIX with an S3 object store be aware of the following limitations:
• EC2 instance is static, not elastic.
• File transfers via cloud are not supported by Run Task/Job or other areas that specify a filename.
• The partSize is limited to 100 MB only. So, the user can configure partSize as any value ranging from 5
MB to 100 MB.
• Maximum file size which can be transferred to S3 is 5TB.
• The user should consider cost associated with the usage of cloud resources.
Chapter 6. Using S3 object store providers with IBM Connect:Direct for UNIX 235
• S3 does not support the option MOD (modify) for files that are transferred via Connect:Direct. Only NEW
or RPL(replace) is supported. Wildcard Copy is not supported over cloud.
• If there are multiple versions of the same file present in S3 bucket then only the latest version can be
downloaded and not any previous version.
• Multipart download is not supported.
• To enable Multipart upload, set ckpt parameter value to 0. Checkpoint restart can be explicitly
configured within a copy step through the ckpt parameter. If it is not configured in the copy step, it can
be configured in the Initparms through the ckpt.interval parameter. For more information see,
Connect:Direct for UNIX Getting Started Guide
Security Concepts
Cryptography is the science of keeping messages private. A cryptographic system uses encryption keys
between two trusted communication partners. These keys encrypt and decrypt information so that the
information is known only to those who have the keys.
There are two kinds of cryptographic systems: symmetric-key and asymmetric-key. Symmetric-key (or
secret-key) systems use the same secret key to encrypt and decrypt a message. Asymmetric-key (or
public-key) systems use one key (public) to encrypt a message and a different key (private) to decrypt it.
Symmetric-key systems are simpler and faster, but two parties must somehow exchange the key in a
secure way because if the secret key is discovered by outside parties, security is compromised.
Asymmetric-key systems, commonly known as public-key systems, avoid this problem because the public
key may be freely exchanged, but the private key is never transmitted.
Cryptography provides information security as follows:
• Authentication verifies that the entity on the other end of a communications link is the intended
recipient of a transmission.
• Non-repudiation provides undeniable proof of origin of transmitted data.
• Data integrity ensures that information is not altered during transmission.
• Data confidentiality ensures that data remains private during transmission.
TLS 1.3
TLS 1.3 adds new features for improved security. For more information, see RFC 8446, section 1.2 Major
Differences from TLS 1.2.
Deprecated Protocols
SSL3.0, TLS 1.0 and TLS 1.1 protocols are deprecated and should not be used. It is recommended that
trading partners using deprecated protocols migrate to TLS 1.3 or TLS 1.2.
If deprecated protocols are required, TLS 1.3 should not be enabled in the trading partner's configuration,
otherwise the handshake may fail. Deprecated protocols should be exclusively configured per node.
The Secure+ feature continues to support SSL 3.0, TLS 1.0 and TLS 1.1.
The government of the Unites States of America produces technical advice on IT systems and security,
including data encryption and has issued Special Publication SP800-131a that requires agencies from the
Unites States of America to transition the currently-in-use cryptographic algorithms and key lengths to
new, higher levels to strengthen security.
Applications must use strengthened security by defining specific algorithms that can be used and what
their minimum strengths are. These standards specifies the cryptographic algorithms and key lengths that
are required in order to remain compliant with NIST security standards.
To comply with the new requirements, IBM products with cryptographic functionality must:
• Enable TLS 1.2 and be prepared to disable protocols less than TLS 1.2
• Cryptographic keys adhere to a minimum key strength of 112 bits
• Digital signatures are a minimum of SHA-2
The following is included in Secure Plus for NIST SP800-131a and Suite B support:
spadmin.sh
The Secure+ Admin Tool starts and opens the Secure+ parameters file for the associated IBM
Connect:Direct node.
Note: The Secure+ parameters file is not dynamically updated. When multiple users update the Secure+
parameters file, each user must close and reopen the file to display new records added by all sources.
Procedure
1. From the Secure+ Admin Tool Main Window, click the Sync with Netmap option of the File menu
item.
The Available Netmaps dialog box is displayed.
2. Navigate to the netmap.cfg file located in the d_dir/ndm/cfg/node_name directory. Select the netmap
to open and click Sync. The Select Netmap Entries to Add dialog box is displayed.
3. Click Add All.
The Select Parameters File Entries to Delete dialog box is displayed.
4. Click Skip to close the Secure+ parameters file without deleting any entries.
The Secure+ parameters file is populated and the Secure+ Admin Tool Main Window displays remote
node records in the Secure+ parameters file including the records you added from the network map.
Procedure
1. Import existing certificates, either keycerts or trusted root files from trading partners into the Key
Store. On the Secure+ Admin Tool main window, from the Key Management menu, select Configure
Key Store. The Key Store Manager window appears.
2. Verify the CMS Key Store path. If incorrect, click browseto locate the Key Store path. The Browse CMS
KeyStore File window appears.
3. The default Key Store name is: cdkeystore.kdb To locate the default Key Store path, navigate to the Key
Store file.
4. Click Import. On the Import PEM KeyStore File window, navigate to and select the certificate file you
want to use and click OK.
5. If a key certificate file is being imported, the password must be entered. The KeyStore Password
window appears. Type your password and click OK.
6. The PEM Certificate Viewer displays to allow a review of the certificate file. Verify the certificate is valid
and click the Import button. Import Results window displays with status of imported certificate. Click
Close.
7. The certificate is imported and given a Label based on the certificate Common Name, (CN=). Note the
serial number to identify the correct certificate after import.
Note: A common name is used for Label and identification which means that multiple certificates can
have the same common name and therefore, can be overwritten depending on the setting of the
Default Mode. Additionally, the Default Mode of Import is Add or Replace Certificates.
8. Click OK to create the new CMS KeyStore file. Key Store Manager will display contents of the new
keystore.
Procedure
1. From the Secure+ Admin Tool Main Window, double-click the .Local record. The Edit Record dialog box
displays the Security Options tab, the node name, and the type of node.
2. Set the Security Options for the local or remote node entry you are configuring and if necessary, modify
the time-out value in Authentication Timeout.
Refer to the following table for an explanation of the Security Options boxes:
Note: The SSL3.0, TLS 1.0 and TLS 1.1 protocols are deprecated and should not be used. It is
recommended that trading partners using deprecated protocols migrate to TLS 1.3 or TLS 1.2. If
deprecated protocols are required, TLS 1.3 should not be enabled in the trading partner's
configuration, otherwise the handshake may fail. Deprecated protocols should be exclusively
configured per node. The Secure+ feature continues to support SSL 3.0, TLS 1.0 and TLS 1.1.
Type Specifies the current record type. Local for a local record and Remote
for a remote record.
This is not an editable field.
Disable Secure+ Disables Connect:Direct Secure Plus. Default value is Disable Secure+.
Note: If this option is selected,
override is enabled, and no remote
node definition exists for the remote
node in the Connect:Direct Secure
Plus parameters file, Connect:Direct
Secure Plus is bypassed.
Enable SSL 3.0 Enables SSL protocol to ensure that The default value is Disable Secure
Protocol data is securely transmitted. +.
The SSL3.0 is deprecated and should
not be used. It is recommended that
trading partners using deprecated
protocols migrate to TLS 1.3 or TLS 1.2.
Enable TLS 1.0 Enables TLS protocol to ensure that The default value is Disable Secure
Protocol data is securely transmitted. +.
TLS1.0 is deprecated and should not be
used. It is recommended that trading
partners using deprecated protocols
migrate to TLS 1.3 or TLS 1.2.
Enable TLS 1.1 Enables TLS protocol to ensure that The default value is Disable Secure
Protocol data is securely transmitted. +.
The TLS1.1 is deprecated and should
not be used. It is recommended that
trading partners using deprecated
protocols migrate to TLS 1.3 or TLS 1.2.
Enable TLS 1.2 Enables TLS protocol to ensure that The default value is Disable Secure
Protocol data is securely transmitted. +.
Enable TLS 1.3 Enables TLS protocol to ensure that The default value is Disable Secure
Protocol data is securely transmitted. +.
Disable Disables the ability to override values The default value is Disable.
in the .Local node record with values in
the remote node record.
FIPS 140-2 Enables FIPS 140-2 security. The default value is Disable.
SP800-131A Enables NIST SP800-131a security in The default value is Disable.
Transition transition mode.
SP800-131A Enables NIST SP800-131a security The default value is Disable.
mode.
Suite B 128 bit Enables Suite B 128 bit security. The default value is Disable.
Node or Copy There are several types of overrides. The default value is No.
Statement Override For both PNODE and SNODE, this
parameter indicates whether Remote
Node record parameters will override
the .Local Node record parameters or
not.
3. Click the TLS Options tab. The TLS Options dialog box is displayed.
4. Select an existing Key Certificate from the key store. To select a Key Certificate from the keystore, click
Browse next to Key Certificate Label. The CMS KeyStore Certificate Viewer appears.
Note: You must add or import the key certificate into your key store prior to configuring your node. For
additional information, see Import Existing Certificates or Create CMS Key Store in the documentation
library. For additional information on how to use iKeyman, see http://www-01.ibm.com/support/
knowledgecenter/SSYKE2_6.0.0/com.ibm.java.security.component.60.doc/security-component/
ikeyman_overview.html?lang=en.
5. In the Key Certificates area, select the key certificate you want to use and click OK box.
6. Click the External Authentication tab. The External Authentication dialog box is displayed.
7. Choose one of the following options:
Procedure
1. From the Secure+ Admin Tool Main Window, double-click the .Remote record. The Edit Record dialog
box displays the Security Options tab, the node name, and the type of node.
Base Record Specifies the name of the base record. Name of the local Connect:Direct
If an alias record is selected, the base node.
record name is displayed in this box.
Type Specifies the current record type. Local for a local record and Remote
for a remote record.
This is not an editable field.
Disable Secure+ Disables Connect:Direct Secure Plus. Default value is Disable Secure+.
Note: If this option is selected,
override is enabled, and no remote
node definition exists for the remote
node in the Connect:Direct Secure
Plus parameters file, Connect:Direct
Secure Plus is bypassed.
Enable SSL 3.0 Enables SSL protocol to ensure that The default value is Disable Secure
Protocol data is securely transmitted. +.
The SSL3.0 is deprecated and should
not be used. It is recommended that
trading partners using deprecated
protocols migrate to TLS 1.3 or TLS 1.2.
Enable TLS 1.0 Enables TLS protocol to ensure that The default value is Disable Secure
Protocol data is securely transmitted. +.
TLS1.0 is deprecated and should not be
used. It is recommended that trading
partners using deprecated protocols
migrate to TLS 1.3 or TLS 1.2.
Enable TLS 1.1 Enables TLS protocol to ensure that The default value is Disable Secure
Protocol data is securely transmitted. +.
The TLS1.1 is deprecated and should
not be used. It is recommended that
trading partners using deprecated
protocols migrate to TLS 1.3 or TLS 1.2.
Enable TLS 1.2 Enables TLS protocol to ensure that The default value is Disable Secure
Protocol data is securely transmitted. +.
Node or Copy For PNODE, this parameter indicates The default value is No.
Statement Override whether process overrides, which may
optionally be specified in Process,
Submit, and Copy statements, will be
allowed.
3. Click the TLS Options tab. The TLS Options dialog box is displayed.
4. Select an existing Key Certificate from the key store. To select a Key Certificate from the keystore, click
Browse next to Key Certificate Label. The CMS KeyStore Certificate Viewer appears.
Note: You must add or import the key certificate into your key store prior to configuring your node. For
additional information, see Import Existing Certificates or Create CMS Key Store in the documentation
library. For additional information on how to use iKeyman, see http://www-01.ibm.com/support/
knowledgecenter/SSYKE2_6.0.0/com.ibm.java.security.component.60.doc/security-component/
ikeyman_overview.html?lang=en.
5. In the Key Certificates area, select the key certificate you want to use and click OK box.
6. Click the External Authentication tab. The External Authentication dialog box is displayed.
7. Choose one of the following options:
Procedure
1. From the Secure+ Admin Tool Main Menu, click Validate Secure+ from the File menu. The Secure+
Admin Tool - Validation Results window is displayed.
2. If the Secure+ parameters file is not correctly configured, warning and error messages are displayed.
3. Go back to the Secure+ parameters file and make changes to correct each error reported.
4. Read each warning message. If necessary, change the Secure+ parameters file to correct each
warning.
Warning messages do not always mean that the Secure+ parameters file is configured incorrectly.
Some warning messages are informational only.
5. Click Close to close the Validation Results window.
Procedure
1. Double-click the record called .SEAServer.
2. Type the Host Name for External Authentication Server.
3. Type the Port Number where External Authentication Server is listening. The default is 61366.
4. To enable caching SEAS certificate validation response, select Enable Caching.
When enabled, Connect:Direct Secure Plus can reuse previously fetched certificate validity responses
from External Authentication Server that is, cache the responses to ease the certificate validation
process when Connect:Direct interfaces with External Authentication Server during a TLS sessions.
5. Type the Cache Validity per certificate in hours. Default is 24 hours. Range: 1-720 hours.
6. Cache grace validity time per certificate when SEAS is unavailable in hours
Type the number of hours when the local cache entry of certificate expires and External Authentication
Server is unavailable such that Connect:Direct Secure Plus can accept it from its cache. Default is 0
hours which means cache grace validity time does not apply. Range: 0-720 hours.
Procedure
1. From the Secure+ Admin Tool Main Menu screen, select Password Encryption from the Edit menu.
The Secure+ Admin Tool - Password Encryption window is displayed.
2. Click the No option for Enable Strong Password Encryption.
3. Click OK to disable Strong Password Encryption. The following message is displayed:
The IBM Connect:Direct Server must be restarted for the changes to Strong Password Encryption to
become effective.
4. Restart the IBM Connect:Direct Server.
Procedure
1. From the Secure+ Admin Tool Main Menu screen, select Password Encryption from the Edit menu.
The Secure+ Admin Tool - Password Encryption window is displayed.
2. Click the Yes option for Enable Strong Password Encryption.
3. Click OK to enable Strong Password Encryption. The following message is displayed:
The IBM Connect:Direct Server must be restarted for the changes to Strong Password Encryption to
become effective.
4. Restart the IBM Connect:Direct Server.
Resetting Passwords
If the Strong Password Encryption key stored in the .Password file is out of sync with the Strong Password
Encryption key used to encrypt the passwords, you must reset all Strong Password Encryption passwords.
Decryption Failure
If the process KQV file fails decryption at startup or during runtime, the server places the Process in the
HOLD/Error queue to raise the visibility of the error.
Procedure
1. Go to d_dir/ndm/bin.
2. Type the following command:
spcli.sh
3. Press Enter.
-p The full path of the default Secure+ parameters file directory. The
Secure+ parameters file in this directory is opened automatically.
-h Switch to display the usage of the Secure+ CLl.
Control Help
The Help command determines what help information is displayed. You can list all Secure+ CLI
commands and display help for individual commands.
Command Description
help Displays all the Secure+ CLI commands.
help <command> Displays help for the specified command.
Sample Script
The following script is provided as a model for creating custom scripts to define your IBM Connect:Direct
environment and automate the implementation of it. To prevent any loss of data, you cannot run the
script, but you can save it with a different name and modify it to suit your needs.
The sample script is available in Automation Script. The script is designed to assist you as follows:
spcust_sample1.sh
An example of configuring IBM Connect:Direct to use the TLS protocol with the Secure+ CLI. The
example demonstrates the configuration of Connect:Direct with the trusted root file, key certificates,
and ciphers.
Display Information
The following commands are available to display information:
PopulateRoots=Popula y|n
te with standard
certificate authorities.
This will import all
standard public CA
Root certificates into
the new KeyStore file.
update keystore Updates the CMS File=Path to existing <path to CMS KeyStore file (*.kdb)>
KeyStore CMS KeyStore and
Default path is in:
filename.
d_dir/ndm/secure+/certificates/
cdkeystore.kdb
CipherSuites= Specifies the cipher suites comma delimited list of cipher suites | All
enabled. | null
SeaCertValDef=Character string defined character string | null
in Sterling External Authentication Server
null—Clears any existing values from the
(SEAS).
node definition.
Update Password
SpeEnable=<Y>
;
If you enable or disable Strong Password Encryption, the server displays the following warning:
SPCG741W=The IBM Connect:Direct Server must be restarted for the changes to Strong Password
Encryption to become effective.
CipherSuites Displays the TLS or SSL cipher suites that are enabled for Varies, based on the cipher
the node record. suites enabled.
ClientAuth Displays the status of client authentication. If the TLS Y|N|*
protocol is used, enabling client authentication means
Y—enabled
the SNODE verifies the identity of the PNODE.
N—Disabled
*—Default to local node
Base Record Displays the name of the base record for the alias There are no parameter
records. values.
Procedure
1. From the Secure+ Admin Tool Main Window, double-click the node record name.
2. Click the Security Options tab.
The history of changes is displayed in the Update History field.
Procedure
1. Open the Secure+ Admin Tool.
2. On the File menu option of the Secure+ Admin Tool Main Window, click Info. The File Information
dialog box is displayed.
Refer to the following table for an explanation of the fields.
Procedure
1. Do one of the following:
• To disable all nodes in a configuration, open the local node record.
• To disable one node, open the remote node record for that node.
2. Click the Security Options tab.
3. Click the Disable Secure+.
4. Click OK to update the node record.
Note: In order to continue IBM Connect:Direct operations with IBM Connect:Direct disabled, both
trading partners must disable Connect:Direct Secure Plus.
Procedure
1. From the Secure+ Admin Tool Main Menu Window, click the Sync with Netmap of the File menu.
2. Click the network map to use from the pull down list.
3. Click OK.
4. Click Skip to move through the Select Netmap Entries to the Add dialog box.
5. Do one of the following to delete node records:
• To delete selected node records, highlight the remote nodes to delete and click Delete Selection.
• To delete all remote node records that are not found in the network map, click Delete All.
Note: Do not delete the remote node record that is named for the IBM Connect:Direct node. It is the
base record for the .Local node record. You cannot delete the .Local node record.
Procedure
1. From the Secure+ Admin Tool Main Window, click Rekey Secure+ from the File menu. The Rekey
Secure+ dialog box is displayed.
2. Type an alphanumeric string at least 32 characters long in the Passphrase field. Connect:Direct
Secure Plus uses the passphrase to re-encrypt the Secure+ parameters file the and Secure+ access
files. You do not have to remember this passphrase value.
3. Click OK to accept the new passphrase. The Connect:Direct Secure Plus decrypts and re-encrypts the
Secure+ parameters file and Secure+ access file.
CAUTION: Do not type a new passphrase if an error occurs. If an error occurs while you are
resecuring the files, restore the node records from the ACFSave directory. This directory is
created after the Rekey Secure+ feature is executed.
Cipher Suite Displays the cipher suite used during cipher suite name
a session.
For example:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SH
A256
PNode Cipher List Specifies the encryption algorithms IDEACBC128 | TDESCBC112 | DESCBC56
available for the PNODE during the
session.
PNode Cipher Specifies the preferred data Y | N | algorithm name
encryption as specified in the Secure
+ parameters file of the PNODE.
SNode Cipher List Specifies the encryption algorithms IDEACBC128 | TDESCBC112 | DESCBC56
available for the SNODE during the
session as specified in the Secure+
parameters file of the SNODE.
SNode Cipher Specifies the preferred data Y | N | algorithm name
encryption algorithm as defined in
the Secure+ parameters file of the
SNODE.
Control Block Cipher Specifies the algorithm used for IDEACBC128 | TDESCBC112 | DESCBC56
encrypting control blocks. This value
is determined during authentication
when the PNODE and SNODE are
merged.
Copy Data Cipher Specifies the encryption method IDEACBC128 | TDESCBC112 | DESCBC56
used for encrypting data. The value
is determined after the values in the
SNODE and the PNODE are merged.
Submitter Id =>
---------------------------------------------------------------------
---------------------------------------------------------------------
[YYYYMMDD][HH:MM:SS:mmm][userid]
When a parameter file is created or opened, an ID is generated that associates the change with the node
being updated as shown in the following:
[YYYYMMDD][HH:MM:SS:mmm][userid][ParmFileID]
The following fields may appear in a create, update, or delete audit record.
Connect:Direct Secure Plus certificate audits may contain the following fields:
'2007-05-21 14:50:27', 2, 'SSTR', 'CAEV', '', 0, '2007-05-21 14:50:26', '2007-05-21 14:50:27', '', '', 'JLYON-
XP.4400', 0, 'MSGI=LSMI004I|SBST=(&NODE=JLYON-XP.4400)|PNOD=JLYON-XP.4400|CSPE=Y|CSPP=TLSv1|
CSPS=TLS_RSA_WITH_AES_256_CBC_SHA|
CERT=(/C=US/ST=MA/L=Marshfield/O=test.org/OU=Dev/
CN=Example Test ID/SN=a9febbeb4f59d446)|
CERI=(/C=US/ST=MA/L=Marshfield/O=test.org/OU=Dev/CN=Example
IntermediateCA/SN=a69634a8a7830268)|STSD=2|TZDI=-14400|'
'2007-05-21 14:50:28', 2, 'CTRC', 'CAPR', 'SAMPLE', 1, '2007-05-21 14:50:27', '2007-05-21 14:50:28',
'JLYON-XP.4400', 'jlyon', 'JLYON-XP.4400', 0, 'MSGI=SCPA000I|LCCD=0|LMSG=SCPA000I|OCCD=0|
OMSG=SCPA000I|PNAM=SAMPLE|PNUM=1|
SNAM=STEP1|SBND=JLYON-XP.4400|SBID=jlyon|PNOD=JLYON-XP.4400|SNOD=JLYON-XP.4400|LNOD=P|
FROM=P|XLAT=N|ECZI=N|ECMP=N|SCMP=N|OERR=N|CKPT=Y|LKFL=N|RSTR=N|
RUSZ=65535|PACC=|SACC=|PPMN=|SFIL=C:\Program Files\Sterling Commerce\Connect Direct
v4.4.00\Server\Process\Sample.html|SDS1= |SDS2= |SDS3= |SFSZ=0|SBYR=861|SRCR=1|SBYX=863|
SRUX=1|SNVL=-1|SVOL=|DFIL=C:\Program Files\Sterling Commerce\Connect Direct v4.4.00\Server\Process
\Verify.html|PPMN=|DDS1=R|DDS2= |DDS3= |DBYW=861|DRCW=1|DBYX=863|DRUX=1|DNVL=0|DVOL=|
CSPE=Y|CSPP=TLSv1|CSPS=
TLS_RSA_WITH_AES_256_CBC_SHA|CERT=(/C=US/ST=MA/L=Marshfield/O=test.org/OU=Dev/
CN=Example Test ID/SN=a9febbeb4f59d446)|CERI=(/C=US/ST=MA/L=Marshfield/O=test.org/OU=Dev/
CN=Example Intermediate CA/SN=a69634a8a7830268)
|PCRC=N|ETMC=60|ETMK=10|ETMU=0|STSD=2|TZDI=-14400|'
CERT=(MSGI=CSPA310E)|CERI=(MSGI=CSPA310E)
Only the message ID is displayed with the CERT or CERI tokens; the standard IBM Connect:Direct error
function is not used. After the error occurs, the session continues.
Signature verification fails Configuration settings missing • If this is a non-Secure node, make
with error message or incorrect. sure the remote node record has
CSPA002E. Disable Connect:Direct Secure Plus
selected.
• Check the Connect:Direct Secure
Plus settings for the node.
Connect:Direct Secure Plus An illegal attempt to override • Turn on Enable Override in the
session fails with the error, Connect:Direct Secure Plus remote node record to allow the
CSPA011E. parameters. COPY statement to override the node
settings.
• Check the COPY statement and
remove the override statements.
Connect:Direct Secure Plus Connect:Direct Secure Plus Check the remote node definition
session fails with the error, cannot read the remote node settings.
CSPA014E. definition.
Connect:Direct Secure Plus Connect:Direct Secure Plus is Make sure Connect:Direct Secure Plus
session fails with the error, not enabled in the local node is enabled for the local node.
CSPA016E. definition.
Connect:Direct Secure Plus Error generating digital • Resubmit the Process.
session fails with the error, signature.
• Call IBM Customer Support.
CSPA019E.
Connect:Direct Secure Plus The COPY statement requested Remove the SECURE= parameter from
session fails with the error, Connect:Direct Secure Plus the COPY statement.
CSPA077E. parameters but Connect:Direct
Secure Plus is not configured.
Connect:Direct Secure Plus Invalid encryption algorithm Change the ENC.DATA parameter and
session fails with the error, identified in COPY statement. specify one of the following values: Y,
CSPA079E. N, IDEACBC128, TDESCBC112, or
DESCBC56 and resubmit the Process.
Connect:Direct Secure Plus No common algorithms are Verify the algorithm list for both nodes
session fails with the error, available for both nodes. contains at least one common
CSPA080E. algorithm name.
Connect:Direct Secure Plus Session attempted but remote Make sure both nodes are defined.
session fails with the error, node is not configured.
CSPA091E.
Connect:Direct Secure Plus The remote trading partner Notify the trading partner that a
session fails with the error, failed to send a certificate. certificate is required.
CSPA211E.
Connect:Direct Secure Plus The trusted root certificate Check the local node configuration and
session fails with the error, could not be loaded. make sure the location of the trusted
CSPA280E. root certificate is correctly identified.
Connect:Direct Secure Plus The trusted root certificate is Check the local node configuration and
session fails with the error, empty. make sure the location of the trusted
CSPA281E. root certificate is correctly identified.
Connect:Direct Secure Plus The user certificate file cannot Check the local node configuration and
session fails with the error, be loaded. make sure the location of the user
CSPA282E. certificate file is correctly identified.
Connect:Direct Secure Plus The Secure+ parameters files Run the Secure+ Admin Tool to
session fails with the error, have not been initialized. initialize the Secure+ parameters files.
CSPA303E.
Connect:Direct Secure Plus The SSL library failed during the Examine all related errors to determine
session fails with the error, handshake. the cause of the failure.
CSPA309E.
Configuration Worksheets
Use the worksheets in this topic to record the configuration information for Connect:Direct Secure Plus.
• The Local Node Security Feature Definition Worksheet is a record of the security functions defined for
the local IBM Connect:Direct node.
• The Remote Node Security Feature Definition Worksheet is a record of the security functions defined for
remote nodes. For each trading partner, define a remote node record. Make a copy of the blank Remote
Node Security Feature Definition Worksheet for each remote node that you are configuring for
Connect:Direct Secure Plus operations.
Note: If you do not enable the override option, IBM Connect:Direct generates an error message.
Note: The COPY statement cannot override settings in SSL-enabled or TLS-enabled remote nodes.
Note: If you want to add a second level of security, enable client authentication for the remote node and type
the certificate common name.
External Authentication
Enable External Authentication Yes _______ No _______ Default to local node
_____
Certificate Validation Definition __________________________________________________________
_
Enable FIPS 140-2 mode Yes _______ No _______
Certificate Files
The TLS security protocol use a secure server RSA X.509V3 certificate to authenticate your site to any
client that accesses the server and provides a way for the client to initiate a secure session. You obtain a
certificate from a certificate authority or you can create a self-signed certificate. When you obtain a
certificate file, a trusted root certificate file and key file are created. This topic describes the layout of the
trusted root certificate file and the key certificate file.
Connect:Direct Secure Plus uses two certificate files to initiate TLS session: a trusted root certificate file
and a key certificate file.
When you obtain a root certificate from a certificate authority, you receive a trusted root certificate file. To
configure Connect:Direct Secure Plus, add the name and location of the trusted root certificate file to the
node record using the Secure+ Admin Tool.
A sample trusted root certificate file called trusted.txt is installed in the Connect:Direct Secure Plus
\certificates directory when you install Connect:Direct Secure Plus. Use any text editor to add or delete
certificate information to this file. In simple configurations, only one trusted root certificate file is used. In
Formats
The formats discussed in this section apply to the certificate files used with Connect:Direct Secure Plus.
The formats are illustrated in the sample certificate files below.
-----BEGIN <object>-----
-----END <object>-----
In this sample, <object> is a placeholder for the name of the object type: CERTIFICATE or ENCRYPTED
PRIVATE KEY.
Certificate Format
A certificate is encoded as a general object with the identifier string CERTIFICATE or X.509 CERTIFICATE.
The base64 data encodes a Bit Error Rate (BER)-encoded X.509 certificate. This is the same format used
for PEM. Anyone who provides or understands PEM-format certificates can accommodate the certificate
format. For example, VeriSign commonly fulfills certificate requests with certificates in this format, SSLeay
supports them, and SSL servers understand them. Both Netscape and Microsoft support this format for
importing root CA certificates.
MIICCDAaBgkqhkiG9w0BBQMwDQQIIfYyAEFKaEECAQUEggHozdmgGz7zbC1mcJ2r
IGpupStY5rLqqQ5gwLn45UWgzy6DM96CQg6+Dyn0N9d1M5lIg2wlnUwE8vI=
User/Server Certificate
-----BEGIN CERTIFICATE-----
MIICUDCCAdoCBDaM1tYwDQYJKoZIhvcNAQEEBQAwgY8xCzAJBgNVBAYTAlVTMRMw
iKlsPBRbNdq5cNIuIfPS8emrYMs=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICUDCCAdoCBDaM1tYwDQYJKoZIhvcNAQEEBQAwgY8xCzAJBgNVBAYTAlVTMRMw
iKlsPBRbNdq5cNIuIfPS8emrYMs=
-----END CERTIFICATE-----
In the sample root certificate below, the trusted.txt file contains a list of trusted root certificates.
-----BEGIN CERTIFICATE-----
MIICUDCCAdoCBDaM1tYwDQYJKoZIhvcNAQEEBQAwgY8xCzAJBgNVBAYTAlVTMRMw
iKlsPBRbNdq5cNIuIfPS8emrYMs=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICUDCCAdoCBDaM1tYwDQYJKoZIhvcNAQEEBQAwgY8xCzAJBgNVBAYTAlVTMRMw
iKlsPBRbNdq5cNIuIfPS8emrYMs=
-----END CERTIFICATE-----
#! /bin/sh
#
#############################################################################
# Licensed Materials - Property of IBM
#
# Connect:Direct for UNIX
#
# (C) Copyright IBM Corp. 1992, 2014 All Rights Reserved.
#
# US Government Users Restricted Rights - Use, duplication or disclosure
# restricted by GSA ADP Schedule Contract with IBM Corp.
#############################################################################
#
# spcust_sample1.sh contains an example of configuring
# Secure+ to use SSL or TLS protocols with the Secure+ CLI.
Note: You need either root access or a user ID with role-based access control (RBAC) authorization to
add and modify SMF services. For additional information, see Implementing Solaris Role-Based Access
Control with SMF for Connect:Direct.
startup
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
3. To match your installation, edit the following shell variables: CDUNIX-HOME, CDUNIX_NODE_NAME,
and CDUNIX_ADMIN.
7. Verify that the owner and permissions of the manifest of the connect-direct.xml file match those of the
other xml files in the /var/svc/manifest/application/ directory.
8. Verify that the Connect:Direct FTP+ service stopped.
Procedure
1. As root, import the file by typing the following command:
/usr/sbin/svccfg import /var/svc/manifest/application/connect-direct.xml
2. As root, start the IBM Connect:Direct service under SMF control by typing the following command:
svcadm enable connect-direct
Verify the IBM Connect:Direct service is running.
3. To verify IBM Connect:Direct restarts under the control of SMF, type the following command:
svcs -p connect-direct
Observe the Process number in use.
4. Stop the IBM Connect:Direct service by using the Command Line Interface (CLI) method. For
additional information, refer to IBM Connect:Direct User's Guide.
IBM Connect:Direct stops, and immediately restarts under SMF control.
5. To confirm IBM Connect:Direct is under the control of SMF, type the following command:
svcs -p connect-direct
Procedure
1. Open the file: /etc/security/auth_attr.
2. Add the following line anywhere in the file:
solaris.smf.manage.connect-direct:::Manage Connect Direct Service States::
The corresponding FMRI manifest entry copied to connect-direct.xml eliminates the need to edit the
connect-direct.xml manifest file.
3. As root, type the following command, substituting the user ID you want to authorize for userID:
usermod -A solaris.smf.manage.connect-direct userID
4. If this message appears: usermod: ERROR: userID is not a local user, then do the following:
Open the file: /etc/user_attr.
Add the following line anywhere in the file, substituting the user ID you want to authorize for userID:
userID::::type=normal;auths=solaris.smf.manage.connect-direct
5. If an entry for your user ID already exists in the /etc/user_attr file, merge the entries. You only merge
the auths portion, which is a comma-delimited list of entries found in /etc/security/auth_attr.
Results
The user ID is authorized to control only and can issue commands, including the following:
• svcadm enable connect-direct
• svcadm disable connect-direct
• svcadm refresh connect-direct
Procedure
1. As root, type the following command:
For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual
Property Department in your country or send inquiries, in writing, to:
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be
trademarks of IBM or other companies. A current list of IBM trademarks is available on the web at
"Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.
Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or
trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications
Agency which is now part of the Office of Government Commerce.
Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon,
Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or
its subsidiaries in the United States and other countries.
298 Notices
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the
United States, other countries, or both.
ITIL is a registered trademark, and a registered community trademark of the Office of Government
Commerce, and is registered in the U.S. Patent and Trademark Office.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or
its affiliates.
Cell Broadband Engine is a trademark of Sony Computer Entertainment, Inc. in the United States, other
countries, or both and is used under license therefrom.
Linear Tape-Open, LTO, the LTO Logo, Ultrium and the Ultrium Logo are trademarks of HP, IBM Corp. and
Quantum in the U.S. and other countries.
Connect Control Center®, Connect:Direct®, Connect:Enterprise®, Gentran®, Gentran®:Basic®,
Gentran:Control®, Gentran:Director®, Gentran:Plus®, Gentran:Realtime®, Gentran:Server®,
Gentran:Viewpoint®, Commerce™, Information Broker®, and Integrator® are trademarks, Inc., an IBM
Company.
Other company, product, and service names may be trademarks or service marks of others.
Applicability
These terms and conditions are in addition to any terms of use for the IBM website.
Personal use
You may reproduce these publications for your personal, noncommercial use provided that all proprietary
notices are preserved. You may not distribute, display or make derivative work of these publications, or
any portion thereof, without the express consent of IBM.
Commercial use
You may reproduce, distribute and display these publications solely within your enterprise provided that
all proprietary notices are preserved. You may not make derivative works of these publications, or
reproduce, distribute or display these publications or any portion thereof outside your enterprise, without
the express consent of IBM.
Rights
Except as expressly granted in this permission, no other permissions, licenses or rights are granted, either
express or implied, to the publications or any information, data, software or other intellectual property
contained therein.
IBM reserves the right to withdraw the permissions granted herein whenever, in its discretion, the use of
the publications is detrimental to its interest or, as determined by IBM, the above instructions are not
being properly followed.
You may not download, export or re-export this information except in full compliance with all applicable
laws and regulations, including all United States export laws and regulations.
IBM MAKES NO GUARANTEE ABOUT THE CONTENT OF THESE PUBLICATIONS. THE PUBLICATIONS ARE
PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
Notices 299
INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT,
AND FITNESS FOR A PARTICULAR PURPOSE.
Part Number:
Product Number: 5655-X01
(1P) P/N: