Subsystem Control Point (SCP) Management Programming Manual
SPI Programming Considerations for SCP
Subsystem Control Point (SCP) Management Programming Manual—520619-001
3-5
Command-Message Validation
Command-Message Validation
Before forwarding a command message to another SCP process or processing a 
command directed to itself, the SCP process performs additional command-message 
validation.
Security Validation
An SCP process accepts a sensitive command only if one of these is true:
•
The requester’s process access ID (PAID) group is the super group.
•
The requester’s PAID group matches the PAID group or creator access ID (CAID) 
group of the SCP process.
If an application is improperly secured, the SCP process returns a response containing 
the error ZCOM-ERR-SECUR-VIOL.
A communications subsystem can override SCP command-message security validation 
by returning ZCOM-TKN-GETVSN-SECUR-SUPP with a value of ZCOM-VAL-
SECUR-SUPP-NONE in response to the GETVERSION command it receives from the 
SCP process. If the subsystem does not return ZCOM-TKN-GETVSN-SECUR-SUPP, 
the SCP process assumes the value ZCOM-VAL-SECUR-SUPP-ALL and performs 
command security validation.
Version Validation
The SSPUT and SSPUTTKN procedures use the header token ZSPI-TKN-MAX-
FIELD-VERSION to keep track of the version of the most recently defined data field 
inserted in a request buffer. The SCP process compares this version with the version of 
the subsystem to which the request is to be sent. If the subsystem is older than some data 
definition in the request, as reflected in ZSPI-TKN-MAX-FIELD-VERSION, SCP 
rejects the request.
Requester Identification
Before forwarding a command message to a subsystem, an SCP process adds the 
identity of the originator to the message so that the subsystem to which SCP sends the 
message can identify the original requester.
To messages bound for old subsystems, an SCP process adds ZCOM-MAP-REQID, 
which contains the process ID (CRTPID) and process access ID (PAID) of the requester. 
Every process has a unique, four-word CRTPID. The PAID represents the process 
owner. The left byte of the PAID consists of the group number, and the right byte 
consists of the user number.










